2014-12-24 19:37:42 +08:00
|
|
|
|
2014-12-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Exclude
|
|
|
|
|
shared libraries in loop looking for .eh_frame sections.
|
|
|
|
|
Similarly for build-id loop.
|
|
|
|
|
|
AVR/ld: Propagate link-relax elf header flag correctly.
The AVR target has an elf header flag to indicate if an object was
assembler ready for linker relaxation. If a partial link is performed
then it is important that the link-relax flag in the output object is
set correctly, otherwise, during the final link, we might try to perform
linker relaxation on code that was not assembled suitably.
As the link-relax elf header covers the entire object file we must be
conservative when setting the flag in the output object, so, for a
partial link, any input object that does not have the link-relax flag
set will cause the output object to also not have the link-relax flag
set.
This conservative approach could be softened in future, we only need to
disable the link relax flag if an input file is not marked link-relax
ready, and the input file contains a relaxable section. However, I've
left this optimisation for a later day.
For the final link I've overloaded the use of the link-relax elf header
flag, in a final executable, the flag now indicates if the executable
was built with linker relaxation on or not.
ld/ChangeLog:
* emultempl/avrelf.em: Add include of elf/avr.h.
(avr_finish): New function.
(LDEMUL_FINISH): Added.
ld/testsuite/ChangeLog:
* ld-avr/relax-elf-flags-01.d: New file.
* ld-avr/relax-elf-flags-02.d: New file.
* ld-avr/relax-elf-flags-03.d: New file.
* ld-avr/relax-elf-flags-04.d: New file.
* ld-avr/relax-elf-flags-05.d: New file.
* ld-avr/relax-elf-flags-06.d: New file.
* ld-avr/relax-elf-flags-07.d: New file.
* ld-avr/relax-elf-flags-08.d: New file.
* ld-avr/relax-elf-flags-a.s: New file.
* ld-avr/relax-elf-flags-b.s: New file.
2014-11-23 07:25:17 +08:00
|
|
|
|
2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/avrelf.em: Add include of elf/avr.h.
|
|
|
|
|
(avr_finish): New function.
|
|
|
|
|
(LDEMUL_FINISH): Added.
|
|
|
|
|
|
2014-12-22 08:41:50 +08:00
|
|
|
|
2014-12-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (update_definedness): Return false if script symbol is
|
|
|
|
|
redefining a strong symbol in an object.
|
|
|
|
|
(exp_fold_tree_1 <etree_assign>): Set up for reporting a multiple
|
|
|
|
|
definition error, but for now leave disabled.
|
|
|
|
|
|
2014-12-23 16:37:23 +08:00
|
|
|
|
2014-12-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_fold_tree_1 <etree_provide>): Test linker_def.
|
|
|
|
|
|
2014-12-22 08:19:23 +08:00
|
|
|
|
2014-12-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_fold_tree_1 <etree_provide>): Leave bfd_link_hash_common
|
|
|
|
|
symbols alone.
|
|
|
|
|
|
2014-12-22 12:13:49 +08:00
|
|
|
|
2014-12-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (update_definedness): Correct logic setting by_object.
|
|
|
|
|
|
Move support code for linker script DEFINED to ldexp.c
This moves support code for DEFINED to ldexp.c where it is used,
losing the lang_ prefix on identifiers. Two new functions are needed
to initialize and clean up to hash table, but other than that there
are no functional changes here.
* ldexp.c (struct definedness_hash_entry, definedness_table)
(definedness_newfunc, symbol_defined, update_definedness): Move
and rename from..
* ldlang.h (struct lang_definedness_hash_entry): ..here,..
* ldlang.c (lang_definedness_table, lang_definedness_newfunc)
(lang_symbol_defined, lang_update_definedness): ..and here.
* ldexp.c (ldexp_init, ldexp_finish): New functions, extracted from..
* ldlang.c (lang_init, lang_finish): ..here.
* ldexp.h (ldexp_init, ldexp_finish): Declare.
* ldlang.h (lang_symbol_defined, lang_update_definedness): Delete.
* ldmain.c (main): Call ldexp_init and ldexp_finish.
2014-12-22 08:15:13 +08:00
|
|
|
|
2014-12-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (struct definedness_hash_entry, definedness_table)
|
|
|
|
|
(definedness_newfunc, symbol_defined, update_definedness): Move
|
|
|
|
|
and rename from..
|
|
|
|
|
* ldlang.h (struct lang_definedness_hash_entry): ..here,..
|
|
|
|
|
* ldlang.c (lang_definedness_table, lang_definedness_newfunc)
|
|
|
|
|
(lang_symbol_defined, lang_update_definedness): ..and here.
|
|
|
|
|
* ldexp.c (ldexp_init, ldexp_finish): New functions, extracted from..
|
|
|
|
|
* ldlang.c (lang_init, lang_finish): ..here.
|
|
|
|
|
* ldexp.h (ldexp_init, ldexp_finish): Declare.
|
|
|
|
|
* ldlang.h (lang_symbol_defined, lang_update_definedness): Delete.
|
|
|
|
|
* ldmain.c (main): Call ldexp_init and ldexp_finish.
|
|
|
|
|
|
Don't always build coffgen.o
Removes a bunch of unused functions from libbfd when building ELF or
AOUT. Split off the bits we need externally when not building a COFF
target into coff-bfd.c and coff-bfd.h.
bfd/
* Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
and coffgen. Add coff-bfd. Sort.
(BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
* bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
(struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
* coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
without unused param. Update uses.
(bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
(bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
* libcoff-in.h: #include "coff-bfd.h".
(struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
(coff_symbol_from): Delete.
* coff-bfd.c: New file.
* coff-bfd.h: New file.
* coff-i386.c: Update coff_symbol_from occurrences.
* coff-i960.c: Likewise.
* coff-m68k.c: Likewise.
* coff-sh.c: Likewise.
* coff-x86_64.c: Likewise.
* coffcode.h: Likewise.
* pe-mips.c: Likewise.
* configure.ac (elf): Add dwarf2.lo.
(coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd
target vectors to .o files. Add dwarf2 for mach-o targets.
Fix the sh target FIXME.
* po/SRC-POTFILES.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
* bfd-in2.h: Regenerate.
* libcoff.h: Regenerate.
binutils/
* objdump.c: #include "coff-bfd.h".
ld/
* ldmisc.c: #include "coff-bfd.h"
2014-12-10 19:14:34 +08:00
|
|
|
|
2014-12-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldmisc.c: #include "coff-bfd.h"
|
|
|
|
|
|
2014-12-06 23:45:22 +08:00
|
|
|
|
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add Visium support.
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32visium.c.
|
|
|
|
|
(eelf32visium.c): New rule.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emulparams/elf32visium.sh: New file.
|
|
|
|
|
* scripttempl/visium.sc: Likewise.
|
|
|
|
|
|
2014-11-25 21:05:39 +08:00
|
|
|
|
2014-11-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf_i386.sh (TINY_READONLY_SECTION): New.
|
|
|
|
|
* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): Add .plt.got.
|
|
|
|
|
|
2014-11-25 01:14:09 +08:00
|
|
|
|
2014-11-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2014-11-24 10:11:33 +08:00
|
|
|
|
2014-11-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo: Correct --plt-align documentation.
|
|
|
|
|
* emultempl/ppc64elf.em (plt_stub_align): Delete. Use and set
|
|
|
|
|
params.plt_stub_align instead.
|
|
|
|
|
|
2014-11-18 15:52:36 +08:00
|
|
|
|
2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf_x86_64.sh (BNDPLT): Set to yes for x86_64.
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
|
|
|
|
|
"-z bndplt" if BNDPLT is yes.
|
|
|
|
|
(gld${EMULATION_NAME}_list_options): Add "-z bndplt" entry.
|
|
|
|
|
* ld.texinfo: Add description for bndplt.
|
|
|
|
|
|
2014-11-12 01:44:03 +08:00
|
|
|
|
2014-10-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
|
|
|
|
|
|
|
|
|
* avrtiny.sc: Apply avr.sc fixes.
|
|
|
|
|
|
2014-11-04 11:19:12 +08:00
|
|
|
|
2014-11-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/spu_icache.o_c: Regenerate.
|
|
|
|
|
* emultempl/spu_ovl.o_c: Regenerate.
|
|
|
|
|
|
2014-10-27 18:45:18 +08:00
|
|
|
|
2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-avr/relax-02.d: Update to check size of symbols has
|
|
|
|
|
changed.
|
|
|
|
|
* testsuite/ld-avr/relax-03.d: Likewise.
|
|
|
|
|
|
2014-10-25 22:08:14 +08:00
|
|
|
|
2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-avr/relax-02.d: New file.
|
|
|
|
|
* testsuite/ld-avr/relax-02.s: New file.
|
|
|
|
|
* testsuite/ld-avr/relax-03.d: New file.
|
|
|
|
|
* testsuite/ld-avr/relax-03.s: New file.
|
|
|
|
|
|
2014-10-30 00:34:04 +08:00
|
|
|
|
2014-10-29 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/bg.po: Updated Bulgarian translation.
|
|
|
|
|
|
2014-10-24 18:39:35 +08:00
|
|
|
|
2014-10-24 Tejas Belagod <tejas.belagod@arm.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/aarch64elf.em: Add command-line option for erratum 835769.
|
|
|
|
|
|
2014-10-17 19:07:09 +08:00
|
|
|
|
2014-10-17 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
Implement --print-sysroot in ld.
|
|
|
|
|
* ldlex.h (enum option_values): Add entry OPTION_PRINT_SYSROOT.
|
|
|
|
|
* lexsup.c (ld_options): Add entry for --print-sysroot.
|
|
|
|
|
(parse_args) <OPTION_PRINT_SYSROOT>: Print sysroot and exit early.
|
|
|
|
|
|
2014-10-16 07:08:09 +08:00
|
|
|
|
2014-10-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 17488
|
|
|
|
|
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't attempt
|
|
|
|
|
to access ELF header e_flags when not ppc64 ELF output.
|
|
|
|
|
|
2014-10-15 16:21:25 +08:00
|
|
|
|
2014-10-15 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-10-15 08:42:14 +08:00
|
|
|
|
2014-10-15 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
Allow unquoted = as the first character in ldscript input_list names
* ldlex.l (INPUTLIST): New start condition.
(comment pattern, ",", "(", ")", "AS_NEEDED")
({FILENAMECHAR1}{FILENAMECHAR}*, "-l"{FILENAMECHAR}+)
(quoted string pattern, whitespace pattern): Add INPUTLIST to
valid start conditions.
(<INPUTLIST>"="{FILENAMECHAR1}{FILENAMECHAR}*): New NAME rule.
(ldlex_inputlist): New start-condition-setter function.
* ldgram.y (input_list1): Rename from input_list. All recursive
use changed.
(input_list): New wrapper rule for input_list1, setting
INPUTLIST lexer state for the duration of parsing input_list1.
All this to say INPUT(=/path/to/file) and not be forced to use
INPUT("=/path/to/file") whenever there's a need to force a sysroot-
prefix. Still, IMHO it seems better to make use of a previously
invalid syntax and not only change the meaning of quoted =-prefixed
paths (though arguably that's not very useful before this patchset).
This got a little bit hairier than I'd expected: I had to add a new
lexer state (aka. start condition) to avoid a first "=" being lexed as
the token "=", despite that not making sense in constructs expecting
file-names in the first place. (The grammar doesn't allow for
expressions in any part of those lists.) I guess I *could* have made
it work using that token anyway, but I didn't like the idea that you
would be able to separate the "=" from the rest of the file-name with
whitespace.
2014-10-15 09:10:25 +08:00
|
|
|
|
* ldlex.l (INPUTLIST): New start condition.
|
|
|
|
|
(comment pattern, ",", "(", ")", "AS_NEEDED")
|
|
|
|
|
({FILENAMECHAR1}{FILENAMECHAR}*, "-l"{FILENAMECHAR}+)
|
|
|
|
|
(quoted string pattern, whitespace pattern): Add INPUTLIST to
|
|
|
|
|
valid start conditions.
|
|
|
|
|
(<INPUTLIST>"="{FILENAMECHAR1}{FILENAMECHAR}*): New NAME rule.
|
|
|
|
|
(ldlex_inputlist): New start-condition-setter function.
|
|
|
|
|
* ldgram.y (input_list1): Rename from input_list. All recursive
|
|
|
|
|
use changed.
|
|
|
|
|
(input_list): New wrapper rule for input_list1, setting
|
|
|
|
|
INPUTLIST lexer state for the duration of parsing input_list1.
|
2014-10-15 09:03:59 +08:00
|
|
|
|
* ldlang.c (lang_add_input_file): If the first character in the
|
|
|
|
|
filename is '=', prepend the sysroot and force the context of that
|
|
|
|
|
input file to non-sysroot.
|
2014-10-15 08:42:14 +08:00
|
|
|
|
* ld.texinfo (Options): When mentioning "=" and sysroot, mention
|
|
|
|
|
that --sysroot controls it, not only through the configuration.
|
2014-10-15 08:50:03 +08:00
|
|
|
|
(input files in linker scripts): When mentioning
|
|
|
|
|
behavior of first character "/" on scripts within sysroot, also
|
|
|
|
|
mention that effect can be forced by prefixing with "=" and
|
|
|
|
|
refer to SEARCH_DIR.
|
2014-10-15 08:42:14 +08:00
|
|
|
|
|
2014-10-14 15:49:47 +08:00
|
|
|
|
2014-10-14 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add marker for 2.25.
|
|
|
|
|
|
2014-10-13 12:48:21 +08:00
|
|
|
|
2014-10-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_add_section): Set up map_head.s and map_tail.s when
|
|
|
|
|
relocatable.
|
|
|
|
|
|
2014-09-11 14:25:05 +08:00
|
|
|
|
2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/nds32elf.em (nds32_elf_after_open): Do not keep
|
|
|
|
|
ex9 234th entry.
|
|
|
|
|
(nds32_elf_after_allocation): Move all optimizations into
|
|
|
|
|
nds32_elf_relax_section.
|
|
|
|
|
|
Add support for MIPS R6.
bfd/
* aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
* archures.c (bfd_architecture): Likewise.
* bfd-in2.h (bfd_architecture): Likewise.
(bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
BFD_RELOC_MIPS_19_PCREL_S2.
* cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
* elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
BFD_RELOC_LO16_PCREL.
* elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
and R_MIPS_PCLO16.
(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
BFD_RELOC_LO16_PCREL.
* elfn32-mips.c: Likewise.
* elfxx-mips.c (MIPSR6_P): New define.
(mipsr6_exec_plt_entry): New array.
(hi16_reloc_p): Add support for R_MIPS_PCHI16.
(lo16_reloc_p): Add support for R_MIPS_PCLO16.
(aligned_pcrel_reloc_p): New function.
(mips_elf_relocation_needs_la25_stub): Add support for relocs:
R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
(mips_elf_calculate_relocation): Add support for relocs:
R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
R_MIPS_PCHI16 and R_MIPS_PCLO16.
(_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
(mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
(_bfd_mips_elf_check_relocs): Add support for relocs:
R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
(_bfd_mips_elf_relocate_section): Add a check for unaligned
pc relative relocs.
(_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
plt entry.
(mips_set_isa_flags): Add support for mips32r6 and mips64r6.
(_bfd_mips_elf_print_private_bfd_data): Likewise.
(mips_32bit_flags_p): Add support for mips32r6.
* libbfd.h (bfd_reloc_code_real_names): Add entries for
BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
* reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
BFD_RELOC_MIPS_19_PCREL_S2.
binutils/
* readelf.c (get_machine_flags): Add support for mips32r6 and
mips64r6.
elfcpp/
* mips.h (E_MIPS_ARCH_32R6, E_MIPS_ARCH_64R6): New enum constants.
gas/
* config/tc-mips.c (mips_nan2008): New static global.
(mips_flag_nan2008): Removed.
(LL_SC_FMT): New define.
(COP12_FMT): Updated.
(ISA_IS_R6): New define.
(ISA_HAS_64BIT_REGS): Add mips64r6.
(ISA_HAS_DROR): Likewise.
(ISA_HAS_64BIT_FPRS): Add mips32r6 and mips64r6.
(ISA_HAS_ROR): Likewise.
(ISA_HAS_ODD_SINGLE_FPR): Likewise.
(ISA_HAS_MXHC1): Likewise.
(hilo_interlocks): Likewise.
(md_longopts): Likewise.
(ISA_HAS_LEGACY_NAN): New define.
(options): Add OPTION_MIPS32R6 and OPTION_MIPS64R6.
(mips_ase): Add field rem_rev.
(mips_ases): Updated to add which ISA an ASE was removed in.
(mips_isa_rev): Add support for mips32r6 and mips64r6.
(mips_check_isa_supports_ase): Add support to check if an ASE
has been removed in the specified MIPS ISA revision.
(validate_mips_insn): Skip '-' character.
(macro_build): Likewise.
(mips_check_options): Prevent R6 working with fp32, mips16,
micromips, or branch relaxation.
(file_mips_check_options): Set R6 floating point registers to
64 bit. Also deal with the nan2008 option.
(limited_pcrel_reloc_p): Add relocs: BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
BFD_RELOC_LO16_PCREL.
(operand_reg_mask): Add support for OP_SAME_RS_RT, OP_CHECK_PREV
and OP_NON_ZERO_REG.
(match_check_prev_operand): New static function.
(match_same_rs_rt_operand): New static function.
(match_non_zero_reg_operand): New static function.
(match_operand): Added entries for: OP_SAME_RS_RT, OP_CHECK_PREV
and OP_NON_ZERO_REG.
(insns_between): Added case to deal with forbidden slots.
(append_insn): Added support for relocs: BFD_RELOC_MIPS_21_PCREL_S2
and BFD_RELOC_MIPS_26_PCREL_S2.
(match_insn): Add support for operands -A, -B, +' and +". Also
skip '-' character.
(mips_percent_op): Add entries for %pcrel_hi and %pcrel_lo.
(md_parse_option): Add support for mips32r6 and mips64r6. Also
update the nan option handling.
(md_pcrel_from): Add cases for relocs: BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2.
(mips_force_relocation): Prevent forced relaxation for MIPS r6.
(md_apply_fix): Add support for relocs: BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
BFD_RELOC_LO16_PCREL.
(s_mipsset): Add support for mips32r6 and mips64r6.
(s_nan): Update to support the new nan2008 framework.
(tc_gen_reloc): Add relocs: BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
BFD_RELOC_LO16_PCREL.
(mips_elf_final_processing): Updated to use the mips_nan2008.
(mips_cpu_info_table): Add entries for mips32r6 and mips64r6.
(macro): Enable ldc2, sdc2, ll, lld, swc2, sc, scd, cache, pref
macros for R6.
(mips_fix_adjustable): Make PC relative R6 relocations relative
to the symbol and not the section.
* configure.ac: Add support for mips32r6 and mips64r6.
* configure: Regenerate.
* doc/c-mips.texi: Document the -mips32r6 and -mips64r6 command line
options.
* doc/as.texinfo: Likewise.
gas/testsuite/
* gas/mips/24k-triple-stores-1.s: If testing for r6 prevent
non-supported instructions from being tested.
* gas/mips/24k-triple-stores-2.s: Likewise.
* gas/mips/24k-triple-stores-3.s: Likewise.
* gas/mips/24k-triple-stores-6.s: Likewise.
* gas/mips/beq.s: Likewise.
* gas/mips/eva.s: Likewise.
* gas/mips/ld-zero-3.s: Likewise.
* gas/mips/mips32-cp2.s: Likewise.
* gas/mips/mips32.s: Likewise.
* gas/mips/mips4.s: Likewise.
* gas/mips/add.s: Don't test the add instructions if r6, and
add padding.
* gas/mips/add.d: Check for a triple dot not a nop at the end of the
disassembly output.
* gas/mips/micromips@add.d: Likewise.
* gas/mips/mipsr6@24k-branch-delay-1.d: New file.
* gas/mips/mipsr6@24k-triple-stores-1.d: New file.
* gas/mips/mipsr6@24k-triple-stores-2-llsc.d: New file.
* gas/mips/mipsr6@24k-triple-stores-2.d: New file.
* gas/mips/mipsr6@24k-triple-stores-3.d: New file.
* gas/mips/mipsr6@24k-triple-stores-6.d: New file.
* gas/mips/mipsr6@add.d: New file.
* gas/mips/mipsr6@attr-gnu-4-1-msingle-float.l: New file.
* gas/mips/mipsr6@attr-gnu-4-1-msingle-float.s: New file.
* gas/mips/mipsr6@attr-gnu-4-1-msoft-float.l: New file.
* gas/mips/mipsr6@attr-gnu-4-1-msoft-float.s: New file.
* gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.l: New file.
* gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.s: New file.
* gas/mips/mipsr6@beq.d: New file.
* gas/mips/mipsr6@bge.d: New file.
* gas/mips/mipsr6@bgeu.d: New file.
* gas/mips/mipsr6@blt.d: New file.
* gas/mips/mipsr6@bltu.d: New file.
* gas/mips/mipsr6@branch-misc-1.d: New file.
* gas/mips/mipsr6@branch-misc-2-64.d: New file.
* gas/mips/mipsr6@branch-misc-2pic-64.d: New file.
* gas/mips/mipsr6@branch-misc-4-64.d: New file.
* gas/mips/mipsr6@cache.d: New file.
* gas/mips/mipsr6@eva.d: New file.
* gas/mips/mipsr6@jal-svr4pic-noreorder.d: New file.
* gas/mips/mipsr6@jal-svr4pic.d: New file.
* gas/mips/mipsr6@ld-zero-2.d: New file.
* gas/mips/mipsr6@ld-zero-3.d: New file.
* gas/mips/mipsr6@loc-swap-dis.d: New file.
* gas/mips/mipsr6@mips32-cp2.d: New file.
* gas/mips/mipsr6@mips32-imm.d: New file.
* gas/mips/mipsr6@mips32.d: New file.
* gas/mips/mipsr6@mips32r2.d: New file.
* gas/mips/mipsr6@mips4-fp.d: New file.
* gas/mips/mipsr6@mips4-fp.l: New file.
* gas/mips/mipsr6@mips4-fp.s: New file.
* gas/mips/mipsr6@mips4.d: New file.
* gas/mips/mipsr6@mips5-fp.d: New file.
* gas/mips/mipsr6@mips5-fp.l: New file.
* gas/mips/mipsr6@mips5-fp.s: New file.
* gas/mips/mipsr6@mips64.d: New file.
* gas/mips/mipsr6@msa-branch.d: New file.
* gas/mips/mipsr6@msa.d: New file.
* gas/mips/mipsr6@pref.d: New file.
* gas/mips/mipsr6@relax-swap3.d: New file.
* gas/mips/r6-64-n32.d: New file.
* gas/mips/r6-64-n64.d: New file.
* gas/mips/r6-64-removed.l: New file.
* gas/mips/r6-64-removed.s: New file.
* gas/mips/r6-64.s: New file.
* gas/mips/r6-attr-none-double.d: New file.
* gas/mips/r6-n32.d: New file.
* gas/mips/r6-n64.d: New file.
* gas/mips/r6-removed.l: New file.
* gas/mips/r6-removed.s: New file.
* gas/mips/r6.d: New file.
* gas/mips/r6.s: New file.
* gas/mips/mipsr6@mips32-dsp.d: New file.
* gas/mips/mipsr6@mips32-dspr2.d: New file.
* gas/mips/mipsr6@mips32r2-ill.l: New file.
* gas/mips/mipsr6@mips32r2-ill.s: New file.
* gas/mips/cache.s: Add r6 instruction varients.
* gas/mips/mips.exp: Add support for the mips32r6 and mips64r6
architectures. Also prevent non r6 supported tests from running.
Finally, add in support for running the new r6 tests.
(run_dump_test_arch): Add support for mipsr6 tests.
(run_list_test_arch): Add support for using files of the
form arch@testname.l .
include/elf/
* mips.h: Add relocs: R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3,
R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
(E_MIPS_ARCH_32R6): New define.
(E_MIPS_ARCH_64R6): New define.
include/opcode/
* mips.h (mips_operand_type): Add new entries: OP_SAME_RS_RT,
OP_CHECK_PREV and OP_NON_ZERO_REG. Add descriptions for the MIPS R6
instruction arguments: -a, -b, -d, -s, -t, -u, -v, -w, -x, -y, -A, -B,
+I, +O, +R, +:, +\, +", +;
(mips_check_prev_operand): New struct.
(INSN2_FORBIDDEN_SLOT): New define.
(INSN_ISA32R6): New define.
(INSN_ISA64R6): New define.
(INSN_UPTO32R6): New define.
(INSN_UPTO64R6): New define.
(mips_isa_table): Add INSN_UPTO32R6 and INSN_UPTO64R6.
(ISA_MIPS32R6): New define.
(ISA_MIPS64R6): New define.
(CPU_MIPS32R6): New define.
(CPU_MIPS64R6): New define.
(cpu_is_member): Add cases for CPU_MIPS32R6, and CPU_MIPS64R6.
ld/
* ldmain.c (get_emulation): Add support for -mips32r6 and -mips64r6.
opcodes/
* mips-dis.c (mips_arch_choices): Add entries for mips32r6 and
mips64r6.
(parse_mips_dis_option): Allow MSA and virtualization support for
mips64r6.
(mips_print_arg_state): Add fields dest_regno and seen_dest.
(mips_seen_register): New function.
(print_insn_arg): Refactored code to use mips_seen_register
function. Add support for OP_SAME_RS_RT, OP_CHECK_PREV and
OP_NON_ZERO_REG. Changed OP_REPEAT_DEST_REG case to print out
the register rather than aborting.
(print_insn_args): Add length argument. Add code to correctly
calculate the instruction address for pc relative instructions.
(validate_insn_args): New static function.
(print_insn_mips): Prevent jalx disassembling for r6. Use
validate_insn_args.
(print_insn_micromips): Use validate_insn_args.
all the arguments are valid.
* mips-formats.h (PREV_CHECK): New define.
* mips-opc.c (decode_mips_operand): Add support for -a, -b, -d, -s,
-t, -u, -v, -w, -x, -y, -A, -B, +I, +O, +R, +:, +\, +", +;
(RD_pc): New define.
(FS): New define.
(I37): New define.
(I69): New define.
(mips_builtin_opcodes): Add MIPS R6 instructions. Exclude recoded
MIPS R6 instructions from MIPS R2 instructions.
2014-09-10 18:32:01 +08:00
|
|
|
|
2014-09-15 Andrew Bennett <andrew.bennett@imgtec.com>
|
|
|
|
|
Matthew Fortune <matthew.fortune@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* ldmain.c (get_emulation): Add support for -mips32r6 and -mips64r6.
|
|
|
|
|
|
2014-09-10 19:41:28 +08:00
|
|
|
|
2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add mips*-img-elf* target triple.
|
|
|
|
|
|
Change pe/coff build-id section name to '.buildid'
The section name used to store the build-id on pe/coff is arbitrary, as it's
contents should be located using the pe/coff header's DataDirectory debug data
entry, not by using the section name.
But '.build-id' is not a good choice for that section name, as it is 9
characters long, and hence truncated to 8 characters when
--disable-long-section-names is used (which is the default, when producing an
executable with no dwarf debug sections, e.g. using ld --strip-all --build-id)
This truncation then breaks 'objcopy --only-keep-debug', which does use the
section name, due to concerns that keeping an arbitrary section which contains
the debug directory is not sensible.
binutils/ChangeLog
2014-09-01 Jon TURNEY <jon.turney@dronecode.org.uk>
* objcopy.c (is_nondebug_keep_contents_section): Change pe/coff
build-id section name from '.build-id' to '.buildid'.
ld/ChangeLog
2014-09-01 Jon TURNEY <jon.turney@dronecode.org.uk>
* emultempl/pe.em (write_build_id, setup_build_id): Change pe/coff
build-id section name from '.build-id' to '.buildid'.
* emultempl/pep.em (write_build_id, setup_build_id): Ditto.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2014-08-30 22:02:49 +08:00
|
|
|
|
2014-09-01 Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
|
|
|
|
|
|
|
|
* emultempl/pe.em (write_build_id, setup_build_id): Change pe/coff
|
|
|
|
|
build-id section name from '.build-id' to '.buildid'.
|
|
|
|
|
* emultempl/pep.em (write_build_id, setup_build_id): Ditto.
|
|
|
|
|
|
2014-08-22 12:33:45 +08:00
|
|
|
|
2014-08-22 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* emulparams/armelf_fbsd.sh (TEXT_START_ADDR): Increase alignment to
|
|
|
|
|
64kB boundary like in armelf_linux.sh.
|
|
|
|
|
|
2014-08-22 07:37:35 +08:00
|
|
|
|
2014-08-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
|
|
|
|
|
bfd_elf_discard_info after generating glink .eh_frame. Delete
|
|
|
|
|
redundant test on ppc64_elf_setup_section_lists status.
|
|
|
|
|
|
2014-08-21 03:17:18 +08:00
|
|
|
|
2014-08-20 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/armelf.em (OPTION_STUBGROUP_SIZE): Fix formatting.
|
|
|
|
|
(OPTION_NO_MERGE_EXIDX_ENTRIES, OPTION_LONG_PLT): Likewise.
|
|
|
|
|
|
2014-08-04 17:52:04 +08:00
|
|
|
|
2014-08-20 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Default armeb-*-eabi* to big endian.
|
|
|
|
|
|
2014-08-20 23:10:29 +08:00
|
|
|
|
2014-08-20 Daniel Micay <danielmicay@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/pep.em: Add --high-entropy-va switch.
|
|
|
|
|
* ld.texinfo: Document the --high-entropy-va switch.
|
|
|
|
|
|
2014-08-20 17:34:58 +08:00
|
|
|
|
2014-08-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/DWARF.sc: Add copyright notice.
|
|
|
|
|
* scripttempl/aix.sc: Likewise.
|
|
|
|
|
* scripttempl/alpha.sc: Likewise.
|
|
|
|
|
* scripttempl/alphavms.sc: Likewise.
|
|
|
|
|
* scripttempl/aout.sc: Likewise.
|
|
|
|
|
* scripttempl/armaout.sc: Likewise.
|
|
|
|
|
* scripttempl/armbpabi.sc: Likewise.
|
|
|
|
|
* scripttempl/armcoff.sc: Likewise.
|
|
|
|
|
* scripttempl/avr.sc: Likewise.
|
|
|
|
|
* scripttempl/avrtiny.sc: Likewise.
|
|
|
|
|
* scripttempl/crisaout.sc: Likewise.
|
|
|
|
|
* scripttempl/delta68.sc: Likewise.
|
|
|
|
|
* scripttempl/dlx.sc: Likewise.
|
|
|
|
|
* scripttempl/elf.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32cr16.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32cr16c.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32crx.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32msp430.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32msp430_3.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32sh-symbian.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32xc16x.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32xc16xl.sc: Likewise.
|
|
|
|
|
* scripttempl/elf32xc16xs.sc: Likewise.
|
|
|
|
|
* scripttempl/elf64hppa.sc: Likewise.
|
|
|
|
|
* scripttempl/elf_chaos.sc: Likewise.
|
|
|
|
|
* scripttempl/elfd10v.sc: Likewise.
|
|
|
|
|
* scripttempl/elfd30v.sc: Likewise.
|
|
|
|
|
* scripttempl/elfi370.sc: Likewise.
|
|
|
|
|
* scripttempl/elfm68hc11.sc: Likewise.
|
|
|
|
|
* scripttempl/elfm68hc12.sc: Likewise.
|
|
|
|
|
* scripttempl/elfmicroblaze.sc: Likewise.
|
|
|
|
|
* scripttempl/elfxgate.sc: Likewise.
|
|
|
|
|
* scripttempl/elfxtensa.sc: Likewise.
|
|
|
|
|
* scripttempl/epiphany_4x4.sc: Likewise.
|
|
|
|
|
* scripttempl/epocpe.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300h.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300hn.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300s.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300sn.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300sx.sc: Likewise.
|
|
|
|
|
* scripttempl/h8300sxn.sc: Likewise.
|
|
|
|
|
* scripttempl/h8500.sc: Likewise.
|
|
|
|
|
* scripttempl/h8500b.sc: Likewise.
|
|
|
|
|
* scripttempl/h8500c.sc: Likewise.
|
|
|
|
|
* scripttempl/h8500m.sc: Likewise.
|
|
|
|
|
* scripttempl/h8500s.sc: Likewise.
|
|
|
|
|
* scripttempl/hppaelf.sc: Likewise.
|
|
|
|
|
* scripttempl/i386beos.sc: Likewise.
|
|
|
|
|
* scripttempl/i386coff.sc: Likewise.
|
|
|
|
|
* scripttempl/i386go32.sc: Likewise.
|
|
|
|
|
* scripttempl/i386msdos.sc: Likewise.
|
|
|
|
|
* scripttempl/i860coff.sc: Likewise.
|
|
|
|
|
* scripttempl/i960.sc: Likewise.
|
|
|
|
|
* scripttempl/ia64vms.sc: Likewise.
|
|
|
|
|
* scripttempl/ip2k.sc: Likewise.
|
|
|
|
|
* scripttempl/iq2000.sc: Likewise.
|
|
|
|
|
* scripttempl/m68kaux.sc: Likewise.
|
|
|
|
|
* scripttempl/m68kcoff.sc: Likewise.
|
|
|
|
|
* scripttempl/m88kbcs.sc: Likewise.
|
|
|
|
|
* scripttempl/mcorepe.sc: Likewise.
|
|
|
|
|
* scripttempl/mep.sc: Likewise.
|
|
|
|
|
* scripttempl/mips.sc: Likewise.
|
|
|
|
|
* scripttempl/mipsbsd.sc: Likewise.
|
|
|
|
|
* scripttempl/mmo.sc: Likewise.
|
|
|
|
|
* scripttempl/moxie.sc: Likewise.
|
|
|
|
|
* scripttempl/nds32elf.sc: Likewise.
|
|
|
|
|
* scripttempl/nw.sc: Likewise.
|
|
|
|
|
* scripttempl/pe.sc: Likewise.
|
|
|
|
|
* scripttempl/pep.sc: Likewise.
|
|
|
|
|
* scripttempl/pj.sc: Likewise.
|
|
|
|
|
* scripttempl/ppcpe.sc: Likewise.
|
|
|
|
|
* scripttempl/psos.sc: Likewise.
|
|
|
|
|
* scripttempl/riscix.sc: Likewise.
|
|
|
|
|
* scripttempl/sh.sc: Likewise.
|
|
|
|
|
* scripttempl/sparccoff.sc: Likewise.
|
|
|
|
|
* scripttempl/st2000.sc: Likewise.
|
|
|
|
|
* scripttempl/tic30aout.sc: Likewise.
|
|
|
|
|
* scripttempl/tic30coff.sc: Likewise.
|
|
|
|
|
* scripttempl/tic4xcoff.sc: Likewise.
|
|
|
|
|
* scripttempl/tic54xcoff.sc: Likewise.
|
|
|
|
|
* scripttempl/tic80coff.sc: Likewise.
|
|
|
|
|
* scripttempl/v850.sc: Likewise.
|
|
|
|
|
* scripttempl/v850_rh850.sc: Likewise.
|
|
|
|
|
* scripttempl/vanilla.sc: Likewise.
|
|
|
|
|
* scripttempl/w65.sc: Likewise.
|
|
|
|
|
* scripttempl/xstormy16.sc: Likewise.
|
|
|
|
|
* scripttempl/z80.sc: Likewise.
|
|
|
|
|
* scripttempl/z8000.sc: Likewise.
|
|
|
|
|
|
2014-08-19 20:29:56 +08:00
|
|
|
|
2014-08-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-08-18 13:13:03 +08:00
|
|
|
|
2014-08-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (--as-needed): Clarify that references from libraries
|
|
|
|
|
must be from needed libraries.
|
|
|
|
|
|
2014-08-18 08:03:35 +08:00
|
|
|
|
2014-08-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/aarch64elf.em (gld${EMULATION_NAME}_after_allocation):
|
|
|
|
|
Handle error status from bfd_elf_discard_info.
|
|
|
|
|
* emultempl/armelf.em: Likewise.
|
|
|
|
|
* emultempl/elf32.em: Likewise.
|
|
|
|
|
* emultempl/hppaelf.em: Likewise.
|
|
|
|
|
* emultempl/metagelf.em: Likewise.
|
|
|
|
|
* emultempl/nios2elf.em: Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em: Likewise.
|
|
|
|
|
* emultempl/tic6xdsbt.em: Likewise.
|
|
|
|
|
* emultempl/vms.em: Likewise.
|
|
|
|
|
|
2014-08-14 12:19:31 +08:00
|
|
|
|
2014-08-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 16563
|
|
|
|
|
* ldlang.c (map_head_is_link_order): Rename from
|
|
|
|
|
stripped_excluded_sections.
|
|
|
|
|
(lang_clear_os_map): New function, extracted from..
|
|
|
|
|
(strip_excluded_output_sections): ..here.
|
|
|
|
|
* ldlang.h (lang_clear_os_map): Declare.
|
|
|
|
|
* ldwrite.c (ldwrite): Call lang_clear_os_map.
|
|
|
|
|
* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2014-08-14 12:16:09 +08:00
|
|
|
|
2014-08-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Move AC_PROG_CC and other macros earlier. Delete
|
|
|
|
|
plugin checks now done in config/plugins.m4.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-08-14 09:13:41 +08:00
|
|
|
|
2014-08-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
|
|
|
|
|
flags.claimed.
|
|
|
|
|
|
2014-08-13 18:43:28 +08:00
|
|
|
|
2014-08-13 Yaakov Selkowitz <yselkowi@redhat.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (autofilter_entry_type autofilter_symbollist_i386): Add
|
|
|
|
|
__dso_handle.
|
|
|
|
|
|
2014-08-13 06:02:21 +08:00
|
|
|
|
2014-08-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (open_input_bfds): Don't use bfd_elf_get_dyn_lib_class.
|
|
|
|
|
|
2014-08-12 17:59:33 +08:00
|
|
|
|
2014-08-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (struct lang_input_statement_flags): Don't make "reload"
|
|
|
|
|
field conditional on ENABLE_PLUGINS.
|
|
|
|
|
* ldlang.c (open_input_bfds): Expand plugin_should_reload.
|
|
|
|
|
* plugin.h (plugin_should_reload): Delete.
|
|
|
|
|
* plugin.c (plugin_should_reload): Delete.
|
|
|
|
|
|
2014-08-12 09:13:33 +08:00
|
|
|
|
2014-08-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldmain.c (notice): Update args.
|
|
|
|
|
* plugin.c (plugin_notice): Likewise. Follow warning sym link.
|
|
|
|
|
Handle new indirect symbol.
|
|
|
|
|
|
2014-08-12 09:38:26 +08:00
|
|
|
|
2014-08-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* plugin.c (plugin_load_plugins): Set link_info.lto_plugin_active.
|
|
|
|
|
|
2014-08-09 08:26:41 +08:00
|
|
|
|
2014-08-08 Ulrich Drepper <drepper@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (struct lang_input_statement_flags): Add pushed
|
|
|
|
|
member.
|
|
|
|
|
* ldlex.h (enum option_values): Add OPTION_PUSH_STATE and
|
|
|
|
|
OPTION_POP_STATE.
|
|
|
|
|
* lexsup.c (ld_options): Add entries for --push-state and
|
|
|
|
|
--pop-state.
|
|
|
|
|
(parse_args): Handle OPTION_PUSH_STATE and OPTION_POP_STATE.
|
|
|
|
|
* ld.texinfo: Document --push-state and --pop-state.
|
|
|
|
|
|
2014-08-06 11:59:38 +08:00
|
|
|
|
2014-08-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR14918
|
|
|
|
|
* plugin.c (plugin_opt_plugin_arg): Drop --pass-through.
|
|
|
|
|
|
2014-08-05 09:54:42 +08:00
|
|
|
|
2014-08-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
[MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions
Specification:
https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking
include/
* elf/mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define.
(Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64.
(Val_GNU_MIPS_ABI_FP_64): Redefine.
(Val_GNU_MIPS_ABI_FP_XX): Define.
(Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures.
(AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define.
(AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise.
(AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise.
(AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise.
(AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise.
(AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise.
(AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise.
(AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise.
(AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise.
(AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise.
(AFL_EXT_LOONGSON_2F): Likewise.
(bfd_mips_elf_swap_abiflags_v0_in): Prototype.
(bfd_mips_elf_swap_abiflags_v0_out): Likewise.
(bfd_mips_isa_ext): Likewise.
bfd/
* elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
(mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
(bfd_mips_elf_swap_abiflags_v0_in): New function.
(bfd_mips_elf_swap_abiflags_v0_out): Likewise.
(_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
(_bfd_mips_elf_fake_sections): Likewise.
(_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
(_bfd_mips_elf_additional_program_headers): Account for new
PT_MIPS_ABIFLAGS program header.
(_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
associate with .MIPS.abiflags.
(_bfd_mips_elf_gc_mark_extra_sections): New function.
(bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
(infer_mips_abiflags): Likewise.
(_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
(mips_32bit_flags_p): Moved higher.
(mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
checking for FP ABIs.
(_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
checks. Check EF_MIPS_FP64 flag consistency.
(print_mips_ases, print_mips_isa_ext): New static function.
(print_mips_fp_abi_value, get_mips_reg_size): Likewise.
(_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
(_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
* elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
* elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
* elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
* elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
binutils/
* readelf.c (get_mips_segment_type): Display name for PT_MIPS_ABIFLAGS.
(get_mips_section_type_name): Display name for SHT_MIPS_ABIFLAGS.
(display_mips_gnu_attribute): Abstracted fp abi printing to...
(print_mips_fp_abi_value): New static function. Handle new FP ABIs.
(print_mips_ases, print_mips_isa_ext): New static functions.
(get_mips_reg_size): Likewise.
(process_mips_specific): Display abiflags data.
elfcpp/
* elfcpp.h (PT_MIPS_ABIFLAGS): New program header type.
gas/
* config/tc-mips.c (mips_flags_frag): New static global.
(struct mips_set_options): Add oddspreg field.
(file_mips_opts, mips_opts): Initialize oddspreg.
(ISA_HAS_ODD_SINGLE_FPR): Add CPU argument and update for R5900 and
Loongson-3a.
(enum options, md_longopts, md_parse_option): Add -mfpxx, -modd-spreg
and -mno-odd-spreg options.
(md_begin): Create .MIPS.abiflags section.
(fpabi_incompatible_with, fpabi_requires): New static function.
(check_fpabi): Likewise.
(mips_check_options): Handle fp=xx and oddspreg restrictions.
(file_mips_check_options): Set oddspreg by default for fp=xx.
(mips_oddfpreg_ok): Re-write function.
(check_regno): Check odd numbered registers regardless of FPR size.
For fp != 32 use as_bad instead of as_warn.
(match_float_constant): Rewrite check regarding FP register width. Add
support for generating constants when MXHC1 is present. Handle fp=xx
to comply with the ABI.
(macro): Update M_LI_DD similarly to match_float_constant. Generate
MTHC1 when available. Check that correct code can be generated for
fp=xx and fp=64 ABIs.
(parse_code_option, s_mipsset): Add fp=xx, oddspreg and nooddspreg
options.
(mips_convert_ase_flags): New static function.
(mips_elf_final_processing): Use fpabi == Val_GNU_MIPS_ABI_FP_OLD_64
to determine when to add the EF_MIPS_FP64 flag. Populate the
.MIPS.abiflags section.
(md_mips_end): Update .gnu_attribute based on command line and .module
as applicable. Use check_fpabi to ensure .gnu.attribute and command
line/.module options are consistent.
* doc/as.texinfo: Add missing -mgp64/-mfp64 options and document new
-mfpxx, -modd-spreg and -mno-odd-spreg options.
* doc/c-mips.texi: Document -mfpxx, -modd-spreg, -mno-odd-spreg,
gnu_attribute values and FP ABIs.
ld/
* emulparams/elf32bmip.sh: Add .MIPS.abiflags.
* emulparams/elf32bmipn32-defs.sh: Likewise.
* emulparams/elf64bmip-defs.sh: Likewise.
opcodes/
* micromips-opc.c (COD, LCD) New macros.
(cfc1, ctc1): Remove FP_S attribute.
(dmfc1, mfc1, mfhc1): Add LCD attribute.
(dmtc1, mtc1, mthc1): Add COD attribute.
* mips-opc.c (cfc1, cftc1, ctc, cttc1): Remove FP_S attribute.
binutils/testsuite/
* binutils-all/readelf.s: Account for .MIPS.abiflags and
.gnu.attributes.
* binutils-all/readelf.ss-tmips: Likewise.
* binutils-all/strip-3.d: Likewise.
gas/testsuite/
* gas/mips/attr-gnu-4-0.d: New.
* gas/mips/attr-gnu-4-0.s: Likewise.
* gas/mips/attr-gnu-4-1-mfp32.l: Likewise.
* gas/mips/attr-gnu-4-1-mfp32.s: Likewise.
* gas/mips/attr-gnu-4-1-mfp64.l: Likewise.
* gas/mips/attr-gnu-4-1-mfp64.s: Likewise.
* gas/mips/attr-gnu-4-1-mfpxx.s: Likewise.
* gas/mips/attr-gnu-4-1-msingle-float.l: Likewise.
* gas/mips/attr-gnu-4-1-msingle-float.s: Likewise.
* gas/mips/attr-gnu-4-1-msoft-float.l: Likewise.
* gas/mips/attr-gnu-4-1-msoft-float.s: Likewise.
* gas/mips/attr-gnu-4-1.d: Likewise.
* gas/mips/attr-gnu-4-1.s: Likewise.
* gas/mips/attr-gnu-4-2-mdouble-float.l: Likewise.
* gas/mips/attr-gnu-4-2-mdouble-float.s: Likewise.
* gas/mips/attr-gnu-4-2-msoft-float.l: Likewise.
* gas/mips/attr-gnu-4-2-msoft-float.s: Likewise.
* gas/mips/attr-gnu-4-2.d: Likewise.
* gas/mips/attr-gnu-4-2.s: Likewise.
* gas/mips/attr-gnu-4-3-mhard-float.l: Likewise.
* gas/mips/attr-gnu-4-3-mhard-float.s: Likewise.
* gas/mips/attr-gnu-4-3.d: Likewise.
* gas/mips/attr-gnu-4-3.s: Likewise.
* gas/mips/attr-gnu-4-4.l: Likewise.
* gas/mips/attr-gnu-4-4.s: Likewise.
* gas/mips/attr-gnu-4-5-64.l: Likewise.
* gas/mips/attr-gnu-4-5-64.s: Likewise.
* gas/mips/attr-gnu-4-5.d: Likewise.
* gas/mips/attr-gnu-4-5.l: Likewise.
* gas/mips/attr-gnu-4-5.s: Likewise.
* gas/mips/attr-gnu-4-6-64.l: Likewise.
* gas/mips/attr-gnu-4-6-64.s: Likewise.
* gas/mips/attr-gnu-4-6.d: Likewise.
* gas/mips/attr-gnu-4-6.l: Likewise.
* gas/mips/attr-gnu-4-6.s: Likewise.
* gas/mips/attr-gnu-4-6-msingle-float.l: Likewise.
* gas/mips/attr-gnu-4-6-msingle-float.s: Likewise.
* gas/mips/attr-gnu-4-6-msoft-float.l: Likewise.
* gas/mips/attr-gnu-4-6-msoft-float.s: Likewise.
* gas/mips/attr-gnu-4-6-noodd.l: Likewise.
* gas/mips/attr-gnu-4-6-noodd.s: Likewise.
* gas/mips/attr-gnu-4-7-64.l: Likewise.
* gas/mips/attr-gnu-4-7-64.s: Likewise.
* gas/mips/attr-gnu-4-7-msingle-float.l: Likewise.
* gas/mips/attr-gnu-4-7-msingle-float.s: Likewise.
* gas/mips/attr-gnu-4-7-msoft-float.l: Likewise.
* gas/mips/attr-gnu-4-7-msoft-float.s: Likewise.
* gas/mips/attr-gnu-4-7-odd.l: Likewise.
* gas/mips/attr-gnu-4-7-odd.s: Likewise.
* gas/mips/attr-gnu-4-7.d: Likewise.
* gas/mips/attr-gnu-4-7.l: Likewise.
* gas/mips/attr-gnu-4-7.s: Likewise.
* gas/mips/attr-none-double.d: Likewise.
* gas/mips/attr-none-o32-fp64.d: Likewise.
* gas/mips/attr-none-o32-fp64-nooddspreg.d
* gas/mips/attr-none-o32-fpxx.d: Likewise.
* gas/mips/attr-none-single-float.d: Likewise.
* gas/mips/attr-none-soft-float.d: Likewise.
* gas/mips/elf_arch_mips32r3.d: Likewise.
* gas/mips/elf_arch_mips32r5.d: Likewise.
* gas/mips/elf_arch_mips64r3.d: Likewise.
* gas/mips/elf_arch_mips64r5.d: Likewise.
* gas/mips/li-d.d: Likewise.
* gas/mips/li-d.s: Likewise.
* gas/mips/module-check-warn.l: Likewise.
* gas/mips/module-check-warn.s: Likewise.
* gas/mips/module-check.d: Likewise.
* gas/mips/module-check.s: Likewise.
* gas/mips/module-mfp32.d: Likewise.
* gas/mips/module-mfp32.s: Likewise.
* gas/mips/module-mfp64.d: Likewise.
* gas/mips/module-mfp64.s: Likewise.
* gas/mips/module-mfp64-noodd.d: Likewise.
* gas/mips/module-mfp64-noodd.s: Likewise.
* gas/mips/module-mfpxx.d: Likewise.
* gas/mips/module-mfpxx.s: Likewise.
* gas/mips/module-msingle-float.d: Likewise.
* gas/mips/module-msingle-float.s: Likewise.
* gas/mips/module-msoft-float.d: Likewise.
* gas/mips/module-msoft-float.s: Likewise.
* gas/mips/module-set-mfpxx.d: Likewise.
* gas/mips/module-set-mfpxx.s: Likewise.
* gas/mips/fpxx-oddfpreg.d: Likewise.
* gas/mips/fpxx-oddfpreg.l: Likewise.
* gas/mips/fpxx-oddfpreg.s: Likewise.
* gas/mips/no-odd-spreg.d: Likewise.
* gas/mips/odd-spreg.d: Likewise.
* gas/elf/section2.e-mips: Adjust expected output.
* gas/mips/attr-gnu-abi-fp-1.d: Likewise.
* gas/mips/attr-gnu-abi-msa-1.d: Likewise.
* gas/mips/call-nonpic-1.d: Likewise.
* gas/mips/elf_arch_mips1.d: Likewise.
* gas/mips/elf_arch_mips2.d: Likewise.
* gas/mips/elf_arch_mips3.d: Likewise.
* gas/mips/elf_arch_mips32.d: Likewise.
* gas/mips/elf_arch_mips32r2.d: Likewise.
* gas/mips/elf_arch_mips4.d: Likewise.
* gas/mips/elf_arch_mips5.d: Likewise.
* gas/mips/elf_arch_mips64.d: Likewise.
* gas/mips/elf_arch_mips64r2.d: Likewise.
* gas/mips/elf_ase_micromips-2.d: Likewise.
* gas/mips/elf_ase_micromips.d: Likewise.
* gas/mips/elf_ase_mips16-2.d: Likewise.
* gas/mips/elf_ase_mips16.d: Likewise.
* gas/mips/module-defer-warn1.d: Likewise.
* gas/mips/module-override.d: Likewise.
* gas/mips/n32-consec.d: Likewise.
* gas/mips/nan-2008-1.d: Likewise.
* gas/mips/nan-2008-2.d: Likewise.
* gas/mips/nan-2008-3.d: Likewise.
* gas/mips/nan-2008-4.d: Likewise.
* gas/mips/nan-legacy-1.d: Likewise.
* gas/mips/nan-legacy-2.d: Likewise.
* gas/mips/nan-legacy-3.d: Likewise.
* gas/mips/nan-legacy-4.d: Likewise.
* gas/mips/nan-legacy-5.d: Likewise.
* gas/mips/tmips16-e.d: Likewise.
* gas/mips/tmips16-f.d: Likewise.
* gas/mips/tmipsel16-e.d: Likewise.
* gas/mips/tmipsel16-f.d: Likewise.
* gas/testsuite/gas/mips/mips.exp: Add new tests.
ld/testsuite/
* ld-mips-elf/abiflags-strip1-ph.d: New.
* ld-mips-elf/abiflags-strip2-ph.d: Likewise.
* ld-mips-elf/abiflags-strip3-ph.d: Likewise.
* ld-mips-elf/abiflags-strip4-ph.d: Likewise.
* ld-mips-elf/abiflags-strip5-ph.d: Likewise.
* ld-mips-elf/abiflags-strip6-ph.d: Likewise.
* ld-mips-elf/abiflags-strip7-ph.d: Likewise.
* ld-mips-elf/abiflags-strip8-ph.d: Likewise.
* ld-mips-elf/abiflags-strip9-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-0-n32-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-0-n64-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-0-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-06.d: Likewise.
* ld-mips-elf/attr-gnu-4-07.d: Likewise.
* ld-mips-elf/attr-gnu-4-08.d: Likewise.
* ld-mips-elf/attr-gnu-4-1-n32-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-1-n64-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-1-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-16.d: Likewise.
* ld-mips-elf/attr-gnu-4-17.d: Likewise.
* ld-mips-elf/attr-gnu-4-18.d: Likewise.
* ld-mips-elf/attr-gnu-4-2-n32-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-2-n64-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-2-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-26.d: Likewise.
* ld-mips-elf/attr-gnu-4-27.d: Likewise.
* ld-mips-elf/attr-gnu-4-28.d: Likewise.
* ld-mips-elf/attr-gnu-4-3-n32-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-3-n64-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-3-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-36.d: Likewise.
* ld-mips-elf/attr-gnu-4-37.d: Likewise.
* ld-mips-elf/attr-gnu-4-38.d: Likewise.
* ld-mips-elf/attr-gnu-4-4-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-46.d: Likewise.
* ld-mips-elf/attr-gnu-4-47.d: Likewise.
* ld-mips-elf/attr-gnu-4-48.d: Likewise.
* ld-mips-elf/attr-gnu-4-5-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-50.d: Likewise.
* ld-mips-elf/attr-gnu-4-52.d: Likewise.
* ld-mips-elf/attr-gnu-4-53.d: Likewise.
* ld-mips-elf/attr-gnu-4-54.d: Likewise.
* ld-mips-elf/attr-gnu-4-55.d: Likewise.
* ld-mips-elf/attr-gnu-4-56.d: Likewise.
* ld-mips-elf/attr-gnu-4-57.d: Likewise.
* ld-mips-elf/attr-gnu-4-58.d: Likewise.
* ld-mips-elf/attr-gnu-4-6-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-6.s: Likewise.
* ld-mips-elf/attr-gnu-4-60.d: Likewise.
* ld-mips-elf/attr-gnu-4-61.d: Likewise.
* ld-mips-elf/attr-gnu-4-62.d: Likewise.
* ld-mips-elf/attr-gnu-4-63.d: Likewise.
* ld-mips-elf/attr-gnu-4-64.d: Likewise.
* ld-mips-elf/attr-gnu-4-65.d: Likewise.
* ld-mips-elf/attr-gnu-4-66.d: Likewise.
* ld-mips-elf/attr-gnu-4-67.d: Likewise.
* ld-mips-elf/attr-gnu-4-68.d: Likewise.
* ld-mips-elf/attr-gnu-4-7-ph.d: Likewise.
* ld-mips-elf/attr-gnu-4-7.s: Likewise.
* ld-mips-elf/attr-gnu-4-70.d: Likewise.
* ld-mips-elf/attr-gnu-4-71.d: Likewise.
* ld-mips-elf/attr-gnu-4-72.d: Likewise.
* ld-mips-elf/attr-gnu-4-73.d: Likewise.
* ld-mips-elf/attr-gnu-4-74.d: Likewise.
* ld-mips-elf/attr-gnu-4-75.d: Likewise.
* ld-mips-elf/attr-gnu-4-76.d: Likewise.
* ld-mips-elf/attr-gnu-4-77.d: Likewise.
* ld-mips-elf/attr-gnu-4-78.d: Likewise.
* ld-mips-elf/attr-gnu-4-8.s: Likewise.
* ld-mips-elf/attr-gnu-4-81.d: Likewise.
* ld-mips-elf/empty.s: Likewise.
* ld-mips-elf/attr-gnu-4-00.d: Adjust expected output.
* ld-mips-elf/attr-gnu-4-01.d: Likewise.
* ld-mips-elf/attr-gnu-4-02.d: Likewise.
* ld-mips-elf/attr-gnu-4-03.d: Likewise.
* ld-mips-elf/attr-gnu-4-04.d: Likewise.
* ld-mips-elf/attr-gnu-4-05.d: Likewise.
* ld-mips-elf/attr-gnu-4-10.d: Likewise.
* ld-mips-elf/attr-gnu-4-11.d: Likewise.
* ld-mips-elf/attr-gnu-4-14.d: Likewise.
* ld-mips-elf/attr-gnu-4-15.d: Likewise.
* ld-mips-elf/attr-gnu-4-2.s: Likewise.
* ld-mips-elf/attr-gnu-4-20.d: Likewise.
* ld-mips-elf/attr-gnu-4-22.d: Likewise.
* ld-mips-elf/attr-gnu-4-24.d: Likewise.
* ld-mips-elf/attr-gnu-4-25.d: Likewise.
* ld-mips-elf/attr-gnu-4-3.s: Likewise.
* ld-mips-elf/attr-gnu-4-30.d: Likewise.
* ld-mips-elf/attr-gnu-4-33.d: Likewise.
* ld-mips-elf/attr-gnu-4-34.d: Likewise.
* ld-mips-elf/attr-gnu-4-35.d: Likewise.
* ld-mips-elf/attr-gnu-4-40.d: Likewise.
* ld-mips-elf/attr-gnu-4-41.d: Likewise.
* ld-mips-elf/attr-gnu-4-42.d: Likewise.
* ld-mips-elf/attr-gnu-4-43.d: Likewise.
* ld-mips-elf/attr-gnu-4-44.d: Likewise.
* ld-mips-elf/attr-gnu-4-45.d: Likewise.
* ld-mips-elf/attr-gnu-4-5.s: Likewise.
* ld-mips-elf/attr-gnu-4-51.d: Likewise.
* ld-mips-elf/attr-gnu-8-00.d: Likewise.
* ld-mips-elf/attr-gnu-8-01.d: Likewise.
* ld-mips-elf/attr-gnu-8-02.d: Likewise.
* ld-mips-elf/attr-gnu-8-10.d: Likewise.
* ld-mips-elf/attr-gnu-8-11.d: Likewise.
* ld-mips-elf/attr-gnu-8-20.d: Likewise.
* ld-mips-elf/attr-gnu-8-22.d: Likewise.
* ld-mips-elf/jalx-2.dd: Likewise.
* ld-mips-elf/mips16-pic-1.gd: Likewise.
* ld-mips-elf/mips16-pic-2.gd: Likewise.
* ld-mips-elf/mips16-pic-3.gd: Likewise.
* ld-mips-elf/mips16-pic-4a.gd: Likewise.
* ld-mips-elf/multi-got-no-shared.d: Likewise.
* ld-mips-elf/nan-2008.d: Likewise.
* ld-mips-elf/nan-legacy.d: Rework test.
* ld-mips-elf/pic-and-nonpic-3a.gd: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.gd: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.gd: Likewise.
* ld-mips-elf/pic-and-nonpic-6.ld: Likewise.
* ld-mips-elf/rel32-n32.d: Likewise.
* ld-mips-elf/rel32-o32.d: Likewise.
* ld-mips-elf/rel64.d: Likewise.
* ld-mips-elf/tls-multi-got-1.r: Likewise.
* ld-elf/group.ld: Discard .MIPS.abiflags and .gnu.attributes.
* ld-elf/orphan-region.ld: Likewise.
* ld-elf/orphan.ld: Likewise.
* ld-mips-elf/compressed-plt-1.ld: Likewise.
* ld-mips-elf/dyn-sec64.ld: Likewise.
* ld-mips-elf/got-dump-1.ld: Likewise.
* ld-mips-elf/got-dump-2.ld: Likewise.
* ld-mips-elf/got-page-1.ld: Likewise.
* ld-mips-elf/mips-dyn.ld: Likewise.
* ld-mips-elf/mips-lib.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-3a.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-4b.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.ld: Likewise.
* ld-mips-elf/region1.t: Likewise.
* ld-mips-elf/stub-dynsym-1.ld: Likewise.
* ld-mips-elf/tls-hidden3.ld: Likewise.
* ld-mips-elf/vxworks1.ld: Likewise.
* ld-scripts/overlay-size.t: Likewise.
* ld-mips-elf/elf-rel-got-n32-embed.d: Remove .MIPS.abiflags from
objects.
* ld-mips-elf/elf-rel-got-n32.d: Likewise.
* ld-mips-elf/elf-rel-got-n64-embed.d: Likewise.
* ld-mips-elf/elf-rel-got-n64-linux.d: Likewise.
* ld-mips-elf/elf-rel-got-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
* ld-mips-elf/mips-elf.exp: Add new tests.
2014-07-29 18:27:59 +08:00
|
|
|
|
2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32bmip.sh: Add .MIPS.abiflags.
|
|
|
|
|
* emulparams/elf32bmipn32-defs.sh: Likewise.
|
|
|
|
|
* emulparams/elf64bmip-defs.sh: Likewise.
|
|
|
|
|
|
2014-07-27 20:51:20 +08:00
|
|
|
|
2014-07-27 Anthony Green <green@moxielogic.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add moxiebox support.
|
|
|
|
|
(emoxiebox.c): Build.
|
|
|
|
|
* configure.tgt (targ_extra_ofiles): Add moxie-*-moxiebox*.
|
|
|
|
|
* emulparams/moxiebox.sh (TEXT_START_ADDR): New file.
|
|
|
|
|
* Makefile.in: Rebuilt.
|
|
|
|
|
|
2014-07-17 05:25:20 +08:00
|
|
|
|
2014-07-17 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32or1k_linux.sh (TEXT_START_ADDR): Increase from
|
|
|
|
|
0x0 to first page boundary at 0x2000.
|
|
|
|
|
|
2014-07-10 05:47:33 +08:00
|
|
|
|
2014-07-10 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/xtensaelf.em (is_inconsistent_linkonce_section):
|
|
|
|
|
correctly handle missing dot in section name after
|
|
|
|
|
".gnu.linkonce.prop.".
|
|
|
|
|
|
2014-07-09 00:15:18 +08:00
|
|
|
|
2014-07-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/avr.sc: Remove KEEP for .data and
|
|
|
|
|
force .bss VMA to end of .data VMA.
|
|
|
|
|
|
2014-06-26 22:23:31 +08:00
|
|
|
|
2014-07-08 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* emulparams/armelf_linux.sh (TEXT_START_ADDR): Increase
|
|
|
|
|
alignment to 64kB boundary.
|
|
|
|
|
|
2014-07-04 13:36:40 +08:00
|
|
|
|
2014-07-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Update "configure.in" comments.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-07-04 11:29:42 +08:00
|
|
|
|
2014-07-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Rename from configure.in.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
|
2014-07-04 10:05:16 +08:00
|
|
|
|
2014-07-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.in: Include bfd/version.m4.
|
|
|
|
|
(AC_INIT, AM_INIT_AUTOMAKE): Use modern form.
|
|
|
|
|
(BFD_VERSION): Delete.
|
|
|
|
|
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove bfd/configure.in.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-07-03 15:02:45 +08:00
|
|
|
|
2014-07-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 17068
|
|
|
|
|
* ldlang.c (load_symbols): Always check flags.reload.
|
|
|
|
|
(open_input_bfds): Always reload --as-needed shared libraries,
|
|
|
|
|
not just when rescanning.
|
|
|
|
|
* ldlang.h (struct lang_input_statement_flags): Update reload comment.
|
|
|
|
|
* plugin.c (plugin_should_reload): Assume shared library arg.
|
|
|
|
|
* plugin.h (plugin_should_reload): Update comment.
|
|
|
|
|
|
2014-07-01 18:02:25 +08:00
|
|
|
|
2014-07-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (stub_added): Delete.
|
|
|
|
|
(gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when
|
|
|
|
|
none of the usual stubs have been added. Only change entry_section
|
|
|
|
|
for ELFv1.
|
|
|
|
|
|
2014-07-01 16:40:25 +08:00
|
|
|
|
2014-07-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* sysdep.h: Don't include limits.h and sys/param.h. Don't
|
|
|
|
|
include unistd.h twice.
|
|
|
|
|
(LD_PATHMAX): Don't define.
|
|
|
|
|
* ldlang.c (lang_common): Don't use UINT_MAX.
|
|
|
|
|
|
2014-07-01 17:20:17 +08:00
|
|
|
|
2014-07-01 Barney Stratford <barney_stratford@fastmail.fm>
|
|
|
|
|
Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
|
|
|
|
Pitchumani Sivanupandi <pitchumani.s@atmel.com>
|
|
|
|
|
Soundararajan <Sounderarajan.D@atmel.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add avrtiny emulation source.
|
|
|
|
|
(eavrtiny.c): Add rules for avrtiny emulation source.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure.tgt: Add avrtiny to avr target emulations.
|
|
|
|
|
* scripttempl/avrtiny.sc: New file. Linker script template for
|
|
|
|
|
avrtiny arch.
|
|
|
|
|
* emulparams/avrtiny.sh: New file. Emulation parameters for
|
|
|
|
|
avrtiny arch.
|
|
|
|
|
|
2014-06-30 18:58:52 +08:00
|
|
|
|
2014-06-30 Ulrich Drepper <drepper@gmail.com>
|
|
|
|
|
|
|
|
|
|
* lexsup.c (parse_args): Check whether provided SONAME is empty
|
|
|
|
|
string. If yes, warn and ignore it. Don't overwrite valid SONAME
|
|
|
|
|
with empty string.
|
|
|
|
|
|
2014-06-26 19:18:39 +08:00
|
|
|
|
2014-06-26 Linda Zhang <lindasc@qq.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/pe.em: Initialise insert_timestamp to true.
|
|
|
|
|
Add a --no-insert-timestamp command line option.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
* ld.texinfo: Document that --insert-timestamp is enabled by
|
|
|
|
|
default and that it now has an inverse command line option.
|
|
|
|
|
* NEWS: Mention the new behaviour.
|
|
|
|
|
|
2014-06-25 23:35:58 +08:00
|
|
|
|
2014-06-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
|
|
|
|
|
here...
|
|
|
|
|
(ALL_64_EMULATION_SOURCES): ... to here.
|
|
|
|
|
(ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
|
|
|
|
|
(ALL_64_EMUL_EXTRA_OFILES): New. ... to here.
|
|
|
|
|
* configure.in (EMUL_EXTRA_OFILES): Include
|
|
|
|
|
ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-06-19 03:58:19 +08:00
|
|
|
|
2014-06-18 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
|
|
|
|
|
(arm*b-*-freebsd*): Add target.
|
|
|
|
|
* emulparams/armelfb_fbsd.sh: Added.
|
|
|
|
|
* emulparams/armelf_fbsd.sh: Updated.
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-06-16 20:51:16 +08:00
|
|
|
|
2014-06-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
|
|
|
|
|
.rel sections, and __rel_iplt from .rela sections.
|
|
|
|
|
* scripttempl/nds32elf.sc: Likewise.
|
|
|
|
|
* Makefile.am (ends32*.c) Depend on nds32elf.sc.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
Don't call bfd_link_hash_table_free
Freeing the linker hash table is a royal pain. It can't be freed
before the _bfd_write_contents call in bfd_close, because some target
bfd_write_contents functions access the hash table. It can't be freed
after bfd_close either, since bfd_alloc memory holding side data
structures disappears (PR17047). Clearly the only place it can be freed
is actually in bfd_close. This patch doesn't do that, but kills off
the existing means of freeing the hash table via a bfd target xvec call.
bfd/
PR 17047
* targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
(struct bfd_target <_bfd_link_hash_table_free>): Delete.
* bfd.c (bfd_link_hash_table_free): Don't define.
* aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
* coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
* elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
* elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
* elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
* elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
* elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
* libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
* nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
* srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
* xsym.c: Don't define various link_hash_table_free defines, and
remove from bfd_target vars. Temporarily reference some of the
target link_hash_table_free functions to avoid warnings.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
ld/
PR 17047
* ldlang.c (output_bfd_hash_table_free_fn): Delete.
(open_output): Don't set it..
* ldmain.c (ld_cleanup): ..or call it.
2014-06-13 17:41:29 +08:00
|
|
|
|
2014-06-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 17047
|
|
|
|
|
* ldlang.c (output_bfd_hash_table_free_fn): Delete.
|
|
|
|
|
(open_output): Don't set it..
|
|
|
|
|
* ldmain.c (ld_cleanup): ..or call it.
|
|
|
|
|
|
Make bfd.link_next field a union
This field of struct bfd is currently only used to chain together
linker input files. This patch prepares to use the field to stash
the linker hash table, which is always created on the linker output
file.
bfd/
* bfd.c (struct bfd): Replace link_next with a union.
* aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
* ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
* elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
* elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
* elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
* elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
* elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
* elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
* elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
* elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
* sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
* bfd-in2.h: Regenerate.
include/
* bfdlink.h: Update for bfd.link_next change.
ld/
* emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
* emultempl/m68kcoff.em, * emultempl/m68kelf.em,
* emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
* ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
2014-06-13 17:40:57 +08:00
|
|
|
|
2014-06-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
|
|
|
|
|
* emultempl/m68kcoff.em, * emultempl/m68kelf.em,
|
|
|
|
|
* emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
|
|
|
|
|
* ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
|
|
|
|
|
|
2014-06-13 10:58:18 +08:00
|
|
|
|
2014-06-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-06-07 12:28:53 +08:00
|
|
|
|
2014-06-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd
|
|
|
|
|
linker script symbol value override a built-in linker symbol.
|
|
|
|
|
|
Make it easy to make --disable-werror the default for both binutils and gdb
The goal of this patch is to provide an easy way to make
--disable-werror the default when building binutils, or the parts
of binutils that need to get built when building GDB. In development
mode, we want to continue making -Werror the default with GCC.
But, when making releases, I think we want to make it as easy as
possible for regular users to successfully build from sources.
GDB already has this kind of feature to turn -Werror as well as
the use of the libmcheck library. As GDB Release Manager, I take
advantage of it to turn those off after having cut the branch.
I'd like to be able to do the same for the binutils bits. And
perhaps Tristan will want to do the same for his releases too
(not sure, binutils builders might be a little savvier than GDB
builders).
This patch introduces a new file, called development.sh, which
just sets a variable called $development. In our development branches
(Eg. "master"), it's set to true. But setting it to false would allow
us to change the default behavior of various development-related
features to be turned off; in this case, it turns off the use of
-Werror by default (use --enable-werror to turn it back on).
bfd/ChangeLog:
* development.sh: New file.
* warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
Make -Werror the default with GCC only if DEVELOPMENT is true.
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
$(srcdir)/development.sh.
* Makefile.in, configure: Regenerate.
binutils/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gas/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gold/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): New.
* Makefile.in, configure: Regenerate.
gprof/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
ld/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
opcodes/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gdb/ChangeLog:
* development.sh: Delete.
* Makefile.in (config.status): Adjust dependency on development.sh.
* configure.ac: Adjust development.sh source call.
* configure: Regenerate.
gdb/gdbserver/ChangeLog:
* configure.ac: Adjust development.sh source call.
* Makefile.in (config.status): Adjust dependency on development.sh.
* configure: Regenerate.
Tested on x86_64-linux by building two ways: One with DEVELOPMENT
set to true, and one with DEVELOPMENT set to false. In the first
case, I could see the use of -Werror, while it disappeared in
the second case.
2014-05-20 05:46:01 +08:00
|
|
|
|
2014-06-05 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
|
|
|
|
|
bfd's development.sh.
|
|
|
|
|
* Makefile.in, configure: Regenerate.
|
|
|
|
|
|
2014-06-02 12:24:54 +08:00
|
|
|
|
2014-06-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32bfin.sh: Rename from bfin.sh.
|
|
|
|
|
* emulparams/elf32bfinfd.sh: Update to suit.
|
|
|
|
|
* emulparams/msp430.sh: Rename from msp430all.sh. Remove
|
|
|
|
|
MSP430_NAME and msp430X vars.
|
|
|
|
|
* emulparams/msp430X.sh: New.
|
|
|
|
|
* emulparams/score3_elf.sh: Rename from scoreelf.sh. Remove
|
|
|
|
|
SCORE_NAME and score7_elf ARCH setting.
|
|
|
|
|
* emulparams/score7_elf.sh: New.
|
|
|
|
|
* Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
|
|
|
|
|
(emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* genscripts.sh: Delete customizer_script param.
|
|
|
|
|
|
2014-05-29 00:20:16 +08:00
|
|
|
|
2014-05-28 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Change all rules with ${GENSCRIPTS}
|
|
|
|
|
invocations to be just dependencies.
|
|
|
|
|
($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
|
|
|
|
|
(run-genscripts): New rules.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-05-28 05:14:49 +08:00
|
|
|
|
2014-05-27 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld/ldemul.h (extra_map_file_text): New field.
|
|
|
|
|
(ldemul_extra_map_file_text): Declare.
|
|
|
|
|
* ld/ldemul.c (ldemul_extra_map_file_text): Define.
|
|
|
|
|
* ld/ldlang.c (lang_map): Call it.
|
|
|
|
|
|
|
|
|
|
* ld/emultempl/rxelf.em: Add extra_map_file_text hook.
|
|
|
|
|
* ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
|
|
|
|
|
* ld/emultempl/armcoff.em: Likewise.
|
|
|
|
|
* ld/emultempl/beos.em: Likewise.
|
|
|
|
|
* ld/emultempl/elf32.em: Likewise.
|
|
|
|
|
* ld/emultempl/generic.em: Likewise.
|
|
|
|
|
* ld/emultempl/gld960.em: Likewise.
|
|
|
|
|
* ld/emultempl/gld960c.em: Likewise.
|
|
|
|
|
* ld/emultempl/linux.em: Likewise.
|
|
|
|
|
* ld/emultempl/lnk960.em: Likewise.
|
|
|
|
|
* ld/emultempl/m68kcoff.em: Likewise.
|
|
|
|
|
* ld/emultempl/pe.em: Likewise.
|
|
|
|
|
* ld/emultempl/pep.em: Likewise.
|
|
|
|
|
* ld/emultempl/sunos.em: Likewise.
|
|
|
|
|
* ld/emultempl/ticoff.em: Likewise.
|
|
|
|
|
* ld/emultempl/vanilla.em: Likewise.
|
|
|
|
|
|
2014-05-24 21:10:11 +08:00
|
|
|
|
2014-05-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (base): Move variable to..
|
|
|
|
|
* mri.c: ..here, and make static.
|
|
|
|
|
* ldlang.h (base): Delete declaration.
|
|
|
|
|
|
2014-05-21 05:13:08 +08:00
|
|
|
|
2014-05-20 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-05-20 10:12:42 +08:00
|
|
|
|
2014-05-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 16952
|
|
|
|
|
* emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete.
|
|
|
|
|
* emultempl/ppc32elf.em (ppc_before_allocation): Call
|
|
|
|
|
ppc_elf_maybe_strip_sdata_syms.
|
|
|
|
|
* ldlang.c (size_input_section): Correct output_offset value
|
|
|
|
|
for excluded input sections.
|
|
|
|
|
|
2014-05-16 22:39:47 +08:00
|
|
|
|
2014-05-16 John Marino <binutils@marino.st>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
|
|
|
|
|
|
2014-05-12 01:04:45 +08:00
|
|
|
|
2014-05-11 Chung-Lin Tang <cltang@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
|
|
|
|
|
and gp in PROVIDE_HIDDEN.
|
|
|
|
|
|
2014-05-10 08:50:01 +08:00
|
|
|
|
2014-05-10 Hans-Peter Nilsson <hp@bitrange.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
|
|
|
|
|
(output_bfd_hash_table_free_fn): New variable.
|
|
|
|
|
(open_output): Save the _bfd_link_hash_table_free function for the
|
|
|
|
|
output_bfd into output_bfd_hash_table_free_fn.
|
|
|
|
|
* ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
|
|
|
|
|
on link_info.hash.
|
|
|
|
|
* ldlang.h (output_bfd_hash_table_free_fn): Declare.
|
|
|
|
|
|
bfd target vector rationalisation
This renames the bfd targets to <cpu>_<format>_<other>_<endian>_vec.
So for example, bfd_elf32_ntradlittlemips_vec becomes
mips_elf32_ntrad_le_vec and hp300bsd_vec becomes m68k_aout_hp300bsd_vec.
bfd/
* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
* vms-alpha.c, * vms-lib.c: Rename bfd targets to
<cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros
on aout targets.
* configure: Regenerate.
binutils/
* emul_aix.c: Update bfd target vector naming.
* testsuite/binutils-all/objcopy.exp: Likewise.
ld/
* emultempl/metagelf.em: Update bfd target vector naming.
* emultempl/nios2elf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/tic6xdsbt.em: Likewise.
2014-05-02 18:39:40 +08:00
|
|
|
|
2014-05-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/metagelf.em: Update bfd target vector naming.
|
|
|
|
|
* emultempl/nios2elf.em: Likewise.
|
|
|
|
|
* emultempl/spuelf.em: Likewise.
|
|
|
|
|
* emultempl/tic6xdsbt.em: Likewise.
|
|
|
|
|
|
2014-04-22 22:57:47 +08:00
|
|
|
|
2014-04-22 Christian Svensson <blue@cmd.nu>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Remove openrisc and or32 support. Add support for or1k.
|
|
|
|
|
* configure.tgt: Likewise.
|
|
|
|
|
* emulparams/elf32or1k.sh: New file.
|
|
|
|
|
* emulparams/elf32or1k_linux.sh: New file.
|
|
|
|
|
* emulparams/elf32openrisc.sh: Delete.
|
|
|
|
|
* emulparams/or32.sh: Delete.
|
|
|
|
|
* emulparams/or32elf.sh: Delete.
|
|
|
|
|
* scripttempl/or32.sc: Delete.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-04-21 23:14:18 +08:00
|
|
|
|
2014-04-21 Richard Henderson <rth@redhat.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
|
|
|
|
|
|
2014-04-17 01:47:13 +08:00
|
|
|
|
2014-04-16 Steve Ellcey <sellcey@mips.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em: Include safe-ctype.h.
|
|
|
|
|
|
2014-04-17 01:45:08 +08:00
|
|
|
|
2014-04-16 Steve Ellcey <sellcey@mips.com>
|
|
|
|
|
|
|
|
|
|
* ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
|
|
|
|
|
|
2014-04-10 00:12:30 +08:00
|
|
|
|
2014-04-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (default-manifest.o): Remove rule.
|
|
|
|
|
(EMUL_EXTRA_BINARIES): Delete.
|
|
|
|
|
(ALL_EMUL_EXTRA_BINARIES): Delete.
|
|
|
|
|
(ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
|
|
|
|
|
(install-data-local): Remove EMUL_EXTRA_BINARIES.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure.in (all_emul_extra_binaries): Delete.
|
|
|
|
|
(EMUL_EXTRA_BINARIES): Remove.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.tgt (target_extra_binaries): Delete.
|
|
|
|
|
* emultempl/default-manifest.rc: Delete.
|
|
|
|
|
* ld.texinfo: Remove discussion of default manifest.
|
|
|
|
|
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
|
|
|
|
|
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
|
|
|
|
|
|
2014-04-09 11:55:04 +08:00
|
|
|
|
2014-04-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
|
|
|
|
|
* emultempl/nds32elf.em: Include bfd_stdint.h.
|
|
|
|
|
* po/POTFILES.in: Regenerate.
|
|
|
|
|
|
2014-04-05 15:25:13 +08:00
|
|
|
|
2014-04-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
|
|
|
|
|
(LDEMUL_FINISH): Define.
|
|
|
|
|
|
2014-04-09 00:45:33 +08:00
|
|
|
|
2014-04-08 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/pe.sc (R_RSRC): Remove default manifest.
|
|
|
|
|
* scripttempl/pep.sc (R_RSRC): Remove default manifest.
|
|
|
|
|
|
Add support for generating and inserting build IDs into COFF binaries.
* peXXigen.c (pe_print_debugdata): New function: Displays the
contents of the debug directory and decodes codeview entries.
(_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
Add functions for reading and writing debugdir and codeview
records.
* libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
(_bfd_XXi_write_codeview_record): Add prototypes and macros.
* libcoff-in.h (pe_tdata): Add build-id data.
* libcoff.h: Regenerate.
* coffcode.h (coff_write_object_contents): Run build_id
after_write_object_contents hook.
* pe.h (external_IMAGE_DEBUG_DIRECTORY, _CV_INFO_PDB70)
(_CV_INFO_PDB20): Add structures and constants for debug directory
and codeview records.
* internal.h (internal_IMAGE_DEBUG_DIRECTORY, CODEVIEW_INFO):
Add structures and constants for internal representation of debug
directory and codeview records.
* emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
Move code for parsing build-id option and calculating the build-id to...
* ldbuildid.c: New file.
* ldbuildid.h: New file.
* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
files.
* Makefile.in: Regenerate.
* ld.texinfo: Update --build-id description to mention COFF
support.
* NEWS: Mention support for COFF build ids.
* emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
(pecoff_checksum_contents, write_build_id, setup_build_id)
(gld_${EMULATION_NAME}_after_open): Handle and implement
build-id option.
* emultempl/pep.em: Likewise.
2014-04-08 17:59:43 +08:00
|
|
|
|
2014-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
|
|
|
|
|
Move code for parsing build-id option and calculating the build-id to...
|
|
|
|
|
* ldbuildid.c: New file.
|
|
|
|
|
* ldbuildid.h: New file.
|
|
|
|
|
* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
|
|
|
|
|
files.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* ld.texinfo: Update --build-id description to mention COFF
|
|
|
|
|
support.
|
|
|
|
|
* NEWS: Mention support for COFF build ids.
|
|
|
|
|
* emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
|
|
|
|
|
(pecoff_checksum_contents, write_build_id, setup_build_id)
|
|
|
|
|
(gld_${EMULATION_NAME}_after_open): Handle and implement
|
|
|
|
|
build-id option.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
|
2014-04-05 00:28:23 +08:00
|
|
|
|
2014-04-04 Cary Coutant <ccoutant@google.com>
|
|
|
|
|
|
|
|
|
|
PR gold/16804
|
|
|
|
|
* ld.texinfo: Document optional comma following output section
|
|
|
|
|
command and overlay command.
|
|
|
|
|
|
2014-04-04 09:15:03 +08:00
|
|
|
|
2014-04-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
|
|
|
|
|
current "fill", not "output_section_statement->fill".
|
|
|
|
|
|
2014-03-31 20:14:44 +08:00
|
|
|
|
2014-03-31 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16744
|
|
|
|
|
* emultempl/elf32.em (_after_open): Create a .note.GNU-stack
|
|
|
|
|
section when performing a relocatable link with -z [no]execstack
|
|
|
|
|
specified.
|
|
|
|
|
|
2014-03-27 03:18:59 +08:00
|
|
|
|
2014-03-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16756
|
|
|
|
|
* ldmain.c (symbol_warning): New function.
|
|
|
|
|
(warning_callback): Use it. Scan all input files for a reference
|
|
|
|
|
to SYMBOL.
|
|
|
|
|
|
2014-03-30 04:01:46 +08:00
|
|
|
|
2014-03-21 Christopher Faylor <me.cygwin2013@cgf.cx>
|
2014-03-22 01:33:43 +08:00
|
|
|
|
|
|
|
|
|
* ld.texinfo: Document change in handling of --enable-auto-image-base.
|
|
|
|
|
* emultempl/pe.em (pe_auto_image_base): Set to default base.
|
|
|
|
|
(gld_${EMULATION_NAME}_list_options): Change usage message to reflect
|
|
|
|
|
optional --enable-auto-image-base argument.
|
|
|
|
|
(gld${EMULATION_NAME}_handle_option): Handle optional
|
|
|
|
|
--enable-auto-image-base argument.
|
|
|
|
|
(compute_dll_image_base): Eliminate constant. Use pe_auto_image_base.
|
|
|
|
|
|
2014-03-19 16:51:20 +08:00
|
|
|
|
2014-03-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emultempl/default-manifest.rc: Fix typo.
|
|
|
|
|
* scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
|
2014-03-19 22:46:15 +08:00
|
|
|
|
(.rsrc): Add SUBALIGN(4). Remove SORT.
|
2014-03-19 16:51:20 +08:00
|
|
|
|
* scripttempl/pep.sc: Likewise.
|
|
|
|
|
|
2014-03-18 01:09:15 +08:00
|
|
|
|
2014-03-17 Christopher Faylor <me.cygwin2014@cgf.cx>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Use host version of windres.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-03-14 08:55:59 +08:00
|
|
|
|
2014-03-14 Romain Geissler <romain.geissler@amadeus.com>
|
|
|
|
|
Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (full_name_provided): New input flag.
|
|
|
|
|
* ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
|
|
|
|
|
for -l:namespec. Instead use lang_input_file_is_l_enum with
|
|
|
|
|
full_name_provided flag.
|
|
|
|
|
* ldlfile.c (ldfile_open_file_search): Don't complete lib name if
|
|
|
|
|
full_name_provided flag is set.
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
|
|
|
|
|
Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION
|
|
|
|
|
support. Set DT_NEEDED for -l:namespec as namespec.
|
|
|
|
|
* emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
|
|
|
|
|
* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
|
|
|
|
|
Don't handle full_name_provided libraries.
|
|
|
|
|
* emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
|
|
|
|
* emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
|
|
|
|
* emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
|
|
|
|
|
2014-03-12 12:32:00 +08:00
|
|
|
|
2014-03-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-03-05 19:46:15 +08:00
|
|
|
|
2014-03-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update copyright years.
|
|
|
|
|
|
2014-03-05 01:22:46 +08:00
|
|
|
|
2014-03-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-02-27 22:35:37 +08:00
|
|
|
|
2014-02-27 Yuri Gribov <y.gribov@samsung.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/armelf.em (OPTION_LONG_PLT): Define.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Add long-plt.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): Likewise.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
|
|
|
|
|
* ld.texinfo: Document --long-plt.
|
|
|
|
|
|
2014-02-27 21:01:35 +08:00
|
|
|
|
2014-02-27 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
|
|
|
|
|
use ppc32elf.em.
|
|
|
|
|
* emultempl/ppc32elf.em (ppc_after_open): Don't compile for
|
|
|
|
|
vxworks.
|
|
|
|
|
(LDEMUL_AFTER_OPEN): Don't set for vxworks.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
|
|
|
|
|
-secure-plt, -bss-plt and -sdata-got when vxworks.
|
|
|
|
|
|
2014-02-27 22:09:29 +08:00
|
|
|
|
2014-02-27 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure.in (all_emul_extra_binaries): New variable. Populated
|
|
|
|
|
by invoking configure.tgt.
|
|
|
|
|
(EMUL_EXTRA_BINARIES): New substitution.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.tgt (target_extra_binaries): New variable. Set to
|
|
|
|
|
default-manifest.o for Cygwin and MinGW targets.
|
|
|
|
|
* Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
|
|
|
|
|
by the configure script.
|
|
|
|
|
(ALL_EMUL_EXTRA_BINARIES): New variable.
|
|
|
|
|
(default-manifest.o): New rule to build the default manifest.
|
|
|
|
|
(ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
|
|
|
|
|
(install-data-local): Add EMUL_EXTRA_BINARIES.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* ld.texinfo: Document default manifest support.
|
|
|
|
|
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
|
|
|
|
|
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
|
|
|
|
|
* emultempl/default-manifest.rc: New file.
|
|
|
|
|
* scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
|
|
|
|
|
* scripttempl/pep.sc (R_RSRC): Likewise.
|
|
|
|
|
|
2014-02-26 20:05:02 +08:00
|
|
|
|
2014-02-26 Dan Mick <dan.mick@inktank.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16569
|
|
|
|
|
* ldcref.c (cref_sort_array): Compare unmangled names unless
|
|
|
|
|
demanglng has been requiested.
|
|
|
|
|
(output_one_cref): Output unmangled name unless demangling has
|
|
|
|
|
been requested.
|
|
|
|
|
|
Create the second PLT for BND relocations
Intel MPX introduces 4 bound registers, which will be used for parameter
passing in x86-64. Bound registers are cleared by branch instructions.
Branch instructions with BND prefix will keep bound register contents.
This leads to 2 requirements to 64-bit MPX run-time:
1. Dynamic linker (ld.so) should save and restore bound registers during
symbol lookup.
2. Change the current 16-byte PLT0:
ff 35 08 00 00 00 pushq GOT+8(%rip)
ff 25 00 10 00 jmpq *GOT+16(%rip)
0f 1f 40 00 nopl 0x0(%rax)
and 16-byte PLT1:
ff 25 00 00 00 00 jmpq *name@GOTPCREL(%rip)
68 00 00 00 00 pushq $index
e9 00 00 00 00 jmpq PLT0
which clear bound registers, to preserve bound registers.
We use 2 new relocations:
to mark branch instructions with BND prefix.
When linker sees any R_X86_64_PC32_BND or R_X86_64_PLT32_BND relocations,
it switches to a different PLT0:
ff 35 08 00 00 00 pushq GOT+8(%rip)
f2 ff 25 00 10 00 bnd jmpq *GOT+16(%rip)
0f 1f 00 nopl (%rax)
to preserve bound registers for symbol lookup and it also creates an
external PLT section, .pl.bnd. Linker will create a BND PLT1 entry
in .plt:
68 00 00 00 00 pushq $index
f2 e9 00 00 00 00 bnd jmpq PLT0
0f 1f 44 00 00 nopl 0(%rax,%rax,1)
and a 8-byte BND PLT entry in .plt.bnd:
f2 ff 25 00 00 00 00 bnd jmpq *name@GOTPCREL(%rip)
90 nop
Otherwise, linker will create a legacy PLT1 entry in .plt:
68 00 00 00 00 pushq $index
e9 00 00 00 00 jmpq PLT0
66 0f 1f 44 00 00 nopw 0(%rax,%rax,1)
and a 8-byte legacy PLT in .plt.bnd:
ff 25 00 00 00 00 jmpq *name@GOTPCREL(%rip)
66 90 xchg %ax,%ax
The initial value of the GOT entry for "name" will be set to the the
"pushq" instruction in the corresponding entry in .plt. Linker will
resolve reference of symbol "name" to the entry in the second PLT,
.plt.bnd.
Prelink stores the offset of pushq of PLT1 (plt_base + 0x10) in GOT[1]
and GOT[1] is stored in GOT[3]. We can undo prelink in GOT by computing
the corresponding the pushq offset with
GOT[1] + (GOT offset - &GOT[3]) * 2
Since for each entry in .plt except for PLT0 we create a 8-byte entry in
.plt.bnd, there is extra 8-byte per PLT symbol.
We also investigated the 16-byte entry for .plt.bnd. We compared the
8-byte entry vs the the 16-byte entry for .plt.bnd on Sandy Bridge.
There are no performance differences in SPEC CPU 2000/2006 as well as
micro benchmarks.
Pros:
No change to undo prelink in dynamic linker.
Only 8-byte memory overhead for each PLT symbol.
Cons:
Extra .plt.bnd section is needed.
Extra 8 byte for legacy branches to PLT.
GDB is unware of the new layout of .plt and .plt.bnd.
bfd/
* elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
(elf_x86_64_legacy_plt_entry): Likewise.
(elf_x86_64_bnd_plt_entry): Likewise.
(elf_x86_64_legacy_plt2_entry): Likewise.
(elf_x86_64_bnd_plt2_entry): Likewise.
(elf_x86_64_bnd_arch_bed): Likewise.
(elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
(elf_x86_64_link_hash_table): Add plt_bnd.
(elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
plt_bnd.
(elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
(elf_x86_64_check_relocs): Create the second PLT for Intel MPX
in 64-bit mode.
(elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
symbols. Resolve call to the second PLT if it is created.
(elf_x86_64_size_dynamic_sections): Keep the second PLT section.
(elf_x86_64_relocate_section): Resolve PLT references to the
second PLT if it is created.
(elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
second PLT entry for BND relocation.
(elf_x86_64_finish_dynamic_sections): Use MPX backend data if
the second PLT is created.
(elf_x86_64_get_synthetic_symtab): New.
(bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl.
ld/
* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
ld/testsuite/
* ld-x86-64/mpx.exp: Run bnd-ifunc-1 and bnd-plt-1.
* ld-x86-64/bnd-ifunc-1.d: New file.
* ld-x86-64/bnd-ifunc-1.s: Likewise.
* ld-x86-64/bnd-plt-1.d: Likewise.
2013-11-21 01:01:04 +08:00
|
|
|
|
2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
|
|
|
|
|
H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
|
|
|
|
|
|
2014-02-19 11:53:12 +08:00
|
|
|
|
2014-02-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (params): Init new field.
|
|
|
|
|
(ppc_create_output_section_statements): Set params.save_restore_funcs
|
|
|
|
|
default.
|
|
|
|
|
(PARSE_AND_LIST_*): Add support for --save-restore-funcs and
|
|
|
|
|
--no-save-restore-funcs.
|
|
|
|
|
|
Consolidate ppc64 ld/bfd communication
Moves assorted variables used to communicate between ld and bfd into
a struct, hooks it into the bfd link_hash_table early, and removes
all other places where such variables were passed piecemeal.
bfd/
* elf64-ppc.h (struct ppc64_elf_params): Define.
(ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
ppc64_elf_build_stubs): Update prototype.
* elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
fields now in params. Adjust code throughout file.
(ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
Save params pointer in htab.
(ppc64_elf_edit_opd, ppc64_elf_tls_setup,
ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
ppc64_elf_build_stubs): Remove parameters now in "params".
ld/
* emultemps/ppc64elf.em (params): New static struct replacing
various other static vars. Adjust code throughout file.
2014-02-17 14:38:00 +08:00
|
|
|
|
2014-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultemps/ppc64elf.em (params): New static struct replacing
|
|
|
|
|
various other static vars. Adjust code throughout file.
|
|
|
|
|
|
2014-02-17 14:21:25 +08:00
|
|
|
|
2014-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc32elf.em (ppc_after_open_output): Really enable
|
|
|
|
|
ppc476 workaround for ld -r.
|
|
|
|
|
|
2014-02-12 14:14:36 +08:00
|
|
|
|
2014-02-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc32elf.em (pagesize): New static var.
|
|
|
|
|
(ppc_after_open_output): Set params.pagesize_p2 from pagesize.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
|
|
|
|
|
|
2014-02-08 04:22:27 +08:00
|
|
|
|
2014-02-11 Andrew Pinski <apinski@cavium.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
|
|
|
|
|
(ELF_INTERPRETER_NAME): Define.
|
|
|
|
|
* emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
|
|
|
|
|
|
2014-02-10 07:29:35 +08:00
|
|
|
|
2014-02-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* po/ld.pot: Regenerate.
|
|
|
|
|
|
2014-01-30 05:56:02 +08:00
|
|
|
|
2014-02-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
|
|
|
|
|
plt_style): Delete. Adjust all refs to instead use..
|
|
|
|
|
(params): ..this. New variable.
|
|
|
|
|
(ppc_after_open_output): New function. Tweak params and pass to
|
|
|
|
|
ppc_elf_link_params.
|
|
|
|
|
(ppc_after_open): Adjust ppc_elf_select_plt_layout call.
|
|
|
|
|
(ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable
|
|
|
|
|
relaxation for ppc476 workaround.
|
|
|
|
|
(PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
|
|
|
|
|
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
|
|
|
|
|
|
2014-02-02 22:39:39 +08:00
|
|
|
|
2014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
|
|
|
|
|
|
|
|
|
* ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
|
|
|
|
|
* ld/ldlang.c (lang_size_sections_1): Add dotdelta
|
|
|
|
|
variable which reflects the VMA change due to alignment
|
|
|
|
|
requirements. Use dotdelta do change the LMA if
|
|
|
|
|
ALIGN_WITH_INPUT is requested.
|
|
|
|
|
|
2014-02-01 08:11:28 +08:00
|
|
|
|
2014-02-01 Hans-Peter Nilsson <hp@bitrange.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
|
|
|
|
|
call to bfd_set_section_vma exposed by recent bfd_set_section_vma
|
|
|
|
|
change.
|
|
|
|
|
|
Nios II CALL26 linker relaxation
2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
bfd/
* bfd-in2.h: Update from reloc.c.
* elf32-nios2.c: Include elf32-nios2.h.
(elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
(nios2_reloc_map): Likewise.
(enum elf32_nios2_stub_type): Declare.
(struct elf32_nios2_stub_hash_entry): Declare.
(nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
(struct elf32_nios2_link_hash_entry): Add hsh_cache field.
(struct elf32_nios2_link_hash_table): Add new fields bstab,
stub_bfd, add_stub_section, layout_sections_again, stub_group,
bfd_count, top_index, input_list, all_local_syms.
(nios2_call26_stub_entry): New.
(nios2_elf32_install_imm16): Move up in file.
(nios2_elf32_install_data): Move up in file.
(hiadj): Move up in file.
(stub_hash_newfunc): New.
(link_hash_newfunc): Initialize hsh_cache field.
(STUB_SUFFIX): New.
(nios2_stub_name): New.
(nios2_get_stub_entry): New.
(nios2_add_stub): New.
(nios2_elf32_setup_section_lists): New.
(nios2_elf32_next_input_section): New.
(CALL26_SEGMENT): New.
(MAX_STUB_SECTION_SIZE): New.
(group_sections): New.
(nios2_type_of_stub): New.
(nios2_build_one_stub): New.
(nios2_size_one_stub): New.
(get_local_syms): New.
(nios2_elf32_size_stubs): New.
(nios2_elf32_build_stubs): New.
(nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
(nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
trampolines for R_NIOS2_CALL26 stubs.
(nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
(nios2_elf32_gc_sweep_hook): Likewise.
(nios2_elf32_link_hash_table_create): Initialize the stub hash table.
(nios2_elf32_link_hash_table_free): New.
(bfd_elf32_bfd_link_hash_table_free): Define.
* elf32-nios2.h: New file.
* libbfd.h: Update from reloc.c.
* reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
gas/
* config/tc-nios2.c (md_apply_fix): Handle BFD_RELOC_NIOS2_CALL26_NOAT.
(nios2_assemble_args_m): Likewise.
(md_assemble): Likewise.
gas/testsuite/
* gas/nios2/call26_noat.d: New.
* gas/nios2/call26_noat.s: New.
* gas/nios2/call_noat.d: New.
* gas/nios2/call_noat.s: New.
include/elf/
* nios2.h (elf_nios2_reloc_type): Add R_NIOS2_CALL26_NOAT.
ld/
* Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
* Makefile.in: Regenerated.
* emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
* emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
* emultempl/nios2elf.em: New file.
* gen-doc.texi (NIOSII): Set.
* ld.texinfo (NIOSII): Set.
ld/testsuite/
* ld-nios2/relax_call26.s: New.
* ld-nios2/relax_call26_boundary.ld: New.
* ld-nios2/relax_call26_boundary.s: New.
* ld-nios2/relax_call26_boundary_c8.d: New.
* ld-nios2/relax_call26_boundary_cc.d: New.
* ld-nios2/relax_call26_boundary_d0.d: New.
* ld-nios2/relax_call26_boundary_d4.d: New.
* ld-nios2/relax_call26_boundary_d8.d: New.
* ld-nios2/relax_call26_boundary_dc.d: New.
* ld-nios2/relax_call26_boundary_f0.d: New.
* ld-nios2/relax_call26_boundary_f4.d: New.
* ld-nios2/relax_call26_boundary_f8.d: New.
* ld-nios2/relax_call26_boundary_fc.d: New.
* ld-nios2/relax_call26_cache.d: New.
* ld-nios2/relax_call26_cache.ld: New.
* ld-nios2/relax_call26_cache.s: New.
* ld-nios2/relax_call26_multi.d: New.
* ld-nios2/relax_call26_multi.ld: New.
* ld-nios2/relax_call26_norelax.d: New.
* ld-nios2/relax_call26_shared.d: New.
* ld-nios2/relax_call26_shared.ld: New.
2014-01-31 09:47:07 +08:00
|
|
|
|
2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
|
|
|
|
|
* Makefile.in: Regenerated.
|
|
|
|
|
* emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
|
|
|
|
|
* emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
|
|
|
|
|
* emultempl/nios2elf.em: New file.
|
|
|
|
|
* gen-doc.texi (NIOSII): Set.
|
|
|
|
|
* ld.texinfo (NIOSII): Set.
|
|
|
|
|
|
2014-01-28 20:25:48 +08:00
|
|
|
|
2014-01-28 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Remove obsolete MSP430 emulations.
|
|
|
|
|
* configure.tgt: Likewise.
|
|
|
|
|
* emulparams/msp430all.sh: Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2014-01-23 03:24:12 +08:00
|
|
|
|
2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16498
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
|
|
|
|
|
orphaned TLS section handling.
|
|
|
|
|
|
2014-01-24 20:47:28 +08:00
|
|
|
|
2014-01-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_output_section_find_by_flags): Be careful to
|
|
|
|
|
test look->bfd_section->flags if available rather than
|
|
|
|
|
look->flags. Separate SEC_THREAD_LOCAL handling from
|
|
|
|
|
SEC_READONLY loop, and rewrite.
|
|
|
|
|
|
2014-01-22 13:35:12 +08:00
|
|
|
|
2014-01-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
|
|
|
|
|
(lang_init): Initialise them.
|
|
|
|
|
(lang_print_asneeded): New function.
|
|
|
|
|
(lang_process): Call lang_print_asneeded.
|
|
|
|
|
* ldlang.h (struct asneeded_minfo): New.
|
|
|
|
|
(asneeded_list_tail): Declare.
|
|
|
|
|
* ldmain.c (add_archive_element): Improve archive map heading.
|
|
|
|
|
* ldmisc.c (minfo): Stash --as-needed info.
|
|
|
|
|
|
2014-01-22 10:21:19 +08:00
|
|
|
|
2014-01-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.h (struct map_symbol_def): Move to..
|
|
|
|
|
* ldlang.h: ..here.
|
|
|
|
|
* ldlang.c (print_assignment): Don't set expld.assign_name to dot.
|
|
|
|
|
|
2014-01-22 09:13:03 +08:00
|
|
|
|
2014-01-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (Output Section Discarding): Mention assigning to dot
|
|
|
|
|
as a way of keeping otherwise empty sections.
|
|
|
|
|
* ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
|
|
|
|
|
is_dot_plus_0, is_align_conditional): New predicates.
|
|
|
|
|
(exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
|
|
|
|
|
output section, except for some special cases.
|
|
|
|
|
* scripttempl/elfmicroblaze.sc: Use canonical form to align at
|
|
|
|
|
end of .heap and .stack.
|
|
|
|
|
|
2014-01-21 02:20:04 +08:00
|
|
|
|
2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
|
|
|
|
|
|
2014-01-21 02:18:52 +08:00
|
|
|
|
2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
|
|
|
|
|
|
2014-01-20 18:58:42 +08:00
|
|
|
|
2014-01-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (struct lang_definedness_hash_entry): Add by_object and
|
|
|
|
|
by_script. Make iteration a single bit field.
|
|
|
|
|
(lang_track_definedness, lang_symbol_definition_iteration): Delete.
|
|
|
|
|
(lang_symbol_defined): Declare.
|
|
|
|
|
* ldlang.c (lang_statement_iteration): Expand comment a little.
|
|
|
|
|
(lang_init <lang_definedness_table>): Make it bigger.
|
|
|
|
|
(lang_track_definedness, lang_symbol_definition): Delete.
|
|
|
|
|
(lang_definedness_newfunc): Update.
|
|
|
|
|
(lang_symbol_defined): New function.
|
|
|
|
|
(lang_update_definedness): Create entries here. Do track whether
|
|
|
|
|
script definition of symbol is valid, even when also defined in
|
|
|
|
|
an object file.
|
|
|
|
|
* ldexp.c (fold_name <DEFINED>): Update.
|
|
|
|
|
(fold_name <NAME>): Allow self-assignment for absolute symbols
|
|
|
|
|
defined in a linker script.
|
|
|
|
|
|
2014-01-20 11:46:16 +08:00
|
|
|
|
2014-01-20 Guy Martin <gmsoft@tuxicoman.be>
|
|
|
|
|
Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (lang_output_section_get): Define.
|
|
|
|
|
* ldlang.c (lang_output_section_get): Likewise.
|
|
|
|
|
(init_os): Set the output_section userdata to the output
|
|
|
|
|
section statement.
|
|
|
|
|
* emultempl/hppaelf.em: Use lang_output_section_get instead of
|
|
|
|
|
lang_output_section_find where applicable.
|
|
|
|
|
* emultempl/aarch64elf.em: Likewise.
|
|
|
|
|
* emultempl/aix.em: Likewise.
|
|
|
|
|
* emultempl/armelf.em: Likewise.
|
|
|
|
|
* emultempl/m68hc1xelf.em: Likewise.
|
|
|
|
|
* emultempl/metagelf.em: Likewise.
|
|
|
|
|
* emultempl/mipself.em: Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em: Likewise.
|
|
|
|
|
* emultempl/spuelf.em: Likewise.
|
|
|
|
|
|
2014-01-17 08:09:50 +08:00
|
|
|
|
2014-01-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* genscripts.sh (COMPILE_IN): Don't set if already set.
|
|
|
|
|
* emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
|
|
|
|
|
COMPILE_IN=no.
|
|
|
|
|
* emulparams/nds32elf16m.sh: Likewise.
|
|
|
|
|
* emulparams/nds32elf_linux.sh: Likewise.
|
|
|
|
|
* emultempl/aix.em: Test COMPILE_IN value is "yes".
|
|
|
|
|
* emultempl/armcoff.em: Likewise.
|
|
|
|
|
* emultempl/elf32.em: Likewise.
|
|
|
|
|
* emultempl/generic.em: Likewise.
|
|
|
|
|
* emultempl/gld960.em: Likewise.
|
|
|
|
|
* emultempl/gld960c.em: Likewise.
|
|
|
|
|
* emultempl/linux.em: Likewise.
|
|
|
|
|
* emultempl/lnk960.em: Likewise.
|
|
|
|
|
* emultempl/m68kcoff.em: Likewise.
|
|
|
|
|
* emultempl/sunos.em: Likewise.
|
|
|
|
|
* emultempl/ticoff.em: Likewise.
|
|
|
|
|
|
2014-01-16 04:53:04 +08:00
|
|
|
|
2014-01-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16456
|
|
|
|
|
* genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
|
|
|
|
|
suffix.
|
|
|
|
|
* emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
|
|
|
|
|
for elf32_x86_64 emulation.
|
|
|
|
|
* emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
|
|
|
|
|
for elf_i386 emulation.
|
|
|
|
|
|
2014-01-16 09:17:25 +08:00
|
|
|
|
2014-01-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.h (fat_section_userdata_type, get_userdata): Move to..
|
|
|
|
|
* ldlang.h (input_section_userdata_type, get_userdata): ..here.
|
|
|
|
|
* ldlang.c (init_map_userdata): Delete. Fold into..
|
|
|
|
|
(sort_def_symbol): ..here. Don't attach input section userdata
|
|
|
|
|
to output sections or global bfd sections.
|
|
|
|
|
(lang_map): Don't pre-allocate input section userdata.
|
|
|
|
|
(init_os): Don't allocate userdata for output sections.
|
|
|
|
|
(print_all_symbols): Update.
|
|
|
|
|
|
2014-01-15 23:43:19 +08:00
|
|
|
|
2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
|
|
|
|
|
Silence uninitialized warning on ehdr_start_save with older
|
|
|
|
|
GCC.
|
|
|
|
|
|
2014-01-15 19:20:55 +08:00
|
|
|
|
2014-01-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
|
|
|
|
|
__ehdr_start before size_dynamic_sections and restore afterwards.
|
|
|
|
|
|
2014-01-10 18:41:46 +08:00
|
|
|
|
2014-01-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/14207
|
|
|
|
|
PR ld/16322
|
|
|
|
|
PR binutils/16323
|
|
|
|
|
* ldlang.c (lang_size_sections): Remove unneeded RELRO base
|
|
|
|
|
adjust. Tidy comments.
|
|
|
|
|
* ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
|
|
|
|
|
|
2014-01-10 08:25:26 +08:00
|
|
|
|
2014-01-10 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/crislinux.sh (COMMONPAGESIZE): Define.
|
|
|
|
|
|
2013-12-13 02:35:47 +08:00
|
|
|
|
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/14207
|
|
|
|
|
PR ld/16322
|
|
|
|
|
PR binutils/16323
|
|
|
|
|
* ldlang.c (lang_size_sections): Properly align RELRO base.
|
|
|
|
|
|
2014-01-08 21:48:12 +08:00
|
|
|
|
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* ldver.c (ldversion): Update copyright year to 2014.
|
|
|
|
|
|
2014-01-08 21:32:12 +08:00
|
|
|
|
For older changes see ChangeLog-2013
|
1999-05-03 15:29:11 +08:00
|
|
|
|
|
2014-01-08 21:32:12 +08:00
|
|
|
|
Copyright (C) 2014 Free Software Foundation, Inc.
|
2012-12-10 20:48:03 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
1999-05-03 15:29:11 +08:00
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|