The checkgoarm function in libgo's runtime package is never called,
and the whole point of that function is to verify a goarm variable
that libgo never sets it.  This patch removes the function.  Committed
to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 264813)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-bde5ac90e0b4efdf3e9a4d72af4eb23250608611
+9f4cf23e716bcf65e071260afa032a64acd3fdde
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/go/runtime/os_linux_arm.go
===================================================================
--- libgo/go/runtime/os_linux_arm.go    (revision 264813)
+++ libgo/go/runtime/os_linux_arm.go    (working copy)
@@ -19,25 +19,6 @@ var armArch uint8 = 6 // we default to A
 var hwcap uint32      // set by archauxv
 var hardDiv bool      // set if a hardware divider is available
 
-func checkgoarm() {
-       // On Android, /proc/self/auxv might be unreadable and hwcap won't
-       // reflect the CPU capabilities. Assume that every Android arm device
-       // has the necessary floating point hardware available.
-       if GOOS == "android" {
-               return
-       }
-       if goarm > 5 && hwcap&_HWCAP_VFP == 0 {
-               print("runtime: this CPU has no floating point hardware, so it 
cannot run\n")
-               print("this GOARM=", goarm, " binary. Recompile using 
GOARM=5.\n")
-               exit(1)
-       }
-       if goarm > 6 && hwcap&_HWCAP_VFPv3 == 0 {
-               print("runtime: this CPU has no VFPv3 floating point hardware, 
so it cannot run\n")
-               print("this GOARM=", goarm, " binary. Recompile using GOARM=5 
or GOARM=6.\n")
-               exit(1)
-       }
-}
-
 func archauxv(tag, val uintptr) {
        switch tag {
        case _AT_RANDOM:

Reply via email to