source:
scripts/patches/gcc-3.4.0-arm-bigendian.patch@
3a4ffbb1
Last change on this file since 3a4ffbb1 was 7f65c0e, checked in by , 19 years ago | |
---|---|
|
|
File size: 2.4 KB |
-
gcc/config/arm/linux-elf.h
By Lennert Buytenhek <buytenh@wantstofly.org> Adds support for arm*b-linux* big-endian ARM targets See http://gcc.gnu.org/PR16350 diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
old new 30 30 /* Do not assume anything about header files. */ 31 31 #define NO_IMPLICIT_EXTERN_C 32 32 33 /* 34 * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-* 35 * (big endian) configurations. 36 */ 37 #if TARGET_BIG_ENDIAN_DEFAULT 38 #define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END 39 #define TARGET_ENDIAN_OPTION "mbig-endian" 40 #define TARGET_LINKER_EMULATION "armelfb_linux" 41 #else 42 #define TARGET_ENDIAN_DEFAULT 0 43 #define TARGET_ENDIAN_OPTION "mlittle-endian" 44 #define TARGET_LINKER_EMULATION "armelf_linux" 45 #endif 46 33 47 /* Default is to use APCS-32 mode. */ 34 48 #undef TARGET_DEFAULT 35 #define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS) 49 #define TARGET_DEFAULT \ 50 ( ARM_FLAG_APCS_32 | \ 51 ARM_FLAG_MMU_TRAPS | \ 52 TARGET_ENDIAN_DEFAULT ) 36 53 37 54 #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6 38 55 39 #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux-p"56 #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p" 40 57 41 58 #undef MULTILIB_DEFAULTS 42 59 #define MULTILIB_DEFAULTS \ 43 { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }60 { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" } 44 61 45 62 #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__" 46 63 … … 89 106 %{rdynamic:-export-dynamic} \ 90 107 %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \ 91 108 -X \ 92 %{mbig-endian:-EB} " \109 %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ 93 110 SUBTARGET_EXTRA_LINK_SPEC 94 111 95 112 #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS() -
gcc/config.gcc
diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
old new 666 666 ;; 667 667 arm*-*-linux*) # ARM GNU/Linux with ELF 668 668 tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h" 669 case $target in 670 arm*b-*) 671 tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines" 672 ;; 673 esac 669 674 tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux" 670 675 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" 671 676 gnu_ld=yes
Note:
See TracBrowser
for help on using the repository browser.