Age | Commit message (Collapse) | Author | Files | Lines |
|
2006-12-07 H.J. Lu <hjl@gnu.org>
PR ld/3666
* elflink.c (elf_link_add_object_symbols): Keep symbol
visibility for symbols from discarded section.
ld/testsuite/
2006-12-07 H.J. Lu <hjl@gnu.org>
PR ld/3666
* ld-elf/group3a.d: New file.
* ld-elf/group3a.s: Likewise.
* ld-elf/group3b.d: Likewise.
* ld-elf/group3b.s: Likewise.
|
|
* ld-frv/fdpic-shared-6.d: Likewise.
* ld-frv/tls-dynamic-1.d: Update for symbol changes.
* ld-frv/tls-dynamic-2.d: Likewise.
* ld-frv/tls-dynamic-3.d: Likewise.
* ld-frv/tls-initial-shared-2.d: Likewise.
* ld-frv/tls-pie-1.d: Likewise.
* ld-frv/tls-pie-3.d: Likewise.
* ld-frv/tls-relax-dynamic-1.d: Likewise.
* ld-frv/tls-relax-dynamic-2.d: Likewise.
* ld-frv/tls-relax-dynamic-3.d: Likewise.
* ld-frv/tls-relax-initial-shared-2.d: Likewise.
* ld-frv/tls-relax-pie-1.d: Likewise.
* ld-frv/tls-relax-pie-3.d: Likewise.
* ld-frv/tls-relax-shared-1.d: Likewise.
* ld-frv/tls-relax-shared-2.d: Likewise.
* ld-frv/tls-relax-shared-3.d: Likewise.
* ld-frv/tls-relax-static-3.d: Likewise.
* ld-frv/tls-shared-1.d: Likewise.
* ld-frv/tls-shared-2.d: Likewise.
* ld-frv/tls-shared-3.d: Likewise.
* ld-frv/tls-static-1.d: Likewise.
* ld-frv/tls-static-3.d: Likewise.
|
|
shared_data): If !SHARED, move to...
* ld-elfvsb/sh2.c: ... here.
* ld-elfvsb/elfvsb.exp: Add -DSHARED to compiler options when
building with $picflag.
|
|
2006-12-04 Jan Beulich <jbeulich@novell.com>
* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
.eh_frame_hdr section from here anymore.
(bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
a little earlier.
ld/
2006-12-04 Jan Beulich <jbeulich@novell.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Create
.eh_frame_hdr section here.
ld/testsuite/
2006-12-04 Jan Beulich <jbeulich@novell.com>
* ld-elf/eh-frame-hdr.d: New.
* ld-elf/eh-frame-hdr.s: New.
* ld-ia64/tlsbin.dd, ld-ia64/tlsbin.sd: Don't depend on exact linkage
table layout.
|
|
subdirectory.
* Makefile.in: Regenerate.
|
|
* elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info.
gas/
* config/tc-xtensa.c (XSHAL_ABI): Add default definition.
(directive_state): Disable scheduling by default.
(xtensa_add_config_info): New.
(xtensa_end): Call xtensa_add_config_info.
gas/testsuite/
* gas/elf/section2.e-xtensa: New file.
* gas/elf/elf.exp: Use it.
include/
* xtensa-config.h (XSHAL_ABI): New.
(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New.
ld/
* emultempl/xtensaelf.em (XSHAL_ABI): Add default definition.
(replace_insn_sec_with_prop_sec): Use bfd_make_section_with_flags.
Delete redundant code to set sections flags and alignment.
(xt_config_info_unpack_and_check, check_xtensa_info): New.
(elf_xtensa_after_open): Iterate over input statements instead of
link_info.input_bfds.
(elf_xtensa_before_allocation): Likewise. Call check_xtensa_info for
each input, and write a new .xtensa.info section in the output.
|
|
|
|
* arm-dis.c (last_is_thumb): Delete.
(enum map_type, last_type): New.
(print_insn_data): New.
(get_sym_code_type): Take MAP_TYPE argument. Check the type of
the right symbol. Handle $d.
(print_insn): Check for mapping symbols even without a normal
symbol. Adjust searching. If $d is found see how much data
to print. Handle data.
gas/
* config/tc-arm.h (md_cons_align): Define.
(mapping_state): New prototype.
* config/tc-arm.c (mapping_state): Make global.
gas/testsuite/
* gas/arm/arm7t.d, gas/arm/neon-ldst-rm.d, gas/arm/thumb2_pool.d,
gas/arm/tls.d: Update for $d support.
* gas/arm/mapshort.d, gas/arm/mapshort.s: New test.
* gas/elf/section2.e-armeabi: Update.
* gas/elf/section2.e-armelf: New file.
* gas/elf/elf.exp: Use it.
ld/testsuite/
* ld-arm/mixed-app.d, ld-arm/tls-app.d, ld-arm/tls-lib.d: Update
for $d support.
|
|
|
|
(cie_compare): Removed.
(cie_eq, cie_hash, cie_compute_hash): New functions.
(_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
pointing only to last CIE and allow merging of any duplicate CIEs,
not just duplicate consecutive CIEs.
(_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
* elf-bfd.h (struct cie_header, struct cie): Removed.
(struct eh_frame_sec_info): Remove alloced field.
(struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
and last_cie_inf fields. Add cies field.
* ld-elf/eh5.d: New test.
* ld-elf/eh5.s: New file.
* ld-elf/eh5a.s: New file.
* ld-elf/eh5b.s: New file.
|
|
* ld.texinfo: Fix a typo.
|
|
|
|
* ld-arm/armthumb-lib.d, ld-arm/mixed-app.d, ld-arm/mixed-lib.d:
Allow smaller section gap.
* ld-arm/armthumb-lib.sym, ld-arm/mixed-lib.sym: Reorder. Remove
_stack.
* ld-arm/mixed-app.sym: Remove _stack.
* ld-arm/tls-app.d: Update start address.
|
|
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
prototype.
(bfd_elf32_arm_set_byteswap_code): New prototype.
* bfd-in2.h: Regenerate.
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
byteswap_code as an argument. Revert 2006-11-01 change.
(bfd_elf32_arm_set_byteswap_code): New.
(elf32_arm_size_dynamic_sections): Call
bfd_elf32_arm_process_before_allocation.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Only call
bfd_elf32_arm_process_before_allocation if no dynamic sections.
|
|
* emultempl/elf32.em (gld*_before_allocation): Adjust output section
size for warning sections.
ld/testsuite/
* ld-elf/group.ld: Handle .rodata.brlt for powerpc64.
|
|
* testsuite/ld-elf/symbol2w.s: Use "%" instead
of "@" to avoid breakage on ARM.
|
|
* testsuite/ld-elf/symbol1ref.s: Use ".dc.a" instead
of ".long".
|
|
Don't prepend "warning" to the message.
* testsuite/ld-elf/warn2.d: New.
* testsuite/ld-elf/symbol2w.s: New.
* testsuite/ld-elf/symbol2ref.s: New.
|
|
|
|
* libbfd-in.h (_bfd_clear_contents): New prototype.
* reloc.c (_bfd_clear_contents): New.
* libbfd.h: Regenerated.
* elf32-arm.c (elf32_arm_final_link_relocate): Use
_bfd_clear_contents.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
zero for discarded symbols.
* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
ld/testsuite/
* ld-discard/zero-rel.d, ld-discard/zero-rel.s: New files.
|
|
* elf-bfd.h (local_call_stubs): New member.
* elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
(mips_elf_calculate_relocation): Handle local mips16 call stubs.
(mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
the new stub macros.
(_bfd_mips_elf_check_relocs): Handle call stubs for code which
mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
used stubs with SEC_KEEP. Use the new stub macros.
[ gas/testsuite/ChangeLog ]
* gas/mips/mips16-intermix.d, gas/mips/mips16-intermix.s: New
testcase.
* gas/mips/mips.exp: Run new testcase.
[ ld/testsuite/ChangeLog ]
* ld-mips-elf/mips16-intermix-1.s, ld-mips-elf/mips16-intermix-2.s,
ld-mips-elf/mips16-intermix.d: New testcase.
* ld-mips-elf/mips-elf.exp (mips16_intermix_test): Run new testcases.
|
|
(pe_details_type) : Change target_name, object_target and autofilter_symbollist
to const.
(autofilter_symbollist_generic): Change to const.
(autofilter_symbollist_i386, pe_detail_list, pe_details, autofilter_liblist,
autofilter_objlist autofilter_symbolprefixlist, autofilter_symbolsuffixlist):
Likewise.
(is_import): Fix indentation.
(auto_export): Change afptr to const. Move name declaration to beginning of
scope.
(make_tail): Clear undefined byte.
(jmp_ix86_bytes, jmp_sh_bytes, jmp_mips_bytes, jmp_arm_bytes): Change to const.
(make_one): Change jmp_bytes to const. Make idata$6 member size arithmetic
explicit and add comment.
|
|
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* elf-bfd.h (elf_obj_tdata): Add symbuf.
(_bfd_elf_section_already_linked): Add struct bfd_link_info *.
(_bfd_elf_check_kept_section): Likewise.
(bfd_elf_match_symbols_in_sections): Likewise.
* elf.c (assign_section_numbers): Updated to add
struct bfd_link_info *.
(bfd_elf_match_symbols_in_sections): Updated. Cache symbol
buffer if info->reduce_memory_overheads is false.
* elflink.c (match_group_member): Updated to add
struct bfd_link_info *.
(_bfd_elf_check_kept_section): Likewise.
(elf_link_input_bfd): Likewise.
(_bfd_elf_section_already_linked): Likewise.
(bfd_elf_final_link): Free symbol buffer if
info->reduce_memory_overheads is false.
* libbfd-in.h (_bfd_nolink_section_already_linked): Add
struct bfd_link_info *.
(_bfd_generic_section_already_linked): Likewise.
* libbfd.h: Regenerated.
* linker.c (bfd_section_already_linked): Add
struct bfd_link_info *.
(_bfd_generic_section_already_linked): Likewise.
* targets.c (bfd_target): Add struct bfd_link_info * to
_section_already_linked.
* bfd-in2.h: Regenerated.
include/
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* bfdlink.h (bfd_link_info): Add reduce_memory_overheads.
ld/
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* ld.h (args_type): Remove reduce_memory_overheads.
* ldlang.c (lang_map): Updated.
(section_already_linked): Likewise.
(print_input_section): Likewise.
* ldmain.c (main): Likewise.
* lexsup.c (parse_args): Likewise.
|
|
* ld-sh/sh64/crange1.rd, ld-sh/sh64/crange2.rd,
* ld-sh/sh64/crange3-cmpct.rd, ld-sh/sh64/crange3-media.rd,
* ld-sh/sh64/crange3.rd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd,
* ld-sh/sh64/shdl32.xd, ld-sh/sh64/shdl64.xd: Update for removal
of empty sections.
|
|
|
|
* section.c (SEC_KEEP): Update comment.
* bfd-in2.h: Regenerate.
* elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
* merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
* stabs.c (_bfd_discard_section_stabs): Likewise.
(_bfd_link_section_stabs): Likewise. Simplify abs_section check.
ld/
* ldlang.c (lang_map): Don't say SEC_LINKER_CREATED and SEC_KEEP
sections have been discarded.
(lang_do_version_exports_section): Set SEC_KEEP on export section.
* emultempl/elf32.em (before_allocation): Set SEC_KEEP on warning
sections.
|
|
Mark Mitchell <mark@codesourcery.com>
* configure.tgt (arm*linux*): Support both big- and little-endian.
|
|
* emulparams/hppa64linux.sh (LARGE_SECTIONS): Renamed to ...
(OTHER_BSS_SECTIONS): This.
* scripttempl/elf.sc (OTHER_BSS_SECTIONS): Support LARGE_SECTIONS.
(LARGE_SECTIONS): Move .lbss sections to OTHER_BSS_SECTIONS.
|
|
|
|
|
|
* ld-powerpc/plt1.d: New.
* ld-powerpc/relbrlt.s: New.
* ld-powerpc/relbrlt.d: New.
* ld-powerpc/powerpc.exp: Run them.
|
|
|
|
* configure.in (AC_CHECK_HEADERS): Add limits.h and sys/param.h.
* configure: Regenerated.
* config.in: Likewise.
|
|
set section address on a relocatable link.
|
|
|
|
|
|
* ld-sh/sh64/abi32.xd, ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd,
* ld-sh/sh64/crange1.rd, ld-sh/sh64/crange2.rd,
* ld-sh/sh64/crange3-cmpct.rd, ld-sh/sh64/crange3-media.rd,
* ld-sh/sh64/crange3.rd, ld-sh/sh64/crangerel1.rd,
* ld-sh/sh64/crangerel2.rd, ld-sh/sh64/mix1.xd,
* ld-sh/sh64/mix2.xd, ld-sh/sh64/rel32.xd, ld-sh/sh64/rel64.xd,
* ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd,
* ld-sh/sh64/shdl32.xd, ld-sh/sh64/shdl64.xd: Update.
|
|
* emulparams/shelf64.sh: Likewise.
|
|
* ld-sh/tlspic-1.d: Likewise.
* ld-sh/tlstpoff-1.d: Likewise.
|
|
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
size of .rel.dyn reflect the value of DT_RELSZ.
ld/testsuite/
* ld-mips-elf/multi-got-1.d: Remove trailing R_MIPS_NONE entries.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tls-multi-got-1.r: Likewise.
|
|
* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
a PT_NULL header for dynamic objects.
(_bfd_mips_elf_modify_segment_map): Add it.
ld/testsuite/
* ld-mips-elf/multi-got-1.d: Do not expect a particular address
for DT_HASH.
* ld-mips-elf/rel32-o32.d: Bump addresses by 0x20 to account for
the extra program header.
* ld-mips-elf/rel32-n32.d: Likewise.
* ld-mips-elf/tlslib-o32.got: Likewise.
* ld-mips-elf/tlslib-o32-hidden.got: Likewise.
* ld-mips-elf/tlslib-o32-ver.got: Likewise.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tls-multi-got-1.r: Likewise.
* ld-mips-elf/rel64.d: Bump addresses by 0x30 to account for the
extra program header.
* ld-mips-elf/tlsdyn-o32.d: Reduce the GOT offset by 32 to account
for the extra program header, and thus the shorter gap between the
text and data segments.
* ld-mips-elf/tlsdyn-o32-1.d: Likewise.
* ld-mips-elf/tlsdyn-o32-2.d: Likewise.
* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
* ld-mips-elf/tlsdyn-o32.got: Bump GOT text addresses by 0x20
to account for the extra program header.
* ld-mips-elf/tlsdyn-o32-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
|
|
* emulparams/elf32bmip.sh (OTHER_GOT_RELOC_SECTIONS): Define.
* emulparams/elf32bmipn32-defs.sh (OTHER_GOT_RELOC_SECTIONS): Likewise.
ld/testsuite/
* ld-mips-elf/rel32-o32.d: Bump the section number of .text by 1
to account for the fact that .rel.dyn is now before .text in the
section table.
* ld-mips-elf/rel32-n32.d: Likewise.
* ld-mips-elf/rel64.d: Likewise.
|
|
|
|
* elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
same symbol by increasing r_offset.
(sort_dynamic_relocs_64): Likewise. Fix comparisons between very
large and very small symbol indexes.
ld/testsuite/
* ld-mips-elf/tlslib-o32-hidden.got: Sort relocations against the
same symbol in order of increasing r_offset.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tls-hidden3.r: Likewise.
* ld-mips-elf/tls-hidden4.r: Likewise.
|
|
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
and DT_MIPS_RLD_MAP tags for position-independent executables.
Do not add DT_DEBUG to shared libraries for any MIPS target.
ld/testsuite/
* ld-mips-elf/multi-got-1.d: Remove DT_DEBUG tag. Do not require
a specific file offset for .dynamic. Reduce DT_HASH by 8 to account
for removed tag.
* ld-mips-elf/tls-multi-got-1.r: Likewise. Also reduce DT_REL by 8.
Reduce PLTGOT and symbol values by 16 to account for the removed tag.
* ld-mips-elf/textrel-1.d: Remove DT_DEBUG tag.
* ld-mips-elf/rel32-n32.d: Reduce addresses by 16 to account for
removed DT_DEBUG tag.
* ld-mips-elf/rel64.d: Likewise.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tlslib-o32-hidden.got: Likewise.
|
|
2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3290
* elflink.c (elf_link_add_object_symbols): Hide definitions in
debug sections.
ld/testsuite/
2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3290
* ld-elf/dummy.c: New file.
* ld-elf/dwarf.exp: Likewise.
* ld-elf/dwarf1.c: Likewise.
* ld-elf/dwarf1.h: Likewise.
* ld-elf/dwarf1.out: Likewise.
* ld-elf/dwarf1main.c: Likewise.
|
|
* elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
don't set, glue section size.
(record_arm_to_thumb_glue): Set glue section size here.
(record_thumb_to_arm_glue): Likewise.
(bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
(bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Run
gld${EMULATION_NAME}_before_allocation later.
* ldlang.c (lang_size_sections_1): Revert 2006-09-15 change.
|
|
* bfd/elf64-sparc.c: Add FreeBSD support.
(elf64_sparc_fbsd_post_process_headers): New function.
* bfd/targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
* bfd/config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
* bfd/configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
* bfd/configure: Regenerate.
* gas/config/tc-sparc.c (md_parse_option): Treat any target starting with elf32-sparc
as a viable target for the -32 switch and any target starting with elf64-sparc as a
viable target for the -64 switch.
(sparc_target_format): For 64-bit ELF flavoured output use ELF_TARGET_FORMAT64
while for 32-bit ELF flavoured output use ELF_TARGET_FORMAT.
* gas/config/tc-sparc.h (ELF_TARGET_FORMAT, ELF_TARGET_FORMAT64): Define.
* ld/emulparams/elf64_sparc_fbsd.sh (OUTPUT_FORMAT): Define as elf64-sparc-freebsd.
|
|
targ_extra_libpath in want64 case.
* emulparams/elf_x86_64.sh: Handle i[3-7]86-*-linux-* the same as
x86_64*-linux*.
|
|
* ld-elf/dl4.c: New file.
* ld-elf/dl4.list: Likewise.
* ld-elf/dl4a.out: Likewise.
* ld-elf/dl4b.out: Likewise.
* ld-elf/dl4main.c: Likewise.
* ld-elf/dl4xxx.c: Likewise.
* ld-elf/dl4xxx.list: Likewise.
* ld-elf/shared.exp (build_tests): Add libdl4a.so and
libdl4b.so.
(run_tests): Likewise.
|