+
+ * ld.texinfo: Correct spelling of "relocatable".
+ * ldctor.c: Likewise
+ * ldexp.c: Likewise
+ * ldfile.c: Likewise
+ * ldint.texinfo: Likewise
+ * ldlang.c: Likewise
+ * ldmain.c: Likewise
+ * ldwrite.c: Likewise
+ * lexsup.c: Likewise
+ * emultempl/aix.em: Likewise
+ * emultempl/alphaelf.em: Likewise
+ * emultempl/armcoff.em: Likewise
+ * emultempl/armelf_oabi.em: Likewise
+ * emultempl/beos.em: Likewise
+ * emultempl/elf32.em: Likewise
+ * emultempl/generic.em: Likewise
+ * emultempl/gld960.em: Likewise
+ * emultempl/gld960c.em: Likewise
+ * emultempl/hppaelf.em: Likewise
+ * emultempl/linux.em: Likewise
+ * emultempl/lnk960.em: Likewise
+ * emultempl/m68hc1xelf.em: Likewise
+ * emultempl/m68kcoff.em: Likewise
+ * emultempl/m68kelf.em: Likewise
+ * emultempl/mipsecoff.em: Likewise
+ * emultempl/mipself.em: Likewise
+ * emultempl/mmix-elfnmmo.em: Likewise
+ * emultempl/mmo.em: Likewise
+ * emultempl/needrelax.em: Likewise
+ * emultempl/pe.em: Likewise
+ * emultempl/ppc64elf.em: Likewise
+ * emultempl/sh64elf.em: Likewise
+ * emultempl/sunos.em: Likewise
+ * emultempl/ticoff.em: Likewise
+ * emultempl/xtensaelf.em: Likewise
+
+
+ * emultempl/ppc32elf.em: Convert to C90.
+
+
+ * emultempl/ppc64elf.em: Convert to C90 function definitions, remove
+ unnecessary prototypes and casts.
+
+
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Dump out
+ statistics from ppc64_elf_build_stubs.
+
+
+ * emultempl/ppc64elf.em (build_section_lists): Check return status
+ from ppc64_elf_next_input_section.
+
+
+ * ldlang.c (section_already_linked): Put back assignment of
+ kept_section.
+
+
+ * pe-dll.c (generate_reloc): Catch and ignore an ARM_26D
+ reloc.
+
+
+ * configure.host (*-*-freebsd*): Add known path for ld-elf.so.1
+ if not produced by gcc.
+
+
+ * configure.tgt: Add specific case for cris-*-linux-gnu*
+ with crislinux emulation only.
+
+
+ * configure.tgt: Add i386-netbsd-gnu target.
+
+
+ * configure.tgt (mips*-sgi-irix6*): Add the o32 and n64 emulations
+ to $targ_extra_libpath.
+
+
+ * po/Make-in (DESTDIR): New.
+ (install-data-yes): Support $(DESTDIR).
+ (uninstall): Likewise.
+
+
+ * Makefile.am (ALL_EMULATIONS): Add em32relf.o.
+ * Makefile.in: Regenerate.
+
+
+ * configure.tgt (h8300*): Add h8300sxn emulations.
+ * Makefile.am (ALL_EMULATIONS): Add eh8300sxn.o and eh8300sxnelf.o.
+ (eh8300sxn.c, eh8300sxnelf.c): New rules.
+ * Makefile.in: Regenerate.
+ * emulparams/h8300sxnelf.sh, emulparams/h8300sxn.sh: New files.
+ * scripttempl/h8300sxn.sc: New file.
+
+
+ * emulparams/elf64ppc.sh (EXECUTABLE_SYMBOLS, OTHER_BSS_END_SYMBOLS,
+ CTOR_START, CTOR_END, DTOR_START, DTOR_END): Don't define.
+
+
+ * emultempl/ppc64elf.em (emit_stub_syms, toc_section): New vars.
+ (build_toc_list): New function.
+ (gld${EMULATION_NAME}_finish): Call build_toc_list and
+ ppc64_elf_reinit_toc. Adjust ppc64_elf_build_stubs call.
+ (OPTION_STUBSYMS): Define.
+ (PARSE_AND_LIST_LONGOPTS): Add emit-stub-syms.
+ (PARSE_AND_LIST_OPTIONS): Document.
+ (PARSE_AND_LIST_ARGS_CASES): Handle.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Remove
+ extra \t in -z noexecstack line.
+
+
+ * ldgram.y (phdr_type): Grok PT_GNU_STACK.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
+ -z execstack and -z noexecstack.
+ (gld${EMULATION_NAME}_list_options): Likewise.
+ * scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
+
+
+ * Makefile.am: Add new emulations for h8300sx.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add new emulations.
+ * emulparams/h8300sx.sh: New emulation.
+ * emulparams/h8300sxelf.sh: Ditto.
+ * scripttempl/h8300sx.sc: Ditto.
+
+
+ * ldmisc.c: Include "bfdlink.h".
+ (error_handler): Handle LD_DEFINITION_IN_DISCARDED_SECTION
+ and -LD_DEFINITION_IN_DISCARDED_SECTION.
+
+ * Makefile.am: Rebuild dependency.
+ * Makefile.in: Regenerated.
+
+
+ * emulparams/shlelf_linux.sh (GENERATE_PIE_SCRIPT): Set to yes.
+ * emulparams/shlelf32_linux.sh (GENERATE_PIE_SCRIPT): Likewize.
+
+
+ * pe-dll.c (fill_edata): Scan table pe_dll->exports, which is
+ sorted alphabetically, instead of exported_symbols, which is
+ sorted by ordinal.
+
+
+ * lexsup.c (OPTION_PIE): Define.
+ (ld_options): Add -pie and --pic-executable options.
+ (parse_args): Handle OPTION_PIE.
+ * ldmain.c (main): Initialize link_info.pie and
+ link_info.executable.
+ * genscripts.sh: Generate PIE scripts.
+ * ld.texinfo: Document -pie and --pic-executable options.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
+ (gld${EMULATION_NAME}_place_orphan): Likewise.
+ (gld${EMULATION_NAME}_get_script): Include PIE scripts.
+ * scripttempl/elf.sc: In PIE scripts set . the same way as in
+ shared scripts.
+ * emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
+ * emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
+ * emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
+
+
+ * genscripts.sh: Create tmpdir/libpath.exp.
+
+
+ * emultempl/armelf.em (arm_elf_before_allocation): Replace ASSERT
+ with a test for a NULL bfd_for_interworking.
+
+
+ * configure.host (*-*-netbsd*): Set HOSTING_CRT0 and HOSTING_LIBS
+ correctly for more recent versions of NetBSD.
+ (alpha*-*-netbsd*): Remove.
+ (i[3-7]86-*-netbsd*): Remove.
+
+
+ * emultempl/pe.em: Include "safe-ctype.h" instead of <ctype.h>.
+
+
+ * emulparams/elf64btsmip.sh: Set TEXT_START_ADDR to 0x120000000 to
+ trap on pointer crops.
+
+
+ * configure.tgt: Check for a target triplet of shl-...-netbsdelf
+ as well as shle-...-netbsdelf.
+
+
+ * configure.host: Accept i[3-7]86 variants.
+ * configure.tgt: Likewise.
+
* emulparams/elf64_ia64.sh: Don't set COMMONPAGESIZE for now.
* configure.tgt: Add armeb-elf and arm*b-*-linux-gnu.
-
+
* ldlang.c (lang_size_sections_1): Default to generating a
fatal error message if a loadable section is not allocated
to a memory region when regions are defined.
- Contribute support for Intel's iWMMXt chip - an ARM variant:
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
* emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Define.
* emulparams/armelf_linux.sh (OTHER_READONLY_SECTIONS): Define.
- * deffilep.y (def_import): Use default extension of "dll"
+ * deffilep.y (def_import): Use default extension of "dll"
if no extension provided in parsed IMPORT definition.
* deffilep.y (def_lex): Revert 2003-03-12 change.
* deffilep.y (def_get_module): New function: locate an already
added module.
* deffile.h (def_get_module): New prototype.
- * pe-dll.c (pe_implied_import_dll): Add code to prevent importing
+ * pe-dll.c (pe_implied_import_dll): Add code to prevent importing
a dll multiple times.
- * ld/ld.texinfo (node WIN32): Some clarifications
+ * ld.texinfo (node WIN32): Some clarifications
and formatting fixups.
- * ld/pe-dll.c (autofilter_symbollist): Add cygwin_crt0.
+ * pe-dll.c (autofilter_symbollist): Add cygwin_crt0.
- * ld/config.in (HAVE_REALPATH): New entry.
+ * config.in (HAVE_REALPATH): New entry.
(HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
- * ld/emultempl/pe.em (pe_find_data_imports): Don't search for data
+ * emultempl/pe.em (pe_find_data_imports): Don't search for data
import when auto-import is disabled.
def_file_export structure.
(pe_implied_import_dll): New variables exp_funcbase and
[data|bss]_[start|end]. Use DLL's internal name to set dll_name,
- not filename (which may be a symlink). Scan the sections and
+ not filename (which may be a symlink). Scan the sections and
initialize [data|bss]_[start|end]. When scanning the export
table, skip _nm_ symbols, and mark any symbols whose rva indicates
that it is in the .bss or .data sections as data.
- * emultempl/armelf.em: Revert this patch, it is not needed.
+ * emultempl/armelf.em: Revert this patch, it is not needed.
* configure.in: added --with-lib-path argument to ld's configure
to set LIB_PATH.
- * ld/NEWS: Document new switch.
- * ld/README: Mention new switch.
+ * NEWS: Document new switch.
+ * README: Mention new switch.
* configure: Regenerate.
* Makefile.in: Regenerate.
- * ld/configure.host (romp): Drop support.
+ * configure.host (romp): Drop support.
- * emultempl/elf32.em: gld*_get_script: Check for
+ * emultempl/elf32.em: gld*_get_script: Check for
GENERATE_COMBRELOC_SCRIPT.
* scripttempl/elfd10v.sc : Fix STACK and INSN.
* emulparams/d10velf.sh : Fix TEXT_START_ADDR.
- * ld/ldmain.c (main): initialize link_info.pei386_auto_import
+ * ldmain.c (main): initialize link_info.pei386_auto_import
to -1 == implicit enable.
- * ld/emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
+ * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
initialize link_info.pei386_auto_import to -1 == implicit
enable.
(gld_${EMULATION_NAME}_parse_args): When processing
- * ld/configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
+ * configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
- * ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
- * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
+ * ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
+ * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
the pattern in question is not a regexp.
- * ldlang.c: Likewise.
- * ldlang.h: Likewise.
- * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
+ * ldlang.c: Likewise.
+ * ldlang.h: Likewise.
+ * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
* emulparams/shelf32.sh (STACK_ADDR): Define.
(OTHER_RELOCATABLE_SECTIONS): Renamed to...
- (OTHER_SECTIONS): this. Removed stack settings.
+ (OTHER_SECTIONS): this. Removed stack settings.
* emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set.
(OTHER_SECTIONS): Reset after sourcing shelf32.sh.
* emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable
relaxing if any shmedia or mixed sections are found.
* emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to
- einfo. Gracefully decline to output to non-elf formats.
+ einfo. Gracefully decline to output to non-elf formats.
* emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>:
Default to _end aligned to next multiple of 0x40000, plus 0x40000.
* emulparams/shelf32.sh: Ditto.
* emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak
comment.
* emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid
non-portable shell constructs. From Hans-Peter Nilsson.
* emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty.
* Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust
dependencies to the shell script include chain.
* Makefile.in: Regenerate.
* emultempl/sh64elf.em: Update and tweak comments.
(sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and
make a .cranges section SEC_IN_MEMORY.
* emultempl/sh64elf.em
(sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when
.cranges section found to be necessary; continue and set stored
(sh64_elf_${EMULATION_NAME}_after_allocation): Only process
sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to
access contents-type flags. Assert that the associated container
- is initialized. Use that container, not elf_gp_size, to hold size
+ is initialized. Use that container, not elf_gp_size, to hold size
of linker-generated cranges contents.
* emultempl/sh64elf.em
(sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if
there's already a .cranges section. When section flag difference
is found, don't NULL-check cranges a second time. Tweak comments.
(sh64_elf_${EMULATION_NAME}_after_allocation): Use size after
merging, not max size, as size of ld-generated .cranges contents.
- Don't set ELF section flags in output section. When checking for
+ Don't set ELF section flags in output section. When checking for
needed .cranges descriptors, don't use a variable; compare
incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak
comments.
* emultempl/sh64elf.em: New file.
* Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies.
* Makefile.in: Regenerate.
(OTHER_RELOCATING_SECTIONS): Ditto.
(EXTRA_EM_FILE): New, set to sh64elf if not set.
* emulparams/shlelf32.sh: Stub out all settings except
- OUTPUT_FORMAT. Source shelf32.sh.
+ OUTPUT_FORMAT. Source shelf32.sh.
* emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and
OTHER_RELOCATING_SECTIONS.
(OTHER_RELOCATING_SECTIONS): Remove .cranges.
* emulparams/shlelf64.sh: Stub out all settings except
- OUTPUT_FORMAT. Source shelf64.sh.
+ OUTPUT_FORMAT. Source shelf64.sh.
* emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include
.cranges section.
(DATA_START_SYMBOLS): Define, provide ___data.
* emulparams/shelf32.sh: Ditto.
(ALIGNMENT): Define to 8.
* emulparams/shelf32.sh: Ditto.
* configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get
built-in linker scripts.
* emulparams/shlelf64.sh: New.
* emulparams/shelf64.sh: New.
* configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to
targ_extra_emuls.
* Makefile.am: Add support for shlelf64 and shelf64.
* Makefile.in: Regenerate.
* configure.tgt (sh64-*-elf*): Add shelf as default.
Add shlelf to targ_extra_emuls.
* emulparams/shelf32.sh: New file.
* emulparams/shlelf32.sh: New file.
* Makefile.am: Add support for shlelf32 and shelf32.
* configure.tgt (sh*le-*-netbsdelf*): New target.
(sh*-*-netbsdelf*): New target.
* emulparams/shelf.sh: Document that shelf_nbsd.sh sources this file.
- * ld/emulparams/shelf_nbsd.sh: New emulation.
- * ld/emulparams/shlelf_nbsd.sh: New emulation.
+ * emulparams/shelf_nbsd.sh: New emulation.
+ * emulparams/shlelf_nbsd.sh: New emulation.
* emultempl/aix.em (choose_target): Change default target to
OUTPUT_FORMAT for ppcmacos. Add braces to remove compiler
warning.
- (gld*_read_file): Fix typo.
+ (gld*_read_file): Fix typo.
(change_symbol_mode): Add prototype.
(is_syscall): Same.
* Makefile.in : Remove eaixppc64.c
* ldemul.c (ldemul_choose_target): New parameters argc, argv.
(ldemul_default_target): Same.
- * emultempl/gld960.em (gld960_choose_target): Same.
- * emultempl/gld960c.em (gld960_choose_target): Same.
+ * emultempl/gld960.em (gld960_choose_target): Same.
+ * emultempl/gld960c.em (gld960_choose_target): Same.
* scripttempl/aix.sc: Remove OUTPUT_FORMAT.
* emultempl/aix.em (is_syscall): syscall_mask now a variable.
* emultempl/aix.em (gld*_read_file): symbol_mode_mask now a variable.
- * pe-dll.c (autofilter_objectlist): Add startup objects
+ * pe-dll.c (autofilter_objectlist): Add startup objects
for profiling.
(auto-export): Constify char * p.
Extract file basename and use strcmp rather than ststr
- * lexsup.c (ld_options): Allow -I to be an alias for
+ * lexsup.c (ld_options): Allow -I to be an alias for
--dynamic-linker. This is for Solaris compatability.
* ld.texinfo: Document that -I can be used.
* ld.1: Regenerate.
* scripttempl/elfm68hc12.sc: New file.
* emulparams/m68hc12elfb: New emulation.
* emulparams/m68hc12elf: New emulation.
- * emulparams/m68hc11elfb.sh: New file. User configurable emulation
+ * emulparams/m68hc11elfb.sh: New file. User configurable emulation
(includes a memory.x script to define the ROM and RAM banks).
* scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh:
New configuration files for support of Motorola 68hc11
* ld.1: Add documentation for new command line option:
- --section-start <sectionname>=<sectionorg>
+ --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.h (wildcard_spec): Change exclude_name to exclude_name_list.
+ * ld.h (wildcard_spec): Change exclude_name to exclude_name_list.
(name_list): New.
* ld.texinfo (EXCLUDE_FILE): Update documentation.
* ldgram.y (wildcard_spec): Support a list of excluded_files.