toolchain/gcc: .init and .fini need to pick one ISA
The .init and .fini sections are built by concatenating code fragments. Putting mips16 code in the middle of a mips32 code block doesn't work. Make gcc built the magic crt stuff in no-mips16 mode. This is specific to 4.6-linaro but is probably portable to other gcc flavors. Adding this to the t-libgcc-mips16 makefile fragment is a hack not suitable for pushing upstream, but there is no mips/t-linux or mips/t-uclibc and I am not going to touch gcc/configure for two lines. Signed-off-by: Jay Carlson <nop@nop.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 36200
This commit is contained in:
parent
750115a65c
commit
9dc38e48f7
1 changed files with 9 additions and 0 deletions
9
toolchain/gcc/patches/4.6-linaro/900-bad-mips16-crt
Normal file
9
toolchain/gcc/patches/4.6-linaro/900-bad-mips16-crt
Normal file
|
@ -0,0 +1,9 @@
|
|||
--- gcc/gcc/config/mips/t-libgcc-mips16~ 2013-03-26 09:09:34.209077496 -0400
|
||||
+++ gcc/gcc/config/mips/t-libgcc-mips16 2013-03-26 18:21:01.717303669 -0400
|
||||
@@ -43,3 +43,6 @@
|
||||
|
||||
# Version these symbols if building libgcc.so.
|
||||
SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver
|
||||
+
|
||||
+CRTSTUFF_T_CFLAGS += -mno-mips16
|
||||
+CRTSTUFF_T_CFLAGS_S += -mno-mips16
|
Loading…
Reference in a new issue