diff options
author | Alan Modra <amodra@gmail.com> | 2009-10-01 23:29:29 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-10-01 23:29:29 +0000 |
commit | 1b66220522691049e2a4c477d32fd8bc0f6f63c1 (patch) | |
tree | f083703c71941ff1fe18c1e03a447d5d4e141597 /ld/testsuite/lib | |
parent | c838b5167a2935819e0d2f17175aeec9d4199148 (diff) | |
download | binutils-1b66220522691049e2a4c477d32fd8bc0f6f63c1.zip binutils-1b66220522691049e2a4c477d32fd8bc0f6f63c1.tar.gz binutils-1b66220522691049e2a4c477d32fd8bc0f6f63c1.tar.bz2 |
* lib/ld-lib.exp (ld_simple_link_defsyms): New proc, adding
powerpc-*-rtems to code setting symbols, extracted from..
* ld-srec/srec.exp (run_srec_test): ..here. Correct flags for sh64.
* ld-gc/gc.exp (test_gc): Use ld_simple_link_defsyms.
Diffstat (limited to 'ld/testsuite/lib')
-rw-r--r-- | ld/testsuite/lib/ld-lib.exp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index c9d4f8c..a738747 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -352,6 +352,47 @@ proc default_ld_nm { nm nmflags object } { } } +# Define various symbols needed when not linking against all +# target libs. +proc ld_simple_link_defsyms {} { + + set flags "--defsym __stack_chk_fail=0" + + # ARM targets call __gccmain + if {[istarget arm*-*-*] || \ + [istarget strongarm*-*-*] || \ + [istarget xscale*-*-*] || \ + [istarget thumb-*-*] } { + append flags " --defsym __gccmain=0" + } + + # PowerPC EABI code calls __eabi. + if {[istarget powerpc*-*-eabi*] || [istarget powerpc*-*-rtems*]} { + append flags " --defsym __eabi=0" + } + + # mn10200 code calls __truncsipsi2_d0_d2. + if {[istarget mn10200*-*-*]} then { + append flags " --defsym __truncsipsi2_d0_d2=0" + } + + # m6811/m6812 code has references to soft registers. + if {[istarget m6811-*-*] || [istarget m6812-*-*]} { + append flags " --defsym _.frame=0 --defsym _.d1=0 --defsym _.d2=0" + append flags " --defsym _.d3=0 --defsym _.d4=0" + append flags " --defsym _.tmp=0 --defsym _.xy=0 --defsym _.z=0" + } + + # Some OpenBSD targets have ProPolice and reference __guard and + # __stack_smash_handler. + if [istarget *-*-openbsd*] { + append flags " --defsym __guard=0" + append flags " --defsym __stack_smash_handler=0" + } + + return $flags +} + # True if the object format is known to be ELF. # proc is_elf_format {} { |