26 lines
405 B
Go
26 lines
405 B
Go
package link
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
)
|
|
|
|
func platformPrefix(symbol string) string {
|
|
|
|
prefix := runtime.GOARCH
|
|
|
|
// per https://github.com/golang/go/blob/master/src/go/build/syslist.go
|
|
switch prefix {
|
|
case "386":
|
|
prefix = "ia32"
|
|
case "amd64", "amd64p32":
|
|
prefix = "x64"
|
|
case "arm64", "arm64be":
|
|
prefix = "arm64"
|
|
default:
|
|
return symbol
|
|
}
|
|
|
|
return fmt.Sprintf("__%s_%s", prefix, symbol)
|
|
}
|