2008-09-29 16:01:50 +02:00
|
|
|
|
2008-09-29 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (make_import_fixup_entry): Make sure reloc is addend.
|
|
|
|
|
|
2008-09-29 11:48:31 +02:00
|
|
|
|
2008-09-29 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/vi.po: Updated Vietnamese translation.
|
|
|
|
|
|
2008-09-25 04:34:00 +02:00
|
|
|
|
2008-09-25 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (fold_binary): Evaluate rhs when lhs not valid.
|
|
|
|
|
|
2008-09-11 21:02:04 +02:00
|
|
|
|
2008-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure.in: Call AC_SYS_LARGEFILE.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-09-09 11:45:31 +02:00
|
|
|
|
2008-09-09 Peter Rosin <peda@lysator.liu.se> (tiny change)
|
|
|
|
|
|
|
|
|
|
* emultempl/pe.em (pe_find_data_imports): Add trailing newline
|
|
|
|
|
to warning message.
|
|
|
|
|
* emultempl/pep.em (pep_find_data_imports): Likewise.
|
|
|
|
|
|
2008-09-08 18:07:46 +02:00
|
|
|
|
2008-09-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
2008-09-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated.
|
|
|
|
|
* emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Likewise.
|
|
|
|
|
|
2008-09-08 10:56:57 +02:00
|
|
|
|
2008-09-08 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add a marker for the 2.19 features.
|
|
|
|
|
|
2008-09-07 06:02:31 +02:00
|
|
|
|
2008-09-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (lang_output_section_find): Define.
|
|
|
|
|
(lang_output_section_statement_lookup): Update prototype.
|
|
|
|
|
* ldlang.c (lang_output_section_find,
|
|
|
|
|
lang_output_section_statement_lookup_1): Merge into..
|
|
|
|
|
(lang_output_section_statement_lookup): ..here. Update all callers.
|
|
|
|
|
(process_insert_statements): Set constraint negative
|
|
|
|
|
for output section statements we might be inserting. Make error
|
|
|
|
|
fatal on not finding insertion section.
|
|
|
|
|
(lang_output_section_find): Rather than comparing
|
|
|
|
|
output_section_statement.constraint against -1, test whether
|
|
|
|
|
it is postive.
|
|
|
|
|
(lang_output_section_statement_lookup_1): Likewise.
|
|
|
|
|
(output_prev_sec_find, strip_excluded_output_sections): Likewise.
|
|
|
|
|
(lang_record_phdrs): Likewise.
|
|
|
|
|
* emultempl/elf32.em (output_rel_find): Likewise.
|
|
|
|
|
* NEWS: Mention INSERT.
|
|
|
|
|
|
2008-08-26 13:11:17 +02:00
|
|
|
|
2008-08-26 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 6727
|
|
|
|
|
* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all
|
|
|
|
|
input sections in all input bfds and always select the last
|
|
|
|
|
suitable one, so that interworking stubs are always processed
|
|
|
|
|
after all other input sections.
|
|
|
|
|
(arm_elf_before_allocation): Remove redundant use of
|
|
|
|
|
output_has_begun flag.
|
|
|
|
|
|
2008-08-24 05:13:05 +02:00
|
|
|
|
2008-08-24 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* configure.in: Update a number of obsolete autoconf macros.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
|
2008-08-21 15:10:54 +02:00
|
|
|
|
2008-08-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6833
|
|
|
|
|
* ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Do not align
|
|
|
|
|
EXPLD.DATASEG.MIN_BASE.
|
|
|
|
|
* ldlang.c (lang_size_sections): New variable OLD_BASE. Rename
|
|
|
|
|
OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'.
|
|
|
|
|
Use OLD_BASE now for the minimal base check after the base decrease by
|
|
|
|
|
the maximum alignment found.
|
|
|
|
|
|
2008-08-17 05:12:50 +02:00
|
|
|
|
2008-08-17 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR 6478
|
|
|
|
|
* ldcref.c (check_local_sym_xref): Use bfd_generic_link_read_symbols.
|
|
|
|
|
Don't free symbol pointer array.
|
|
|
|
|
(check_refs): Likewise.
|
|
|
|
|
* ldmain.c (warning_callback): Likewise.
|
|
|
|
|
* ldmisc.c (vfinfo): Likewise.
|
|
|
|
|
* pe-dll.c (process_def_file): Likewise.
|
|
|
|
|
(pe_walk_relocs_of_symbol, generate_reloc): Likewise.
|
|
|
|
|
* emultempl/pe.em (pe_find_data_imports): Likewise.
|
|
|
|
|
(gld_${EMULATION_NAME}_after_open): Likewise.
|
|
|
|
|
* emultempl/pep.em (pep_find_data_imports): Likewise.
|
|
|
|
|
(gld_${EMULATION_NAME}_after_open): Likewise.
|
|
|
|
|
* ldlang.h (lang_input_statement_type): Delete asymbols, symbol_count,
|
|
|
|
|
passive_position, closed.
|
|
|
|
|
* ldlang.c (new_afile): Don't set asymbols and symbol_count.
|
|
|
|
|
* ldmain.c (add_archive_element): xcalloc lang_input_statement_type.
|
|
|
|
|
|
2008-08-15 10:31:52 +02:00
|
|
|
|
2008-08-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR 6526
|
|
|
|
|
* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-08-09 12:15:39 +02:00
|
|
|
|
2008-08-09 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR 6753
|
|
|
|
|
* ldmain.c (check_for_scripts_dir, set_scripts_dir): Delete.
|
|
|
|
|
(main): Don't set_scripts_dir here.
|
|
|
|
|
* ldfile.c (check_for_scripts_dir, find_scripts_dir): New functions,
|
|
|
|
|
largely based on ldmain.c versions.
|
|
|
|
|
(ldfile_find_command_file): Set up search in script dir here without
|
|
|
|
|
affecting library search.
|
|
|
|
|
* Makefile.am (ldmain.o): No need to define SCRIPTDIR.
|
|
|
|
|
(ldfile.o): New rule.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
Add AVR architectures avr25, avr31, avr35, and avr51 to match GCC.
bfd/
* archures.c (bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35,
bfd_mach_avr51): New.
* bfd-in2.h: Regenerate.
* cpu-avr.c (arch_info_struct): Add avr25, avr31, avr35, and avr51
architectures. Change comments to match architecture comments in GCC.
(compatible): Add test for new AVR architectures.
* elf32-avr.c (bfd_elf_avr_final_write_processing): Recognize
bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35 and bfd_mach_avr51.
(elf32_avr_object_p): Recognize E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
E_AVR_MACH_AVR35 and E_AVR_MACH_AVR51.
gas/
* config/tc-avr.c (mcu_types): Add avr25, avr31, avr35, and avr51
architectures. Reorganize list to put mcu types in correct architectures
and to order list same as in GCC. Use new ISA definitions in
include/opcode/avr.h.
* doc/c-avr.texi: Add avr25, avr31, avr35, and avr51 architecture
descriptions. Reorganize descriptions to put mcu types in correct
architectures and to order lists same as in GCC.
include/
* elf/avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define.
(EF_AVR_MACH): Redefine to 0x7F.
* opcode/avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove.
(AVR_ISA_AVR3): Redefine.
(AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35,
AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51,
AVR_ISA_AVR6): Define.
ld/
* Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o,
and eavr51.o.
Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c.
* Makefile.in: Regenerate.
* configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35
and avr51.
* emulparams/avr25.sh: New file.
* emulparams/avr31.sh: New file.
* emulparams/avr35.sh: New file.
* emulparams/avr51.sh: New file.
2008-08-09 07:35:13 +02:00
|
|
|
|
2008-08-08 Anatoly Sokolov <aesok@post.ru>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o,
|
|
|
|
|
and eavr51.o.
|
|
|
|
|
Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35
|
|
|
|
|
and avr51.
|
|
|
|
|
* emulparams/avr25.sh: New file.
|
|
|
|
|
* emulparams/avr31.sh: New file.
|
|
|
|
|
* emulparams/avr35.sh: New file.
|
|
|
|
|
* emulparams/avr51.sh: New file.
|
|
|
|
|
|
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* elf32-mips.c (mips_vxworks_copy_howto_rela): Replace with...
(elf_mips_copy_howto): ...this howto. Clear the size fields.
(mips_vxworks_jump_slot_howto_rela): Replace with...
(elf_mips_jump_slot_howto): ...this howto.
(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
and BFD_RELOC_MIPS_JUMP_SLOT.
(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
"R_MIPS_JUMP_SLOT".
(mips_elf32_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
(elf_backend_plt_readonly): Define.
(elf_backend_plt_sym_val): Define for non-VxWorks targets.
(mips_vxworks_bfd_reloc_type_lookup): Delete.
(mips_vxworks_bfd_reloc_name_lookup): Likewise.
(mips_vxworks_rtype_to_howto): Likewise.
(elf_backend_want_dynbss): Don't define for VxWorks.
(elf_backend_plt_readonly): Likewise.
(bfd_elf32_bfd_reloc_type_lookup): Likewise.
(bfd_elf32_bfd_reloc_name_lookup): Likewise.
(elf_backend_mips_rtype_to_howto): Likewise.
(elf_backend_adjust_dynamic_symbol): Likewise.
(elf_backend_got_symbol_offset): Don't define.
* elfn32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
and BFD_RELOC_MIPS_JUMP_SLOT.
(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
"R_MIPS_JUMP_SLOT".
(mips_elf32_n32_rtype_to_howto): Handle R_MIPS_COPY and
R_MIPS_JUMP_SLOT.
(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
(elf_backend_plt_sym_val): Define.
* elf64-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
(bfd_elf64_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
and BFD_RELOC_MIPS_JUMP_SLOT.
(bfd_elf64_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
"R_MIPS_JUMP_SLOT".
(mips_elf64_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
(elf_backend_plt_sym_val): Define.
* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Delete.
(_bfd_mips_elf_use_plts_and_copy_relocs, _bfd_mips_elf_init_stubs)
(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): Declare.
* elfxx-mips.c (mips_elf_la25_stub): New structure.
(LA25_LUI, LA25_J, LA25_ADDIU): New macros.
(mips_elf_link_hash_entry): Add "la25_stubs", "has_static_relocs"
and "has_nonpic_branches" fields. Remove "is_relocation_target" and
"is_branch_target".
(mips_elf_link_hash_table): Add blank lines. Add
"use_plts_and_copy_relocs", "reserved_gotno", "strampoline",
"la25_stubs" and "add_stub_section" fields.
(mips_htab_traverse_info): New structure.
(PIC_OBJECT_P, MIPS_ELF_LOAD_WORD): New macros.
(MIPS_RESERVED_GOTNO): Delete.
(mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry)
(mips_n64_exec_plt0_entry, mips_exec_plt_entry): New tables.
(mips_elf_link_hash_newfunc): Update after the changes to
mips_elf_link_hash_entry.
(mips_elf_check_mips16_stubs): Replace the DATA parameter with
an INFO parameter. Don't look through warnings symbols here;
do it in mips_elf_check_symbols instead.
(mips_elf_create_stub_symbol): New function.
(mips_elf_la25_stub_hash, mips_elf_la25_stub_eq): New functions.
(_bfd_mips_elf_init_stubs, mips_elf_local_pic_function_p): Likewise.
(mips_elf_add_la25_intro, mips_elf_add_la25_trampoline): Likewise.
(mips_elf_add_la25_stub, mips_elf_check_symbols): New functions.
(mips_elf_gotplt_index): Check for VxWorks.
(mips_elf_output_dynamic_relocation): Take the relocation index
as an extra parameter. Do not increment reloc_count here.
(mips_elf_initialize_tls_slots): Update the calls to
mips_elf_output_dynamic_relocation accordingly.
(mips_elf_multi_got): Use htab->reserved_gotno instead of
MIPS_RESERVED_GOTNO.
(mips_elf_create_got_section): Don't allocate reserved GOT
entries here. Unconditionally create .got.plt, but don't
set its alignment here.
(mips_elf_relocation_needs_la25_stub): New function.
(mips_elf_calculate_relocation): Redirect branches and jumps to
a non-PIC stub if one exists. Check !h->has_static_relocs instead
of !htab->is_vxworks when deciding whether to create dynamic
relocations for R_MIPS_32, R_MIPS_REL32 and R_MIPS_64.
(_bfd_mips_elf_create_dynamic_sections): Unconditionally call
_bfd_elf_create_dynamic_sections. Unconditionally set up
htab->splt and htab->sdynbss. Set htab->srelplt to ".rel.plt"
if !htab->is_vxworks. Add non-VxWorks values of
htab->plt_header_size and htab->plt_entry_size.
(_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
non-branch static relocations. Set has_nonpic_branches when an la25
stub might be required. Set can_make_dynamic_p to TRUE if R_MIPS_32,
R_MIPS_REL32 and R_MIPS_64 relocations can be made dynamic,
rather than duplicating the condition. Do not make them dynamic
for read-only sections in non-PIC executable objects.
Do not protect this code with dynobj == NULL || htab->sgot == NULL;
handle each group of cases separately. Add a default case that
sets has_static_relocs for non-GOT relocations that cannot be
made dynamic. Don't set is_relocation_target and is_branch_target.
Reject non-PIC static relocations in shared objects.
(_bfd_mips_vxworks_adjust_dynamic_symbol): Fold into...
(_bfd_mips_elf_adjust_dynamic_symbol): ...here, using
htab->use_plts_and_copy_relocs instead of htab->is_vxworks
to select PLT and copy-reloc handling. Set the alignment of
.plt and .got.plt when allocating the first entry. Generalize
code to handle REL as well as RELA sections and 64-bit as well as
32-bit GOT entries. Complain if we find a static-only reloc
against an externally-defined symbol and if we cannot create
dynamic relocations for it. Allocate copy relocs using
mips_elf_allocate_dynamic_relocations on non-VxWorks targets.
Set possibly_dynamic_relocs to 0 when using PLTs or copy relocs.
Skip reserved .got.plt entries.
(_bfd_mips_elf_always_size_sections): Use mips_elf_check_symbols
instead of mips_elf_check_mips16_stubs to process each symbol.
Do the traversal for relocatable objects too.
(mips_elf_lay_out_got): Use htab->reserved_gotno instead of
MIPS_RESERVED_GOTNO.
(_bfd_mips_elf_size_dynamic_sections): Exclude sdynbss if it
is empty. Extend the DT_PLTREL, DT_JMPREL and DT_PLTRELSZ handling
to non-VxWorks targets. Only add DT_REL{,A}, DT_REL{,A}SZ and
DT_REL{,A}ENT if .rel.dyn is nonempty. Create a symbol for the
PLT. Allocate a nop at the end of the PLT. Allocate DT_MIPS_PLTGOT.
(mips_elf_create_la25_stub_info): New function.
(_bfd_mips_elf_finish_dynamic_symbol): Write out PLT entries
and copy relocs where necessary. Check pointer_equality_needed.
(mips_finish_exec_plt): New function.
(_bfd_mips_elf_finish_dynamic_sections): Always set DT_PLTGOT
to the beginning of htab->sgot. Use htab->reserved_gotno instead
of MIPS_RESERVED_GOTNO. Assert htab->use_plts_and_copy_relocs
instead of htab->is_vxworks for DT_PLTREL, DT_PLTRELSZ and DT_JMPREL.
Set DT_PLTREL to DT_REL instead of DT_RELA on non-VxWorks targets.
Use mips_finish_exec_plt to create non-VxWorks PLT headers. Set
DT_MIPS_PLTGOT.
(_bfd_mips_elf_copy_indirect_symbol): Copy has_static_relocs
from the indirect symbol to the direct symbol. Also copy
has_nonpic_branches for indirect symbols.
(_bfd_mips_elf_get_target_dtag): Handle DT_MIPS_PLTGOT and
DT_MIPS_RWPLT.
(_bfd_mips_elf_link_hash_table_create): Initialize the new
mips_elf_link_hash_table fields.
(_bfd_mips_vxworks_link_hash_table_create): Set
use_plts_and_copy_relocs to TRUE. Use TRUE rather than 1
when setting is_vxworks.
(_bfd_mips_elf_use_plts_and_copy_relocs): New function.
(_bfd_mips_elf_final_link): Call mips_elf_create_la25_stub for
each la25_stub.
(_bfd_mips_elf_merge_private_bfd_data): Treat dynamic objects
as PIC. Generalize message about linking PIC and non-PIC.
(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): New
functions.
* reloc.c: Update comment near BFD_RELOC_MIPS_JUMP_SLOT.
* bfd-in2.h: Regenerated.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
* readelf.c (get_mips_symbol_other): Handle STO_MIPS_PLT and
STO_MIPS_PIC.
(slurp_rela_relocs, slurp_rel_relocs): Handle MIPS ELF64 here.
(dump_relocations, debug_apply_relocations): Don't handle it here.
(get_mips_dynamic_type): Handle DT_MIPS_PLTGOT and DT_MIPS_RWPLT.
(print_mips_pltgot_entry): New function.
(process_mips_specific): Dump the PLT GOT.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
* config/tc-mips.c (OPTION_CALL_NONPIC): New macro.
(OPTION_NON_SHARED, OPTION_XGOT, OPTION_MABI, OPTION_32)
(OPTION_N32, OPTION_64, OPTION_MDEBUG, OPTION_NO_MDEBUG)
(OPTION_PDR, OPTION_NO_PDR, OPTION_MVXWORKS_PIC): Bump by 1.
(md_longopts): Add -call_nonpic.
(md_parse_option): Handle OPTION_CALL_NONPIC.
(md_show_usage): Add -call_nonpic.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/call-nonpic-1.s, gas/mips/call-nonpic-1.d: New test.
* gas/mips/mips.exp: Run it.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
* mips.h (STO_MIPS_PLT, ELF_ST_IS_MIPS_PLT, ELF_ST_SET_MIPS_PLT)
(STO_MIPS_PIC, DT_MIPS_PLTGOT, DT_MIPS_RWPLT): New macros.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
* emulparams/elf32bmip.sh (GOT): Define, moving .got.plt to...
(OTHER_RELRO_SECTIONS, OTHER_READWRITE_SECTIONS): ...one of these
two variables.
* emulparams/elf32bmipn32-defs.sh: Likewise.
* emultempl/mipself.em: Include ldctor.h, elf/mips.h and elfxx-mips.h.
(is_mips_elf): New macro.
(stub_file, stub_bfd): New variables.
(hook_stub_info): New structure.
(hook_in_stub): New function.
(mips_add_stub_section): Likewise.
(mips_create_output_section_statements): Likewise.
(mips_before_allocation): Likewise.
(real_func): New variable.
(mips_for_each_input_file_wrapper): New function.
(mips_lang_for_each_input_file): Likewise.
(lang_for_each_input_file): Define.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
* ld-mips-elf/mips16-pic-3a.s,
ld-mips-elf/mips16-pic-3b.s,
ld-mips-elf/mips16-pic-3.dd,
ld-mips-elf/mips16-pic-3.gd,
ld-mips-elf/mips16-pic-3.rd,
ld-mips-elf/mips16-pic-3.inc,
ld-mips-elf/pic-and-nonpic-1a.s,
ld-mips-elf/pic-and-nonpic-1b.s,
ld-mips-elf/pic-and-nonpic-1.ld,
ld-mips-elf/pic-and-nonpic-1.dd,
ld-mips-elf/pic-and-nonpic-1.nd,
ld-mips-elf/pic-and-nonpic-1-rel.dd,
ld-mips-elf/pic-and-nonpic-1-rel.nd,
ld-mips-elf/pic-and-nonpic-2a.s,
ld-mips-elf/pic-and-nonpic-2b.s,
ld-mips-elf/pic-and-nonpic-2.d,
ld-mips-elf/pic-and-nonpic-3a.s,
ld-mips-elf/pic-and-nonpic-3a.ld,
ld-mips-elf/pic-and-nonpic-3a.dd,
ld-mips-elf/pic-and-nonpic-3a.gd,
ld-mips-elf/pic-and-nonpic-3a.sd,
ld-mips-elf/pic-and-nonpic-3b.s,
ld-mips-elf/pic-and-nonpic-3b.ld,
ld-mips-elf/pic-and-nonpic-3b.ad,
ld-mips-elf/pic-and-nonpic-3b.dd,
ld-mips-elf/pic-and-nonpic-3b.gd,
ld-mips-elf/pic-and-nonpic-3b.nd,
ld-mips-elf/pic-and-nonpic-3b.pd,
ld-mips-elf/pic-and-nonpic-3b.rd,
ld-mips-elf/pic-and-nonpic-3b.sd,
ld-mips-elf/pic-and-nonpic-3-error.d,
ld-mips-elf/pic-and-nonpic-4a.s,
ld-mips-elf/pic-and-nonpic-4b.s,
ld-mips-elf/pic-and-nonpic-4b.ld,
ld-mips-elf/pic-and-nonpic-4b.ad,
ld-mips-elf/pic-and-nonpic-4b.dd,
ld-mips-elf/pic-and-nonpic-4b.gd,
ld-mips-elf/pic-and-nonpic-4b.nd,
ld-mips-elf/pic-and-nonpic-4b.rd,
ld-mips-elf/pic-and-nonpic-4b.sd,
ld-mips-elf/pic-and-nonpic-4-error.d,
ld-mips-elf/pic-and-nonpic-5a.s,
ld-mips-elf/pic-and-nonpic-5b.s,
ld-mips-elf/pic-and-nonpic-5b.ld,
ld-mips-elf/pic-and-nonpic-5b.ad,
ld-mips-elf/pic-and-nonpic-5b.dd,
ld-mips-elf/pic-and-nonpic-5b.gd,
ld-mips-elf/pic-and-nonpic-5b.nd,
ld-mips-elf/pic-and-nonpic-5b.rd,
ld-mips-elf/pic-and-nonpic-5b.sd,
ld-mips-elf/pic-and-nonpic-5b.pd,
ld-mips-elf/pic-and-nonpic-6.ld,
ld-mips-elf/pic-and-nonpic-6-o32a.s,
ld-mips-elf/pic-and-nonpic-6-o32b.s,
ld-mips-elf/pic-and-nonpic-6-o32c.s,
ld-mips-elf/pic-and-nonpic-6-o32.ad,
ld-mips-elf/pic-and-nonpic-6-o32.dd,
ld-mips-elf/pic-and-nonpic-6-o32.gd,
ld-mips-elf/pic-and-nonpic-6-o32.nd,
ld-mips-elf/pic-and-nonpic-6-o32.pd,
ld-mips-elf/pic-and-nonpic-6-o32.rd,
ld-mips-elf/pic-and-nonpic-6-o32.sd,
ld-mips-elf/pic-and-nonpic-6-n32a.s,
ld-mips-elf/pic-and-nonpic-6-n32b.s,
ld-mips-elf/pic-and-nonpic-6-n32c.s,
ld-mips-elf/pic-and-nonpic-6-n32.ad,
ld-mips-elf/pic-and-nonpic-6-n32.dd,
ld-mips-elf/pic-and-nonpic-6-n32.gd,
ld-mips-elf/pic-and-nonpic-6-n32.nd,
ld-mips-elf/pic-and-nonpic-6-n32.pd,
ld-mips-elf/pic-and-nonpic-6-n32.rd,
ld-mips-elf/pic-and-nonpic-6-n32.sd,
ld-mips-elf/pic-and-nonpic-6-n64a.s,
ld-mips-elf/pic-and-nonpic-6-n64b.s,
ld-mips-elf/pic-and-nonpic-6-n64c.s,
ld-mips-elf/pic-and-nonpic-6-n64.ad,
ld-mips-elf/pic-and-nonpic-6-n64.dd,
ld-mips-elf/pic-and-nonpic-6-n64.gd,
ld-mips-elf/pic-and-nonpic-6-n64.nd,
ld-mips-elf/pic-and-nonpic-6-n64.pd,
ld-mips-elf/pic-and-nonpic-6-n64.rd,
ld-mips-elf/pic-and-nonpic-6-n64.sd: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
2008-08-08 21:24:49 +02:00
|
|
|
|
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
|
|
|
|
|
Daniel Jacobowitz <dan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32bmip.sh (GOT): Define, moving .got.plt to...
|
|
|
|
|
(OTHER_RELRO_SECTIONS, OTHER_READWRITE_SECTIONS): ...one of these
|
|
|
|
|
two variables.
|
|
|
|
|
* emulparams/elf32bmipn32-defs.sh: Likewise.
|
|
|
|
|
* emultempl/mipself.em: Include ldctor.h, elf/mips.h and elfxx-mips.h.
|
|
|
|
|
(is_mips_elf): New macro.
|
|
|
|
|
(stub_file, stub_bfd): New variables.
|
|
|
|
|
(hook_stub_info): New structure.
|
|
|
|
|
(hook_in_stub): New function.
|
|
|
|
|
(mips_add_stub_section): Likewise.
|
|
|
|
|
(mips_create_output_section_statements): Likewise.
|
|
|
|
|
(mips_before_allocation): Likewise.
|
|
|
|
|
(real_func): New variable.
|
|
|
|
|
(mips_for_each_input_file_wrapper): New function.
|
|
|
|
|
(mips_lang_for_each_input_file): Likewise.
|
|
|
|
|
(lang_for_each_input_file): Define.
|
|
|
|
|
(LDEMUL_BEFORE_ALLOCATION): Likewise.
|
|
|
|
|
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise.
|
|
|
|
|
|
2008-08-08 10:06:16 +02:00
|
|
|
|
2008-08-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldfile.c (ldfile_open_file_search): Use concat.
|
|
|
|
|
(try_open): Don't use a fixed size pathname buffer.
|
|
|
|
|
(ldfile_find_command_file): Likewise.
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): If
|
|
|
|
|
using EXTRA_SHLIB_EXTENSION, don't open twice.
|
|
|
|
|
|
2008-08-04 08:55:33 +02:00
|
|
|
|
2008-08-04 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (POTFILES.in): Set LC_ALL=C.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* po/POTFILES.in: Regenerate.
|
|
|
|
|
|
2008-08-03 05:26:03 +02:00
|
|
|
|
2008-08-03 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (spu_ovl.o): Merge rule into..
|
|
|
|
|
(spu_ovl.o_c): ..this one. Only run cpp for spu target.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2008-08-02 18:25:44 +02:00
|
|
|
|
2008-08-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Include the spu_ovl ASCII form in the repository files.
|
|
|
|
|
* emultempl/spuelf.em: No longer use `bin2c', use now `spu_ovl.o_c'.
|
|
|
|
|
* Makefile.am (eelf32_spu.c): Depend now on `spu_ovl.o_c'.
|
|
|
|
|
($(srcdir)/emultempl/spu_ovl.o_c): New target.
|
|
|
|
|
($(srcdir)/emultempl/spu_ovl.o): Rename to...
|
|
|
|
|
(spu_ovl.o): ...this one.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emultempl/spu_ovl.o_c: New file.
|
|
|
|
|
* emultempl/spu_ovl.o: File removed.
|
|
|
|
|
|
2008-07-31 09:27:52 +02:00
|
|
|
|
2008-07-31 Takashi Ono <t_ono@hkfreak.net>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (generate_relocs): Don't generate relocs for
|
|
|
|
|
undefined weak symbols.
|
|
|
|
|
|
2008-07-31 07:27:54 +02:00
|
|
|
|
2008-07-31 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'.
|
|
|
|
|
|
2008-07-30 06:34:58 +02:00
|
|
|
|
2008-07-30 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/pe.em, emultempl/pep.em: Silence gcc warnings.
|
|
|
|
|
|
bfd:
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter.
* bfd-in2.h: Regenerate.
* elf32-arm.c (struct elf_arm_obj_tdata): Add field
no_wchar_size_warning.
(bfd_elf32_arm_set_target_relocs): Add new parameter
no_wchar_warn.
(elf32_arm_merge_eabi_attributes): Give a warning, not an error,
for conflicting wchar_t attributes. Do not warn if
--no-wchar-size-warning. Make diagnostic text more specific.
ld:
* ld.texinfo (--no-wchar-size-warning): Document new ARM option.
* emultempl/armelf.em (no_wchar_size_warning): New.
(arm_elf_create_output_section_statements): Pass
no_wchar_size_warning to arm_elf_create_output_section_statements.
(OPTION_NO_WCHAR_SIZE_WARNING): New.
(PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
(PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
(PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.
ld/testsuite:
* ld-arm/attr-merge-wchar-0.s,ld-arm/attr-merge-wchar-2.s,
ld-arm/attr-merge-wchar-4.s, ld-arm/attr-merge-wchar-00-nowarn.d,
ld-arm/attr-merge-wchar-00.d, ld-arm/attr-merge-wchar-02-nowarn.d,
ld-arm/attr-merge-wchar-02.d, ld-arm/attr-merge-wchar-04-nowarn.d,
ld-arm/attr-merge-wchar-04.d, ld-arm/attr-merge-wchar-20-nowarn.d,
ld-arm/attr-merge-wchar-20.d, ld-arm/attr-merge-wchar-22-nowarn.d,
ld-arm/attr-merge-wchar-22.d, ld-arm/attr-merge-wchar-24-nowarn.d,
ld-arm/attr-merge-wchar-24.d, ld-arm/attr-merge-wchar-40-nowarn.d,
ld-arm/attr-merge-wchar-40.d, ld-arm/attr-merge-wchar-42-nowarn.d,
ld-arm/attr-merge-wchar-42.d, ld-arm/attr-merge-wchar-44-nowarn.d,
ld-arm/attr-merge-wchar-44.d: New.
* ld-arm/arm-elf.exp: Run new tests.
2008-07-18 22:49:12 +02:00
|
|
|
|
2008-07-18 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (--no-wchar-size-warning): Document new ARM option.
|
|
|
|
|
* emultempl/armelf.em (no_wchar_size_warning): New.
|
|
|
|
|
(arm_elf_create_output_section_statements): Pass
|
|
|
|
|
no_wchar_size_warning to arm_elf_create_output_section_statements.
|
|
|
|
|
(OPTION_NO_WCHAR_SIZE_WARNING): New.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.
|
|
|
|
|
|
2008-07-15 15:09:47 +02:00
|
|
|
|
2008-07-15 Jie Zhang <jie.zhang@analog.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
|
|
|
|
|
|
2008-07-12 23:36:53 +02:00
|
|
|
|
2008-07-12 Craig Silverstein <csilvers@google.com>
|
|
|
|
|
|
2008-07-14 03:22:23 +02:00
|
|
|
|
PR ld/6741
|
2008-07-12 23:36:53 +02:00
|
|
|
|
* configure.in: Check for, and include, libz.a if it is present.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
|
2008-07-12 10:54:13 +02:00
|
|
|
|
2008-07-12 Jie Zhang <jie.zhang@analog.com>
|
|
|
|
|
|
|
|
|
|
Revert
|
|
|
|
|
2008-07-12 Jie Zhang <jie.zhang@analog.com>
|
|
|
|
|
* Makefile.am (eelf32bfin.c): Depend on bfin.em.
|
|
|
|
|
(eelf32bfinfd.c): Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* gen-doc.texi: Set Blackfin.
|
|
|
|
|
* ld.texinfo: Document --sep-code and Blackfin specific
|
|
|
|
|
options.
|
|
|
|
|
* ldmain.c (main): Initialize link_info.sep_code.
|
|
|
|
|
* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
|
|
|
|
|
(ld_options[]): Add --sep-code.
|
|
|
|
|
(parse_args): Deal with --sep-code.
|
|
|
|
|
* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
|
|
|
|
|
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
|
|
|
|
|
* emultempl/bfin.em: New file.
|
|
|
|
|
|
2008-07-11 21:24:39 +02:00
|
|
|
|
2008-07-12 Jie Zhang <jie.zhang@analog.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (eelf32bfin.c): Depend on bfin.em.
|
|
|
|
|
(eelf32bfinfd.c): Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* gen-doc.texi: Set Blackfin.
|
|
|
|
|
* ld.texinfo: Document --sep-code and Blackfin specific
|
|
|
|
|
options.
|
|
|
|
|
* ldmain.c (main): Initialize link_info.sep_code.
|
|
|
|
|
* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
|
|
|
|
|
(ld_options[]): Add --sep-code.
|
|
|
|
|
(parse_args): Deal with --sep-code.
|
|
|
|
|
* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
|
|
|
|
|
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
|
|
|
|
|
* emultempl/bfin.em: New file.
|
|
|
|
|
|
2008-07-09 05:18:15 +02:00
|
|
|
|
2008-07-09 Danny Smith <dannysmith@users.sourceforge.net>
|
|
|
|
|
|
|
|
|
|
*pe-dll.c (autofilter_symbolprefixlist): Excude all symbols
|
|
|
|
|
starting with ".".
|
|
|
|
|
Exclude "_IMPORT_DESCRIPTOR_".
|
|
|
|
|
(autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA".
|
|
|
|
|
(autofilter_symbollist_generic): Don't check for ".text".
|
|
|
|
|
Exclude "_NULL_IMPORT_DESCRIPTOR".
|
|
|
|
|
(autofilter_symbollist_i386): Likewise.
|
|
|
|
|
|
2008-07-07 02:46:51 +02:00
|
|
|
|
2008-07-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/armelf.em (elf32_arm_add_stub_section): Use
|
|
|
|
|
bfd_make_section_with_flags.
|
|
|
|
|
* emultempl/avrelf.em (avr_elf_create_output_section_statements):
|
|
|
|
|
Likewise.
|
|
|
|
|
* emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
|
|
|
|
|
* emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
|
|
|
|
|
* emultempl/m68kcoff.em (gld${EMULATION_NAME}_after_open): Likewise.
|
|
|
|
|
* emultempl/m68kelf.em (m68k_elf_after_open): Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
|
|
|
|
|
* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2008-07-06 15:38:37 +02:00
|
|
|
|
2008-07-06 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (File Commands): Document that INCLUDE can be used in
|
|
|
|
|
several different places.
|
|
|
|
|
* ldgram.y (statement, memory_spec, section): Allow INCLUDE.
|
|
|
|
|
(memory, memory_spec_list): Simplify BNF
|
|
|
|
|
(memory_spec_list_opt): New rule.
|
|
|
|
|
* ldlex.l (INCLUDE): Recognize in EXPRESSION.
|
|
|
|
|
|
2008-06-19 18:14:53 +02:00
|
|
|
|
2008-06-20 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Make "can not
|
|
|
|
|
build overlay stubs" a fatal error.
|
|
|
|
|
|
2008-06-18 01:14:44 +02:00
|
|
|
|
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
|
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-06-16 18:16:31 +02:00
|
|
|
|
2008-06-17 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (extra_stack_space): New variable.
|
|
|
|
|
(gld${EMULATION_NAME}_finish): Pass it to spu_elf_check_vma.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
|
|
|
|
|
PARSE_AND_LIST_ARGS_CASES): Handle --extra-stack-space.
|
|
|
|
|
* emultempl/spu_ovl.S: Mask interrupts during dma and update of
|
|
|
|
|
overlay manager structures.
|
|
|
|
|
* emultempl/spu_ovl.o: Regenerate.
|
|
|
|
|
|
2008-06-16 17:10:13 +02:00
|
|
|
|
2008-06-16 Hans-Peter Nilsson <hp@bitrange.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, only
|
|
|
|
|
mention it as being special for global symbols.
|
|
|
|
|
|
2008-06-12 13:27:38 +02:00
|
|
|
|
2008-06-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (print_output_section_statement): If the output section
|
|
|
|
|
statement has an update_dot_tree expression, apply it to
|
|
|
|
|
print_dot.
|
|
|
|
|
(print_input_section): Do not update print_dot if it would move
|
|
|
|
|
print_dot backwards.
|
|
|
|
|
(lang_do_assignments_1): If the output section statement has an
|
|
|
|
|
update_dot_tree expression apply it to dot.
|
|
|
|
|
|
2008-06-07 13:35:46 +02:00
|
|
|
|
2008-06-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention archive:path patterns.
|
|
|
|
|
* ld.texinfo: Likewise.
|
|
|
|
|
* ldlang.c: Formatting throughout.
|
|
|
|
|
(archive_path): Only assume "[A-Za-z]:" is a dos drive.
|
|
|
|
|
(input_statement_is_archive_path): New function, extracted from..
|
|
|
|
|
(walk_wild): ..here.
|
|
|
|
|
(walk_wild_consider_section): Match archive:path here too.
|
|
|
|
|
(init_map_userdata, sort_def_symbol): Convert to ISO C.
|
|
|
|
|
* ldmain.c (main): Set link_info.path_separator.
|
|
|
|
|
* emultempl/spuelf.em (choose_target): Don't set it here.
|
|
|
|
|
|
2008-06-06 08:02:00 +02:00
|
|
|
|
2008-06-06 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (name_match): New function.
|
|
|
|
|
(unique_section_p, walk_wild_consider_section): Use it here.
|
|
|
|
|
(walk_wild_section_general): And here.
|
|
|
|
|
(archive_path): New function.
|
|
|
|
|
(walk_wild): Match archive:path filespecs.
|
|
|
|
|
(open_input_bfds): Don't load archive:path files.
|
|
|
|
|
* emultempl/spuelf.em (choose_target): Set path_separator.
|
|
|
|
|
* emulparams/elf32_spu.sh: Add ._ea.* sections to ._ea output.
|
|
|
|
|
|
2008-06-04 12:07:22 +02:00
|
|
|
|
2008-06-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (Orphan Sections): Fix texi typo.
|
|
|
|
|
|
2008-06-04 11:45:05 +02:00
|
|
|
|
2008-06-04 Chris Metcalf <cmetcalf@tilera.com>
|
|
|
|
|
|
|
|
|
|
* lexsup.c (option_values): Add OPTION_NO_WARN_FATAL.
|
|
|
|
|
(ld_options): Add entry for --no-fatal-warnings.
|
|
|
|
|
(parse_args): Handle OPTION_NO_WARN_FATAL.
|
|
|
|
|
* ld.texinfo (Options): Document new command line switch.
|
|
|
|
|
|
2008-06-04 09:08:01 +02:00
|
|
|
|
2008-06-04 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.
|
|
|
|
|
|
2008-06-02 08:49:58 +02:00
|
|
|
|
2008-06-02 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (closest_target_match): Skip generic big and little
|
|
|
|
|
endian ELF targets.
|
|
|
|
|
|
2008-05-31 18:35:56 +02:00
|
|
|
|
2008-05-31 Evandro Menezes <evandro@yahoo.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6430
|
|
|
|
|
* ld.h (enum sort_order): New.
|
|
|
|
|
* ldlang.c (lang_check: Fix comment.
|
|
|
|
|
(lang_common): Sort commons in ascending or descending order.
|
|
|
|
|
(lang_one_common): Likewise.
|
|
|
|
|
* lexsup.c (ld_options): Have --sort-common take an option
|
|
|
|
|
argument.
|
|
|
|
|
(parse_args): Handle argument to --sort-common.
|
|
|
|
|
* ld.texinfo (--sort-common): Document new optional argument.
|
|
|
|
|
* NEWS: Mention new feature.
|
|
|
|
|
|
2008-05-28 17:38:36 +02:00
|
|
|
|
2008-05-28 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo: State that farcalls stubs are supported for ARM-EABI
|
|
|
|
|
only.
|
|
|
|
|
|
2008-05-27 10:34:26 +02:00
|
|
|
|
2008-05-27 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (fill_edata): Make sure we calculate vma's in
|
|
|
|
|
type bfd_vma.
|
|
|
|
|
(generate_reloc): Likewise.
|
|
|
|
|
(pe_implied_import_dll): Likewise.
|
|
|
|
|
|
2008-05-21 14:16:22 +02:00
|
|
|
|
2008-05-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6519
|
|
|
|
|
* ld.texinfo (Orphan Sections): Mention that the linker will
|
|
|
|
|
provide start and stop symbols for orphaned sections if their
|
|
|
|
|
names are valid C identifiers.
|
|
|
|
|
* NEWS: Add an addendum to the description of the linker feature
|
|
|
|
|
for providing orphan section start and end symbols.
|
|
|
|
|
|
Multi-GOT support for m68k.
bfd/
* elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
glist): New fields.
(struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
struct elf_m68k_multi_got): New data structures.
(struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
allow_multigot_p, multi_got_): New fields.
(elf_m68k_multi_got): New macro.
(elf_m68k_link_hash_newfunc): Initialize new fields of
struct elf_m68k_link_hash_entry.
(elf_m68k_link_hash_table_create): Initialize new fields of
struct elf_m68k_link_hash_table.
(elf_m68k_link_hash_table_free): New static function implementing hook.
(elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
static functions for struct elf_m68k_got.
(elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
elf_m68k_got_entry_eq): New static functions for
struct elf_m68k_got_entry.
(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
(enum elf_m68k_get_entry_howto): New enum.
(elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
elf_m68k_remove_got_entry_type): New static functions for
struct elf_m68k_got_entry.
(elf_m68k_add_entry_to_got): New static function.
(elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
functions for struct elf_m68k_bfd2got_entry.
(struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
elf_m68k_can_merge_gots): New traversal.
(struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
elf_m68k_merge_gots): Ditto.
(struct elf_m68k_finalize_got_offsets_arg,
elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
(struct elf_m68k_partition_multi_got_arg,
elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
elf_m68k_partition_multi_got): Ditto.
(elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
functions.
(elf_m68k_copy_indirect_symbol): New static function implementing
a hook.
(elf_m68k_check_relocs): Update to add entries to multi-GOT.
(elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
(elf_m68k_always_size_sections): Assign BFDs to GOTs.
(elf_m68k_relocate_section): Update to properly handle GOT relocations.
(elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
of a global symbol.
(bfd_elf_m68k_set_target_options): New function.
(bfd_elf32_bfd_link_hash_table_free): Define hook.
(bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
to skip generic calculation of GOT offsets.
(elf_backend_copy_indirect_symbol): Define hook.
* bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
* bfd-in2.h: Regenerate.
ld/
* configure.in (--enable-got): New option. Handle it.
* configure: Regenerate.
* config.in: Regenerate.
* emultempl/m68kelf.em: (got_handling_target_default): New shell
variable.
(GOT_HANDLING_TARGET_DEFAULT): New macro.
(GOT_HANDLING_DEFAULT): New macro. Initialize it from configure
option if one was given.
(got_handling): New static variable.
(elf_m68k_create_output_section_statements): New static function
implementing hook.
(PARSE_AND_LIST_PROLOGUE): Define shell variable.
(OPTION_GOT): New macro.
(PARSE_AND_LIST_LONGOPTS): Define shell variable. Specify
--got option.
(got): New linker option.
(PARSE_AND_LIST_OPTIONS): Define shell variable. Print help string
for --got option.
(PARSE_AND_LIST_ARGS_CASES): Define shell variable. Handle --got
option.
* ld.texinfo: Document --got=<type> option.
* gen-doc.texi: Add M68K.
* NEWS: Mention the new feature.
ld/testsuite/
* ld-m68k/got-12.s: New file.
* ld-m68k/got-13.s: New file.
* ld-m68k/got-14.s: New file.
* ld-m68k/got-15.s: New file.
* ld-m68k/got-34.s: New file.
* ld-m68k/got-35.s: New file.
* ld-m68k/got-single-12-ok.d: New dump test.
* ld-m68k/got-single-13-er.d: New dump test.
* ld-m68k/got-negative-14-ok.d: New dump test.
* ld-m68k/got-negative-15-er.d: New dump test.
* ld-m68k/got-negative-12-13-14-34-ok.d: New dump test.
* ld-m68k/got-negative-12-13-14-35-er.d: New dump test.
* ld-m68k/got-multigot-14-ok.d: New dump test.
* ld-m68k/got-multigot-15-er.d: New dump test.
* ld-m68k/got-multigot-12-13-14-34-35-ok.d: New dump test.
* ld-m68k/xgot-15.s: New source.
* ld-m68k/got-xgot-15-ok.d: New test.
* ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: New test.
* ld-m68k/m68k.exp: Run new tests.
2008-05-21 14:01:37 +02:00
|
|
|
|
2008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* configure.in (--enable-got): New option. Handle it.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* emultempl/m68kelf.em: (got_handling_target_default): New shell
|
|
|
|
|
variable.
|
|
|
|
|
(GOT_HANDLING_TARGET_DEFAULT): New macro.
|
|
|
|
|
(GOT_HANDLING_DEFAULT): New macro. Initialize it from configure
|
|
|
|
|
option if one was given.
|
|
|
|
|
(got_handling): New static variable.
|
|
|
|
|
(elf_m68k_create_output_section_statements): New static function
|
|
|
|
|
implementing hook.
|
|
|
|
|
(PARSE_AND_LIST_PROLOGUE): Define shell variable.
|
|
|
|
|
(OPTION_GOT): New macro.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Define shell variable. Specify
|
|
|
|
|
--got option.
|
|
|
|
|
(got): New linker option.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): Define shell variable. Print help string
|
|
|
|
|
for --got option.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Define shell variable. Handle --got
|
|
|
|
|
option.
|
|
|
|
|
* ld.texinfo: Document --got=<type> option.
|
|
|
|
|
* gen-doc.texi: Add M68K.
|
|
|
|
|
* NEWS: Mention the new feature.
|
|
|
|
|
|
2008-05-21 12:59:12 +02:00
|
|
|
|
2008-05-21 Evandro Menezes <evandro@yahoo.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6430
|
|
|
|
|
* ld.texinfo (--sort-common): Correct documentation to indicate
|
|
|
|
|
that sorting is performed by alignment, not size, biggest
|
|
|
|
|
alignment first.
|
|
|
|
|
|
2008-05-21 10:09:38 +02:00
|
|
|
|
2008-05-21 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (ARM): Document --stub-group-size=N option.
|
|
|
|
|
Move description of --pic-veneer option into the ARM section.
|
|
|
|
|
* NEWS: Mention the support for long function calls.
|
|
|
|
|
|
bfd/
* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define.
(THM2_MAX_BWD_BRANCH_OFFSET): Define.
(ARM_MAX_FWD_BRANCH_OFFSET): Define.
(ARM_MAX_BWD_BRANCH_OFFSET): Define.
(THM_MAX_FWD_BRANCH_OFFSET): Define.
(THM_MAX_BWD_BRANCH_OFFSET): Define.
(arm_long_branch_stub): Define.
(arm_pic_long_branch_stub): Define.
(arm_thumb_v4t_long_branch_stub): Define.
(arm_thumb_thumb_long_branch_stub): Define.
(arm_thumb_arm_v4t_long_branch_stub): Define.
(STUB_SUFFIX): Define.
(elf32_arm_stub_type): Define.
(elf32_arm_stub_hash_entry): Define.
(elf32_arm_link_hash_entry): Add stub_cache field.
(arm_stub_hash_lookup): Define.
(elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd,
add_stub_section, layout_sections_again, stub_group, bfd_count,
top_index, input_list fields.
(elf32_arm_link_hash_newfunc): Init new field.
(stub_hash_newfunc): New function.
(elf32_arm_link_hash_table_create): Init stub_hash_table.
(elf32_arm_hash_table_free): New function.
(arm_type_of_stub): New function.
(elf32_arm_stub_name): New function.
(elf32_arm_get_stub_entry): New function.
(elf32_arm_stub_add_mapping_symbol): New function.
(elf32_arm_add_stub): New function.
(arm_build_one_stub): New function.
(arm_size_one_stub): New function.
(elf32_arm_setup_section_lists): New function.
(elf32_arm_next_input_section): New function.
(group_sections): New function.
(elf32_arm_size_stubs): New function.
(elf32_arm_build_stubs): New function.
(bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections.
(bfd_elf32_arm_process_before_allocation): No longer handle
R_ARM_CALL and R_ARM_THM_CALL.
(using_thumb_only): New function.
(elf32_arm_final_link_relocate): Redirect calls to stub if range
exceeds encoding capabilities.
(bfd_elf32_bfd_link_hash_table_free): Define.
* bfd-in.h (R_ARM_max): Fix value to 130.
(elf32_arm_setup_section_lists): Protype.
(elf32_arm_next_input_section): Protype.
(elf32_arm_size_stubs): Protype.
(elf32_arm_build_stubs): Protype.
ld/
* emultempl/armelf.em (build_section_lists): New function.
(stub_file): Define.
(need_laying_out): Define.
(group_size): Define.
(hook_stub_info): Define.
(hook_in_stub): New function.
(elf32_arm_add_stub_section): New function.
(gldarm_layout_sections_again): New function.
(gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
stubs for long calls if needed.
(arm_elf_create_output_section_statements): create stub_file bfd.
(arm_for_each_input_file_wrapper): New function.
(arm_lang_for_each_input_file): New function.
(lang_for_each_input_file): Define.
(PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
(PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
(PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
(PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
(LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
* ld/lang.c (print_input_statement): Skip if bfd has
BFD_LINKER_CREATED.
ld/testsuite
* ld-arm/arm-elf.exp (armelftests): Add farcall-arm-arm,
farcall-arm-arm-pic-veneer, farcall-arm-arm-be8 farcall-arm-thumb,
farcall-arm-thumb-blx, farcall-arm-thumb-pic-veneer,
farcall-arm-thumb-blx-pic-veneer, farcall-thumb-thumb,
farcall-thumb-thumb-pic-veneer, farcall-thumb-thumb-blx,
farcall-thumb-thumb-m, farcall-thumb-thumb-m-pic-veneer,
farcall-thumb-thumb-blx-pic-veneer, farcall-thumb-arm,
farcall-thumb-arm-pic-veneer, farcall-thumb-arm-blx,
farcall-thumb-arm-blx-pic-veneer.
Change thumb2-bl-as-thumb1-bad, thumb2-bl-bad.
* ld-arm/thumb2-bl-as-thumb1-bad.d: Reflects farcall stub
generation.
* ld-arm/thumb2-bl-bad.d: Likewise.
* ld-arm/thumb2-bl-as-thumb1-bad.s: Update comments.
* ld-arm/thumb2-bl-bad.s: Likewise.
2008-05-15 19:00:15 +02:00
|
|
|
|
2008-05-15 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/armelf.em (build_section_lists): New function.
|
|
|
|
|
(stub_file): Define.
|
|
|
|
|
(need_laying_out): Define.
|
|
|
|
|
(group_size): Define.
|
|
|
|
|
(hook_stub_info): Define.
|
|
|
|
|
(hook_in_stub): New function.
|
|
|
|
|
(elf32_arm_add_stub_section): New function.
|
|
|
|
|
(gldarm_layout_sections_again): New function.
|
|
|
|
|
(gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
|
|
|
|
|
stubs for long calls if needed.
|
|
|
|
|
(arm_elf_create_output_section_statements): create stub_file bfd.
|
|
|
|
|
(arm_for_each_input_file_wrapper): New function.
|
|
|
|
|
(arm_lang_for_each_input_file): New function.
|
|
|
|
|
(lang_for_each_input_file): Define.
|
|
|
|
|
(PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
|
|
|
|
|
(LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
|
|
|
|
|
* lang.c (print_input_statement): Skip if bfd has
|
|
|
|
|
BFD_LINKER_CREATED.
|
|
|
|
|
|
2008-05-14 08:45:42 +02:00
|
|
|
|
2008-05-14 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2008-05-09 13:56:31 +02:00
|
|
|
|
2008-05-09 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
ld/PR6502
|
2008-05-14 08:45:42 +02:00
|
|
|
|
* emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
|
|
|
|
|
of long and change return type to bfd_vma.
|
2008-05-09 13:56:31 +02:00
|
|
|
|
(definfo): Change type of address from long to bfd_vma.
|
|
|
|
|
(set_pep_value): Replace strtoul to strtoull.
|
|
|
|
|
(gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long..
|
2008-05-14 08:45:42 +02:00
|
|
|
|
* pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
|
|
|
|
|
ImageBase.
|
2008-05-09 13:56:31 +02:00
|
|
|
|
(quick_reloc): Change argument address from int to bfd_size_type.
|
|
|
|
|
|
2008-05-08 19:34:36 +02:00
|
|
|
|
2008-05-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (PowerPC64 ELF64): Fix typo.
|
|
|
|
|
|
2008-05-07 16:46:44 +02:00
|
|
|
|
2008-05-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* elf32_spu.sh (OTHER_SECTIONS): Add "._ea".
|
|
|
|
|
* elf32ppc.sh: If building with spu support, put ".data.spehandle"
|
|
|
|
|
sections at the start of ".data" and provide a symbol to locate
|
|
|
|
|
the directory of embedded spe programs.
|
|
|
|
|
|
2008-05-07 16:30:41 +02:00
|
|
|
|
2008-05-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K. Correct
|
|
|
|
|
MAX_K.
|
|
|
|
|
(fold_binary <SEGMENT_START>): Set expld.result.section to
|
|
|
|
|
current section. Expand comment. Formatting.
|
|
|
|
|
(fold_name <DEFINED>): Set expld.result.section to current section.
|
|
|
|
|
|
2008-04-28 14:45:34 +02:00
|
|
|
|
2008-04-28 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Don't check LMA overflow on
|
|
|
|
|
non-load sections.
|
|
|
|
|
|
2008-04-26 03:10:55 +02:00
|
|
|
|
2008-04-25 Michael Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
|
|
|
|
|
and targ_extra_emuls to elf32bfin.
|
|
|
|
|
|
2008-04-23 18:11:47 +02:00
|
|
|
|
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
|
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-04-18 11:06:22 +02:00
|
|
|
|
2008-04-03 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
|
|
|
|
|
|
2008-04-08 08:12:32 +02:00
|
|
|
|
2008-04-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* po/POTFILES.in: Regenerate.
|
|
|
|
|
|
bfd/
* elf32-spu.c: Include libiberty.h.
(struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved,
non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script,
spu_elf_relink, auto_overlay fields.
(AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define.
(needs_ovl_stub): Flip test so that call to non-function warning
is emitted during relocate_section rather than earlier.
(spu_elf_check_vma): Stash --auto-overlay parameters, and clear
auto_overlay if no section exceeds local store.
(struct call_info): Add count, max_depth, is_pasted fields.
(struct function_info): Add rodata, last_caller, call_count,
depth, new visit flags.
(insert_callee): Increment call count.
(copy_callee): New function.
(mark_functions_via_relocs): Investigate all reloc types to count
possible function pointer stubs for --auto-overlay. Track
last_caller and increment function call_count.
(pasted_function): Insert a "call" into call info for pasted section.
(remove_cycles): Track max depth of calls. Don't emit call graph
pruning warning for --auto-overlay.
(build_call_tree): Don't transfer_calls for --auto-overlay.
Adjust remove_cycles call.
(sort_calls, sort_lib, sort_bfds): New functions.
(struct _mos_param, struct _uos_param, struct _cl_param): New.
(mark_overlay_section, unmark_overlay_section): New functions.
(collect_lib_sectios, auto_ovl_lib_functions): New functions.
(collect_overlays, find_pasted_call): New functions.
(sum_stack): Deal with is_pasted "calls". Exit before printing
when --auto-overlay.
(spu_elf_auto_overlay): New function.
(spu_elf_final_link): Call spu_elf_auto_overlay.
* elf32-spu.h (spu_elf_check_vma): Update prototype.
ld/
* emultempl/spuelf.em (auto_overlay, auto_overlay_file,
auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
(spu_before_allocation): Warn on --auto-overlay and existing overlays.
(struct tflist, clean_tmp): Move.
(new_tmp_file): New function, extracted from..
(embedded_spu_file): ..here.
(spu_elf_open_overlay_script, spu_elf_relink): New function.
(gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
Warn on --auto-overlay and zero local store.
(gld${EMULATION_NAME}_choose_target): New function to stash argv.
(OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
(PARSE_AND_LIST_LONGOPTS): Add entries for new options.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Likewise.
(LDEMUL_CHOOSE_TARGET): Define.
2008-04-08 05:26:54 +02:00
|
|
|
|
2008-04-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (auto_overlay, auto_overlay_file,
|
|
|
|
|
auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
|
|
|
|
|
(spu_before_allocation): Warn on --auto-overlay and existing overlays.
|
|
|
|
|
(struct tflist, clean_tmp): Move.
|
|
|
|
|
(new_tmp_file): New function, extracted from..
|
|
|
|
|
(embedded_spu_file): ..here.
|
|
|
|
|
(spu_elf_open_overlay_script, spu_elf_relink): New function.
|
|
|
|
|
(gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
|
|
|
|
|
Warn on --auto-overlay and zero local store.
|
|
|
|
|
(gld${EMULATION_NAME}_choose_target): New function to stash argv.
|
|
|
|
|
(OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
|
|
|
|
|
OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
|
|
|
|
|
OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Add entries for new options.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): Likewise.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Likewise.
|
|
|
|
|
(LDEMUL_CHOOSE_TARGET): Define.
|
|
|
|
|
|
2008-04-03 16:44:55 +02:00
|
|
|
|
2008-04-03 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6026
|
|
|
|
|
* pe-dll.c (make_head): Fix iat and thunk addend offset.
|
|
|
|
|
|
2008-03-31 12:19:38 +02:00
|
|
|
|
2008-03-31 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
|
2008-03-25 05:54:03 +01:00
|
|
|
|
2008-03-24 Ian Lance Taylor <iant@google.com>
|
|
|
|
|
|
|
|
|
|
The sha1 code is now in libiberty.
|
|
|
|
|
* sha1.c: Remove.
|
|
|
|
|
* sha1.h: Remove.
|
|
|
|
|
* Makefile.am (CFILES): Remove sha1.c.
|
|
|
|
|
(HFILES): Remove sha1.h.
|
|
|
|
|
(OFILES): Remove sha1.o.
|
|
|
|
|
(ld_new_SOURCES): Remove sha1.c.
|
|
|
|
|
(sha1.o): Remove target.
|
|
|
|
|
* Makefile.in: Rebuild.
|
|
|
|
|
|
2008-03-20 06:35:10 +01:00
|
|
|
|
2008-03-20 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
|
|
|
|
|
|
2008-03-17 23:17:33 +01:00
|
|
|
|
2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
|
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Likewise.
|
|
|
|
|
* Makefile.in: Likewise.
|
|
|
|
|
|
2008-03-14 05:42:44 +01:00
|
|
|
|
2008-03-14 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
|
|
|
|
|
spu_elf_build_stubs with is_spu_target.
|
|
|
|
|
|
2008-03-13 03:05:23 +01:00
|
|
|
|
2008-03-13 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Run "make dep-am".
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-03-06 13:29:52 +01:00
|
|
|
|
2008-03-06 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
Roman Zippel <zippel@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
* emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
|
|
|
|
|
(COMMONPAGESIZE): Define.
|
|
|
|
|
|
2008-02-22 15:19:43 +01:00
|
|
|
|
2008-02-22 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/5785
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Honour the setting of an
|
|
|
|
|
lma_region even if there is no vma region set, or the vma region
|
|
|
|
|
is the same as the lma region.
|
|
|
|
|
|
2008-02-18 15:53:44 +01:00
|
|
|
|
2008-02-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
|
|
|
|
|
relocatable link.
|
|
|
|
|
* scripttempl/elf32cr16.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32cr16c.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32crx.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32sh-symbian.sc: Likewise.
|
|
|
|
|
* scripttempl/elf_chaos.sc: Likewise.
|
|
|
|
|
* scripttempl/elfd10v.sc: Likewise.
|
|
|
|
|
* scripttempl/elfi370.sc: Likewise.
|
|
|
|
|
* scripttempl/elfm68hc11.sc: Likewise.
|
|
|
|
|
* scripttempl/elfm68hc12.sc: Likewise.
|
|
|
|
|
* scripttempl/ip2k.sc: Likewise.
|
|
|
|
|
* scripttempl/iq2000.sc: Likewise.
|
|
|
|
|
* scripttempl/mep.sc: Likewise.
|
|
|
|
|
* scripttempl/v850.sc: Likewise.
|
|
|
|
|
* scripttempl/xstormy16.sc: Likewise.
|
|
|
|
|
|
2008-02-16 01:06:02 +01:00
|
|
|
|
2008-02-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR ld/5761
|
|
|
|
|
* ldexp.c (fold_name <LOADADDR>): Check result of evaluating
|
|
|
|
|
load_base before calling make_abs.
|
|
|
|
|
|
2008-02-15 10:03:02 +01:00
|
|
|
|
2008-02-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/alphaelf.em (alpha_after_open): Use elf_object_id.
|
|
|
|
|
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
|
|
|
|
|
Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em (ppc_create_output_section_statements):
|
|
|
|
|
Likewise.
|
|
|
|
|
* emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete. Replace all
|
|
|
|
|
uses with..
|
|
|
|
|
(is_ppc_elf): ..this new macro.
|
|
|
|
|
|
2008-02-15 04:35:53 +01:00
|
|
|
|
2008-02-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldmain.h (output_bfd): Delete.
|
|
|
|
|
* ldmain.c (output_bfd): Delete.
|
|
|
|
|
Replace all occurrences of output_bfd with link_info.output_bfd.
|
|
|
|
|
* ldcref.c: Likewise.
|
|
|
|
|
* ldctor.c: Likewise.
|
|
|
|
|
* ldemul.c: Likewise.
|
|
|
|
|
* ldexp.c: Likewise.
|
|
|
|
|
* ldfile.c: Likewise.
|
|
|
|
|
* ldlang.c: Likewise.
|
|
|
|
|
* ldmisc.c: Likewise.
|
|
|
|
|
* ldwrite.c: Likewise.
|
|
|
|
|
* pe-dll.c: Likewise.
|
|
|
|
|
* 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/elf-generic.em: Likewise.
|
|
|
|
|
* emultempl/elf32.em: Likewise.
|
|
|
|
|
* emultempl/gld960.em: Likewise.
|
|
|
|
|
* emultempl/hppaelf.em: Likewise.
|
|
|
|
|
* emultempl/irix.em: Likewise.
|
|
|
|
|
* emultempl/linux.em: Likewise.
|
|
|
|
|
* emultempl/lnk960.em: Likewise.
|
|
|
|
|
* emultempl/m68hc1xelf.em: Likewise.
|
|
|
|
|
* emultempl/mmix-elfnmmo.em: Likewise.
|
|
|
|
|
* emultempl/mmo.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/vanilla.em: Likewise.
|
|
|
|
|
* emultempl/vxworks.em: Likewise.
|
|
|
|
|
* emultempl/xtensaelf.em: Likewise.
|
|
|
|
|
* emultempl/z80.em: Likewise.
|
|
|
|
|
* ldlang.c (open_output): Don't return output, instead write
|
|
|
|
|
link_info_output_bfd directly.
|
|
|
|
|
* emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator
|
|
|
|
|
with link_info.output_bfd->xvec.
|
|
|
|
|
* emultempl/hppaelf.em: Likewise.
|
|
|
|
|
* emultempl/ppc32elf.em: Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em: Likewise.
|
|
|
|
|
* emultempl/spuelf.em: Likewise.
|
|
|
|
|
|
2008-02-07 09:41:10 +01:00
|
|
|
|
2008-02-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (new_afile): Don't pass unadorned NULL to concat.
|
|
|
|
|
* ldfile.c (ldfile_add_library_path): Likewise.
|
|
|
|
|
* emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise.
|
|
|
|
|
* emultempl/lnk960.em (lnk960_before_parse): Likewise.
|
|
|
|
|
* emultempl/spuelf.em (embedded_spu_file): Likewise.
|
|
|
|
|
|
2008-02-07 02:26:56 +01:00
|
|
|
|
2008-02-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spu_ovl.S: Use low bit of _ovly_table.size as
|
|
|
|
|
a "present" bit rather than low bit of .buf. Correct indexing
|
|
|
|
|
into _ovly_buf_table. Use relative loads and stores to access
|
|
|
|
|
overlay manager local vars.
|
|
|
|
|
* emultempl/spu_ovl.o: Regenerate.
|
|
|
|
|
|
2008-02-04 20:43:51 +01:00
|
|
|
|
2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR 5715
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2008-02-01 18:58:48 +01:00
|
|
|
|
2008-01-31 Marc Gauthier <marc@tensilica.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (xtensa*-*-*): Recognize processor variants.
|
|
|
|
|
|
2008-01-28 17:57:22 +01:00
|
|
|
|
2008-01-28 Fabian Groffen <grobian@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (x86_64-*-solaris2): Add support for this target.
|
|
|
|
|
|
2008-01-28 12:07:44 +01:00
|
|
|
|
2008-01-28 Vincent Riviere <vincent.riviere@freesbee.fr>
|
|
|
|
|
|
|
|
|
|
PR ld/5652
|
|
|
|
|
* genscripts.sh: Check for the existence of BASH_LINENO not just
|
|
|
|
|
the BASH shell before generating line numbers in the emulation
|
|
|
|
|
file.
|
|
|
|
|
|
2008-01-28 06:59:24 +01:00
|
|
|
|
2008-01-28 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spu_ovl.S: Rewrite.
|
|
|
|
|
* emultempl/spu_ovl.o: Regenerate.
|
|
|
|
|
* emultempl/spuelf.em (toe): Delete.
|
|
|
|
|
(spu_place_special_section): Add param to control section placement.
|
|
|
|
|
Adjust callers.
|
|
|
|
|
(spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data
|
|
|
|
|
changes.
|
|
|
|
|
(spu_before_allocation): Adjust spu_elf_size_stubs call.
|
|
|
|
|
(gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call.
|
|
|
|
|
|
2008-01-25 18:34:29 +01:00
|
|
|
|
2008-01-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/5670
|
|
|
|
|
* ldlang.c (process_insert_statements): Silence gcc 4.1 alias
|
|
|
|
|
warning.
|
|
|
|
|
|
ld/
* ld.texinfo (INSERT): Describe.
* ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
(INSERT_K, AFTER, BEFORE): Add as tokens.
(ifile_p1): Handle INSERT statements.
(saved_script_handle, force_make_executable): Move to..
* ldmain.c: ..here.
(previous_script_handle): New global var.
* ldmain.h (saved_script_handle, force_make_executable): Declare.
(previous_script_handle): Likewise.
* ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
* lexsup.c (parge_args <-T>): Set previous_script_handle.
* ldlang.c (lang_for_each_statement_worker): Handle insert statement.
(map_input_to_output_sections, print_statement): Likewise.
(lang_size_sections_1, lang_do_assignments_1): Likewise.
(insert_os_after): New function, extracted from..
(lang_insert_orphan): ..here.
(process_insert_statements): New function.
(lang_process): Call it.
(lang_add_insert): New function.
* ldlang.h (lang_insert_statement_enum): New.
(lang_insert_statement_type): New.
(lang_statement_union_type): Add insert_statement.
(lang_add_insert): Declare.
ld/testsuite/
* ld-spu/ovl.lnk: Delete overlay.
* ld-spu/ovl1.lnk: New file.
* ld-spu/ovl2.lnk: New file.
* ld-spu/ovl.d: Update.
* ld-spu/ovl2.d: Update.
2008-01-25 13:03:37 +01:00
|
|
|
|
2008-01-25 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (INSERT): Describe.
|
|
|
|
|
* ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
|
|
|
|
|
(INSERT_K, AFTER, BEFORE): Add as tokens.
|
|
|
|
|
(ifile_p1): Handle INSERT statements.
|
|
|
|
|
(saved_script_handle, force_make_executable): Move to..
|
|
|
|
|
* ldmain.c: ..here.
|
|
|
|
|
(previous_script_handle): New global var.
|
|
|
|
|
* ldmain.h (saved_script_handle, force_make_executable): Declare.
|
|
|
|
|
(previous_script_handle): Likewise.
|
|
|
|
|
* ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
|
|
|
|
|
* lexsup.c (parge_args <-T>): Set previous_script_handle.
|
|
|
|
|
* ldlang.c (lang_for_each_statement_worker): Handle insert statement.
|
|
|
|
|
(map_input_to_output_sections, print_statement): Likewise.
|
|
|
|
|
(lang_size_sections_1, lang_do_assignments_1): Likewise.
|
|
|
|
|
(insert_os_after): New function, extracted from..
|
|
|
|
|
(lang_insert_orphan): ..here.
|
|
|
|
|
(process_insert_statements): New function.
|
|
|
|
|
(lang_process): Call it.
|
|
|
|
|
(lang_add_insert): New function.
|
|
|
|
|
* ldlang.h (lang_insert_statement_enum): New.
|
|
|
|
|
(lang_insert_statement_type): New.
|
|
|
|
|
(lang_statement_union_type): Add insert_statement.
|
|
|
|
|
(lang_add_insert): Declare.
|
|
|
|
|
|
2008-01-18 23:49:38 +01:00
|
|
|
|
2008-01-18 Bob Wilson <bob.wilson@acm.org>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
|
|
|
|
|
changes from elf.sc.
|
2008-05-14 08:45:42 +02:00
|
|
|
|
|
2008-01-16 02:28:21 +01:00
|
|
|
|
2008-01-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.
|
|
|
|
|
|
2008-01-16 01:31:18 +01:00
|
|
|
|
2008-01-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (lang_afile_asection_pair_statement_enum): Delete.
|
|
|
|
|
(lang_afile_asection_pair_statement_type): Delete.
|
|
|
|
|
(lang_statement_union_type): Delete afile_asection_pair_statement.
|
|
|
|
|
* ldlang.c (lang_insert_orphan): Delete case handling the above.
|
|
|
|
|
(map_input_to_output_sections, print_statement): Likewise.
|
|
|
|
|
|
2008-01-16 00:05:46 +01:00
|
|
|
|
2008-01-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
|
|
|
|
|
|
|
|
|
* emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
|
|
|
|
|
with __data_start.
|
|
|
|
|
* emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.
|
|
|
|
|
|
2008-01-15 08:25:49 +01:00
|
|
|
|
2008-01-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR 5604
|
|
|
|
|
* ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
|
|
|
|
|
syms to _bfd_elf_gc_keep.
|
|
|
|
|
* emultempl/ppc64elf.em (ppc_before_allocation): Don't call
|
|
|
|
|
ppc64_elf_edit_opd if no_opd_opt.
|
|
|
|
|
|
2008-01-11 10:11:18 +01:00
|
|
|
|
2008-01-11 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_end): Warns if the entry point is not found when
|
|
|
|
|
--gc-sections.
|
|
|
|
|
Emit an error if no root is specified when --gc-sections -r.
|
|
|
|
|
* ld.texinfo (Options): Document that --gc-sections is compatible
|
|
|
|
|
with -r and -q.
|
|
|
|
|
* ldmain.c (main): Do not error out if -r and --gc-sections.
|
|
|
|
|
* scripttempl/elf.sc: Emit ENTRY command only if relocating.
|
|
|
|
|
|
2008-01-10 15:28:49 +01:00
|
|
|
|
2008-01-10 Daniel Jacobowitz <drow@sources.redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/5533
|
|
|
|
|
* ldlang.c (lang_end): Issue a warning for a missing start symbol
|
|
|
|
|
of a shared library if the symbol was specified on the command
|
|
|
|
|
line.
|
|
|
|
|
|
2008-01-10 02:12:56 +01:00
|
|
|
|
2008-01-10 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (--gc-sections): Describe linker behaviour.
|
|
|
|
|
|
2008-01-02 22:41:02 +01:00
|
|
|
|
For older changes see ChangeLog-2007
|
1999-05-03 09:29:11 +02:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|