Commit Graph

3526 Commits

Author SHA1 Message Date
Kai Tietz
c91a930cb7 2010-12-21 Kai Tietz <kai.tietz@onevision.com>
* peXXigen.c (_bfd_XXi_final_link_postscript): Use
        bfd_get_symbol_leading_char to determine "_tls_used" name.

2010-12-21  Kai Tietz  <kai.tietz@onevision.com>

	* ld-pe/pe.exp: Add TLS directory test.
	* ld-pe/tlssec.s: New.
	* ld-pe/tlssec64.d: New.
	* ld-pe/tlssec32.d: New.
2010-12-21 15:24:39 +00:00
Thomas Schwinge
43fbacdedc Adjust URLs. 2010-12-21 11:00:48 +00:00
Alan Modra
66a3cb9c76 * ld-bootstrap/bootstrap.exp: Fix misplaced comment. 2010-12-20 13:05:00 +00:00
Alan Modra
5c3049d2ef * ld.texinfo (Expression Section): Describe treatment of numbers
and absolute symbols.
	* ldemul.c (after_open_default): Look up __ld_compatibility.
	* ldexp.c (fold_name): Convert absolute symbols to numbers when
	inside output section definitions, or when __ld_compatibility >= 221.
	(exp_fold_tree_1): Convert numbers to absolute when not in output
	section definition and __ld_compatibility < 221.  Don't always
	convert values outside an output section definition to absolute.
	* ldexp.h (uses_defined): Comment.
	* ldlang.c (ld_compatibility): New variable.
	* ldlang.h (ld_compatibility): Declare.
	* emultempl/aix.em, * emultempl/armcoff.em, * emultempl/beos.em,
	* emultempl/elf32.em, * emultempl/genelf.em, * emultempl/lnk960.em,
	* emultempl/m68kcoff.em, * emultempl/mmo.em, * emultempl/pe.em,
	* emultempl/pep.em, * emultempl/sunos.em, * emultempl/z80.em: Call
	after_open_default from after_open function.
2010-12-20 13:00:14 +00:00
Alan Modra
e759c11602 PR ld/12001
Revert 2010-11-03 Nick Clifton
	* ldlang.c (ldlang_def_chain_list): Delete.
	(insert_defined, ldlang_add_def, lang_place_defineds): Delete.
	(lang_process): Don't call lang_place_defineds.
	(lang_add_assignment): Don't do anything special for --defsym.

	* ldexp.h (struct ldexp_control): Add uses_defined.
	(exp_fold_tree_no_dot): Declare.
	* ldexp.c (exp_fold_tree): Clear uses_defined.
	(exp_fold_tree_no_dot): Likewise.  Make global.
	(fold_name <DEFINED>): Set uses_defined.
	(exp_fold_tree_1 <etree_assign>): Define symbol during first phase
	even when the value being assigned isn't valid.
	* ldlang.c (open_input_bfds): Process assignment statements.
	(lang_process): Bump lang_statement_iteration.
	(scan_for_self_assignment): Formatting.
	(print_assignment): Style.

testsuite/
	* ld-scripts/default-script2.d: Revert 2010-11-03 change.
2010-12-20 06:27:11 +00:00
H.J. Lu
02ecc8e968 Add SORT_BY_INIT_PRIORITY.
bfd/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (_bfd_elf_new_section_hook): Special handling for
	.init_array/.fini_array output sections.

ld/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (GENSCRIPTS): Add @enable_initfini_array@.

	* NEWS: Mention SORT_BY_INIT_PRIORITY.

	* configure.in: Add AC_CANONICAL_BUILD.
	Add --enable-initfini-array.

	* genscripts.sh (ENABLE_INITFINI_ARRAY): New.

	* ld.h (sort_type): Add by_init_priority.

	* ld.texinfo: Document SORT_BY_INIT_PRIORITY.

	* ldgram.y (SORT_BY_INIT_PRIORITY): New.
	(wildcard_spec): Handle SORT_BY_INIT_PRIORITY.

	* ldlang.c (get_init_priority): New.
	(compare_section): Use get_init_priority for by_init_priority.

	* ldlex.l (SORT_BY_INIT_PRIORITY): New.

	* scripttempl/elf.sc: Support ENABLE_INITFINI_ARRAY.

	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.in: Likewise.
	* configure: Likewise.

ld/testsuite/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/elf.exp (array_tests): Add init-mixed.
	(array_tests_static): Likewise.
	Also delete tmpdir/init-mixed.

	* ld-elf/init-mixed.c: New.
	* ld-elf/init-mixed.out: Likewise.
2010-12-15 14:56:40 +00:00
Alan Modra
4610564552 * ldlang.c (load_symbols): Correct last change. 2010-12-13 01:06:35 +00:00
H.J. Lu
db0ca79ff4 Optimize for add_archive_element.
bfd/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_link_add_archive_symbols): Remove subsbfd.

ld/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (load_symbols): Optimize for add_archive_element.
2010-12-12 14:52:27 +00:00
Alan Modra
3710d6361b * ld-elfvers/vers25a.dsym: Really include _? in match. 2010-12-11 12:58:36 +00:00
Mike Frysinger
b9e33f301e ld: elfvers tests: support symbol prefixed targets
The symbol versioning tests mix C-visible symbols and linker-visible
symbols in order to verify .symver behavior.  This works for most
people, but fail for targets that have a symbol prefix.  So add a
helper file with macros that expand gcc's __USER_LABEL_PREFIX__ as
necessary and convert all .symver users over to it.

Now that the tests are usable on prefixed targets, update the tests
to take into account an optional leading underscore.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-10 06:08:11 +00:00
Mike Frysinger
8b9a522f57 bfd/binutils/gas/gprof/ld/libiberty/opcodes: add .gitignore
This seems to cover a few random targets as well as --enable-targets=all.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-09 09:03:18 +00:00
H.J. Lu
94bf3a11ec Add -flto and -flto-partition=.
2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (ld_options): Add -flto and -flto-partition= for
	GCC LTO option compatibility.
2010-12-06 23:35:13 +00:00
H.J. Lu
d251c5c4e1 Don't add the trailing `\n' for LDPL_ERROR.
2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12288
	* plugin.c (message): Don't add the trailing `\n' for
	LDPL_ERROR.
2010-12-06 21:47:43 +00:00
H.J. Lu
ada487f6b3 Remove the trailing `\n' from TV_MESSAGE.
2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12288
	* testplug.c: Remove the trailing `\n' from TV_MESSAGE.
2010-12-06 20:59:20 +00:00
H.J. Lu
d9b2146348 Use putchar for the trailing `\n' in plugin message.
bfd/

2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12288
	* plugin.c (message): Add putchar for the trailing `\n'.

ld/

2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12288
	* plugin.c (message): Use putchar for the trailing `\n'.
2010-12-06 20:25:49 +00:00
H.J. Lu
e73d965c22 Call xatexit with plugin_call_cleanup.
2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
	    Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12289
	* ldmain.c (main): Don't call plugin_call_cleanup.

	* plugin.c (plugin_call_cleanup): Make it static.
	(message): Don't call plugin_call_cleanup.
	(plugin_load_plugins): Call xatexit with plugin_call_cleanup.
2010-12-06 12:44:51 +00:00
H.J. Lu
3b8525f821 Call plugin_call_cleanup on plugin fatal error.
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12289
	* plugin.c (message): Call plugin_call_cleanup on fatal
	error.
2010-12-06 05:38:11 +00:00
H.J. Lu
7990daecfc Add a space after `:' in plugin error message.
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* plugin.c (message): Add a space after `:' in error message.
2010-12-06 02:28:31 +00:00
H.J. Lu
7ac96fb5a8 Add `%P' on error in plugin message. 2010-12-06 00:59:14 +00:00
H.J. Lu
ea360572bd Add the trailing `\n' to einfo in plugin.c.
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* plugin.c (asymbol_from_plugin_symbol): Add the trailing `\n'
	to einfo.
	(get_symbols): Likewise.
	(plugin_notice): Likewise.
	(plugin_multiple_definition): Likewise.
2010-12-06 00:53:20 +00:00
H.J. Lu
2be3382c20 Mention PR ld/12277 in ChangeLog. 2010-12-06 00:51:14 +00:00
H.J. Lu
b7f4214449 Add the trailing `\n' to pluin message.
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12288
	* plugin.c (message): Add the trailing `\n'.
2010-12-06 00:49:00 +00:00
H.J. Lu
b7f95647fd Replace is_archive with maybe_archive.
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* ldfile.c (ldfile_open_file_search): Check maybe_archive instead
	of is_archive.
	* emultempl/aix.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/vms.em: Likewise.

	* ldlang.c (new_afile): Set maybe_archive instead of is_archive..

	* ldlang.h (lang_input_statement_struct): Replace is_archive
	with maybe_archive.
2010-12-06 00:07:06 +00:00
H.J. Lu
cfac8028e4 Properly convert LTO plugin visibility to ELF visibility.
ld/

2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* plugin.c (asymbol_from_plugin_symbol): Properly convert LTO
	plugin visibility to ELF visibility.
	(is_visible_from_outside): Re-indent.

ld/testsuite/

2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-plugin/plugin-vis-1.d: Updated.
2010-12-06 00:00:15 +00:00
H.J. Lu
1d62840f4f Don't pass -fvtable-gc to GCC 3.4.0 or above.
2010-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-selective/selective.exp: Don't pass -fvtable-gc to GCC
	3.4.0 or above.
2010-12-04 18:32:52 +00:00
H.J. Lu
8233c39317 Replace -export-dynamic with -Wl,-export-dynamic.
2010-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elfvers/vers.exp: Replace -export-dynamic with
	-Wl,-export-dynamic.
2010-12-04 18:07:42 +00:00
Alan Modra
c5b0a9ef7e * ldlang.c (lang_size_sections_1): Align lma using same alignment
as for vma.
2010-12-04 03:30:45 +00:00
H.J. Lu
99bca8f991 Fix a typo in comments.
2010-12-03  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (ld_options): Fix a typo in comments.
2010-12-03 22:03:22 +00:00
H.J. Lu
8be6259eb2 Break long lines. 2010-12-02 01:26:07 +00:00
H.J. Lu
a48d02c9a7 Re-indent plugin.h.
2010-12-01  H.J. Lu  <hongjiu.lu@intel.com>

	* plugin.h: Re-indent.
2010-12-02 01:22:54 +00:00
Matthew Gretton-Dann
c3e5cf5f4d * ld/testsuite/ld-scripts/script.exp: Remove full path from REGION_ALIAS test
names.
2010-11-30 13:38:59 +00:00
Alan Modra
9203b09a4b Add sparc64-rtems. 2010-11-30 01:14:08 +00:00
Alan Modra
a9a7adc0f4 update japanese translation 2010-11-26 00:00:55 +00:00
Matthew Gretton-Dann
d9a88323fe * ld/testsuite/ld-arm/arm-elf.exp (armeabitests): Replace --defsym argument in
jump-reloc-veneers* tests with --section-start .text=0x8000.
2010-11-25 09:34:43 +00:00
Alan Modra
1de34e0afe Update translations 2010-11-25 06:08:52 +00:00
Alan Modra
add44f8d5c * scripttempl/elf.sc: Group .text.exit, text.startup and .text.hot
sections.
2010-11-25 03:03:02 +00:00
Nick Clifton
c77912127f * configure.ac: For --enable-gold, handle value `default' instead of
`both*'.   New configure option --{en,dis}able-ld.

ld, gold/
	* configure.ac: For --enable-gold, handle value `default' instead of
	`both*'. Always install ld as ld.gold, install as ld if gold is
	the default.
2010-11-23 13:39:57 +00:00
H.J. Lu
f84854b643 Re-indent plugin code.
2010-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	* ldfile.c: Re-indent plugin code.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* plugin.c: Likewise.
2010-11-21 20:36:25 +00:00
H.J. Lu
5c08b7d40e Set alignment of common plugin symbol to 1 for For ELF targets.
2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12246
	* plugin.c (asymbol_from_plugin_symbol): Set alignment of
	common symbol to 1 for For ELF targets.
2010-11-20 17:34:16 +00:00
H.J. Lu
f9982339c9 Properly report loading plugin error.
2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/12247
	* lexsup.c (parse_args): Properly report loading plugin error.
2010-11-20 17:32:07 +00:00
Richard Sandiford
eb22018c4c binutils/testsuite/
* lib/binutils-common.exp (regexp_diff): New procedure.
	* lib/utils-lib.exp (regexp_diff): Delete.

gas/testsuite/
	* lib/gas-defs.exp (regexp_diff): Delete.
	(run_dump_test): Remove final "" argument in call to regexp_diff.
	(run_list_test): Likewise.
	(run_list_test_stdin): Likewise.
	* gas/all/gas.exp (test_cond): Likewise.
	* gas/elf/elf.exp (run_elf_list_test): Likewise.
	* gas/m68k/all.exp: Likewise.
	* gas/mep/complex-relocs.exp (regexp_test): Likewise.
	* gas/mt/relocs.exp (regexp_test): Likewise.
	* gas/symver/symver.exp (run_error_test): Likewise.

ld/testsuite/
	* lib/ld-lib.exp (regexp_diff, simple_diff): Delete.
2010-11-20 15:36:34 +00:00
Richard Sandiford
f3097f3364 binutils/testsuite/
* lib/binutils-common.exp: New file.
	* lib/utils-lib.exp (load_common_lib): New function.  Load
	binutils-common.exp.
	(is_elf_format): Delete.

gas/testsuite/
	* lib/gas-defs.exp (load_common_lib): New function.  Load
	binutils-common.exp.
	(is_elf_format, is_aout_format, is_pecoff_format): Delete.

ld/testsuite/
	* lib/ld-lib.exp (load_common_lib): New function.  Load
	binutils-common.exp.
	(is_elf_format, is_elf64, is_aout_format, is_pecoff_format): Delete.
2010-11-20 15:36:10 +00:00
Dave Korn
42a851a999 * plugin.c (is_visible_from_outside): New function.
(get_symbols): Use it.
2010-11-19 03:31:06 +00:00
Alan Modra
99753d9d70 * ld-elf/binutils.exp: Correct x86 gnu target match.
* ld-i386/i386.exp: Likewise.
	* ld-ifunc/binutils.exp: Likewise.
	* ld-ifunc/ifunc.exp: Likewise.
	* ld-discard/discard.exp: Remove unnecessary line continuations.
	* ld-elfvers/vers.exp: Likewise.  Simplify linuxaout and linuxoldld
	test.
	* ld-elfweak/elfweak.exp: Likewise.
2010-11-18 06:57:57 +00:00
Andreas Schwab
3a072d2c6d * ld/testsuite/ld-gc/pr11218-2.c: Declare
unresolved_detected_at_runtime_not_at_linktime.
2010-11-16 23:41:38 +00:00
Alan Modra
283c0b82c3 * ld-plugin/plugin.exp: Define printf and puts as main. 2010-11-16 23:00:48 +00:00
Mike Frysinger
ca00c57b8c blackfin: add support for L1 code/data flags
forgot to `cvs add` this file
2010-11-16 03:33:07 +00:00
Mike Frysinger
781303cee5 blackfin: add support for L1 code/data flags
Add new linker options for marking programs to load into L1 memory
at runtime.  This needs new EF flag bits, so declare them.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-15 22:30:47 +00:00
Alan Modra
c85f715a62 * emultempl/pe.em (_list_options): Correct typo.
* emultempl/pep.em (_list_options): Likewise.
2010-11-15 22:01:17 +00:00
Thomas Schwinge
5940a93c84 Improve binutils testsuite coverage for GNU/Hurd.
binutils/testsuite/

	* lib/utils-lib.exp (is_elf_format): Consider for *-*-gnu*, too.
	* binutils-all/elfedit-2.d (target): Likewise.
	* binutils-all/elfedit-3.d (target): Likewise.
	* binutils-all/i386/i386.exp: Likewise.
	* binutils-all/objcopy.exp: Likewise.
	* binutils-all/strip-3.d (target): Likewise.

gas/testsuite/

	* lib/gas-defs.exp (is_elf_format): Consider for *-*-gnu*, too.
	* gas/elf/elf.exp: Likewise.
	* gas/symver/symver.exp: Likewise.

ld/

	* configure.host: Add stanza for *-*-gnu*.

ld/testsuite/

	* lib/ld-lib.exp (is_elf_format): Consider for *-*-gnu*, too.
	* ld-discard/discard.exp: Likewise.
	* ld-elf/binutils.exp: Likewise.
	* ld-elf/commonpage1.d (target): Likewise.
	* ld-elf/compress1c.d (target): Likewise.
	* ld-elf/discard1.d (target): Likewise.
	* ld-elf/discard2.d (target): Likewise.
	* ld-elf/discard3.d (target): Likewise.
	* ld-elf/dynsym1.d (target): Likewise.
	* ld-elf/eh6.d (target): Likewise.
	* ld-elf/elf.exp: Likewise.
	(array_tests): Move -static tests to...
	(array_tests_static): ... here, and handle it accordingly.
	* ld-elf/hash.d (target): Likewise.
	* ld-elf/header.d (target): Likewise.
	* ld-elf/loadaddr1.d (target): Likewise.
	* ld-elf/loadaddr2.d (target): Likewise.
	* ld-elf/loadaddr3a.d (target): Likewise.
	* ld-elf/loadaddr3b.d (target): Likewise.
	* ld-elf/local1.d (target): Likewise.
	* ld-elf/maxpage1.d (target): Likewise.
	* ld-elf/maxpage2.d (target): Likewise.
	* ld-elf/maxpage3a.d (target): Likewise.
	* ld-elf/multibss1.d (target): Likewise.
	* ld-elf/noload-2.d (target): Likewise.
	* ld-elf/seg.d (target): Likewise.
	* ld-elf/textaddr1.d (target): Likewise.
	* ld-elf/textaddr2.d (target): Likewise.
	* ld-elf/textaddr3.d (target): Likewise.
	* ld-elf/textaddr4.d (target): Likewise.
	* ld-elf/textaddr5.d (target): Likewise.
	* ld-elf/textaddr6.d (target): Likewise.
	* ld-elf/textaddr7.d (target): Likewise.
	* ld-elf/tls_common.exp: Likewise.
	* ld-elf/unknown2.d (target): Likewise.
	* ld-elfvers/vers.exp: Likewise.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfweak/elfweak.exp: Likewise.
	(setup_xfail_gnu_hurd): New function.  Use it where appropriate.
	* ld-gc/abi-note.d (target): Likewise.
	* ld-gc/gc.exp: Likewise.
	* ld-gc/pr11218.d (target): Likewise.
	* ld-gc/start.d (target): Likewise.
	* ld-i386/i386.exp: Likewise.
	* ld-ifunc/binutils.exp: Likewise.
	* ld-ifunc/ifunc.exp: Likewise.
	* ld-linkonce/linkonce.exp: Likewise.
	* ld-linkonce/zeroehl32.d (target): Likewise.
	* ld-pie/pie.exp: Likewise.
	* ld-scripts/phdrs2.exp: Likewise.
	* ld-scripts/rgn-at5.d (target): Likewise.
	* ld-shared/shared.exp: Likewise.
	* ld-undefined/entry-3.d (target): Likewise.
	* ld-undefined/entry-4.d (target): Likewise.
	* ld-undefined/weak-undef.exp: Likewise.
2010-11-08 06:43:40 +00:00