mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-22 13:47:44 +01:00
This should get binutils working for ARM for the adventuruous ones.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@26148 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
efa13a3a74
commit
752ce742c6
@ -252,7 +252,7 @@ case "${targ}" in
|
|||||||
;;
|
;;
|
||||||
arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
|
arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
|
||||||
arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
|
arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
|
||||||
arm*-*-eabi* )
|
arm*-*-eabi* | arm*-*-haiku*)
|
||||||
targ_defvec=bfd_elf32_littlearm_vec
|
targ_defvec=bfd_elf32_littlearm_vec
|
||||||
targ_selvecs=bfd_elf32_bigarm_vec
|
targ_selvecs=bfd_elf32_bigarm_vec
|
||||||
;;
|
;;
|
||||||
|
@ -117,6 +117,7 @@ case ${generic_target} in
|
|||||||
arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
|
arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
|
||||||
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
|
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
|
||||||
arm-*-riscix*) fmt=aout em=riscix ;;
|
arm-*-riscix*) fmt=aout em=riscix ;;
|
||||||
|
arm-*-haiku*) fmt=elf em=haiku ;;
|
||||||
|
|
||||||
avr-*-*) fmt=elf bfd_gas=yes ;;
|
avr-*-*) fmt=elf bfd_gas=yes ;;
|
||||||
bfin-*-*) fmt=elf bfd_gas=yes ;;
|
bfin-*-*) fmt=elf bfd_gas=yes ;;
|
||||||
|
@ -67,6 +67,7 @@ arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
|
|||||||
arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
|
arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
|
||||||
arm-*-vxworks) targ_emul=armelf_vxworks ;;
|
arm-*-vxworks) targ_emul=armelf_vxworks ;;
|
||||||
arm*-*-conix*) targ_emul=armelf ;;
|
arm*-*-conix*) targ_emul=armelf ;;
|
||||||
|
arm*-*-haiku*) targ_emul=armelf_haiku; targ_extra_emuls=armelf ;;
|
||||||
thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
|
thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
|
||||||
strongarm-*-coff) targ_emul=armcoff ;;
|
strongarm-*-coff) targ_emul=armcoff ;;
|
||||||
strongarm-*-elf) targ_emul=armelf ;;
|
strongarm-*-elf) targ_emul=armelf ;;
|
||||||
@ -335,10 +336,10 @@ m68*-*-netbsdaout* | m68*-*-netbsd*)
|
|||||||
targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
|
targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
|
||||||
m68*-*-psos*) targ_emul=m68kpsos ;;
|
m68*-*-psos*) targ_emul=m68kpsos ;;
|
||||||
m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
|
m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
|
||||||
m68*-*-rtems*) targ_emul=m68kelf
|
m68*-*-rtems*) targ_emul=m68kelf ;;
|
||||||
;;
|
|
||||||
m68*-*-haiku*) targ_emul=m68kelf
|
m68*-*-haiku*) targ_emul=m68kelf
|
||||||
targ_extra_emuls=m68kcoff ;;
|
targ_extra_emuls=m68kcoff
|
||||||
|
;;
|
||||||
m8*-*-*) targ_emul=m88kbcs
|
m8*-*-*) targ_emul=m88kbcs
|
||||||
;;
|
;;
|
||||||
maxq-*-coff) targ_emul=maxqcoff
|
maxq-*-coff) targ_emul=maxqcoff
|
||||||
|
24
binutils/ld/emulparams/armelf_haiku.sh
Normal file
24
binutils/ld/emulparams/armelf_haiku.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
ARCH=arm
|
||||||
|
SCRIPT_NAME=elf
|
||||||
|
OUTPUT_FORMAT="elf32-littlearm"
|
||||||
|
BIG_OUTPUT_FORMAT="elf32-bigarm"
|
||||||
|
LITTLE_OUTPUT_FORMAT="elf32-littlearm"
|
||||||
|
MAXPAGESIZE=0x8000
|
||||||
|
COMMONPAGESIZE=0x1000
|
||||||
|
TEMPLATE_NAME=elf32
|
||||||
|
EXTRA_EM_FILE=armelf
|
||||||
|
GENERATE_SHLIB_SCRIPT=yes
|
||||||
|
GENERATE_PIE_SCRIPT=yes
|
||||||
|
|
||||||
|
DATA_START_SYMBOLS='__data_start = . ;';
|
||||||
|
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
||||||
|
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||||
|
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
|
||||||
|
OTHER_END_SYMBOLS='__end__ = . ;'
|
||||||
|
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
||||||
|
|
||||||
|
TEXT_START_ADDR=0x00008000
|
||||||
|
TARGET2_TYPE=got-rel
|
||||||
|
|
||||||
|
# ARM does not support .s* sections.
|
||||||
|
NO_SMALL_DATA=yes
|
Loading…
x
Reference in New Issue
Block a user