Bläddra i källkod

Marshall M. Midden at brecis.com writes:
The gnu ld and binutils for mips has a bug with relocation.

It is possible for a relocation table to be created that is not able to be loaded correctly.
We found this with the intersil wireless driver port.

To enable a correctly created mips relocation table (either a .o, or ld -r) it is necessary
to turn off one of the instruction re-scheduling passes.

Specifically, on mips-gcc -fno-schedule-insns2 is needed.

This is an FYI. The bug has been reported to the appropriate mailing lists.

This patch is an effort to avoid this problem on mips.
-Erik

Eric Andersen 22 år sedan
förälder
incheckning
45aa6e241e

+ 1 - 0
extra/Configs/Config.mips

@@ -13,6 +13,7 @@ config HAVE_ELF
 
 config ARCH_CFLAGS
 	string
+	default "-fno-schedule-insns2"
 
 config ARCH_LDFLAGS
 	string

+ 1 - 0
extra/Configs/Config.mips.default

@@ -6,6 +6,7 @@
 # Target Architecture Features and Options
 #
 HAVE_ELF=y
+ARCH_CFLAGS="-fno-schedule-insns2"
 UCLIBC_HAS_MMU=y
 UCLIBC_HAS_FLOATS=y
 HAS_FPU=y

+ 1 - 0
extra/Configs/Config.mipsel

@@ -13,6 +13,7 @@ config HAVE_ELF
 
 config ARCH_CFLAGS
 	string
+	default "-fno-schedule-insns2"
 
 config ARCH_LDFLAGS
 	string

+ 1 - 0
extra/Configs/Config.mipsel.default

@@ -6,6 +6,7 @@
 # Target Architecture Features and Options
 #
 HAVE_ELF=y
+ARCH_CFLAGS="-fno-schedule-insns2"
 UCLIBC_HAS_MMU=y
 UCLIBC_HAS_FLOATS=y
 HAS_FPU=y