Commit graph

2584 commits

Author SHA1 Message Date
Nick Clifton
0b3e17e93d Add support for i386-dragonfly target. 2007-08-28 11:02:55 +00:00
H.J. Lu
dd1093aa2c 2007-08-24 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/i386.exp (i386tests): Add a test for TLS IE->LE
	transition.
	Run tlsie2, tlsie3, tlsie4 and tlsie5.

	* ld-i386/tlsie1.dd: New file.
	* ld-i386/tlsie1.s: Likewise.
	* ld-i386/tlsie2.d: Likewise.
	* ld-i386/tlsie2.s: Likewise.
	* ld-i386/tlsie3.d: Likewise.
	* ld-i386/tlsie3.s: Likewise.
	* ld-i386/tlsie4.d: Likewise.
	* ld-i386/tlsie4.s: Likewise.
	* ld-i386/tlsie5.d: Likewise.
	* ld-i386/tlsie5.s: Likewise.
	* ld-x86-64/tlsgd2.d: Likewise.
	* ld-x86-64/tlsgd2.s: Likewise.
	* ld-x86-64/tlsgd3.d: Likewise.
	* ld-x86-64/tlsgd3.s: Likewise.
	* ld-x86-64/tlsie1.dd: Likewise.
	* ld-x86-64/tlsie1.s: Likewise.
	* ld-x86-64/tlsie2.d: Likewise.
	* ld-x86-64/tlsie2.s: Likewise.
	* ld-x86-64/tlsie3.d: Likewise.
	* ld-x86-64/tlsie3.s: Likewise.

	* ld-x86-64/x86-64.exp (x86_64tests): Add a test for TLS LD->LE
	transition.
	Run tlsgd2, tlsgd3, tlsie2 and tlsie3.
2007-08-24 19:39:19 +00:00
H.J. Lu
142411caf2 bfd/
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c: Include "bfd_stdint.h".
	(elf_i386_rtype_to_howto): New function.
	(elf_i386_info_to_howto_rel): Use it.
	(x86_64_opcode16): New union type.
	(elf_i386_check_tls_transition): New function.
	(elf_i386_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf_i386_check_relocs): Return FALSE if
	elf_i386_tls_transition returns FALSE.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

	* elf64-x86-64.c: Include "bfd_stdint.h".
	(x86_64_opcode16): New union type.
	(x86_64_opcode32): Likewise.
	(elf64_x86_64_check_tls_transition): New function.
	(elf64_x86_64_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf64_x86_64_check_relocs): Return FALSE if
	elf64_x86_64_tls_transition returns FALSE.
	(elf64_x86_64_gc_sweep_hook): Likewise.
	(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

ld/testsuite/

2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-i386/tlsbinpic.s: Add a new GD -> IE test.

	* ld-i386/tlsgd1.s: Add a new GD -> LE test.

	* ld-i386/tlsbin.dd: Updated.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsgd1.dd: Likewise.
2007-08-23 16:13:37 +00:00
Alan Modra
b4346c091b * ld.texinfo (Input Section Basics): Correct EXCLUDE_FILE example. 2007-08-18 01:36:57 +00:00
Jakub Jelinek
7e976ae46d * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
Change sparc64-*-linux-* to sparc64*-*-linux-*.

	* configure.host: Handle sparcv*-*-linux-* the same as
	sparc-*-linux-*.  Change sparc64-*-linux-* to sparc64*-*-linux-*.

	* ld-sparc/tlssunnopic32.dd: Fix up #target.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic32.sd: Likewise.
	* ld-sparc/tlssunnopic64.dd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunnopic64.sd: Likewise.
2007-08-17 22:00:11 +00:00
Alan Modra
442996eee8 * emultempl/alphaelf.em: Format option help.
* emultempl/armcoff.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/avrelf.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/ia64elf.em: Likewise.
	* emultempl/m68hc1xelf.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/scoreelf.em: Likewise.
	* emultempl/spuelf.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vxworks.em: Likewise.
	* emultempl/xtensaelf.em: Likewise.
2007-08-17 13:50:48 +00:00
Alan Modra
c58dea77ff * ldexp.c (exp_get_vma, exp_get_fill): Canonicalise error messages.
* lexsup.c (ld_options): Don't use tabs in help text.
	* emultempl/armcoff.em (gld${EMULATION_NAME}_finish): Fix typo.
	* emultempl/pe.em (gld${EMULATION_NAME}_finish): Fix typo.
2007-08-17 13:23:08 +00:00
Richard Sandiford
3935e1af80 ld/testsuite/
* lib/ld-lib.exp (run_dump_test): Allow [big_or_little_endian]
	to appear in assembler and linker options.
	* ld-mips-elf/vxworks1-static.d (ld): Add [big_or_little_endian].
2007-08-17 13:22:44 +00:00
Alan Modra
e9f274335b * po/Make-in: Add --msgid-bugs-address to xgettext invocation. 2007-08-17 01:04:52 +00:00
Alan Modra
ea9c645141 * ld-srec/srec.exp: Always pass "-G 0". Remove all powerpc
xfails.
2007-08-16 13:51:27 +00:00
Alan Modra
d10e7fcce7 PR 4923
* emultempl/elf32.em (after_open): Return immediately when
        non-ELF output.
2007-08-15 06:03:11 +00:00
H.J. Lu
a3fadc9a17 bfd/
2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4918
	* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
	on ___tls_get_addr for GD->LE/LD->LE transitions when not
	building shared library.

	* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
	R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
	when not building shared library.

ld/testsuite/

2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4918
	* ld-i386/i386.exp (i386tests): Add tlsgd1 and tlsld1 tests.
	* ld-x86-64/x86-64.exp (x86_64tests): Likewise.

	* ld-i386/tlsgd1.dd: New file.
	* ld-i386/tlsgd1.s: Likewise.
	* ld-i386/tlsld1.dd: Likewise.
	* ld-i386/tlsld1.s: Likewise.
	* ld-x86-64/tlsgd1.dd: Likewise.
	* ld-x86-64/tlsgd1.s: Likewise.
	* ld-x86-64/tlsld1.dd: Likewise.
	* ld-x86-64/tlsld1.s: Likewise.
2007-08-14 19:48:21 +00:00
Richard Sandiford
8275b357ad bfd/
* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
	(mips_elf_record_global_got_symbol): Increment local_gotno for
	each forced-local symbol.
	(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
	mips_elf_record_global_got_symbol for VxWorks too.
	(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
	to true after computing the GOT size.
	(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
	got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
	For VxWorks, add a local entry when hiding a symbol that needs a
	plt but has not been marked as needing a global got entry.
	(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
	false.

ld/testsuite/
	* ld-mips-elf/vxworks-forced-local-1.d,
	* ld-mips-elf/vxworks-forced-local-1.s,
	* ld-mips-elf/vxworks-forced-local-1.ver: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
	* ld-mips-elf/tlsdyn-o32-2.d: Adjust for removal of unnecessary
	local GOT entry.
	* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
	* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
	* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
	* ld-mips-elf/vxworks1-lib.dd: Likewise.
	* ld-mips-elf/vxworks1-lib.rd: Likewise.
2007-08-13 21:16:39 +00:00
Alan Modra
ac2df442ac bfd/
* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
	Update stub comments.
	(build_plt_stub): Build two variants, one without "addis".
	(ppc_build_one_stub): Build stubs without "addis" if possible.
	(ppc_size_one_stub): Size new stubs.
ld/testsuite/
	* ld-powerpc/relbrlt.s (.text.pad2): Adjust space.
	* ld-powerpc/relbrlt.d: Update.
	* ld-powerpc/tlsexe.d: Update.
	* ld-powerpc/tlsexe.g: Update.
	* ld-powerpc/tlsexe.r: Update.
	* ld-powerpc/tlsexetoc.d: Update.
	* ld-powerpc/tlsexetoc.g: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlsso.g: Update.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.g: Update.
2007-08-13 00:20:59 +00:00
Daniel Jacobowitz
19aec961fa * configure.in (ALL_LINGUAS): Add fi.
* po/fi.po: New file.
	* configure: Regenerated.
2007-08-12 18:59:46 +00:00
Nick Clifton
7c3d153f7d Add a marker for the 2.18 features. 2007-08-10 13:21:40 +00:00
Nick Clifton
d02756e75b Updated Finnish, Irish and Vietnamese translations 2007-08-10 13:16:32 +00:00
H.J. Lu
745535d6c1 Mention PR ld/4877. 2007-08-10 12:41:33 +00:00
H.J. Lu
347a31931d 2007-08-10 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
2007-08-10 12:36:21 +00:00
H.J. Lu
fe8b7f8739 2007-08-10 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4875
	* elf-hints-local.h: Include bfd_stdint.h.  Use uint32_t
	instead of u_int32_t.

	* sha1.h: Include bfd_stdint.h instead of <stdint.h>.
2007-08-10 12:25:30 +00:00
Alan Modra
88bba78dc4 PR 4515
* genscripts.sh: Delete all references to NONPAGED_TEXT_START_ADDR.
	* ldint.texinfo: Likewise.
	* emulparams/armaoutb.sh (NONPAGED_TEXT_START_ADDRESS): Delete.
	* emulparams/armaoutl.sh: Likewise.
	* emulparams/arcelf.sh (NONPAGED_TEXT_START_ADDR): Delete.
	* emulparams/bfin.sh: Likewise
	* emulparams/crisaout.sh: Likewise
	* emulparams/elf32_sparc.sh: Likewise
	* emulparams/elf32am33lin.sh: Likewise
	* emulparams/elf32b4300.sh: Likewise
	* emulparams/elf32bmip.sh: Likewise
	* emulparams/elf32mcore.sh: Likewise
	* emulparams/elf32xtensa.sh: Likewise
	* emulparams/elf64_s390.sh: Likewise
	* emulparams/elf64_sparc.sh: Likewise
	* emulparams/elf64alpha.sh: Likewise
	* emulparams/elf_i386.sh: Likewise
	* emulparams/elf_i386_be.sh: Likewise
	* emulparams/elf_i386_chaos.sh: Likewise
	* emulparams/elf_i386_ldso.sh: Likewise
	* emulparams/elf_i386_vxworks.sh: Likewise
	* emulparams/elf_s390.sh: Likewise
	* emulparams/elf_x86_64.sh: Likewise
	* emulparams/i386aout.sh: Likewise
	* emulparams/i386moss.sh: Likewise
	* emulparams/i386msdos.sh: Likewise
	* emulparams/i386nto.sh: Likewise
	* emulparams/i386nw.sh: Likewise
	* emulparams/m68kaout.sh: Likewise
	* emulparams/m68kelf.sh: Likewise
	* emulparams/ppcnw.sh: Likewise
	* emulparams/sun4.sh: Likewise
	* emulparams/tic80coff.sh: Likewise
	* emulparams/vaxnbsd.sh: Likewise
	* emulparams/armnbsd.sh (NONPAGED_TEXT_START_ADDR): Delete.
	(TEXT_START_ADDR): Set for -n, -N.
	* emulparams/coff_sparc.sh: Likewise
	* emulparams/elf32vax.sh: Likewise
	* emulparams/i386bsd.sh: Likewise
	* emulparams/i386go32.sh: Likewise
	* emulparams/i386linux.sh: Likewise
	* emulparams/i386lynx.sh: Likewise
	* emulparams/i386mach.sh: Likewise
	* emulparams/m68k4knbsd.sh: Likewise
	* emulparams/m68klinux.sh: Likewise
	* emulparams/m68knbsd.sh: Likewise
	* emulparams/ns32knbsd.sh: Likewise
	* emulparams/pc532macha.sh: Likewise
	* emulparams/ppclynx.sh: Likewise
	* emulparams/scoreelf.sh: Likewise
	* emulparams/sparcaout.sh: Likewise
	* emulparams/sparclinux.sh: Likewise
	* emulparams/sun3.sh: Likewise
	* emulparams/vsta.sh: Likewise
2007-08-09 11:02:24 +00:00
Nick Clifton
c2c09cab6c * configure.tgt: Add bfin-*rtems*. 2007-08-07 09:32:06 +00:00
Nick Clifton
fdca102738 * ld-pe/pe.exp: Special diff file for x86_64-mingw target.
* ld-pe/secrel_64.d: New.
2007-08-06 14:41:51 +00:00
Nick Clifton
880383ca96 * emultempl/pep.em: (pep_enable_stdcall_fixup): Set to value 1.
(gld_xxx_recognized_file): Use pep_bfd_is_dll for detection of shared objects.
* pe-dll.c: (autofilter_symbollist_i386): Define set for amd64 mingw target.
2007-08-06 14:32:08 +00:00
Daniel Jacobowitz
55231b6cd8 * ld-srec/srec.exp: XFAIL for powerpc*-*-*. 2007-08-03 12:53:47 +00:00
Adam Nemet
43ec5bc0d7 * ld-mips-elf/reloc-4.s, ld-mips-elf/reloc-4.d,
ld-mips-elf/reloc-5.s, ld-mips-elf/reloc-5.d: New tests.
	* ld-mips-elf/mips-elf.exp: Invoke them.
2007-08-01 17:41:30 +00:00
Nick Clifton
bc37fce3d2 ga.po: Updated Irish translation. 2007-08-01 17:00:08 +00:00
H.J. Lu
0fdaa00544 Correct ChangeLog entries. 2007-08-01 15:27:55 +00:00
Alan Modra
48f2ff543d ld/
* ldlang.c (lang_insert_orphan): When searching through linker
	script to place an orphan, don't stop on statements that appear
	outside of SECTIONS.
	* emultempl/elf32.em (output_rel_find): Prefer read-only alloc
	sections over read/write alloc sections.
ld/testsuite/
	* ld-elf/weak-dyn-1.rd: Adjust.
2007-07-29 12:33:38 +00:00
Jakub Jelinek
cd714b7904 * scripttempl/elf.sc: Add .note.gnu.build-id. 2007-07-27 22:33:24 +00:00
Daniel Jacobowitz
f91c3144f9 * ld-cdtest/cdtest-foo.cc (strncpy): Fix parameter name. 2007-07-25 21:30:59 +00:00
Nick Clifton
98c503ac20 PR 4824
* ld.texinfo (Options): Extend the description of the -O command line option.
2007-07-25 14:56:22 +00:00
Paul Brook
d08ec38351 2007-06-29 Paul Brook <paul@codesourcery.com>
* ld-arm/arm-elf.exp (armelftests): Add callweak.
	* ld-arm/callweak.d: New test.
	* ld-arm/callweak.s: New test.
2007-07-25 14:39:48 +00:00
Nick Clifton
9b9966104b * pep.sc: Correct ctor/dtor sentinels for 64-bit targets. 2007-07-24 14:47:44 +00:00
Nick Clifton
94226e8246 * ld-arm/arm-elf.exp: Move EABI attribute tests into EABI only section. 2007-07-24 12:45:58 +00:00
Richard Sandiford
eb07545517 Remove unnecessary symbols from last commit. 2007-07-23 10:04:01 +00:00
Richard Sandiford
a26587bab5 bfd/
* elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
	of weakdef->root.type if weakdef has no regular definition.

ld/testsuite/
	* ld-elf/weak-dyn-1a.s, ld-elf/weak-dyn-1b.s, ld-elf/weak-dyn-1.ld,
	* ld-elf/weak-dyn-1.rd: New test.
	* ld-elf/elf.exp: Run it.
2007-07-23 09:56:19 +00:00
Nick Clifton
60b8eb3127 * sha1.h: Change to use version 3 of the GNU General Public License and tidy up formatting.
* sha1.c: Likewise.
2007-07-21 08:55:49 +00:00
Roland McGrath
261e484499 . 2007-07-19 19:56:24 +00:00
Roland McGrath
92b93329b5 2007-07-19 Roland McGrath <roland@redhat.com>
* genscripts.sh (source_em, fragment): New sh functions.
	Truncate e${EMULATION_NAME}.c file before .em script fills it.
	Use source_em in place of . for the .em script.
	* emultempl/generic.em: Use fragment and source_em functions.
	* emultempl/aix.em: Likewise.
	* emultempl/alphaelf.em: Likewise.
	* emultempl/armcoff.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/avrelf.em: Likewise.
	* emultempl/beos.em: Likewise.
	* emultempl/cr16elf.em: Likewise.
	* emultempl/crxelf.em: Likewise.
	* emultempl/elf-generic.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/genelf.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/ia64elf.em: Likewise.
	* emultempl/irix.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68hc1xelf.em: Likewise.
	* emultempl/m68kcoff.em: Likewise.
	* emultempl/m68kelf.em: Likewise.
	* emultempl/mipsecoff.em: Likewise.
	* emultempl/mipself.em: Likewise.
	* emultempl/mmix-elfnmmo.em: Likewise.
	* emultempl/mmixelf.em: Likewise.
	* emultempl/mmo.em: Likewise.
	* emultempl/needrelax.em: Likewise.
	* emultempl/netbsd.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/scoreelf.em: Likewise.
	* emultempl/sh64elf.em: Likewise.
	* emultempl/spuelf.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vanilla.em: Likewise.
	* emultempl/vxworks.em: Likewise.
	* emultempl/xtensaelf.em: Likewise.
	* emultempl/z80.em: Likewise.
2007-07-19 19:56:10 +00:00
Roland McGrath
816efef9d2 . 2007-07-18 09:46:09 +00:00
Roland McGrath
b2ff8454d8 2007-07-18 Roland McGrath <roland@redhat.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_write_build_id_section):
	Use ASEC->contents for CONTENTS when missing, and allocate
	ASEC->size if needed.
2007-07-18 09:46:05 +00:00
Roland McGrath
979dc3bca9 . 2007-07-13 10:44:44 +00:00
Roland McGrath
5586bca14d 2007-07-13 Roland McGrath <roland@redhat.com>
* sha1.h: New file (from gnulib).
	* sha1.c: New file (from gnulib).
	* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add them.
	(sha1.o): New target.
	* Makefile.in: Regenerated.
2007-07-13 10:44:28 +00:00
Roland McGrath
24382dca6c 2007-07-13 Roland McGrath <roland@redhat.com>
* emultempl/elf32.em (struct build_id_info): New type.
	(gld${EMULATION_NAME}_id_note_section_size): New function.
	(gld${EMULATION_NAME}_write_build_id_section): New function.
	(gld${EMULATION_NAME}_after_open): Use them.
	(DEFAULT_BUILD_ID_STYLE): Change to "sha1".
	* ld.texinfo (Options): Mention --build-id=sha1.
2007-07-13 10:44:26 +00:00
Nathan Sidwell
e0e1a5e8db * ld-scripts/assert.t: Tweak to avoid relying on empty's VMA being
zero.
2007-07-13 09:09:25 +00:00
Alan Modra
3d263d86a5 * ldlang.c (strip_excluded_output_sections): Don't ignore sections
with update_dot_tree.
2007-07-13 07:34:25 +00:00
Nathan Sidwell
5f294ed680 * scripttempl/pe.sc: Don't include .gcc_except_table and
.eh_frame on partial links.
	* scripttempl/pep.sc: Likewise.
2007-07-12 12:57:02 +00:00
Alan Modra
3bf9618b71 PR 4782
* ldlang.c (lang_size_sections_1 <output_section_statement>): Only
	use expld.result when valid.
2007-07-12 01:40:25 +00:00
Alan Modra
80c4ed32bc * emultempl/spuelf.em (embedded_spu_file): Test for NULL path
before calling base_name, not after.
2007-07-11 22:58:09 +00:00