+
+ * pe-dll.c: Fix formatting.
+
+
+ * pe-dll.c: Fix formatting.
+
+
+ * ldlang.c: Fix formatting.
+
+
+ * pe-dll.c (fill_edata): initialize entire block
+ (make_one): fill in correct section.
+
+
+ * ldexp.c: Fix formatting.
+
+
+ * emultempl/pe.em (gld_*_after_open): detect case where there two
+ import libraries for same dll; rename one to ensure proper link
+ order.
+
+ * pe-dll.c (process_def_file): compare ordinals to -1, not 0; fix
+ typo
+ (generate_edata): fix typo
+
+
+ * scripttempl/crisaout.sc (ENTRY): Now __start.
+ (.text): Add default setting for __start.
+ Remove CONSTRUCTORS handling.
+ (/DISCARD/): Add .gnu.warning.*.
+ * emulparams/crislinux.sh (ENTRY): Now __start.
+ (TEXT_START_SYMBOLS): New; provide __Stext and __start default.
+ * emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris.
+ (ENTRY): Now __start.
+ (INITIAL_READONLY_SECTIONS): Add KEEP for .startup.
+ (EXECUTABLE_SYMBOLS): Add default setting for __start.
+
+
+ * deffile.h: Fix formatting.
+ * ld.h: Likewise.
+ * ldcref.c: Likewise.
+ * ldctor.c: Likewise.
+ * ldctor.h: Likewise.
+ * ldemul.c: Likewise.
+ * ldemul.h: Likewise.
+ * ldexp.c: Likewise.
+ * ldexp.h: Likewise.
+ * ldfile.c: Likewise.
+ * ldfile.h: Likewise.
+ * ldlang.c: Likewise.
+ * ldlang.h: Likewise.
+ * lexsup.c: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.c: Likewise.
+
+
+ * pe-dll.c (process_def_file): Uninitialized data wasn't
+ exported with --export-all-symbols switch.
+
+
+ * pe-dll.c (fill_edata): rearrange the data so that ordinals and
+ noname work properly.
+
+
+ * ld.texinfo (HPPA ELF32): New section.
+
+ * emultempl/hppaelf.em (group_size): New.
+ (hppaelf_finish): Pass group_size to elf32_hppa_size_stubs.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_STUBGROUP_SIZE.
+ (PARSE_AND_LIST_LONGOPTS): Add --stub-group-size. Duplicate
+ options to prevent abbreviations matching.
+ (PARSE_AND_LIST_OPTIONS): Describe the above. Reformat.
+ (PARSE_AND_LIST_ARGS_CASES): Handle it.
+
+
+ * emultempl/m68kelf.em: Conditionalise the embedded relocs feature
+ on the m68*-*-elf target. Make it support COFF input objects.
+
+
+ * ldmain.c: Fix formatting.
+ * ldmisc.c: Likewise.
+ * ldver.c: Likewise.
+ * ldwrite.c: Likewise.
+
+
+ * ldwrite.c (clone_section): Silence gcc warnings.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Handle
+ out of memory failure.
+
+ * ldwrite.c (ldwrite): Remove unnecessary einfo arg.
+ (clone_section): Handle out of memory failures. Rename var to
+ avoid c++ reserved word.
+
+
+ * emultempl/hppaelf.em (hppaelf_add_stub_section): Rename
+ stub_name param to stub_sec_name.
+ (hppaelf_finish): Modify call to elf32_hppa_size_stubs.
+
+
+ * emultempl/m68kelf.em: New file.
+ * emulparams/m68kelf.sh (EXTRA_EM_FILE): Use it.
+ * Makefile.am (em68kelf.c): Add dependency on m68kelf.em.
+ * Makefile.in: Regenerate.
+
+
+ * emulparams/hppalinux.sh (DATA_START_SYMBOLS): Provide $global$
+ only as needed.
+
+
+ * ldmain.c (multiple_definition): Disable relaxation if
+ multiple symbol definitions are encountered - otherwise the
+ linker could abort with an assertion failure.
+
+
+ * mri.c: Fix formatting.
+
+
+ * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
+ * configure: Rebuild.
+
+
+ * Makefile.am (lexsup.o): Also depend on $(INCDIR)/demangle.h.
+ * Makefile.in: Rebuild.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix
+ broken list handling. Create __start_SECNAME and __stop_SECNAME
+ when no place-holder. Add some comments. Test both SEC_CODE and
+ SEC_READONLY for hold_text to prevent .rodata orphan poisoning.
+ Handle case where no output section statement created.
+
+
+ * configure.tgt (sh-*-linux*): Added.
+ * Makefile.am: Added eshelf_linux and eshlelf_linux.
+ * Makefile.in: Rebuilt.
+ * emulparams/shelf_linux.sh: New file.
+ * emulparams/shlelf_linux.sh: New file.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+ try shuffling sections when the orphan happens to be the place
+ holder. Keep count of unique section names generated so we speed
+ the search for a new name.
+
+
+ * configure: Rebuilt with new libtool.m4.
+
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * po/ld.pot: Regenerate.
+
+ * ldint.texinfo: Remove CVS revision marker - it foils local
+ comparisons.
+
+ * emultempl/ticoff.em: Remove extraneous comma.
+
+
+ * emultempl/hppaelf.em (hppaelf_add_stub_section): Add SEC_RELOC
+ to stub section flags.
+ (hppa_for_each_input_file_wrapper): New.
+ (hppa_lang_for_each_input_file): New.
+ (lang_for_each_input_file): Define to call above.
+ (multi_subspace): New.
+ (hppaelf_finish): Pass multi_subspace to elf32_hppa_size_stubs.
+ (PARSE_AND_LIST_PROLOGUE): Define.
+ (PARSE_AND_LIST_LONGOPTS): Define.
+ (PARSE_AND_LIST_OPTIONS): Define.
+ (PARSE_AND_LIST_ARGS_CASES): Define.
+ (hppaelf_finish): Call elf32_hppa_set_gp.
+ (hppaelf_set_output_arch): Remove.
+ (LDEMUL_SET_OUTPUT_ARCH): Remove.
+
+ * emulparams/hppalinux.sh (ELFSIZE): Define.
+ (MACHINE): Define.
+ (OTHER_READONLY_SECTIONS): Define.
+ (DATA_PLT): Define.
+ (GENERATE_SHLIB_SCRIPT): Define.
+
+ * ldlang.c: Add missing prototypes, and tidy others. Change CONST
+ to const throughout. Change `void *' to `PTR' throughout.
+ (lang_memory_default): Function is local to file, add `static'.
+
+ * Makefile.am (ehppaelf.c): Depend on emultempl/elf32.em.
+ (ehppalinux.c): Likewise.
+ (earmelf.c): Likewise.
+ (earmelf_linux.c): Likewise.
+ (earmelf_linux26.c): Likewise.
+ * Makefile.in: Regenerate.
+
+ * ld.h (ld_config_type): Add unique_orphan_sections.
+ * lexsup.c (OPTION_UNIQUE): Define.
+ (ld_options): Add "--unique".
+ (parse_args): Handle it.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+ search for an existing output section if unique_orphan_sections is
+ set. Make use of bfd_get_unique_section_name rather than
+ duplicating code here.
+ * ld.texinfo: Describe --unique.
+
+ * lexsup.c (ld_options): Make split-by-reloc arg optional. Add
+ optional arg to split-by-file.
+ (parse_args): Handle them.
+ * ld.texinfo: Update description of these options.
+ * ldwrite.c (clone_section): Pass in the section name. Replace
+ local code with bfd_get_unique_section_name.
+ (split_sections): Tidy code and comments. Use a list traversal
+ more appropriate to the list construction. Handle cooked section
+ sizes. Split when split_by_reloc reached rather than exceeded.
+ Track section size and split when split_by_file reached. Fix
+ link_order_tail (even though it's not used).
+ (ldwrite): Modify condition for calling split_sections to suit
+ changed split_by_reloc and split_by_file.
+ * ldmain.c (main): Init config.split_by_reloc and
+ config.split_by_file to -1.
+ * ld.h (ld_config_type): Change split_by_reloc to unsigned.
+ Change split_by_file to bfd_size_type.
+
+
+ * configure.in: Increase version number to 2.10.91.
+ * NEWS: Mention new ability to support removal of duplicate DWARF2
+ debug information.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+
+
+ * scripttempl/elf.sc: Add .gnu.linkonce.wi.* to .debug_info
+ sections.
+ * scripttempl/elf32var.sc: Ditto.
+ * scripttempl/elfd10v.sc: Ditto.
+ * scripttempl/elfd30v.sc: Ditto.
+ * scripttempl/elfi370.sc: Ditto.
+ * scripttempl/elfm68hc11.sc: Ditto.
+ * scripttempl/elfm68hc12.sc: Ditto.
+ * scripttempl/elfi386beos.sc: Ditto.
+ * scripttempl/v850.sc: Ditto.
+
+
+ * acinclude.m4: Include libtool and gettext macros from the
+ top level.
+ * aclocal.m4, configure: Rebuilt.
+
+
+ * ldlang.c (open_output): When choosing the target for a
+ particular endianness, do nothing if the target is not
+ supported.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
+ check -rpath nor LD_RUN_PATH for cross link.
+ * ld.texinfo: Document the change.
+
+
+ * NEWS: Mention support for CRIS.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get
+ the current runpath list from bfd_elf_get_runpath_list ()
+ before search.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search
+ the DT_RPATH/DT_RUNPATH entries for DT_NEEDED after
+ LD_LIBRARY_PATH for native linker. Display the needed DSO if
+ trace_file_tries is non-zero.
+ (gld${EMULATION_NAME}_try_needed): Report the needed DSO found
+ if trace_file_tries is non-zero.
+
+ * ld.texinfo: Document the usage of DT_RPATH/DT_RUNPATH.
+ * NEWS: Mention it.
+
+
+ * NEWS: Mention i860 support.
+
+
+ * scripttempl/elf.sc: Fix last change to use correct comment
+ syntax.
+
+
+ * scripttempl/elf.sc: Add a comment giving the correspondence
+ between sections, per-datum sections, and linkonce sections. Make
+ the comment true even for .bss, .sdata, .sdata2, .sbss, and
+ .sbss2.
+
+
+ * emulparams/elf32_i860.sh: New file.
+ * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}.
+ * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o.
+ (eelf32_i860.c): New rule.
+ * Makefile.in: Regenerate.
+
+
+ * emulparams/mipspe.sh (ENTRY): Add definition.
+
+
+ * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath
+ in error message.
+
+
+ * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate
+ the final size of .bss section.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+
+ * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to
+ gld${EMULATION_NAME}_parse_args for consistency. Combine
+ lastoptind and prevoptind vars, and keep track of last optind.
+ (gld_${EMULATION_NAME}_list_options): Rename to
+ gld${EMULATION_NAME}_list_options.
+
+
+ * configure.tgt: Select targ_emul=elf_i386 for Unixware 7
+ (i586-sco-sysv5uw7.1.0).
+
* emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed.
- * ld/lexsup.c: Add optional style to demangle switch
- * ld/ld.texinfo: Document optional style to demangle switch.
-
+ * ld/lexsup.c: Add optional style to demangle switch
+ * ld/ld.texinfo: Document optional style to demangle switch.
+
* Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
- * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
- message.
+ * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
+ message.
* ldwrite.c (SSIZE): Remove to cure macro redefinition warning.
-
+
Changes to create multiple linker stubs, positioned immediately
(hppaelf_get_script): Update from elf32.em.
(ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation.
Change emulation_name field to "${EMULATION_NAME}". Add
- gld${EMULATION_NAME}_place_orphan.
+ gld${EMULATION_NAME}_place_orphan.
* Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o, add
ehppalinux.o, sort it. Regenerate dependencies.
- * emultempl/pe.em (pe_enable_auto_image_base): New variable.
+ * emultempl/pe.em (pe_enable_auto_image_base): New variable.
(longopts): New --{enable,disable}-auto-image-base options.
- (gld_${EMULATION_NAME}_list_options): Document.
+ (gld_${EMULATION_NAME}_list_options): Document.
(gld_${EMULATION_NAME}_parse): Handle.
(strhash): New static function.
- (compute_dll_image_base): New static function.
+ (compute_dll_image_base): New static function.
(gld_${EMULATION_NAME}_set_symbols): Use.
* MAINTAINERS: new
-
- * configure.tgt: Add traditional mips (mips*-*-sysv4*) target.
- * emulparams/elf32btsmip.sh: New file.
- * Makefile.am: Add traditional mips target.
- * Makefile.in: Rebuild.
-
+
+ * configure.tgt: Add traditional mips (mips*-*-sysv4*) target.
+ * emulparams/elf32btsmip.sh: New file.
+ * Makefile.am: Add traditional mips target.
+ * Makefile.in: Rebuild.
+
* Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for
* ldmain.c (main): When deciding if ".text" section should be
- read-only, don't forget to reset SEC_READONLY because it
- could be already set.
+ read-only, don't forget to reset SEC_READONLY because it
+ could be already set.
- * ld.1: Add documentation for new command line option:
- --section-start <sectionname>=<sectionorg>
- This is a generic version of -Ttext etc. which accepts
- any section name as a parameter instead of just text/data/
- bss.
- * ld.texinfo: More docs.
- * NEWS: More docs.
- * lexsup.c: (parse_args): Recognize new command line option.
+ * ld.1: Add documentation for new command line option:
+ --section-start <sectionname>=<sectionorg>
+ This is a generic version of -Ttext etc. which accepts
+ any section name as a parameter instead of just text/data/
+ bss.
+ * ld.texinfo: More docs.
+ * NEWS: More docs.
+ * lexsup.c: (parse_args): Recognize new command line option.
(ld_options): Add new option.
-
+
* lexsup.c (parse_args): `i' == `r', not `q'.
-
+
Add support for '-q' == '--emit-relocs' switch.
* ldmain.c (main): Default to false.
* lexsup.c (parse_args): Turn on emitrelocations flag if set.
the library path for "foo.dll" and "libfoo.dll" dynamic libraries
before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo'
link options.
-
+
* lexsup.c (parse_args): Update the year in the copyright notice.
* configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}.
-
+
* configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
host "ia64-*-linux-gnu*".
* Makefile.in: Rebuild.
* configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets.
* emulparams/elf64_ia64.sh: New file.
-
+
* scripttempl/elfd30v.sc: Place .gcc_except_table.
* ld.texinfo (Simple Example): Remove extraneous paragraph.
-
+
* configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
- --enable-build-warnings option.
+ --enable-build-warnings option.
* Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
* Makefile.in, configure: Re-generate.
- * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)".
+ * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)".
Set LC_COLLATE and LC_ALL to null and export them. It is for
sort which expects the C locale.
Add $(LIBS) to all $(HOSTING_LIBS).
* ldgram.y (exclude_name_list): Don't require a comma to separate
- list entries; the lexer considers commas to be valid part of a
+ list entries; the lexer considers commas to be valid part of a
filename, so in something like `foo, bar' the comma is considered
part of the first filename, `foo,'.
* ld.texinfo: Update section on EXCLUDE_FILE lists.
* ldemul.c (ldemul_find_potential_libraries): New function.
* ldfile.c (ldfile_open_file_search): Allow function to be
- exported.
+ exported.
(ldfile_open_file): Call ldemul_find_potential_libraries.
* ldfile.h: Add prototype for ldfile_open_file_search.
print_reloc_statement, print_padding_statement, insert_pad,
size_input_section, lang_check_section_addresses,
lang_size_sections, lang_do_assignments, lang_set_startof,
- lang_one_common): Change `opb' to unsigned.
+ lang_one_common): Change `opb' to unsigned.
(lang_do_assignments): Also change `size' to unsigned.
lma region in call to lang_leave_output_section_statement.
* emultempl/pe.em (gld$place_orphan): Add default value for
lma region in call to lang_leave_output_section_statement.
-
-
+
+
* ldlang.c (lang_check_section_addresses): Use bytes instead of
recorded in target bytes.
* ld.texinfo: Updated description of BYTE, SHORT, LONG, etc.
to be clear about behavior when an octet is smaller than one byte.
-
+
* ldcref.c (output_cref): Don't pass message strings to printf
* ld.texinfo (Options): Remind users to preceed linker command
line switches with -Wl, (or whatever is appropriate) if it is
being invoked by a comnpiler driver program.
- Fix description of the behaviour of the -n command line switch.
+ Fix description of the behaviour of the -n command line switch.
(lang_add_wild): Likewise.
* ldlang.h (lang_wild_statement_type): Likewise.
* scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
-
+
* pe-dll.c (pe_dll_warn_dup_exports): New variable.
(process_def_file): Use.
(pe_dll_compat_implib): New variable.
(make_one): Use.
-
+
* pe-dll.h: Add exports of pe_dll_warn_dup_exports and
pe_dll_compat_implib.
-
- * emultempl/pe.em (longopts): Add warn-duplicate-exports and
+
+ * emultempl/pe.em (longopts): Add warn-duplicate-exports and
compat-implib options.
(gld_${EMULATION_NAME}_list_options): List new options.
(gld_${EMULATION_NAME}_parse_args): Handle.
- * pe-dll.c (pe_dll_generate_implib): Use the correct name for output
+ * pe-dll.c (pe_dll_generate_implib): Use the correct name for output
dll.
-
- * deffilep.y (opt_name): Allow "." in name.
+
+ * deffilep.y (opt_name): Allow "." in name.
* Makefile.am: Fix arm-epoc-pe dependencies.
* Makefile.in: Regenerate.
-
+
* emulparams/arm_epoc_pe.sh (SCRIPT_NAME): Set to epocpe.
* scripttempl/epocpe.sc: New file: copy of pe.sc, customised for
- * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
+ * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
target "mips*-*-linux-gnu*".
* emultempl/armelf.em: Include ctype.h to prevent compile time
- warnings.
+ warnings.
* pe-dll.c (process_def_file): Move the offset lookup from here to
(fill_exported_offsets): here. New static function.
(fill_edata): Use.
-
+
* deffilep.y (tokens): Add upper and lower case versions of DATA,
* emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
- * emulparms/elf64hppa.h (OTHER_READWRITE_SECTIONS): No longer combine
+ * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): No longer combine
the .plt, .dlt, .opd into a single output section. Provide values
for __gp and __hp_load_map.
- * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
+ * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
terminating null.
- * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
+ * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
target "arm*-*-linux-gnu*"
* configure.tgt (pjl-*-*, pj-*-*): New targets.
* emulparams/pjelf.sh: New file.
* emulparams/pjlelf.sh: New file.
- * scripttempl/pj.sc: New file.
+ * scripttempl/pj.sc: New file.
* Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
(epjelf.o, epjlelf.o): New targets.
* Makefile.in: Rebuild.
(get_first_input_target): New function: Find the target format
of the first of the linker's input file.
(open_output): Be more clever about deciding the output target
- format.
+ format.
- * configure.tgt (hppa*-linux-gnu*): New target.
+ * configure.tgt (hppa*-linux-gnu*): New target.
* emultempl/pe.em (after_open): Abort if input format is ARM and
- output format is not.
+ output format is not.
* emultempl/armcoff.em (after_open): Abort if input format is ARM
- and output format is not.
+ and output format is not.
* emultempl/armelf.em (after_open): Abort if input format is ARM
- and output format is not.
+ and output format is not.
* configure.tgt (mips-sgi-irix6*): Make n32 the default
emulation.
* emulparams/elf32bmipn32.sh: New file.
-
+
* emultempl/armelf.em: Added code so that .xs linker scripts are
* emultempl/pe.em: Add new command line switch --thumb-entry.
* emultempl/armelf.em: Add new command line switch --thumb-entry.
* emultempl/armcoff.em: Add new command line switch --thumb-entry.
- * ld.texinfo: Document new ARM command line switch: --thumb-entry.
+ * ld.texinfo: Document new ARM command line switch: --thumb-entry.
+
* configure.in (all_libpath): Accumulate across all enabled targets.
option.
(..._before_allocation): Pass the value of the new variable
no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
-
+
* emultemp/armelf_oabi.em (..._before_allocation): Pass zero as
the third parameter to bfd_elf32_arm_process_before_allocation.
- * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.
+ * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.
* emultempl/armelf.em (before_parse): Set config.dynamic_link and
- config.has_shared.
+ config.has_shared.
* emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
* emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise.
- * emulparams/armelf_linux.sh: New file. Support for ARM
+ * emulparams/armelf_linux.sh: New file. Support for ARM
GNU/Linux ELF ABI.
* emulparams/armelf_linux26.sh: New file. APCS-26 version of above.
* configure.tgt: For arm*-*-linux-gnu*, set default emulation to
* emulparams/arm_epoc_pe.sh: New file.
* configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
- targets.
+ targets.
* configure.tgt: Match `arm*-*-linux-gnu*' not
- `armv*-*-linux-gnu'.
+ `armv*-*-linux-gnu'.
* ld.h (wildcard_spec): Add exclude_name.
- * ldgram.y (EXCLUDE_FILE): New token.
+ * ldgram.y (EXCLUDE_FILE): New token.
(wildcard_spec): Set exclude_name.
(file_NAME_list): Recognize EXCLUDE_FILE.
- * ldlang.c (wild_section): Check for excluded files.
+ * ldlang.c (wild_section): Check for excluded files.
(print_wild_statement): Print excluded files.
(lang_add_wild): New argument exclude_filename.
Set exclude_filename.
* scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfppc.sc (CTOR, DTOR): Likewise.
-
+
* ldlang.c (lang_gc_sections): If entry_symbol is not defined,
* scripttempl/elf.sc: Add explicit placements for the .eh_frame
- and .gcc_except_table sections.
+ and .gcc_except_table sections.
-
- * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
- sections. Reorder .ctors section entries.
- * scripttempl/elfd10v.sc: Likewise.
- * scripttempl/elfd30v.sc: Likewise.
- * scripttempl/elfppc.sc: Likewise.
+
+ * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
+ sections. Reorder .ctors section entries.
+ * scripttempl/elfd10v.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfppc.sc: Likewise.
* ldlang.c (lang_check_section_addresses): Remove extraneous
- backslash.
+ backslash.
* scripttempl/elf.sc: Don't gather .ctor and .dtor sections
- for relocateable links.
+ for relocateable links.
* scripttempl/elfd10v.sc: Likewise.
* scripttempl/elfd30v.sc: Likewise.
* scripttempl/elfppc.sc: Likewise.
-
+
* ldint.texinfo: remove extraneous right brace.
* mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
- .reginfo section handling.
+ .reginfo section handling.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
* emulparams/elf32elmip.sh (INITIAL_READONLY_SECTIONS): Removed
* emulparams/elf32ebmip.sh (INITIAL_READONLY_SECTIONS): Removed
-
+
* configure.tgt: Added armv*-*-linux-gnu to $targ_emul
- recognition.
+ recognition.
-
- * emultempl/armelf_oabi.em
- (bfd_elf32_arm_allocate_interworking_sections,
- bfd_elf32_arm_get_bfd_for_interworking,
- bfd_elf32_arm_process_before_allocation): Define them to use the
- old ABI versions of the functions.
+
+ * emultempl/armelf_oabi.em
+ (bfd_elf32_arm_allocate_interworking_sections,
+ bfd_elf32_arm_get_bfd_for_interworking,
+ bfd_elf32_arm_process_before_allocation): Define them to use the
+ old ABI versions of the functions.
* ldexp.c (new_abs): Ditto.
(new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
- exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
- exp_get_abs_int): Ditto
+ exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
+ exp_get_abs_int): Ditto
* ldlang.c (print_assignment, lang_size_sections,
lang_do_assignments): Ditto.
-
+
* ldlang.c (lang_check_section_addresses): New function: Check
- * Makefile.am (earmelf_oabi.o): New.
- * Makefile.in: Regenerate.
- * configure.tgt (arm-*-oabi): New.
- (thumb-*-oabi): New.
- * emulparams/armelf_oabi.sh: New.
- * emultempl/armelf_oabi.em: New.
+ * Makefile.am (earmelf_oabi.o): New.
+ * Makefile.in: Regenerate.
+ * configure.tgt (arm-*-oabi): New.
+ (thumb-*-oabi): New.
+ * emulparams/armelf_oabi.sh: New.
+ * emultempl/armelf_oabi.em: New.
* ldlang.c (lang_size_sections): Count loadable sections as
- contributing to the size of the current segment.
+ contributing to the size of the current segment.
* ldlang.c (lang_size_sections): Only update the current
- address of a region if the section just placed into it is an
- allocated section.
+ address of a region if the section just placed into it is an
+ allocated section.
* scripttempl/fr30.sc: Fill .init and .fini sections with NOP
- pattern.
+ pattern.
* emultempl/pe.em (gld_i386_finish): generate import library
* deffile.h: add hint member.
* pe-dll.c (pe_dll_generate_implib): New function with helpers;
- generates the import library directly from the export table.
+ generates the import library directly from the export table.
(fill_edata): remember the actual hint for the import library.
* pe-dll.c (generate_reloc): don't output PE relocs for sections
- that won't be loaded.
+ that won't be loaded.
* pe-dll.c (process_def_file): properly note undefined exported
- symbols, clean up old code.
+ symbols, clean up old code.
(pe_dll_generate_def_file): don't crash if pe_def_file is NULL
* emultempl/pe.em (gld_i386_parse_args): add
- (en/dis)able-stdcall-fixups
+ (en/dis)able-stdcall-fixups
(pe_fixup_stdcalls): warn about stdcall fixups
(gld_i386_unrecognized_file): make exported symbols undefs so that
- archive members get pulled in
+ archive members get pulled in
- * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
- .fini, .dtors and .ctors. Add .data and .text
- wildcards to support section garbage collection.
+ * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
+ .fini, .dtors and .ctors. Add .data and .text
+ wildcards to support section garbage collection.
* configure.tgt: allow target-specific extra files
* configure.in: allow target-specific extra files
* ldlang.c (lang_add_assignment): return the assignment so that
- one can change the value later based on the object files (pe-dll
- DEF files do this)
+ one can change the value later based on the object files (pe-dll
+ DEF files do this)
* ldint.texinfo: add section for emulation walkthrough
* Makefile.am: add new files and target-specific extra files
* emultempl/pe.em (gld_i386_list_options): list dll-specific
options.
* pe-dll.c (process_def_file): auto-export everything if
nothing is otherwise exported.
-
+
* Makefile.am: Add support for FR30 target.
* Makefile.in: Regenerate.
* emulparams/fr30.sh: New file.
* scripttemp/fr30.sc: New file.
-
+
- * ldmain.c (main): Don't report error for dynamic links and
- --gc-sections.
+ * ldmain.c (main): Don't report error for dynamic links and
+ --gc-sections.
- * scripttempl/elf.sc: Merge .sdata.* etc sections.
- * ldctor.c (ldctor_build_sets): Set SEC_KEEP for
- ctor sections.
+ * scripttempl/elf.sc: Merge .sdata.* etc sections.
+ * ldctor.c (ldctor_build_sets): Set SEC_KEEP for
+ ctor sections.
- * ldmain.c (main): Error if --gc-sections and
- dyanmic linking.
- * scripttempl/v850.sc: Add KEEP attribute to .init,
- .fini, .dtors and .ctors. Add .data and .text
- wildcards to support section garbage collection.
+ * ldmain.c (main): Error if --gc-sections and
+ dyanmic linking.
+ * scripttempl/v850.sc: Add KEEP attribute to .init,
+ .fini, .dtors and .ctors. Add .data and .text
+ wildcards to support section garbage collection.
- * emultempl/elf32.em (gld_place_orphan): Don't process for
- sections with SEC_EXCLUDE flag.
+ * emultempl/elf32.em (gld_place_orphan): Don't process for
+ sections with SEC_EXCLUDE flag.
- * Makefile.am: Change armelf.sc to elf.sc
- * Makefile.in: Regenerate.
+ * Makefile.am: Change armelf.sc to elf.sc
+ * Makefile.in: Regenerate.
- * emulparams/armelf.sh: Change SCRIPT_NAME to
- elf. Change TEXT_START_ADDR to 0x8000. Define
- OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
- OTHER_BSS_END_SYMBOLS.
- * scripttempl/elf.sc: Modify to use
- OTHER_BSS_END_SYMBOLS.
- * scripttempl/elfarm.sc: Remove file.
+ * emulparams/armelf.sh: Change SCRIPT_NAME to
+ elf. Change TEXT_START_ADDR to 0x8000. Define
+ OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
+ OTHER_BSS_END_SYMBOLS.
+ * scripttempl/elf.sc: Modify to use
+ OTHER_BSS_END_SYMBOLS.
+ * scripttempl/elfarm.sc: Remove file.
- * emultempl/armelf.em (gld_armelf_before_allocation):
- Add bfd_ prefix to elf32_arm_process_before_allocation
- and elf32_arm_allocate_interworking_sections.
- (gld_armelf_after_open): Add bfd_ prefix to
- elf32_arm_get_bfd_for_interworking.
+ * emultempl/armelf.em (gld_armelf_before_allocation):
+ Add bfd_ prefix to elf32_arm_process_before_allocation
+ and elf32_arm_allocate_interworking_sections.
+ (gld_armelf_after_open): Add bfd_ prefix to
+ elf32_arm_get_bfd_for_interworking.
correctly.
* scripttempl/elf.sc: Add sort around CONSTRUCTORS.
* ld.texinfo (Output Section Keywords): Document SORT
- (CONSTRUCTORS).
+ (CONSTRUCTORS).
- * emulparams/armelf.sh: Define TEMPLATE_NAME to armelf.
- * scripttempl/elfarm.sc: Include .glue_7t and .glue7
- sections.
- * emultempl/armelf.em: New file.
+ * emulparams/armelf.sh: Define TEMPLATE_NAME to armelf.
+ * scripttempl/elfarm.sc: Include .glue_7t and .glue7
+ sections.
+ * emultempl/armelf.em: New file.
- * scripttempl/elfarm.sc: Change text start address
- back to zero.
+ * scripttempl/elfarm.sc: Change text start address
+ back to zero.
- * scripttempl/elfarm.sc: Set text start address to
- 0x8000. Add __bss_end definition.
+ * scripttempl/elfarm.sc: Set text start address to
+ 0x8000. Add __bss_end definition.
- * scripttempl/elfarm.sc: New file.
- * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
+ * scripttempl/elfarm.sc: New file.
+ * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
- * emulparams/armelf.sh: New file.
- * configure.tgt: Recognize thumb-elf and arm-elf.
- * Makefile.am (earmelf.o): New.
- * Makefile.in: Rebuild.
+ * emulparams/armelf.sh: New file.
+ * configure.tgt: Recognize thumb-elf and arm-elf.
+ * Makefile.am (earmelf.o): New.
+ * Makefile.in: Rebuild.
- * po/Make-in (install-info): New target.
+ * po/Make-in (install-info): New target.
(global_vercheck_failed): New file static variable.
(gld${EMULATION_NAME}_after_open): Check for shared libraries
twice, once with force set to 0 and once with it set to 1.
- (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
+ (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
Change all callers.
(gld${EMULATION_NAME}_search_needed): Likewise.
(gld${EMULATION_NAME}_try_needed): Likewise. If not force, check
* configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
rather than in a shell variable and using AC_SUBST.
* Makefile.am (DISTCLEANFILES): Remove ldscripts. Add tdirs.
- (distclean-local): New target.
+ (distclean-local): New target.
* configure, Makefile.in: Rebuild.
* ld.texinfo: Completely rewrite linker script documentation.
* scripttempl/elf.sc: Align the _end symbol according to the ELF
* configure.host (alpha*-*-netbsd*): New host.
* scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
* emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
- moved to 0x00.....4.
+ moved to 0x00.....4.
* configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
- variant.
+ variant.
* ldlang.c (wild_doit): Rewrite flag handling for clarity. If we
- are not adding the first input section, and SEC_READONLY is clear
- on the output section, then don't copy it from the input section.
- If SEC_READONLY is not set on the input section, then clear it on
- the output section.
+ are not adding the first input section, and SEC_READONLY is clear
+ on the output section, then don't copy it from the input section.
+ If SEC_READONLY is not set on the input section, then clear it on
+ the output section.
* configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
elf32bmip.
- * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
+ * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
- * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
- win32 dependencies.
- * configure: Regenerated with autoconf 2.12.
- * Makefile.in: Add $(EXEEXT) to executable.
+ * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
+ win32 dependencies.
+ * configure: Regenerated with autoconf 2.12.
+ * Makefile.in: Add $(EXEEXT) to executable.
- * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
+ * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
* scripttempl/elf.sc: Put linkonce reloc section in other
- appropriate reloc sections.
+ appropriate reloc sections.
* scripttempl/elfmips.sc: Add linkonce support.
* scripttempl/elfppc.sc: Likewise.
* Makefile.in (clean): Don't remove configdoc.texi.
- (maintainer-clean): Do remove configdoc.texi.
+ (maintainer-clean): Do remove configdoc.texi.
* ld.texinfo (Operators): Remove '@' from @smallexmple in comment
to avoid confusing texi2roff.
* emultempl/gld960c.em: Include <ctype.h>.
- (gld960_set_output_arch): Get the machine type from the -A option
+ (gld960_set_output_arch): Get the machine type from the -A option
if there is one, rather than always using core.
- * emultmpl/pe.em: increase size of stack reserve to 0x2000000
- (necessary in order to compile parse.c in gcc sources under NT)
+ * emultmpl/pe.em: increase size of stack reserve to 0x2000000
+ (necessary in order to compile parse.c in gcc sources under NT)
syntax error on __end__ line.
* scripttempl/armcoff.sc: For -N or -n, don't align .data. From
* scripttempl/armcoff.sc (__bss_start__, __bss_end__,
- __data_start__, __data_end__): Added to keep in sync. with the
- default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
+ __data_start__, __data_end__): Added to keep in sync. with the
+ default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
- * emulparams/d10velf.sh: Now works with elf.sc.
+ * emulparams/d10velf.sh: Now works with elf.sc.
(wild): Call wild_file. Permit the file name to be a wildcard.
(open_input_bfds): Don't call lookup_name for a wildcard pattern.
* Makefile.in: Rebuild dependencies.
- (CFILES): Add fnmatch.c.
+ (CFILES): Add fnmatch.c.
(HFILES): Add fnmatch.h.
(OFILES): Add fnmatch.o.
* ld.texinfo: Document that file and section names can now be
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
- the value of __start_SECNAME to the alignment required by the
- section to be placed.
+ the value of __start_SECNAME to the alignment required by the
+ section to be placed.
* lexsup.c: Include "libiberty.h".
- (parse_args): Copy the -Y argument into memory.
- (set_default_dirlist): Don't put the ':' back into the directory
+ (parse_args): Copy the -Y argument into memory.
+ (set_default_dirlist): Don't put the ':' back into the directory
list.
* configure.host (m68*-*-linux*): Add -dynamic-linker to
- HOSTING_CRT0. Search -lgcc both before and after -lc in
- HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
- at first.
+ HOSTING_CRT0. Search -lgcc both before and after -lc in
+ HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
+ at first.
(i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
directory at first.
* ldmisc.h (demangle): Declare.
* ldmisc.c: Include "libiberty.h". Include demangle.h with "",
- not <>.
+ not <>.
(demangle): Make non-static. Remove remove_underscore paramter.
Always return an allocated string.
(vfinfo): Free result of demangle. Add case 'G'. Use %T to print
* emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
- architecture number.
+ architecture number.
* scripttempl/elf.sc: Use $MACHINE definition if present.
* configure.tgt (targ_extra_emuls): Force 4100 build to use same
- template as 4300.
+ template as 4300.
* scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
- in a different manner to work around differences in shell variable
- expansion.
+ in a different manner to work around differences in shell variable
+ expansion.
* emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
- TEXT_START_ADDR to allow use on IDT and PMON systems.
+ TEXT_START_ADDR to allow use on IDT and PMON systems.
__GLOBAL_OFFSET_TABLE_.
Add some Irix 5 support, mostly from Kazumoto Kojima
* emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
(SHLIB_TEXT_START_ADDR): Define.
(OTHER_GOT_SYMBOLS): Define.
* emulparams/elf32b4300.sh: Added.
* emulparams/elf32l4300.sh: Added.
* configure.tgt, Makefile.in: Updated the build to use the
- new 8.3 unique names.
+ new 8.3 unique names.
* configure.in: Added mips*vr4300-idt-elf* and
- mips*vr4300el-idt-elf* targets.
+ mips*vr4300el-idt-elf* targets.
* Makefile.in: Added eelf32vr4300* targets.
* emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
* config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
* mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
* mpw-config.in (m68k-apple-macos, ppc-apple-macos,
- i386-unknown-aout, i386-unknown-coff): New targets.
+ i386-unknown-aout, i386-unknown-coff): New targets.
(m68k-aout, m68k-coff): Remove targets.
(mk.tmp): Add definition of EMUL.
* ldmain.c (main): If opening the map file fails, call
- bfd_set_error before calling einfo.
+ bfd_set_error before calling einfo.
* ld.texinfo, ld.1: Document the -no-keep-memory option.
* Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
and esparcnbsd.o; sorted entries.
- (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
+ (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
* config/netbsd532.mt: Removed.
* emulparams/netbsd532.sh: Removed.
* configure.in: Changed netware ld_target name to be {i386,ppc}-nw
instead of {i386,ppc}-elf.
- * configure.in (sparc*-*-netware): Removed. There is no such
+ * configure.in (sparc*-*-netware): Removed. There is no such
thing anymore.
* ldint.texinfo: Move misplaced `@end iftex'.
- * scripttempl/h8500b.sc: Put rdata stuff into own segment.
+ * scripttempl/h8500b.sc: Put rdata stuff into own segment.
* ld.texinfo: Document PROVIDE.
* ldlang.c (lang_common): Pass desired alignment to
- lang_one_common as power of two.
+ lang_one_common as power of two.
(lang_one_common): Get common symbol alignment from linker hash
table entry. Treat desired alignment as a power of two.
Preliminary support for generating shared libraries, from Eric
* genscripts.sh: If the emulation parameter file sets
- GENERATE_SHLIB_SCRIPT, generate a .xs script file with
+ GENERATE_SHLIB_SCRIPT, generate a .xs script file with
CREATE_SHLIB defined.
* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
link_info.shared is set, use the .xs script file.
- * emultempl/hppaelf.em: First attempt to clean this file up.
+ * emultempl/hppaelf.em: First attempt to clean this file up.
Add comments in several functions as to their purpose and
how they function (or my current best guess). Clean up horrible
spacing and indention that never should have been accepted in the
* scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
edata, _edata, end): Add definitions of these symbols.
- * Makefile.in: revert earlier changes back to execute runtest
- with make check. cdtest and bootstrap now function as they
+ * Makefile.in: revert earlier changes back to execute runtest
+ with make check. cdtest and bootstrap now function as they
did within the Makefile.
* Makefile.in: remove install:all and install-info:info
dependencies (these cause some spurious rebuilds at 'make install'
- time)
+ time)
* ldlang.c (size_input_section): count the sizes of all sections
- we allocate.
+ we allocate.
- * ldgram.y, ldlex.l: parse ABSOLUTE
+ * ldgram.y, ldlex.l: parse ABSOLUTE
* ldexp.c: add support for ABSOLUTE