| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bfd/
Add TLS support for 64-bit Sparc ELF.
* elf64-sparc.c (sparc64_elf_dyn_relocs,
sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
(GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
sparc64_elf_hash_entry, sparc64_elf_tdata,
sparc64_elf_local_got_tls_type): New defines.
(sparc64_elf_mkobject): New function.
(sparc64_elf_link_hash_table): Add members for dynamic linker
sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
uion to track TLS GOT references. Add sym_sec to cache
mappings from local sym to section.
(link_hash_newfunc): New function.
(sparc64_elf_bfd_link_hash_table_create): Rename to
sparc64_elf_link_hash_table_create for consistency.
Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
(sparc64_elf_create_dynamic_sections): Initialize new section
members of sparc64_elf_link_hash_table. Only init srelbss
if not-shared.
(sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
New functions.
(SPARC_NOP): Define.
(sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
sparc64_elf_plt_ptr_offset): Delete.
(sparc64_plt_entry_build): New function to build PLT entries
gradually instread of all at once at the end of linking.
(sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
local vars. Get them from sparc64_elf_hash_table instead.
Check early on if r_symndx is in bounds. Handle TLS transitions.
Account for TLS GOT references and DF_STATIC_TLS, as needed.
For TLS relocs, record the tls_type in either
sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
to the __tls_get_addr symbol. For PLT relocs, track references
via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
PC_LM22} and h not-NULL, set h->non_got_ref. For global data
symbol references, count the number of relocations needed for
that symbol. For default switch case, don't error, this lets
the TLS relocs not explicitly handled by this function get
accepted.
(sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
(sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
it from sparc64_elf_hash_table. Store the real PLT offset
in h->plt.offset, and build PLT entries one at a time. Also
get .dynbss section pointer from htab.
(allocate_dynrelocs, readonly_dynrelocs,
sparc64_omit_section_dynsym): New functions.
(sparc64_elf_omit_section_dynsym): Use these new functions as
helpers.
(dtpoff_base, tpoff): New functions.
(sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
locals, get them from sparc64_elf_hash_table. Handle TLS
relocations and refcounting in main relocation loop.
(sparc64_elf_finish_dynamic_symbol): Use
sparc64_elf_link_hash_table. Build PLT entries as we see
them. Handle TLS GOT relocations.
(sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
from sparc64_elf_hash_table. Initialize only PLT header
not all entries since we not build PLT entries one by one.
(elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
ld/testsuite/
* ld-selective/sel-dump.exp: Do not exclude sparc64-*.
* ld-selective/selective.exp: Likewise.
* ld-sparc/sparc.exp: Add {32,64}-bit prefix to test
names so we know which one is failing. Run sparc64 TLS
tests on multi-arch sparc platforms.
* ld-sparc/tls64.sd, ld-sparc/tlssunbin64.dd,
ld-sparc/tlssunbin64.rd, ld/testsuite/ld-sparc/tlssunbin64.sd,
ld-sparc/tlssunbin64.td, ld-sparc/tlssunnopic64.dd,
ld-sparc/tlssunnopic64.rd, ld-sparc/tlssunnopic64.sd,
ld-sparc/tlssunpic64.dd, ld-sparc/tlssunpic64.rd,
ld-sparc/tlssunpic64.sd, ld-sparc/tlssunpic64.td): Update now
that sparc64 ELF does support TLS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-04-13 Daniel Jacobowitz <dan@codesourcery.com>
* elflink.c (elf_link_input_bfd): Update check for removed
sections.
ld/testsuite/
2005-04-13 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/empty.d: New file.
* ld-elf/empty.s: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* libcoff.h: Regenerate.
bfd/doc/
* Makefile.in: Regenerate.
binutils/
* Makefile.am: Run "make dep-am".
(syslex.o, sysinfo.o, arparse.o, arlex.o): Add -Wno-error to command.
(sysroff.o, defparse.o, deflex.o): Likewise.
(nlmheader.o, rcparse.o, rclex.o): Likewise.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
gas/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
ld/
* Makefile.am: Run "make dep-am".
(ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
* Makefile.in: Regenerate.
* config.in: Regenerate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf32-sparc.c (elf32_sparc_relocate_section,
R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
R_SPARC_TLS_LE_{HIX22,LOX10}.
(elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
(elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
* ld-sparc/tlssunbin32.dd: Update for TLS relocation fixes.
* ld-sparc/tlssunbin32.rd: Likewise.
* ld-sparc/tlssunbin32.sd: Likewise.
* ld-sparc/tlssunpic32.dd: Likewise.
|
|
|
|
|
| |
as_needed libs that were not needed.
(gld${EMULATION_NAME}_check_needed): Likewise.
|
|
|
|
| |
type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ldlang.c: Formatting.
(walk_wild_consider_section): Remember return value from wildcardp.
(is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
(wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
2005-04-06 Robert O'Callahan <rocallahan@novell.com>
* ld.h (lean_section_userdata_type): Remove.
(fat_section_userdata_type): Remove file field.
(SECTION_USERDATA_SIZE): Remove.
* ldlang.c (init_os): Eliminate initialization of unused
lean_section_userdata_type.
* ldlang.h (callback_t, walk_wild_section_handler_t): New
typedefs.
(struct lang_wild_statement_struct): Add walk_wild_section_handler
and handler_data fields.
* ldlang.c (callback_t): Removed.
(walk_wild_consider_section, walk_wild_section_general,
section_iterator_callback, find_section, is_simple_wild,
match_simple_wild, walk_wild_section_specs1_wild0,
walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
wild_spec_can_overlap, analyze_walk_wild_section_handler): New
functions.
(lang_add_wild): Call analyze_walk_wild_section_handler.
(walk_wild_section): Renamed to walk_wild_section_general and
created a wrapper function.
(section_iterator_callback_data): New typedef.
|
|
|
|
|
|
| |
compatible
with the one in include/getopt.h. If so then define HAVE_DECL_GETOPT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bfd/bfd-in2.h: Regenerate.
* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
bfd_elf32_is_arm_mapping_symbol_name.
(elf32_arm_output_symbol_hook): Likewise.
(arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
mapping symbols.
(is_arm_mapping_symbol_name): Function moved from here...
* bfd/cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here,
renamed and made global.
* gas/config/tc-arm.c (mapping_state): Change documentation in function
comment to cross-reference spec instead. Change type of mapping symbols
to BSF_NO_TYPE.
(arm_adjust_symtab): Don't change type of mapping symbols here.
* gas/testsuite/gas/arm/mapping.d: Update expected output.
* ld/testsuite/ld-arm/arm-app-abs32.d: Likewise.
* ld/testsuite/ld-arm/arm-app.d: Likewise.
* ld/testsuite/ld-arm/mixed-app.d: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bfd-in2.h, libbfd.h: Regenerated.
* reloc.c: Add ARM TLS relocations.
* elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
relocations.
(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
(elf32_arm_tls_ie32_howto): New.
(elf32_arm_howto_from_type): Support TLS relocations.
(elf32_arm_reloc_map): Likewise.
(elf32_arm_reloc_type_lookup): Likewise.
(TCB_SIZE): Define.
(struct elf32_arm_obj_tdata): New.
(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
(elf32_arm_mkobject): New function.
(struct elf32_arm_relocs_copied): Add pc_count.
(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
(GOT_TLS_IE): Define.
(struct elf32_arm_link_hash_table): Add tls_ldm_got.
(elf32_arm_link_hash_newfunc): Initialize tls_type.
(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
(dtpoff_base, tpoff): New functions.
(elf32_arm_final_link_relocate): Handle TLS relocations.
(IS_ARM_TLS_RELOC): Define.
(elf32_arm_relocate_section): Warn about TLS mismatches.
(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
(elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
TLS relocations and pc_count.
(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
(allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
calls.
(elf32_arm_size_dynamic_sections): Handle TLS.
(elf32_arm_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject): Define.
gas/
* config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
(md_apply_fix3): Mark TLS symbols.
(tc_gen_reloc): Handle TLS relocations.
(arm_fix_adjustable): Ignore TLS relocations.
(s_arm_elf_cons): Support expressions after decorated symbols.
gas/testuite/
* gas/arm/tls.s, gas/arm/tls.d: New files.
* gas/arm/arm.exp: Run TLS test.
include/elf/
* arm.h: Add TLS relocations.
ld/testsuite/
* ld-arm/tls-lib.s, ld-arm/tls-lib.d, ld-arm/tls-lib.r,
ld-arm/tls-app.s, ld-arm/tls-app.d, ld-arm/tls-app.r: New files.
* ld-arm/arm-lib.ld, ld-arm/arm-dyn.ld: Increase data segment
alignment.
* ld-arm/arm-elf.exp: Run TLS tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New function, extracted from static void gld${EMULATION_NAME}_finish.
(gld${EMULATION_NAME}_strip_empty_sections): Likewise.
(gld${EMULATION_NAME}_provide_init_fini_syms): Likewise.
* emultempl/ppc64elf.em: Revert last change.
(ppc_layout_sections_again): Use
gld${EMULATION_NAME}_layout_sections_again.
(ppc_finish): Don't call gld${EMULATION_NAME}_finish. Instead call
gld${EMULATION_NAME}_strip_empty_sections and
gld${EMULATION_NAME}_provide_init_fini_syms.
* emultempl/hppaelf.em: Similarly.
|
|
|
|
|
| |
(ppc_finish): Don't call bfd_elf_discard_info.
* emultempl/hppaelf.em: Similarly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-28 David Mosberger <davidm@hpl.hp.com>
H.J. Lu <hongjiu.lu@intel.com>
PR 803
NEWS: Mention "-mtune=[itanium1|itanium2]".
* config/tc-ia64.c (md): Add tune.
(md_parse_option): Accepted "-mtune=[itanium1|itanium2]".
(md_show_usage): Add "-mtune=[itanium1|itanium2]".
(extra_goodness): Prefer M- and I-unit NOPs for itanium2. F and
B unit NOPs are discouraged for McKinley-derived cores.
(md_begin): Don't hardcode the "extra_goodness()" function in
the comment...
(ia64_init): Set md.tune to itanium2.
* doc/as.texinfo: Add -mtune=[itanium1|itanium2]".
* doc/c-ia64.texi: Likewise.
gas/testsuite/
2005-03-28 H.J. Lu <hongjiu.lu@intel.com>
PR 803
* gas/ia64/dv-imply.d: Pass -mtune=itanium1 to as.
* gas/ia64/dv-mutex.d : Likewise.
* gas/ia64/dv-safe.d: Likewise.
* gas/ia64/dv-srlz.d.nop: Likewise.
* gas/ia64/ldxmov-1.d: Likewise.
* gas/ia64/opc-b.d: Likewise.
* gas/ia64/opc-f.d: Likewise.
* gas/ia64/opc-i.d: Likewise.
* gas/ia64/opc-m.d: Likewise.
* gas/ia64/operand-or.d: Likewise.
* gas/ia64/pcrel.d: Likewise.
* gas/ia64/pseudo.d: Likewise.
* gas/ia64/tls.d: Likewise.
ld/testsuite/
2005-03-28 H.J. Lu <hongjiu.lu@intel.com>
PR 803
* ld-ia64/ia64.exp: Pass -mtune=itanium1 to as.
|
|
|
|
|
|
|
|
| |
exist.
(CC): Provide fallback definition.
(CFLAGS): Likewise.
(CXX): Likewise.
(CXXFLAGS): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* elfxx-mips.c: Revert previous patch.
2005-03-24 Eric Christopher <echristo@redhat.com>
* ld-mips-elf/rel32-n32.d: Revert changes.
* ld-mips-elf/rel32-o32.d: Ditto.
* ld-mips-elf/rel64.d: Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-23 Eric Christopher <echristo@redhat.com>
* elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
(mips_elf_calculate_relocation): Use. Define DF_TEXTREL
after emitting relocation.
(_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
(_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
and readonly_reloc.
ld/testsuite/ChangeLog:
2005-03-23 Eric Christopher <echristo@redhat.com>
* ld-mips-elf/textrel-1.s, ld-mips-elf/textrel-1.d: New
test.
* ld-mips-elf/mips-elf.exp: Call it.
* ld-mips-elf/rel32-n32.d: Update for DF_TEXTREL removal.
* ld-mips-elf/rel32-o32.d: Ditto.
* ld-mips-elf/rel64.d: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ld-cris/expdyn5.d: Updated for alignment change in elf.sc.
* ld-cris/expdyn6.d: Likewise.
* ld-cris/expdyn7.d: Likewise.
* ld-cris/gotplt1.d: Likewise.
* ld-cris/gotplt2.d: Likewise.
* ld-cris/gotplt3.d: Likewise.
* ld-cris/libdso-10.d: Likewise.
* ld-cris/libdso-11.d: Likewise.
* ld-cris/libdso-12.d: Likewise.
* ld-cris/libdso-14.d: Likewise.
* ld-cris/libdso-2.d: Likewise.
* ld-cris/locref1.d: Likewise.
* ld-cris/locref2.d: Likewise.
* ld-cris/nodyn5.d: Likewise.
* ld-cris/pv32-1.d: Likewise.
* ld-cris/weakref2.d: Likewise.
|
|
|
|
| |
C library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
* bfd-in.h (_bfd_elf_provide_symbol): New.
* bfd-in2.h: Regenerated.
* elf32-ppc.c (set_linker_sym): Moved to elflink.c.
(ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
of set_linker_sym.
* elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
from elf32-ppc.c.
ld/
2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
(gld${EMULATION_NAME}_finish): Call
gld${EMULATION_NAME}_provide_bound_symbols to provide
__preinit_array_start, __preinit_array_end, __init_array_start,
__init_array_end, __fini_array_start and __fini_array_end.
* scripttempl/elf.sc: Don't provide __preinit_array_start,
__preinit_array_end, __init_array_start, __init_array_end,
__fini_array_start nor __fini_array_end.
|
|
|
|
|
|
|
|
| |
* elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
.gnu.warning.* sections.
ld/
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
SEC_EXCLUDE on .gnu.warning sections.
|
|
|
|
|
|
|
|
|
|
| |
* gas/elf/section5.s: Don't start directives in first column.
ld/testsuite/
* ld-elf/tbss.s: Don't start directives in first column.
* ld-scripts/weak1.s: Likewise.
* ld-scripts/weak2.s: Likewise.
* ld-undefined/weak-undef.s: Likewise.
* ld-undefined/undefined.exp: Enable tests for hppa-elf.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
SEC_LINKER_CREATED. Attach to dynobj.
(ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
ld/
* scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
ld/testsuite/
* ld-powerpc/tlsexe32.r: Update.
* ld-powerpc/tlsso32.d: Update.
* ld-powerpc/tlsso32.g: Update.
* ld-powerpc/tlsso32.r: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
sym_offset. Add name, bss_name, sym_name, sym_val.
(struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
Add sdata array of elf_linker_section_t.
(ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
(enum elf_linker_section_enum): Delete.
(ppc_elf_create_linker_section): Rewrite. Don't create syms here.
(ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
the special sections are needed. Adjust htab->sdata refs.
Ensure dynobj is set in sreloc code.
(ppc_elf_size_dynamic_sections): Strip sdata sections.
(ppc_elf_set_sdata_syms): New function.
(elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
(ppc_elf_relocate_section): Adjust references to htab->sdata. Use
sym_val instead of sym_hash.
* elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
ld/
* emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
function.
(LDEMUL_AFTER_ALLOCATION): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emultempl/ppc64elf.em (ppc_finish): Rename from
gld${EMULATION_NAME}_finish. Call gld${EMULATION_NAME}_finish.
(LDEMUL_FINISH): Update.
* emultempl/hppaelf.em (hppaelf_finish, LDEMUL_FINISH): Likewise.
* emultempl/m68hc1xelf.em (m68hc11elf_finish, LDEMUL_FINISH): Likewise.
ld/testsuite/
* ld-powerpc/tlsexe.r: Update.
* ld-powerpc/tlsexetoc.r: Update.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.r: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ld-mmix/bpo-1.d: Updated for empty section removal.
* ld-mmix/bpo-10.d: Likewise.
* ld-mmix/bpo-11.d: Likewise.
* ld-mmix/bpo-14.d: Likewise.
* ld-mmix/bpo-16.d: Likewise.
* ld-mmix/bpo-17.d: Likewise.
* ld-mmix/bpo-18.d: Likewise.
* ld-mmix/bpo-19.d: Likewise.
* ld-mmix/bpo-2.d: Likewise.
* ld-mmix/bpo-3.d: Likewise.
* ld-mmix/bpo-4.d: Likewise.
* ld-mmix/bpo-5.d: Likewise.
* ld-mmix/bpo-6.d: Likewise.
* ld-mmix/bpo-9.d: Likewise.
* ld-mmix/bspec1.d: Likewise.
* ld-mmix/bspec2.d: Likewise.
* ld-mmix/greg-1.d: Likewise.
* ld-mmix/greg-19.d: Likewise.
* ld-mmix/greg-2.d: Likewise.
* ld-mmix/greg-3.d: Likewise.
* ld-mmix/greg-4.d: Likewise.
* ld-mmix/greg-5.d: Likewise.
* ld-mmix/greg-5s.d: Likewise.
* ld-mmix/greg-6.d: Likewise.
* ld-mmix/greg-7.d: Likewise.
* ld-mmix/loc1.d: Likewise.
* ld-mmix/loc2.d: Likewise.
* ld-mmix/loc3.d: Likewise.
* ld-mmix/loc4.d: Likewise.
* ld-mmix/loc6.d: Likewise.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local12.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
* ld-mmix/locdo-1.d: Likewise.
* ld-mmix/loct-1.d: Likewise.
* ld-mmix/locto-1.d: Likewise.
* ld-mmix/start-1.d: Likewise.
* ld-mmix/undef-3.d: Likewise.
|
|
|
|
|
|
| |
.rel.fini_array.
(.rela.dyn): Add .rela.init_array, .rela.fini_array.
(SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.
|
|
|
|
|
|
| |
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Don't set
bfd_section when removing unused empty output sections for
non-relocatable link.
|
|
|
|
| |
traversing the bfd section list to find pointer to new section.
|
|
|
|
| |
input sections into .sdata and .sbss output respectively.
|
|
|
|
|
|
|
|
| |
* ldlang.c (IGNORE_SECTION): Remove check for zero size.
(lang_check_section_addresses): Ignore zero size sections here.
ld/testsuite/ChangeLog:
* ld-scripts/empty-orphan.d, ld-scripts/empty-orphan.exp,
ld-scripts/empty-orphan.s, ld-scripts/emtpy-orphan.t: New test.
|
|
|
|
|
|
| |
* ld-cris/hiddef1.d: Updated for empty section removal.
* ld-cris/libdso-10.d: Likewise.
* ld-cris/libdso-2.d: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_mark_used_section): New.
(bfd_elf_gc_sections): Call elf_gc_mark_section for
non-relocatable link if we don't do GC.
include/
2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
* bfdlink.h (bfd_link_info): Add gc_sections.
ld/
2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove
unused empty output sections for non-relocatable link.
* ld.h (args_type): Remove gc_sections.
* ldlang.c (lang_mark_used_section): New.
(lang_gc_sections): Use link_info.gc_sections instead of
command_line.gc_sections.
* ldmain.c (main): Likewise.
* lexsup.c (parse_args): Likewise.
* ldlang.c (lang_process): Call lang_mark_used_section.
* ldmain.c (main): Initialize link_info.gc_sections to FALSE.
ld/testsuite/
2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
* ld-alpha/tlsbin.rd: Updated for empty section removal.
* ld-alpha/tlsbinr.rd: Likewise.
* ld-alpha/tlspic.rd: Likewise.
* ld-arm/mixed-lib.sym: Likewise.
* ld-i386/tlsbin.rd: Likewise.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlspic.rd: Likewise.
* ld-ia64/tlsbin.rd: Likewise.
* ld-ia64/tlspic.rd: Likewise.
* ld-powerpc/apuinfo.rd: Likewise.
* ld-powerpc/powerpc.exp: Likewise.
* ld-powerpc/tlsexe32.r: Likewise.
* ld-s390/tlsbin.rd: Likewise.
* ld-s390/tlsbin_64.rd: Likewise.
* ld-s390/tlspic.rd: Likewise.
* ld-s390/tlspic_64.rd: Likewise.
* ld-sh/tlsbin-2.d: Likewise.
* ld-sh/tlspic-2.d: Likewise.
* ld-sparc/tlssunbin32.rd: Likewise.
* ld-sparc/tlssunnopic32.rd: Likewise.
* ld-sparc/tlssunpic32.rd: Likewise.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
|
|
|
|
| |
for compatibility with gcc.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
on section. Correct comment, and add FIXME.
(ppc_elf_additional_program_headers): Don't bump header count for
interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
(ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
do allocate memory if they need it.
ld/
* emulparams/elf32ppclinux.sh (OTHER_READWRITE_SECTION): Delete.
(OTHER_RELRO_SECTIONS): Set this instead.
ld/testsuite/
* ld-powerpc/tlsexe32.d: Update.
* ld-powerpc/tlsexe32.g: Update.
* ld-powerpc/tlsexe32.r: Update.
* ld-powerpc/tlsexe32.t: Update.
* ld-powerpc/tlsso32.d: Update.
* ld-powerpc/tlsso32.g: Update.
* ld-powerpc/tlsso32.r: Update.
* ld-powerpc/tlsso32.t: Update.
|
| |
|
| |
|
| |
|
|
|
|
| |
Tidy etree_assert case.
|
| |
|
|
|
|
|
| |
* Makefile.in: Regenerated.
* emulparams/m68klynx.sh, emulparams/sparclynx.sh: Remove.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ld-cris/noglob1.d: Adjust regexp for a.out output.
* ld-cris/badgotr1.d, ld-cris/expdyn1.d, ld-cris/expdyn2.d,
ld-cris/expdyn3.d, ld-cris/expdyn4.d, ld-cris/expdyn5.d,
ld-cris/expdyn6.d, ld-cris/expdyn7.d, ld-cris/gotplt1.d,
ld-cris/gotplt2.d, ld-cris/gotplt3.d, ld-cris/hiddef1.d,
ld-cris/libdso-1.d, ld-cris/libdso-10.d, ld-cris/libdso-11.d,
ld-cris/libdso-12.d, ld-cris/libdso-13.d, ld-cris/libdso-14.d,
ld-cris/libdso-2.d, ld-cris/libdso-3.d, ld-cris/libdso-4.d,
ld-cris/locref1.d, ld-cris/locref2.d, ld-cris/nodyn4.d,
ld-cris/nodyn5.d, ld-cris/pv32-1.d, ld-cris/undef1.d,
ld-cris/weakref1.d: ld-cris/weakref2.d: Pass --em=criself to gas.
* ld-cris/v10-v32.d, ld-cris/v10-va.d, ld-cris/v32-ba-1.d,
ld-cris/v32-v10.d, ld-cris/v32-va.d, ld-cris/va-v10.d,
ld-cris/va-v32.d: Ditto. Pass -m criself to gld.
* ld-cris/v32-bin-1.d: Pass -m criself to gld.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
removed section symbols.
* ld-alpha/tlsbin.rd: Likewise.
* ld-alpha/tlsbin.sd: Likewise.
* ld-alpha/tlsbinr.dd: Likewise.
* ld-alpha/tlsbinr.rd: Likewise.
* ld-alpha/tlspic.dd: Likewise.
* ld-alpha/tlspic.rd: Likewise.
* ld-alpha/tlspic.sd: Likewise.
|
|
|
|
|
|
| |
* ld-powerpc/tlsexe.r: Update.
* ld-powerpc/tlsexetoc.g: Update.
* ld-powerpc/tlsexetoc.r: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elfxx-mips.c (mips_elf_calculate_relocation): Handle special
'__gnu_local_gp' symbol used by gas -mno-shared.
gas/ChangeLog
* config/tc-mips.c (macro_build_lui): Use '__gnu_local_gp'
instead of '_gp' for -mno-shared optimization.
(s_cpload): Ditto.
(s_abicalls): Document it in the comment.
(md_show_usage): Document the -mno-shared option.
gas/testsuite/ChangeLog
* gas/mips/elf-rel23b.d: Use '__gnu_local_gp' instead of '_gp'
for -mno-shared optimization.
* gas/mips/elf-rel25a.d: Ditto.
ld/testsuite/ChangeLog
* ld-mips-elf/multi-got-no-shared-1.s,
ld-mips-elf/multi-got-no-shared-2.s,
ld-mips-elf/multi-got-no-shared.d: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32.d,
ld-mips-elf/tlslib-o32.s, ld-mips-elf/mips-lib.ld,
ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32.d,
ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlsbin-o32.d,
ld-mips-elf/tlsdyn-o32.s, ld-mips-elf/tls-multi-got-1.got,
ld-mips-elf/tls-multi-got-1-1.s, ld-mips-elf/tls-multi-got-1.d,
ld-mips-elf/tls-multi-got-1.r, ld-mips-elf/tls-multi-got-1-2.s,
ld-mips-elf/tlslib-o32-ver.got, ld-mips-elf/tlslib.ver,
ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-hidden.ver,
ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-3.got,
ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.s,
ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-1.got,
ld-mips-elf/tlsdyn-o32-2.got: New files.
* ld-mips-elf/mips-elf.exp: Run the new tests.
|