900-bad-mips16-crt.patch 1.1 KB

123456789101112131415161718192021222324252627282930
  1. commit 9dc38e48f7a6f88b7ac7bfaced91f53660204e46
  2. Author: Florian Fainelli <florian@openwrt.org>
  3. Date: Fri Apr 5 12:36:06 2013 +0000
  4. toolchain/gcc: .init and .fini need to pick one ISA
  5. The .init and .fini sections are built by concatenating code
  6. fragments. Putting mips16 code in the middle of a mips32 code block
  7. doesn't work. Make gcc built the magic crt stuff in no-mips16 mode.
  8. This is specific to 4.6-linaro but is probably portable to other gcc
  9. flavors. Adding this to the t-libgcc-mips16 makefile fragment is a
  10. hack not suitable for pushing upstream, but there is no mips/t-linux
  11. or mips/t-uclibc and I am not going to touch gcc/configure for two
  12. lines.
  13. Signed-off-by: Jay Carlson <nop@nop.com>
  14. Signed-off-by: Florian Fainelli <florian@openwrt.org>
  15. SVN-Revision: 36200
  16. --- a/libgcc/config/mips/t-mips16
  17. +++ b/libgcc/config/mips/t-mips16
  18. @@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16
  19. # Version these symbols if building libgcc.so.
  20. SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver
  21. +
  22. +CRTSTUFF_T_CFLAGS += -mno-mips16
  23. +CRTSTUFF_T_CFLAGS_S += -mno-mips16