platform.go 405 B

12345678910111213141516171819202122232425
  1. package link
  2. import (
  3. "fmt"
  4. "runtime"
  5. )
  6. func platformPrefix(symbol string) string {
  7. prefix := runtime.GOARCH
  8. // per https://github.com/golang/go/blob/master/src/go/build/syslist.go
  9. switch prefix {
  10. case "386":
  11. prefix = "ia32"
  12. case "amd64", "amd64p32":
  13. prefix = "x64"
  14. case "arm64", "arm64be":
  15. prefix = "arm64"
  16. default:
  17. return symbol
  18. }
  19. return fmt.Sprintf("__%s_%s", prefix, symbol)
  20. }