Alan Modra
e65cb106a6
* ld-elf/shared.exp: Update regexp on --no-add-needed and
...
--no-copy-dt-needed-entries tests.
2013-04-04 14:51:48 +00:00
Alan Modra
8ff4c1f3c9
* ldlang.c (load_symbols): Report "error adding symbols" on
...
bfd_link_add_symbols failure.
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
* emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Likewise.
(gld${EMULATION_NAME}_try_needed): Likewise.
2013-04-04 14:38:47 +00:00
Nick Clifton
cb8af559c1
* elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
...
elf64_aarch64_locals to get local GOT reference counts.
* ld-aarch64/gc-relocs-tlsle.s: New gc section test.
* ld-aarch64/gc-relocs-tlsle.s: Likewise
* ld-aarch64/gc-relocs-tlsgd.s: Likewise
* ld-aarch64/gc-relocs-tlsdesc.s: Likewise
* ld-aarch64/gc-relocs-312.s: Likewise
* ld-aarch64/gc-relocs-311.s: Likewise
* ld-aarch64/gc-relocs-309.s: Likewise
* ld-aarch64/gc-start.s: Likewise
* ld-aarch64/gc-got-relocs.d: Update expected objdump
* ld-aarch64/gc-tls-relocs.d: Likewise
* ld-aarch64/aarch64-elf.exp: add test
2013-04-03 14:21:18 +00:00
Alan Modra
203f0950a3
PR ld/15227
...
* ld-plugin/lto.exp (PR ld/12942 (3)): Remove file name and
line number from regexp.
(PR ld/15146 (2)): Similarly.
* ld-plugin/pr12942a.cc (main): Use __builtin_abort.
2013-04-03 11:44:41 +00:00
Alan Modra
81fbe831fe
PR ld/15323
...
bfd/
* elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
global symbols referenced by relocs.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Likewise.
* elf32-cr16.c (cr16_elf_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
* elf32-frv.c (elf32_frv_check_relocs): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-i370.c (i370_elf_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-lm32.c (lm32_elf_check_relocs): Likewise.
* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-metag.c (elf_metag_check_relocs): Likewise.
* elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
* elf32-moxie.c (moxie_elf_check_relocs): Likewise.
* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
* elf32-mt.c (mt_elf_check_relocs): Likewise.
* elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-rl78.c (rl78_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
* elf32-v850.c (v850_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
* elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
* elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
* elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't
test indirect/warning links for NULL.
ld/testsuite/
* ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
than using -r to effectively strip out lto info.
2013-03-30 10:14:15 +00:00
H.J. Lu
61315175ad
Set non_ir_ref if a symbol is referenced by a non-shared object
...
bfd/
PR ld/15323
* elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
symbol is referenced by a non-shared object.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
ld/testsuite/
PR ld/15323
* ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o.
(lto_run_tests): Add a test for PR ld/15323.
* ld-plugin/pr15323.out: New file.
* ld-plugin/pr15323a.c: Likewise.
* ld-plugin/pr15323b.c: Likewise.
2013-03-30 00:38:39 +00:00
Nick Clifton
861319c9dd
PR ld/13812
...
* scripttempl/avr.sc: Place trampolines before .progmem section.
2013-03-27 13:21:38 +00:00
Kai Tietz
676ee43ba9
* ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
2013-03-25 18:09:04 +00:00
Nick Clifton
84a2b3d8be
* ld-elf/init0.s: Add alloc attribute to .section directive.
...
* ld-elf/fini1.s: Likewise.
* ld-elf/fini2.s: Likewise.
* ld-elf/fini3.s: Likewise.
* ld-elf/finin.s: Likewise.
* ld-elf/init0.s: Likewise.
* ld-elf/init1.s: Likewise.
* ld-elf/init2.s: Likewise.
* ld-elf/init3.s: Likewise.
* ld-elf/initn.s: Likewise.
2013-03-22 09:40:06 +00:00
Nick Clifton
81f5558e3d
* elf32-h8300 (h8_relax_section): Add new relaxation of mov
...
@(disp:32,ERx) to mov @(disp:16,ERx).
(R_H8_DISP32A16): New reloc.
Comments added and corrected.
* reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* ld.texinfo (H8/300): Add description of relaxation of
mov @(disp:32,ERx) to mov @(disp:16,ERx).
* ld-h8300/h8300.exp: Add new relax-7 test on ELF.
* ld-h8300/relax-2.s: Add other direction and .w/.l variants of
mov insns.
* ld-h8300/relax-2.d: Update expected disassembly.
* ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
@(disp:16,ERx).
* ld-h8300/relax-7b.s: New: Likewise.
* ld-h8300/relax-7.d: New: expected disassembly.
* config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc
R_H8_DISP32A16.
* config/tc-h8300.h: Remove duplicated defines.
2013-03-21 16:08:07 +00:00
Kai Tietz
31fd86f1cf
* pe-dll.c (process_def_file_and_drectve): Don't handle VC
...
generated C++-symbols as stdcall/fastcall.
2013-03-21 14:05:29 +00:00
Marcus Shawcroft
33e32ca032
Enable --gc-sections test cases for aarch64*-*-*
2013-03-20 14:57:38 +00:00
Will Newton
b59369fcbb
ld/testsuite/ChangeLog:
...
2013-03-20 Will Newton <will.newton@linaro.org>
* ld-elfvers/vers.exp (objdump_symstuff): Sort objdump output
based on the symbol name rather than address.
* ld-elfvers/vers1.sym: Reorder contents to match changes to vers.exp.
* ld-elfvers/vers15.sym: Likewise.
* ld-elfvers/vers18.sym: Likewise.
* ld-elfvers/vers21.sym: Likewise.
* ld-elfvers/vers9.sym: Likewise.
2013-03-20 12:46:27 +00:00
Alan Modra
8877b5e517
bfd/
...
* elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
sh_type according to is_rela.
ld/testsuite/
* ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
* ld-elf/shared.exp: Build and run it.
2013-03-20 03:44:56 +00:00
Alan Modra
75c8d84d74
* ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
...
linking against shared libraries.
* ld-elfweak/elfweak.exp: Likewise. Enable for x86_64-linux.
Build main1.o using $picflag.
2013-03-20 02:28:17 +00:00
Alan Modra
ffa9430db1
PR ld/12549
...
bfd/
* elflink.c (elf_link_add_object_symbols): Exclude weak refs when
considering whether an --as-needed library is needed.
ld/
* ld.texinfo (--as-needed): Update.
ld/testsuite/
* ld-elf/pr14862.out: Expect no output.
2013-03-18 02:47:03 +00:00
Will Newton
0085488ac8
gas/testsuite/ChangeLog:
...
2013-03-15 Will Newton <will.newton@linaro.org>
* gas/arm/any-idiv.d: Expand *-*eabi test to cover *-*eabi*.
* gas/arm/arch4t-eabi.d: Likewise.
* gas/arm/arch4t.d: Likewise.
* gas/arm/attr-any-armv4t.d: Likewise.
* gas/arm/attr-any-thumbv6.d: Likewise.
* gas/arm/attr-cpu-directive.d: Likewise.
* gas/arm/attr-default.d: Likewise.
* gas/arm/attr-march-all.d: Likewise.
* gas/arm/attr-march-armv1.d: Likewise.
* gas/arm/attr-march-armv2.d: Likewise.
* gas/arm/attr-march-armv2a.d: Likewise.
* gas/arm/attr-march-armv2s.d: Likewise.
* gas/arm/attr-march-armv3.d: Likewise.
* gas/arm/attr-march-armv3m.d: Likewise.
* gas/arm/attr-march-armv4.d: Likewise.
* gas/arm/attr-march-armv4t.d: Likewise.
* gas/arm/attr-march-armv4txm.d: Likewise.
* gas/arm/attr-march-armv4xm.d: Likewise.
* gas/arm/attr-march-armv5.d: Likewise.
* gas/arm/attr-march-armv5t.d: Likewise.
* gas/arm/attr-march-armv5te.d: Likewise.
* gas/arm/attr-march-armv5tej.d: Likewise.
* gas/arm/attr-march-armv5texp.d: Likewise.
* gas/arm/attr-march-armv5txm.d: Likewise.
* gas/arm/attr-march-armv6-m+os.d: Likewise.
* gas/arm/attr-march-armv6-m.d: Likewise.
* gas/arm/attr-march-armv6.d: Likewise.
* gas/arm/attr-march-armv6j.d: Likewise.
* gas/arm/attr-march-armv6k+sec.d: Likewise.
* gas/arm/attr-march-armv6k.d: Likewise.
* gas/arm/attr-march-armv6kt2.d: Likewise.
* gas/arm/attr-march-armv6s-m.d: Likewise.
* gas/arm/attr-march-armv6t2.d: Likewise.
* gas/arm/attr-march-armv6z.d: Likewise.
* gas/arm/attr-march-armv6zk.d: Likewise.
* gas/arm/attr-march-armv6zkt2.d: Likewise.
* gas/arm/attr-march-armv6zt2.d: Likewise.
* gas/arm/attr-march-armv7-a+idiv.d: Likewise.
* gas/arm/attr-march-armv7-a+mp.d: Likewise.
* gas/arm/attr-march-armv7-a+sec+virt.d: Likewise.
* gas/arm/attr-march-armv7-a+sec.d: Likewise.
* gas/arm/attr-march-armv7-a+virt.d: Likewise.
* gas/arm/attr-march-armv7-a.d: Likewise.
* gas/arm/attr-march-armv7-m.d: Likewise.
* gas/arm/attr-march-armv7-r+mp.d: Likewise.
* gas/arm/attr-march-armv7-r.d: Likewise.
* gas/arm/attr-march-armv7.d: Likewise.
* gas/arm/attr-march-armv7a.d: Likewise.
* gas/arm/attr-march-armv7em.d: Likewise.
* gas/arm/attr-march-armv7m.d: Likewise.
* gas/arm/attr-march-armv7r.d: Likewise.
* gas/arm/attr-march-armv8-a+crypto.d: Likewise.
* gas/arm/attr-march-armv8-a+fp.d: Likewise.
* gas/arm/attr-march-armv8-a+simd.d: Likewise.
* gas/arm/attr-march-armv8-a.d: Likewise.
* gas/arm/attr-march-iwmmxt.d: Likewise.
* gas/arm/attr-march-iwmmxt2.d: Likewise.
* gas/arm/attr-march-xscale.d: Likewise.
* gas/arm/attr-mcpu.d: Likewise.
* gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/arm/attr-mfpu-arm7500fe.d: Likewise.
* gas/arm/attr-mfpu-fpa.d: Likewise.
* gas/arm/attr-mfpu-fpa10.d: Likewise.
* gas/arm/attr-mfpu-fpa11.d: Likewise.
* gas/arm/attr-mfpu-fpe.d: Likewise.
* gas/arm/attr-mfpu-fpe2.d: Likewise.
* gas/arm/attr-mfpu-fpe3.d: Likewise.
* gas/arm/attr-mfpu-maverick.d: Likewise.
* gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/arm/attr-mfpu-neon.d: Likewise.
* gas/arm/attr-mfpu-softfpa.d: Likewise.
* gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/arm/attr-mfpu-softvfp.d: Likewise.
* gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/arm/attr-names.d: Likewise.
* gas/arm/attr-order.d: Likewise.
* gas/arm/attr-override-cpu-directive.d: Likewise.
* gas/arm/attr-override-mcpu.d: Likewise.
* gas/arm/got_prel.d: Likewise.
* gas/arm/mapdir.d: Likewise.
* gas/arm/mapmisc.d: Likewise.
* gas/arm/mapsecs.d: Likewise.
* gas/arm/mapshort-eabi.d: Likewise.
* gas/arm/mapshort-elf.d: Likewise.
* gas/arm/mov-highregs-any.d: Likewise.
* gas/arm/mov-lowregs-any.d: Likewise.
* gas/arm/pr12198-1.d: Likewise.
* gas/arm/pr12198-2.d: Likewise.
* gas/arm/thumb-eabi.d: Likewise.
* gas/arm/thumb.d: Likewise.
* gas/arm/thumbrel.d: Likewise.
ld/testsuite/ChangeLog:
2013-03-15 Will Newton <will.newton@linaro.org>
* ld-arm/arm-elf.exp: Expand *-*eabi test to cover *-*eabi*.
* ld-arm/gc-hidden-1.d: Likewise.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-shared/shared.exp: Likewise.
2013-03-15 17:55:03 +00:00
Jakub Jelinek
6f2ef5f590
* emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
...
aarch64linux* emulations.
2013-03-14 08:56:05 +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
Alan Modra
3ab6909a0c
* ldfile.c (ldfile_open_command_file_1): Return after einfo
...
to avoid warning.
2013-03-06 13:48:46 +00:00
Corinna Vinschen
a07ee50e95
* configure.host: Add x86_64-*-cygwin* as valid host.
...
* configure.tgt: Add x86_64-*-cygwin* as valid target.
* emultempl/pep.em: Handle different requirements for Cygwin in terms
of start addresses for executables and DLLs, based on memory model in
http://cygwin.com/ml/cygwin-developers/2013-02/msg00027.html
2013-03-05 11:54:29 +00:00
Alan Modra
13762d2ee4
PR ld/15222
...
ld/
* ldlang.c (lang_size_sections_1): When given an lma_region align
LMA as per VMA only if lma_region is the same as region.
ld/testsuite/
* ld-scripts/rgn-at6.s, * ld-scripts/rgn-at6.t, * ld-scripts/rgn-at6.d,
* ld-scripts/rgn-at7.t, * ld-scripts/rgn-at7.d: New tests.
2013-03-05 02:55:27 +00:00
Julian Brown
3064e1ff79
bfd/
...
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
ld/testsuite/
* ld-arm/tls-local-static.s: New test.
* ld-arm/tls-local-static.d: New.
* ld-arm/arm-elf.exp (tls-local-static): Add test.
2013-02-28 10:31:34 +00:00
Nick Clifton
727f703102
* scripttempl/elf32msp430.sc: Add placement of .data.* sections.
...
Add alignment of .bss section.
* scripttempl/elf32msp430_3.sc: Likewise.
2013-02-27 11:15:39 +00:00
Nick Clifton
56dd11f0f4
PR ld/15188
...
* ld.texinfo: Fix typos.
2013-02-26 13:06:51 +00:00
H.J. Lu
35399224a1
Set unique_global only for definition
...
bfd/
PR ld/15167
* elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
unique_global only for definition.
* elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
here.
(elf_link_add_object_symbols): Set unique_global only
for definition.
ld/testsuite/
PR ld/15167
* ld-unique/unique.exp: Add a test for shared library with
reference.
2013-02-22 01:20:48 +00:00
Alan Modra
7c00cf684e
* scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
...
.init_array/.fini_array input sections before .ctors/.dtors input
sections.
(CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.
2013-02-21 05:10:28 +00:00
Alan Modra
c03551323c
bfd/
...
* elf-bfd.h (struct elf_build_id): Extracted from..
(struct elf_build_id_info): ..here. Delete.
(struct output_elf_obj_tdata): New, extracted from..
(struct elf_obj_tdata): ..here. Reorganize for better packing.
Add "o" field.
(elf_program_header_size): Reference tdata->o.
(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
* elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
when opening bfd in any mode that might write.
(_bfd_elf_write_object_contents): Use build_id field in
output_elf_obj_tdata.
(_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
(elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
gdb/
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
ld/
* emultempl/elf32.em (write_build_id, setup_build_id): Adjust
for elf_tdata changes.
2013-02-21 04:35:22 +00:00
Alan Modra
12bd695738
bfd/
...
* elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
Delete num_locals and num_globals.
(elf_num_locals, elf_num_globals): Don't define.
(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
* bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
* elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
* elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
* elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
accessor macros.
* elf.c (elf_map_symbols): Add pnum_locals param. Return
number of locals syms via new param.
(swap_out_syms): Adjust to suit elf_map_symbols change.
ld/
* emultempl/elf-generic.em: Use newly defined elf_obj_tdata
accessor macros.
2013-02-21 02:29:11 +00:00
Alan Modra
a582ed93f9
* Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
...
* Makefile.in: Regenerate.
2013-02-20 10:24:11 +00:00
Sandra Loosemore
46fed7f7c2
2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
...
PR ld/15146
ld/
* plugin.c (plugin_notice): Add null check before dereferencing
pointer.
2013-02-19 03:59:08 +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
Alan Modra
30e8ee25e3
include/
...
* bfdlink.h (struct bfd_link_info): Delete emit_note_gnu_build_id.
bfd/
* configure.in: Bump version to 2.23.52.
* elf-bfd.h (struct elf_build_id_info): New.
(struct elf_obj_tdata): Delete after_write_object_contents,
after_write_object_contents_info and build_id_size. Make build_id
a pointer to struct elf_build_id_info.
* elf.c (_bfd_elf_write_object_contents): Style. Update
after_write_ibject_contents invocation.
(elfobj_grok_gnu_build_id): Update for new build_id struct. Don't
allow zero size notes.
* configure: Regenerate.
gdb/
* elfread.c (struct build_id): Delete. Use struct elf_build_id
throughout file instead.
(build_id_bfd_get): Update to use new elf_tdata build_id field.
Don't xmalloc return value.
(build_id_verify): Similarly. Don't xfree.
(build_id_to_debug_filename): Update.
(find_separate_debug_file_by_buildid): Update, don't xfree.
ld/
* emultempl/elf32.em (emit_note_gnu_build_id): New static var.
Replace all info->emit_note_gnu_build_id refs.
(id_note_section_size): Rename from
gld${EMULATION_NAME}_id_note_section_size.
(struct build_id_info): Delete.
(write_build_id): Rename from
gld${EMULATION_NAME}_write_build_id_section.
Update elf_tdata usage. Style, formatting.
(setup_build_id): New function.
(gld${EMULATION_NAME}_after_open): Use setup_build_id.
2013-02-18 23:50:32 +00:00
Maciej W. Rozycki
273e4eecfe
* ld-mips-elf/jalx-2.ld: Include .rel.plt in output, give .plt a
...
mapping.
* ld-mips-elf/jalx-2.dd: Adjust disassembly accordingly.
2013-02-18 23:35:17 +00:00
Alan Modra
53c3509d86
* ld-plugin/lto.exp (Build pr15146b.so) Add -Wl,--no-as-needed.
...
(PR ld/15146 (1), (2)): Likewise.
(LTO 7): Likewise.
2013-02-18 09:13:11 +00:00
Alan Modra
3e6f168c5e
missed from last commit
2013-02-18 04:44:16 +00:00
H.J. Lu
3d5bef4c08
Don't add DT_NEEDED for references from the dummy bfd
...
bfd/
PR ld/15146
* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
for references from the dummy bfd.
ld/
PR ld/15146
* plugin.c (plugin_notice): Replace the undefined dummy bfd with
the real one.
ld/testsuite/
PR ld/15146
* ld-plugin/pr15146.d: New file.
* ld-plugin/pr15146a.c: Likewise.
* ld-plugin/pr15146b.c: Likewise.
* ld-plugin/pr15146c.c: Likewise.
* ld-plugin/pr15146d.c: Likewise.
* ld-plugin/lto.exp: Add tests for PR ld/15146.
2013-02-16 17:54:37 +00:00
H.J. Lu
4a2b04a7e5
Also trace symbol from the IR bfd
...
PR ld/15141
* plugin.c (plugin_notice): Also trace symbol from the IR bfd.
2013-02-16 17:50:20 +00:00
Nick Clifton
9d1df426e2
* metag-dis.c: Initialize outf->bytes_per_chunk to 4
...
which also makes the disassembler output be in little
endian like it should be.
* metag/labelarithmetic.d: Fix the expected disassembler
output to be in little endian format
* metag/metacore12.d: likewise
* metag/metacore21.d: likewise
* metag/metacore21ext.d: likewise
* metag/metadsp21.d: likewise
* metag/metadsp21ext.d: likewise
* metag/metafpu.d: likewise
* metag/metafpuext.d: likewise
* metag/tls.d: likewise
* ld-metag/pcrel.d: Fix the expected disassembler
output to be in little endian format
* ld-metag/shared.d: likewise
* ld-metag/stub.d: likewise
* ld-metag/stub_pic_app.d: likewise
* ld-metag/stub_pic_shared.d: likewise
* ld-metag/stub_shared.d: likewise
2013-02-15 14:54:28 +00:00
Kai Tietz
b138e9bffd
* scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
...
(.pdata): Merge .pdata* into .pdata section.
2013-02-15 11:08:01 +00:00
Richard Sandiford
13db6b44ea
bfd/
...
* elfxx-mips.c (mips_got_page_ref): New structure.
(mips_got_page_entry): Use a section rather than a (bfd, symndx)
pair to represent the anchor point.
(mips_got_info): Add a got_page_refs field.
(mips_elf_link_hash_table): Add a sym_cache field.
(mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
(mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
new anchor representation.
(mips_elf_create_got_info): Create got_page_refs rather than
got_page_entries.
(mips_elf_record_got_page_ref): New function.
(mips_elf_pages_for_range): Move further down file.
(mips_elf_record_got_page_entry): Likewise. Take a got as argument.
Use a section rather than a (bfd, symndx) pair to represent the
anchor point.
(mips_elf_resolve_got_page_ref): New function.
(mips_elf_resolve_final_got_entries): Use it to populate
got_page_entries.
(_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
rather than mips_elf_record_got_page_entry. Only nullify h
afterwards.
(mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
earlier.
ld/testsuite/
* ld-mips-elf/mips16-pic-2.dd,
ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries.
* ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s,
ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got,
ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got,
ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d,
ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s,
ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got,
ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s,
ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s,
ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d,
ld-mips-elf/got-page-7.got: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
2013-02-13 14:08:58 +00:00
Richard Sandiford
3dff0dd1e3
bfd/
...
* elfxx-mips.c (mips_got_entry): Update comments.
(mips_elf_multi_got_entry_eq): Rename to...
(mips_elf_got_entry_eq): ...this, deleting the old definition.
(mips_elf_create_got_info): Remove master_got_p argument.
Always use mips_elf_got_entry_eq.
(mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
Update calls accordingly.
ld/testsuite/
* ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got: Update
for new hash table order.
2013-02-11 18:09:24 +00:00
Richard Sandiford
d720656991
bfd/
...
* elfxx-mips.c (mips_got_info): Remove bfd2got.
(mips_elf_bfd2got_hash): Delete.
(mips_elf_got_per_bfd_arg): Remove bfd2got.
(mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
(mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
g->next to test for the multigot case. Use mips_elf_bfd_got rather
than mips_elf_got_for_ibfd.
(mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
(mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
(mips_elf_make_got_per_bfd): Replace with...
(mips_elf_add_got_entry): ...this new function.
(mips_elf_make_got_pages_per_bfd): Replace with...
(mips_elf_add_got_page_entry): ...this new function.
(mips_elf_merge_got_with): Replace bfd2got argument with separate
bfd and GOT arguments. Use mips_elf_add_got_entry and
mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got
to set the BFD's GOT and free the old table.
(mips_elf_merge_got): Replace bfd2got argument with separate
bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries.
Use mips_elf_count_got_entries to count the number of entries in
each GOT. Update the calls to mips_elf_merge_got_with.
(mips_elf_adjust_gp): Use g->next to test for the multigot case.
Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
(mips_elf_multi_got): Don't create the bfd2got hash table.
Replace hash table traversal with a walk over the input bfds,
updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got
to set the output bfd's GOT.
(mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all
bfds use the master GOT in the single-GOT case.
(_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
rather than mips_elf_got_for_ibfd.
ld/testsuite/
* ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d,
ld-mips-elf/tls-multi-got-1.got: Update for changes in the order
that symbols are added to per-bfd GOTs.
2013-02-11 18:06:10 +00:00
Richard Sandiford
d9bf376d09
bfd/
...
* elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
(mips_elf_got_entry_hash): ...this, deleting the old version.
(mips_elf_create_got_info): Use mips_elf_got_entry_hash for
both types of GOT.
ld/testsuite/
* ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tlsbin-o32.d,
ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32-1.d,
ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d,
ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d,
ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32.d,
ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlslib-o32.d,
ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got,
ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new
got_entry hash function.
2013-02-11 17:46:02 +00:00
Richard Sandiford
1fd20d7055
bfd/
...
* elfxx-mips.c (mips_elf_count_global_tls_entries)
(mips_elf_count_global_tls_relocs): Don't count indirect or
warning symbols.
(mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
number of TLS entries were allocated.
ld/testsuite/
* ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.got: Remove
unused GOT entries.
2013-02-11 17:29:35 +00:00
Alan Modra
61087d8c32
* ldlang.c (get_init_priority): Comment typo.
...
(lang_finish): Free link_info.hash and lang_definedness_table.
(lang_end): Delete lang_definedness_table comment.
2013-02-11 02:07:20 +00:00
Alan Modra
a1b8d8434e
PR ld/15130
...
* ld.texinfo (-rpath-link): Typo fix.
2013-02-10 23:52:51 +00:00
Nick Clifton
20855e86bf
* emultempl/metagelf.em (build_section_lists): Use sec_info_type
...
rather than userdata->flags.just_syms.
2013-02-08 17:46:31 +00:00
H.J. Lu
02acbe2250
Set STB_GNU_UNIQUE only if symbol is defined in regular object
...
bfd/
PR ld/15107
* elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
symbol is defined in regular object.
ld/testsuite/
PR ld/15107
* ld-unique/unique_empty.s: Add reference to "b".
2013-02-08 01:33:01 +00:00
H.J. Lu
20e52bd2b8
Don't resolve size relocation against non-zero TLS symbol
...
bfd/
* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
for non-zero TLS symbol.
(elf_i386_relocate_section): Don't resolve size relocation against
non-zero TLS symbol.
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
pc_count for non-zero TLS symbol.
(elf_x86_64_relocate_section): Don't resolve size relocation
against non-zero TLS symbol.
ld/testsuite/
* ld-size/size-10.rd: Updated.
* ld-size/size-8.rd: Likewise.
* ld-size/size32-2-i386.d: Likewise.
* ld-size/size32-2-x32.d: Likewise.
* ld-size/size32-2-x86-64.d: Likewise.
* ld-size/size64-2-x32.d: Likewise.
* ld-size/size64-2-x86-64.d: Likewise.
* ld-size/size.exp (run_time_tests): Pass --hash-styl=gnu to
linker for size-8 test.
2013-02-07 02:15:30 +00:00