Andrew Burgess
9c98104c4c
ld: map option for run_dump_test requires no program.
...
When using run_dump_test with the map option to compare the linker map
file produced, no additional dump program should be required. A dump
program can still be given if needed, but leaving it off will no longer
produce an error.
ld/testsuite/ChangeLog:
* ld/ld-lib.exp (run_dump_test): When using the map option, no
program is required.
2015-08-04 11:25:37 +01:00
Andrew Burgess
bb57e4c7bd
ld: Add file based error/warning regexp for run_dump_test.
...
The run_dump_test mechanism supports options error and warning, which
allow regexp to be specified within the test file, these regexp are
matched against the stderr output from the linker.
Similar dump test style functions for gas and gdb also support file
based matching versions of these options; the patterns are placed into a
file which the test driver then references. It is sometimes clearer,
when the pattern to be matched spans multiple lines if the patterns can
be placed into a separate file.
This patch adds new options error_output and warning_output for the
linker run_dump_test function. These new options take a filename
parameter, this file is then used (with regexp_diff) to compare against
the linker output.
ld/testsuite/ChangeLog:
* ld/ld-lib.exp (run_dump_test): Add error_output and
warning_output options.
2015-08-04 11:16:39 +01:00
H.J. Lu
d76b620743
Set errcnt and warncnt to 0 in run_host_cmd_yesno
...
run_host_cmd_yesno should set errcnt and warncnt to 0. Otherwise, they
may leak to the next run.
* lib/ld-lib.exp (run_host_cmd_yesno): Set errcnt and warncnt
to 0.
2015-07-26 11:55:57 -07:00
Kai Tietz
0f088b2a94
Add experimental support for --gc-sections with COFF and PE based targets.
...
PR ld/11539
bfd * coffcode.h (coff_bfd_gc_sections): Define default
to bfd_coff_gc_sections function.
* cofflink.c (init_reloc_cookie): Copy and adjust coff
related code about gc-sections from elflink.c to here.
(fini_reloc_cookie): Likewise.
(init_reloc_cookie_rels): Likewise.
(fini_reloc_cookie_rels): Likewise.
(init_reloc_cookie_for_section): Likewise.
(fini_reloc_cookie_for_section): Likewise.
(_bfd_coff_gc_mark_hook): Likewise.
(_bfd_coff_gc_mark_rsec): Likewise.
(_bfd_coff_gc_mark_reloc): Likewise.
(_bfd_coff_gc_mark): Likewise.
(_bfd_coff_gc_mark_extra_sections): Likewise.
(coff_gc_sweep_symbol_info): Likewise.
(coff_gc_sweep_symbol): Likewise.
(gc_sweep_hook_fn): Likewise.
(coff_gc_sweep): Likewise.
(bfd_coff_gc_sections): Likewise.
(_bfd_coff_gc_keep): Likewise.
* libcoff.h (coff_reloc_cookie): New struct.
(bfd_coff_gc_sections): New prototype.
(coff_gc_mark_hook_fn): New type.
ld * scripttempl/pep.sc: Mark .idata*, .CRT*, .tls*,
.rsrc*, .init, .ctor*, .dtor*, .fini, .jcr,
.eh_frame, .pdata. .xdata, and .gcc_except_table sections
as KEEP.
* scripttempl/pe.sc: Likewise.
2015-07-03 15:50:29 +01:00
H.J. Lu
dae148f3b9
Remove is_zlib_supported
...
Since zlib is always supported, there is no need for is_zlib_supported.
binutils/testsuite/
* binutils-all/compress.exp: Remove is_zlib_supported check.
* binutils-all/objdump.exp: Likewise.
* binutils-all/readelf.exp (readelf_compressed_wa_test): Likewise.
* lib/utils-lib.exp (run_dump_test): Likewise.
* lib/binutils-common.exp (is_zlib_supported): Removed.
gas/testsuite/
* lib/gas-defs.exp (run_dump_test): Remove is_zlib_supported check.
ld/testsuite/
* ld-elf/compress.exp: Remove is_zlib_supported check.
Fail if --compress-debug-sections doesn't work.
* lib/ld-lib.exp (run_dump_test): Remove is_zlib_supported check.
2015-04-06 12:19:13 -07:00
H.J. Lu
1a215085d4
Move -rc before $aropts
...
* lib/ld-lib.exp (ar_simple_create): Move -rc before $aropts.
2015-01-29 11:11:03 -08:00
Andrew Burgess
43d66c95c8
ld/testing: run_dump_test can now check linker mapfiles.
...
Add a new option 'map' to the ld run_dump_test mechanism. When the
'map' option is given run_dump_test will ensure that there is a
-Map=MAPFILE present in the linker command line, adding one if needed.
The MAPFILE is then compared with the file passed to the new 'map'
option using the regexp_diff function. This should make it slightly
easier to write tests that check the linker mapfile output.
The only test I found that already compares mapfile content is updated
to use the new mechanism.
ld/testsuite/ChangeLog:
* ld-scripts/overlay-size.d: Add 'map' option.
* ld-scripts/overlay-size.exp: Remove manual check of mapfile.
* lib/ld-lib.exp (run_dump_test): Add support for new 'map'
option, checking linker mapfile output.
2015-01-20 09:47:37 +00:00
Andrew Burgess
8d983e3645
ld/testing: Extend comment on run_dump_test
...
Mention that readelf can be used as a test program in the comment of
run_dump_test.
ld/testsuite/ChangeLog:
* lib/ld-lib.exp (run_dump_test): Extend comment to mention
readelf.
2015-01-07 10:53:04 +00:00
Alan Modra
b90efa5b79
ChangeLog rotatation and copyright year update
2015-01-02 00:53:45 +10:30
Eric Botcazou
c18392d87d
Add Visium support to ld
...
ld/
* configure.tgt: Add Visium support.
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32visium.c.
(eelf32visium.c): New rule.
* Makefile.in: Regenerate.
* emulparams/elf32visium.sh: New file.
* scripttempl/visium.sc: Likewise.
ld/testsuite/
* lib/ld-lib.exp (check_shared_lib_support): Return 0 for Visium.
* ld-visium/: New directory.
2014-12-06 16:45:22 +01:00
H.J. Lu
c22ee0ad9d
Run IFUNC run-time tests only if IFUNC is supported
...
* lib/ld-lib.exp (check_ifunc_available): New.
* ld-ifunc/ifunc.exp: Run IFUNC run-time tests only if IFUNC
is supported.
2014-11-20 08:59:42 -08:00
Jiong Wang
603c43995f
[PATCH] treate -specs as both cflags & ldflags
...
ld/testsuite/
* lib/ld-lib.exp (run_ld_link_exec_tests): Append board_cflags if gcc driver
used as link tool.
(run_cc_link_exec_tests): Likewise.
2014-11-11 16:41:37 +00:00
Hans-Peter Nilsson
3f7308212c
Fix ld tests with sysroot=/ and --enable-targets=all and test --print-sysroot
...
* ld-scripts/sysroot-prefix.exp: Log $ld_sysroot. Handle sysroot
== "/" as a separate sysroot-configuration with separable
test-types.
(sysroot_prefix_tests): Include all existing sysroot tests in
sysroot == "/" tests except exclude those where a --sysroot option
is not specified.
* lib/ld-lib.exp (check_sysroot_available): Rewrite to use
--print-sysroot instead of relying on error code from using
--sysroot=... Also, set $ld_sysroot.
The reason we exclude not just the failing "full-path =-prefixed
without" but also the passing "plain =-prefixed without but -Lpath"
for sysroot == "/" is that for the latter to succeed, we have to make
assumptions about the system not having a /sysroot directory or
assumptions about its contents etc.
When passing --enable-targets=all --enable-64-bit-bfd (the
latter not required for a "64-bit-host" of course) the ld --help
output got too much to handle for poor tcl (or maybe dejagnu is
to blame) and remote_exec exited with an error, so the
configuration being tested was mishandled as being a
sysroot-less configuration. Using --version instead of --help
would work too, but the new --print-sysroot option calls for
nominal coverage, so why not use that instead.
2014-10-17 13:11:42 +02:00
Hans-Peter Nilsson
bdd65db9b9
lib/ld-lib.exp (check_sysroot_available): New proc.
2014-10-15 02:54:56 +02:00
Alan Modra
5a1431e66e
Fix testsuite ld_simple_link_defsyms for windows targets
...
* lib/ld-lib.exp (ld_simple_link_defsyms): Provide both __main
and ___main for windows targets.
2014-08-29 10:34:18 +09:30
Alan Modra
2d03dd2f8d
Tighten test for ld plugin support
...
To not match spu --plugin option.
* lib/ld-lib.exp (check_plugin_api_available): Match "-plugin PLUGIN".
2014-08-12 20:51:11 +09:30
Alan Modra
c3e11cbe51
Allow lto tests to run with older compilers
...
* lib/ld-lib.exp (check_lto_fat_available): New.
(check_lto_available): Remove -ffat-lto-objects test.
* ld-plugin/lto.exp: Use [list ] rather than { } to set up list
variables, allowing substition of vars. Set lto_fat and plug_opt
and add to various tests.
2014-08-06 13:26:18 +09:30
Alan Modra
3bb9e7b43f
Reinstate compiler check
...
* lib/ld-lib.exp (check_lto_shared_available): Reinstate compiler
check here too.
2014-07-07 23:46:37 +09:30
Nick Clifton
19aef622f3
This patch prevents a linker testsuite error if the checks are run with a
...
toolchain that just contains the binutils - ie without a compiler.
* lib/ld-lib.exp (check_lto_available): Check that a compiler is
available before testing for LTO support.
2014-07-07 14:41:10 +01:00
Alan Modra
f1d7f4a64c
Ensure ld testsuite gcc -B options precede $CC -B options
...
Various ld-elf/shared.exp and ld-plugin/lto.exp tests simply appended
the testsuite -B options intended to force gcc use the linker under test.
This fails if $CC itself has -B options, as when setting CC to run gcc
out of a build directory. Net result is that tests were run using
the gcc build dir collect-ld.
* config/default.exp: Don't make tmpdir/gas. Put as symlink into
tmpdir/ld.
(gcc_gas_flag, gcc_ld_flag): Delete.
(gcc_B_opt, ld_L_opt): New globals.
ld-elf/shared.exp: Remove all refs to gcc_gas_flag and gcc_ld_flag.
ld-plugin/lto.exp: Likewise.
lib/ld-lib.exp (run_host_cmd): Add gcc_B_opt and ld_L_opt here.
(ld_simple_link): Remove -B handling now that this is done in
run_host_cmd. Simplify.
(default_ld_compile): Simplify.
(check_lto_available): Use run_host_cmd_yesno.
(check_lto_shared_available): Likewise.
2014-07-07 13:37:16 +09:30
Alan Modra
abc868c609
Rid libdummy.a from lto.exp
...
libdummy.a is used to make run_cc_link_tests compile objects and
archive them. libdummy.a isn't used. What we're really doing is
preventing a final link. So do that directly.
* lib/ld-lib.exp (run_ld_link_tests): Stop after assembling objects
if binfile is empty.
(run_ld_link_exec_tests, run_cc_link_tests): Likewise. Tidy
status checks.
* ld-plugin/lto.exp: Don't use libdummy.a trick to compile objects.
Instead use an empty output file.
2014-07-05 12:54:40 +09:30
mfortune
9854d43d40
Add objcopy stage between assembly and linking for run_dump_test
...
ld/testsuite/
* lib/ld-lib.exp: Add objcopy_objects command to run_dump_test.
This allows each input object to be optionally run through
objcopy before linking.
2014-05-28 16:21:19 +01:00
Christian Svensson
73589c9dbd
Remove support for the (deprecated) openrisc and or32 configurations and replace
...
with support for the new or1k configuration.
2014-04-22 15:57:47 +01:00
Alan Modra
4b95cf5c0c
Update copyright years
2014-03-05 22:16:15 +10:30
Vidya Praveen
c0a6c611f1
* lib/ld-lib.exp (default_ld_link): Remove support for ldflags.
...
(default_ld_simple_link): Likewise.
2014-01-14 13:09:22 +00:00
H.J. Lu
92c09111f3
Add and use check_lto_shared_available
...
2014-01-09 Vidya Praveen <vidyapraveen@arm.com>
* lib/ld-lib.exp (check_lto_shared_available): New check.
* ld-plugin/lto.exp: Use check_lto_shared_available.
2014-01-09 09:01:53 -08:00
Yufeng Zhang
7174e19ff2
ld/testsuite
...
2013-12-18 Vidya Praveen <vidyapraveen@arm.com>
* lib/ld-lib.exp (check_lto_available): Support cflags, ldflags and
test by compiling for an executable rather than shared library.
2013-12-18 15:16:41 +00:00
Vidya Praveen
3046b3d356
* lib/ld-lib.exp (default_ld_link): Use ldflags from board description
...
file.
(default_ld_simple_link): Likewise.
(default_ld_compile): Use cflags from board description file.
2013-12-13 12:02:26 +00:00
Kuan-Lin Chen
35c081572f
Add support for Andes NDS32:
...
BFD:
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add nds32
files.
* Makefile.in: Regenerate.
* archures.c (bfd_nds32_arch): Add nds32 target.
* bfd-in2.h: Regenerate.
* config.bfd (nds32*le-*-linux): Add bfd_elf32_nds32lelin_vec
and bfd_elf32_nds32belin_vec.
(nds32*be-*-linux*): Likewise.
(nds32*le-*-*): Add bfd_elf32_nds32le_vec and bfd_elf32_nds32be_vec.
(nds32*be-*-*): Likewise.
* configure.in (bfd_elf32_nds32be_vec): Add elf32-nds32.lo.
(bfd_elf32_nds32le_vec): Likewise.
(bfd_elf32_nds32belin_vec): Likewise.
(bfd_elf32_nds32lelin_vec): Likewise.
* configure: Regenerate.
* cpu-nds32.c: New file for nds32.
* elf-bfd.h: Add NDS32_ELF_DATA.
* elf32-nds32.c: New file for nds32.
* elf32-nds32.h: New file for nds32.
* libbfd.h: Regenerate.
* reloc.c: Add relocations for nds32.
* targets.c (bfd_elf32_nds32be_vec): New declaration for nds32.
(bfd_elf32_nds32le_vec): Likewise.
(bfd_elf32_nds32belin_vec): Likewise.
(bfd_elf32_nds32lelin_vec): Likewise.
BINUTILS:
* readelf.c: Include elf/nds32.h
(guess_is_rela): Add case for EM_NDS32.
(dump_relocations): Add case for EM_NDS32.
(decode_NDS32_machine_flags): New.
(get_machine_flags): Add case for EM_NDS32.
(is_32bit_abs_reloc): Likewise.
(is_16bit_abs_reloc): Likewise.
(process_nds32_specific): New.
(process_arch_specific): Add case for EM_NDS32.
* NEWS: Announce Andes nds32 support.
* MAINTAINERS: Add nds32 maintainers.
TESTSUITE:
* binutils-all/objdump.exp: Add NDS32 cpu.
* binutils-all/readelf.r: Skip extra reloc created by NDS32.
GAS:
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-nds32.c.
(TARGET_CPU_HFILES): Add config/tc-nds32.h.
* Makefile.in: Regenerate.
* configure.in (nds32): Add nds32 target extension config support.
* configure.tgt : Add case for nds32-*-elf* and nds32-*-linux*.
* configure: Regenerate.
* config/tc-nds32.c: New file for nds32.
* config/tc-nds32.h: New file for nds32.
* doc/Makefile.am (CPU_DOCS): Add c-nds32.texi.
* doc/Makefile.in: Regenerate.
* doc/as.texinfo: Add nds32 options.
* doc/all.texi: Set NDS32.
* doc/c-nds32.texi: New file dor nds32 document.
* NEWS: Announce Andes nds32 support.
TESTSUITE:
* gas/all/gas.exp: Add expected failures for NDS32.
* gas/elf/elf.exp: Likewise.
* gas/lns/lns.exp: Use alternate test.
* gas/macros/irp.d: Skip for NDS32.
* gas/macros/macros.exp: Skip some tests for the NDS32.
* gas/macros/rept.d: Skip for NDS32.
* gas/macros/test3.d: Skip for NDS32.
* gas/nds32: New directory.
* gas/nds32/alu-1.s: New test.
* gas/nds32/alu-1.d: Likewise.
* gas/nds32/alu-2.s: Likewise.
* gas/nds32/alu-2.d: Likewise.
* gas/nds32/br-1.d: Likewise.
* gas/nds32/br-1.s: Likewise.
* gas/nds32/br-2.d: Likewise.
* gas/nds32/br-2.s: Likewise.
* gas/nds32/ji-jr.d: Likewise.
* gas/nds32/ji-jr.s: Likewise.
* gas/nds32/ls.d: Likewise.
* gas/nds32/ls.s: Likewise.
* gas/nds32/lsi.d: Likewise.
* gas/nds32/lsi.s: Likewise.
* gas/nds32/to-16bit-v1.d: Likewise.
* gas/nds32/to-16bit-v1.s: Likewise.
* gas/nds32/to-16bit-v2.d: Likewise.
* gas/nds32/to-16bit-v2.s: Likewise.
* gas/nds32/to-16bit-v3.d: Likewise.
* gas/nds32/to-16bit-v3.s: Likewise.
* gas/nds32/nds32.exp: New test driver.
LD:
* Makefile.am (ALL_EMULATION_SOURCES): Add nds32 target.
* Makefile.in: Regenerate.
* configure.tgt: Add case for nds32*le-*-elf*, nds32*be-*-elf*,
nds32*le-*-linux-gnu*, and nds32*be-*-linux-gnu*.
* emulparams/nds32belf.sh: New file for nds32.
* emulparams/nds32belf_linux.sh: Likewise.
* emulparams/nds32belf16m.sh: Likewise.
* emulparams/nds32elf.sh: Likewise.
* emulparams/nds32elf_linux.sh: Likewise.
* emulparams/nds32elf16m.sh: Likewise.
* emultempl/nds32elf.em: Likewise.
* scripttempl/nds32elf.sc}: Likewise.
* gen-doc.texi: Set NDS32.
* ld.texinfo: Set NDS32.
* NEWS: Announce Andes nds32 support.
TESTSUITE:
* lib/ld-lib.exp: Add NDS32 to list of targets that do not support
shared library generation.
* ld-nds32: New directory.
* ld-nds32/branch.d: New test.
* ld-nds32/branch.ld: New test.
* ld-nds32/branch.s: New test.
* ld-nds32/diff.d: New test.
* ld-nds32/diff.ld: New test.
* ld-nds32/diff.s: New test.
* ld-nds32/gp.d: New test.
* ld-nds32/gp.ld: New test.
* ld-nds32/gp.s: New test.
* ld-nds32/imm.d: New test.
* ld-nds32/imm.ld: New test.
* ld-nds32/imm.s: New test.
* ld-nds32/imm_symbol.s: New test.
* ld-nds32/relax_jmp.d: New test.
* ld-nds32/relax_jmp.ld: New test.
* ld-nds32/relax_jmp.s: New test.
* ld-nds32/relax_load_store.d: New test.
* ld-nds32/relax_load_store.ld: New test.
* ld-nds32/relax_load_store.s: New test.
* ld-nds32/nds32.exp: New file.
OPCODES:
* Makefile.am (TARGET_LIBOPCODES_CFILES): Add nds32-asm.c
and nds32-dis.c.
* Makefile.in: Regenerate.
* configure.in: Add case for bfd_nds32_arch.
* configure: Regenerate.
* disassemble.c (ARCH_nds32): Define.
* nds32-asm.c: New file for nds32.
* nds32-asm.h: New file for nds32.
* nds32-dis.c: New file for nds32.
* nds32-opc.h: New file for nds32.
INCLUDE:
* dis-asm.h (print_insn_nds32): Add nds32 target.
* elf/nds32.h: New file for nds32.
* opcode/nds32.h: New file for nds32.
2013-12-13 11:52:32 +00:00
Kyrylo Tkachov
b35d44f1af
[ld/testsuite/]
...
2013-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* ld-plugin/lto.exp: Add -ffat-lto-objects.
* lib/ld-lib.exp (check_lto_available): Likewise.
2013-11-27 13:43:39 +00:00
H.J. Lu
b27caf75c3
Add HOSTING_SLIBS and use it for -pie
...
ld/
PR ld/16259
* Makefile.am (HOSTING_SLIBS): New.
* configure.host (HOSTING_SLIBS): New. Used for PIE.
* configure.in (HOSTING_SLIBS): New AC_SUBST.
* Makefile.in: Regenerated.
* configure: Likewise.
ld/testsuite/
PR ld/16259
* config/default.exp (get_target_emul): Also set HOSTING_SLIBS.
* lib/ld-lib.exp (default_ld_link): Use HOSTING_SLIBS for -pie.
2013-11-26 11:17:08 -08:00
Richard Sandiford
690f47bf98
ld/testsuite/
...
* lib/ld-lib.exp (default_ld_compile): Add a -I option for the source
directory.
* ld-mips-elf/compressed-plt-1.ld, ld-mips-elf/compressed-plt-1.s,
ld-mips-elf/compressed-plt-1-dyn.s, ld-mips-elf/compressed-plt-1a.s,
ld-mips-elf/compressed-plt-1b.s, ld-mips-elf/compressed-plt-1c.s,
ld-mips-elf/compressed-plt-1d.s, ld-mips-elf/compressed-plt-1e.s,
ld-mips-elf/compressed-plt-1-o32-se.rd,
ld-mips-elf/compressed-plt-1-o32-se.od,
ld-mips-elf/compressed-plt-1-o32-mips16-only.rd,
ld-mips-elf/compressed-plt-1-o32-mips16-only.od,
ld-mips-elf/compressed-plt-1-o32-umips-only.rd,
ld-mips-elf/compressed-plt-1-o32-umips-only.od,
ld-mips-elf/compressed-plt-1-o32-mips16.rd,
ld-mips-elf/compressed-plt-1-o32-mips16.od,
ld-mips-elf/compressed-plt-1-o32-mips16-got.rd,
ld-mips-elf/compressed-plt-1-o32-mips16-got.od,
ld-mips-elf/compressed-plt-1-o32-mips16-word.rd,
ld-mips-elf/compressed-plt-1-o32-mips16-word.od,
ld-mips-elf/compressed-plt-1-o32-umips.rd,
ld-mips-elf/compressed-plt-1-o32-umips.od,
ld-mips-elf/compressed-plt-1-o32-umips-got.rd,
ld-mips-elf/compressed-plt-1-o32-umips-got.od,
ld-mips-elf/compressed-plt-1-o32-umips-word.rd,
ld-mips-elf/compressed-plt-1-o32-umips-word.od,
ld-mips-elf/compressed-plt-1-n32-mips16.rd,
ld-mips-elf/compressed-plt-1-n32-mips16.od,
ld-mips-elf/compressed-plt-1-n32-umips.rd,
ld-mips-elf/compressed-plt-1-n32-umips.od: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
2013-10-13 10:17:20 +00:00
Nick Clifton
4046d87a36
* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10
...
flag bits do not match.
(rl78_elf_print_private_bfd_data): Describe G10 flag.
* readelf.c (get_machine_flags): Handle RL78 G10 flag.
* config/tc-rl78.c (elf_flags): New variable.
(enum options): Add OPTION_G10.
(md_longopts): Add mg10.
(md_parse_option): Parse -mg10.
(rl78_elf_final_processing): New function.
* config/tc-rl78.c (tc_final_processing): Define.
* doc/c-rl78.texi: Document -mg10 option.
* rl78.c (E_FLAG_RL78_G10): Define.
* lib/ld-lib.exp (check_shared_lib_support): Note that the RL78
does not support shared library generation.
2013-08-09 10:40:04 +00:00
H.J. Lu
df71cb5cbf
Check .gnu.warning section in shared library
...
PR ld/15762
* ld-elf/shared.exp (build_tests): Check .gnu.warning section
in the libbarw.so library.
* ld-elf/libbarw.rd: New.
* lib/ld-lib.exp (run_cc_link_tests): Support checking on
output with warning message.
2013-07-24 17:24:20 +00:00
Maciej W. Rozycki
23c80bf47b
* lib/ld-lib.exp (check_shared_lib_support): Also exclude
...
mips*-*-elf.
2013-05-01 17:22:03 +00:00
Hans-Peter Nilsson
5220199df0
* lib/ld-lib.exp (check_shared_lib_support): Match cris*-*-elf as
...
a negative pattern instead of cris*-*-*.
2013-04-30 17:19:38 +00:00
Nick Clifton
59c108f731
* elf64-aarch64.c (elf_backend_can_gc_sections): Enable
...
gc-section support.
(elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related relocs.
* lib/ld-lib.exp (check_gc_sections_available): Remove aarch64
from list of
targets that don't support gc-section.
2013-03-08 17:37:30 +00:00
Maciej W. Rozycki
897aea504d
* lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass
...
its contents to ar_simple_create and ld_simple_link after
objfiles.
* ld-aarch64/aarch64-elf.exp: Adjust accordingly.
* ld-alpha/alpha.exp: Likewise.
* ld-arm/arm-elf.exp: Likewise.
* ld-arm/export-class.exp: Likewise.
* ld-elf/comm-data.exp: Likewise.
* ld-elf/eh-group.exp: Likewise.
* ld-elf/elf.exp: Likewise.
* ld-elf/export-class.exp: Likewise.
* ld-elfvers/vers.exp: Likewise.
* ld-frv/tls.exp: Likewise.
* ld-i386/export-class.exp: Likewise.
* ld-i386/i386.exp: Likewise.
* ld-ia64/ia64.exp: Likewise.
* ld-libs/libs.exp: Likewise.
* ld-m68k/m68k.exp: Likewise.
* ld-metag/metag.exp: Likewise.
* ld-mips-elf/comm-data.exp: Likewise.
* ld-mips-elf/export-class.exp: Likewise.
* ld-mips-elf/mips-elf.exp: Likewise.
* ld-mn10300/mn10300.exp: Likewise.
* ld-pe/pe-compile.exp: Likewise.
* ld-pe/pe.exp: Likewise.
* ld-plugin/plugin.exp: Likewise.
* ld-powerpc/aix52.exp: Likewise.
* ld-powerpc/export-class.exp: Likewise.
* ld-powerpc/powerpc.exp: Likewise.
* ld-s390/s390.exp: Likewise.
* ld-sh/sh-vxworks.exp: Likewise.
* ld-sh/sh64/sh64.exp: Likewise.
* ld-sparc/sparc.exp: Likewise.
* ld-tic6x/tic6x.exp: Likewise.
* ld-tilegx/tilegx.exp: Likewise.
* ld-tilepro/tilepro.exp: Likewise.
* ld-undefined/entry.exp: Likewise.
* ld-vax-elf/vax-elf.exp: Likewise.
* ld-x86-64/dwarfreloc.exp: Likewise.
* ld-x86-64/export-class.exp: Likewise.
* ld-x86-64/x86-64.exp: Likewise.
* ld-xc16x/xc16x.exp: Likewise.
* ld-xstormy16/xstormy16.exp: Likewise.
* ld-xtensa/xtensa.exp: Likewise.
2013-02-19 01:10:06 +00:00
H.J. Lu
6738cadcc7
Add HOSTING_SCRT0 for PIE test
...
ld/
* Makefile.am (HOSTING_SCRT0): New.
* configure.host (HOSTING_SCRT0): New. Used for PIE.
* configure.in (HOSTING_SCRT0): New AC_SUBST.
* Makefile.in: Regenerated.
* configure: Likewise.
ld/testsuite/
* config/default.exp (get_target_emul): Also set HOSTING_SCRT0.
* lib/ld-lib.exp (default_ld_link): Use HOSTING_SCRT0 for -pie.
2013-01-19 19:36:37 +00:00
Yufeng Zhang
83a2341852
ld/testsuite/
...
2012-12-13 Yufeng Zhang <yufeng.zhang@arm.com>
* ld-elf/indirect.exp: Disable if -shared is not supported.
* lib/ld-lib.exp (check_shared_lib_support): Add aarch64*-*-elf and
arm*-*-elf to the exclude list.
2012-12-14 11:58:59 +00:00
H.J. Lu
3bd58fbe75
Add check_lto_available
...
* lib/ld-lib.exp (check_lto_available): New. Check if compiler
supports LTO.
2012-12-07 17:56:09 +00:00
H.J. Lu
741e012828
Properly check linker warnings
...
* lib/ld-lib.exp (run_cc_link_tests): Properly check linker
warnings.
2012-12-07 17:53:04 +00:00
H.J. Lu
d52a4dca58
Pass -rc to ar
...
* lib/ld-lib.exp (ar_simple_create): Pass -rc to ar.
2012-12-07 17:51:35 +00:00
Roland McGrath
6595185552
binutils/testsuite/
...
* lib/binutils-common.exp (is_zlib_supported): New function.
* lib/utils-lib.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
* binutils-all/compress.exp: Bail out if zlib is not available.
* binutils-all/objdump.exp (objdump compressed debug):
Mark unsupported if zlib is not available.
* binutils-all/readelf.exp (readelf_compressed_wa_test): Likewise.
gas/testsuite/
* lib/gas-defs.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
ld/testsuite/
* ld-elf/compress.exp: Bail out if zlib is not supported.
* lib/ld-lib.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
2012-11-27 17:26:11 +00:00
H.J. Lu
cb5ab6c82c
Assemble all sources files in each test
...
* ld-elf/shared.exp (build_cxx_tests): Move out the commented out
test.
* lib/ld-lib.exp (run_ld_link_exec_tests): Assemble all sources
files in each test.
2012-09-17 19:51:25 +00:00
Nick Clifton
a06ea96464
Add support for 64-bit ARM architecture: AArch64
2012-08-13 14:52:54 +00:00
Maciej W. Rozycki
ef2b5578f6
gas/testsuite/
...
* gas/mips/mips.exp: Set has_newabi for mips*-sde-elf* too.
* gas/mips/elf-rel-got-n32.s: Adjust padding.
* gas/mips/elf-rel-got-n64.s: Likewise.
* gas/mips/elf-rel23.s: Likewise.
* gas/mips/elf-rel28.s: Likewise.
* gas/mips/n32-consec.s: Likewise.
* gas/mips/elf-rel-xgot-n32.d: Adjust output expected.
* gas/mips/elf-rel-xgot-n64.d: Likewise.
* gas/mips/elf-rel23.d: Likewise.
* gas/mips/elf-rel23a.d: Likewise.
* gas/mips/elf-rel23b.d: Likewise.
* gas/mips/elf-rel28-n32.d: Likewise.
ld/testsuite/
* lib/ld-lib.exp (run_dump_test): Implement the EXTRA_OPTIONS
argument and the "dump" keyword.
* ld-mips-elf/emit-relocs-1a.s: Make section alignment uniform
across targets.
* ld-mips-elf/emit-relocs-1b.s: Likewise.
* ld-mips-elf/jalbal.s: Adjust padding.
* ld-mips-elf/elf-rel-got-n32-embed.d: New test.
* ld-mips-elf/elf-rel-got-n64-embed.d: New test.
* ld-mips-elf/elf-rel-xgot-n32-embed.d: New test.
* ld-mips-elf/elf-rel-xgot-n64-embed.d: New test.
* ld-mips-elf/elf-rel-got-n32.d: Remove -melf32btsmipn32.
* ld-mips-elf/elf-rel-got-n64.d: Remove -melf64btsmip. Adjust
output.
* ld-mips-elf/elf-rel-got-n64-linux.d: Remove -melf64btsmip.
* ld-mips-elf/elf-rel-xgot-n32.d: Remove -melf32btsmipn32.
Adjust output.
* ld-mips-elf/elf-rel-xgot-n64.d: Remove -melf64btsmip. Adjust
output.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
* ld-mips-elf/reloc-1-n64.d: Remove -melf64btsmip.
* ld-mips-elf/mips-elf.exp: Set has_newabi for mips*-sde-elf*
too. Move tool flags from o32_as_flags and o32_ld_flags
variables into abi_asflags and abi_ldflags arrays. Adjust test
cases run to use them. Run the new tests.
2012-08-06 21:05:54 +00:00
Maciej W. Rozycki
8b5b2228f8
* lib/ld-lib.exp (at_least_gcc_version): Accept more version
...
number formats; avoid throwing exceptions in any case.
2012-08-03 22:28:41 +00:00
Hans-Peter Nilsson
134fa82ef4
* lib/ld-lib.exp (run_dump_test): For options "warning" and
...
"error", append to earlier option values without adding a space.
2012-05-17 12:06:55 +00:00
Roland McGrath
5a68afcf73
bfd/
...
2012-04-03 Roland McGrath <mcgrathr@google.com>
* elf-nacl.c: New file.
* elf-nacl.h: New file.
* elf32-i386.c (elf_backend_modify_segment_map): Define for
bfd_elf32_i386_nacl_vec.
(elf_backend_modify_program_headers): Likewise.
* elf64-x86-64.c (elf_backend_modify_segment_map): Define for
bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec.
(elf_backend_modify_program_headers): Likewise.
* Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here.
(BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here.
* Makefile.in: Regenerated.
* configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here.
(bfd_elf32_x86_64_nacl_vec): Likewise.
(bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise.
(bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise.
(bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise.
(bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise.
(bfd_elf32_i386_nacl_vec): Likewise.
(bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise.
(bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise.
* configure: Regenerated.
binutils/testsuite/
2012-04-03 Roland McGrath <mcgrathr@google.com>
* lib/binutils-common.exp (is_elf_format): Consider *-*-nacl* to
be ELF too.
* binutils-all/elfedit-4.d: Add "#as: --64" option.
* binutils-all/i386/i386.exp: Accept nacl targets too.
* binutils-all/x86-64/x86-64.exp: Likewise.
gas/testsuite/
2012-04-03 Roland McGrath <mcgrathr@google.com>
* gas/i386/k1om.d: Add not-target match for *-*-nacl*.
* gas/i386/l1om.d: Likewise.
ld/
2012-04-03 Roland McGrath <mcgrathr@google.com>
* configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
* emulparams/elf_nacl.sh: New file.
* emulparams/elf_i386_nacl.sh: New file.
* emulparams/elf32_x86_64_nacl.sh: New file.
* emulparams/elf_x86_64_nacl.sh: New file.
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
(ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
eelf_x86_64_nacl.c here.
(eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
New targets.
* Makefile.in: Regenerated.
* scripttempl/elf.sc: Handle SEPARATE_CODE cases.
ld/testsuite/
2012-04-03 Roland McGrath <mcgrathr@google.com>
* ld-x86-64/ilp32-4-nacl.d: New file.
* ld-x86-64/x86-64.exp: Run it.
* ld-discard/discard.exp: Accept nacl targets too.
* ld-elf/binutils.exp: Likewise.
* ld-elf/comm-data.exp: Likewise.
* ld-elf/elf.exp: Likewise.
* ld-elf/tls_common.exp: Likewise.
* ld-elfvers/vers.exp: Likewise.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-elfweak/elfweak.exp: Likewise.
* ld-gc/gc.exp: Likewise.
* ld-ifunc/binutils.exp: Likewise.
* ld-ifunc/ifunc.exp: Likewise.
* ld-linkonce/linkonce.exp:Likewise.
* ld-pie/pie.exp: Likewise.
* ld-shared/shared.exp: Likewise.
* ld-undefined/weak-undef.exp: Likewise.
* ld-unique/unique.exp: Likewise.
* ld-x86-64/dwarfreloc.exp: Likewise.
* ld-x86-64/line.exp: Likewise.
* lib/ld-lib.exp (slurp_options): Support global array
options_regsub to apply substitutions to the contents
of options lines read from the file.
* ld-i386/emit-relocs.d: Renamed to ...
* ld-i386/emit-relocs.rd: ... this.
* ld-i386/i386.exp: Accept nacl targets too.
For them, use options_regsub to replace elf_i386 with
elf_i386_nacl in run_dump_test cases; apply the same
substitution in $i386tests; replace foo.rd expectations
files with foo-nacl.rd in $i386tests.
(i386tests): Change emit-relocs.d to emit-relocs.rd here.
* ld-i386/emit-relocs-nacl.rd: New file.
* ld-i386/plt-nacl.pd: New file.
* ld-i386/plt-pic-nacl.pd: New file.
* ld-i386/tlsbin-nacl.rd: New file.
* ld-i386/tlsbindesc-nacl.rd: New file.
* ld-i386/tlsdesc-nacl.rd: New file.
* ld-i386/tlsgdesc-nacl.rd: New file.
* ld-i386/tlsnopic-nacl.rd: New file.
* ld-i386/tlspic-nacl.rd: New file.
* ld-x86-64/x86-64.exp: Accept nacl targets too.
For them, use options_regsub to replace elf_x86_64 with
elf_x86_64_nacl in run_dump_test cases; apply the same
substitution in $x86_64tests; replace foo.rd expectations
files with foo-nacl.rd in $x86_64tests.
Add explicit -melf_x86_64 to ld options in tests that need it,
in case the default emulation is x32 (as it is for x86_64-nacl).
* ld/testsuite/ld-x86-64/plt-nacl.pd: New file.
* ld/testsuite/ld-x86-64/split-by-file-nacl.rd: New file.
* ld/testsuite/ld-x86-64/tlsbin-nacl.rd: New file.
* ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: New file.
* ld/testsuite/ld-x86-64/tlsdesc-nacl.pd: New file.
* ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: New file.
* ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd: New file.
* ld/testsuite/ld-x86-64/tlspic-nacl.rd: New file.
* ld-i386/hidden2.d: Loosen regexps to match any file format variant,
and not to depend on exact addresses, displacements, etc. where
they are irrelevant.
* ld-i386/pcrel16.d: Likewise.
* ld-i386/pcrel16abs.d: Likewise.
* ld-i386/pr12718.d: Likewise.
* ld-i386/pr12921.d: Likewise.
* ld-i386/reloc.d: Likewise.
* ld-i386/tlsbin.dd: Likewise.
* ld-i386/tlsbin.sd: Likewise.
* ld-i386/tlsbin.td: Likewise.
* ld-i386/tlsbindesc.dd: Likewise.
* ld-i386/tlsbindesc.sd: Likewise.
* ld-i386/tlsbindesc.td: Likewise.
* ld-i386/tlsdesc.dd: Likewise.
* ld-i386/tlsdesc.sd: Likewise.
* ld-i386/tlsdesc.td: Likewise.
* ld-i386/tlsg.sd: Likewise.
* ld-i386/tlsgdesc.dd: Likewise.
* ld-i386/tlsindntpoff.dd: Likewise.
* ld-i386/tlsnopic.dd: Likewise.
* ld-i386/tlsnopic.sd: Likewise.
* ld-i386/tlspic.dd: Likewise.
* ld-i386/tlspic.sd: Likewise.
* ld-i386/tlspic.td: Likewise.
* ld-i386/tlspie2.d: Likewise.
* ld-x86-64/hidden2.d: Likewise.
* ld-x86-64/pcrel16.d: Likewise.
* ld-x86-64/pr12718.d: Likewise.
* ld-x86-64/pr12921.d: Likewise.
* ld-x86-64/protected3.d: Likewise.
* ld-x86-64/tlsbin.dd: Likewise.
* ld-x86-64/tlsbin.sd: Likewise.
* ld-x86-64/tlsbin.td: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsbindesc.sd: Likewise.
* ld-x86-64/tlsbindesc.td: Likewise.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlsdesc.sd: Likewise.
* ld-x86-64/tlsdesc.td: Likewise.
* ld-x86-64/tlsg.sd: Likewise.
* ld-x86-64/tlsgd5.dd: Likewise.
* ld-x86-64/tlsgd6.dd: Likewise.
* ld-x86-64/tlsgdesc.dd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlspic.sd: Likewise.
* ld-x86-64/tlspic.td: Likewise.
* ld-x86-64/ilp32-8.d: Match any file format variant.
Use a -Ttext and adjust expected results, to handle variant layouts.
* ld-x86-64/ilp32-9.d: Likewise.
* ld-i386/alloc.t: Remove superfluous OUTPUT_FORMAT statement.
* ld-i386/pr12627.t: Likewise.
* ld-x86-64/abs-l1om.d: Add target: constraint.
* ld-x86-64/protected2-l1om.d: Likewise.
* ld-x86-64/protected3-l1om.d: Likewise.
* ld-x86-64/ilp32-4.d: Likewise.
* ld-x86-64/plt.s: New file.
* ld-x86-64/pltlib.s: New file.
* ld-x86-64/plt.pd: New file.
* ld-x86-64/x86-64.exp (x86_64tests): Add them.
* ld-i386/plt.s: New file.
* ld-i386/pltlib.s: New file.
* ld-i386/plt.pd: New file.
* ld-i386/plt-pic.s: New file.
* ld-i386/plt-pic.pd: New file.
* ld-i386/i386.exp (i386tests): Add them.
2012-04-03 16:01:38 +00:00