Commit graph

105 commits

Author SHA1 Message Date
Daniel Jacobowitz
df2a731323 * emultempl/aix.em: Use include <> for generated headers.
* emultempl/beos.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/pe.em: Likewise.
	* ldctor.c: Likewise.
	* ldexp.c: Likewise.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldlex.c: Likewise.
	* ldlex.l: Likewise.
	* ldmain.c: Likewise.
	* ldmisc.c: Likewise.
	* ldwrite.c: Likewise.
	* lexsup.c: Likewise.
	* mri.c: Likewise.
	* pe-dll.c: Likewise.
2002-10-30 03:57:39 +00:00
Nick Clifton
63fd3b826b Add new command line option "--no-omagic" which undoes the effects of -N. 2002-10-23 13:24:10 +00:00
H.J. Lu
c04c958616 2002-10-08 H.J. Lu <hjl@gnu.org>
* ldlang.c (lang_file_exist): Removed.
	(new_afile): Revert the last change.
	* ldlang.h (lang_file_exist): Removed.
	* lexsup.c (parse_args): Revert the last change.
2002-10-08 20:12:45 +00:00
Nick Clifton
53b2a62f07 Abort if the filename to be added matches the linker output filename. 2002-10-07 16:08:21 +00:00
H.J. Lu
3194163592 Check symbols with undefine version. 2002-08-08 03:50:18 +00:00
H.J. Lu
aa713662e8 2002-05-21 H.J. Lu (hjl@gnu.org)
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
	"-z muldefs".
	(gld${EMULATION_NAME}_list_options): Add "-z muldefs".

	* ld.texinfo: Updated for --allow-multiple-definition and
	"-z muldefs".

	* ldmain.c (main): Initialize the allow_multiple_definition
	field to false.

	* lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
	(ld_options): Add --allow-multiple-definition.
	(parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2002-05-22 05:08:31 +00:00
Kazu Hirata
b7a26f91f4 * ld.h: Fix formatting.
* ldexp.c: Likewise.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* lexsup.c: Likewise.
	* pe-dll.c: Likewise.
2002-05-03 13:48:55 +00:00
Daniel Jacobowitz
37b0ac0fc8 2002-02-10 Daniel Jacobowitz <drow@mvista.com>
* lexsup.c: Remove strtoul declaration.
2002-02-11 02:41:37 +00:00
Daniel Jacobowitz
4e5bae56d4 2002-02-10 Daniel Jacobowitz <drow@mvista.com>
* ldmain.c: Add prototype for main ().
	* lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H.
	* emultempl/lnk960.em (lnk960_choose_target): Function should
	take two arguments.
2002-02-10 19:12:13 +00:00
Alan Modra
89894c62c6 * lexsup.c (parse_args): Don't pass shortopts to second call to
getopt functions.  Restore optind rather than decrementing before
	second call.  Remove errind as it now duplicates last_optind.
2001-12-13 09:38:11 +00:00
Nick Clifton
ff291a48c0 Insert 'PROGRAM' into the text string describing the -N option so that it is
easier to translate into foreign languages.
2001-12-07 12:41:21 +00:00
Chris Demetriou
361b220ebe 2001-11-01 Chris Demetriou <cgd@broadcom.com>
* ld.texinfo (Options): Document new option, -nostdlib.
        * lexsup.c (OPTION_NOSTDLIB): New definition.
        (ld_options): Add entry for "nostdlib".
        (parse_args): Handle OPTIONS_NOSTDLIB.
        * ldfile.c (ldfile_add_library_path): Don't add directories
        to the search path if they weren't specified on the command line
        and -nostdlib was specified.
        * ld.h (ld_config_type): New member only_cmd_line_lib_dirs.
2001-11-02 01:13:09 +00:00
Nick Clifton
210a7bd13d Fix infinite parsing loop 2001-10-31 15:41:19 +00:00
Alan Modra
d32820f2fa * ldver.h (ld_program_version): Remove declaration.
* lexsup.c (parse_args): Move printing of copyright message..
	* ldver.c (ldversion): .. to here.
	Use BFD_VERSION_STRING in place of BFD_VERSION.
	(ld_program_version): Remove.
	* Makefile.am (Makefile): Depend on bfd/configure.in
	Run "make dep-am"
	* Makefile.in: Regenerate.
2001-10-02 06:04:23 +00:00
Alan Modra
4818e05fe5 From John Reiser <jreiser@BitWagon.com>
* ldlang.c (lang_common): Conditionally inhibit Common allocation.
	* lexsup.c: Add --no-define-common commandline option.
	* ldgram.y: Add INHIBIT_COMMON_ALLOCATION script command.
	* ldlex.l: Likewise.
	* ld.h: Add command_line.inhibit_common_definition.
	* ldmain.c (main): Initialize.
	* ld.texinfo: Document.
2001-09-29 12:57:54 +00:00
H.J. Lu
3882b01078 Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
Jakub Jelinek
db6751f2e7 * elf-bfd.h (enum elf_reloc_type_class): New.
(struct elf_backend_data): Add elf_backend_reloc_type_class.
	(_bfd_elf_reloc_type_class): New.
	* elfxx-target.h (elf_backend_reloc_type_class): Define.
	(elfNN_bed): Add elf_backend_reloc_type_class.
	* elf.c (_bfd_elf_reloc_type_class): New.
	* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
	is against read-only section.
	(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_i386_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf32_sparc_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(sparc64_elf_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
	(elfNN_ia64_hash_table_create): Clear ia64_info.
	(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
	section.
	(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
	instead of looking up section names for DT_TEXTREL.
	(elfNN_ia64_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
	(struct elf_link_sort_rela): New.
	(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
	(elf_bfd_final_link): Call elf_link_sort_relocs.
	Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
	necessary.

	* bfdlink.h (struct bfd_link_info): Add combreloc and
	spare_dynamic_tags fields.

	* emultempl/elf32.em (place_orphan): Place orphan .rel* sections
	into .rel.dyn resp. .rela.dyn if combreloc.
	(get_script): If .x linker script is equal to .xn, only put it
	once into the binary.
	Add .xc and .xsc scripts.
	(parse_args): Handle -z combreloc and -z nocombreloc.
	* scripttempl/elf.sc (.rela.sbss): Fix a typo.
	For .xc and .xsc scripts put all .rel* or .rela* input sections
	but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn.
	* genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME
	is elf.
	Strip trailing whitespace from script.
	Generate .xc and .xsc scripts if requested.
	* ldmain.c (main): Initialize link_info.combreloc and
	link_info.spare_dynamic_tags.
	* lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define.
	(ld_options): Add --spare-dynamic-tags option.
	(parse_args): Likewise.
	* ld.texinfo: Document -z combreloc and -z nocombreloc.
	* ldint.texinfo: Document .xc and .xsc linker scripts.
	* NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-23 15:14:18 +00:00
Nick Clifton
b9a8de1ea3 Make --verbose always display linker script 2001-08-12 07:59:28 +00:00
Hans-Peter Nilsson
605d9b3a4f * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections.
	* mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto.
	* ld.h (args_type): Remove member export_dynamic.  All users
	changed to use struct bfd_link_info member.
2001-06-18 22:20:57 +00:00
H.J. Lu
5af9fd8b93 2001-06-15 H.J. Lu <hjl@gnu.org>
* lexsup.c (parse_args); Save optind to report unrecognized
	option.
2001-06-16 03:41:45 +00:00
Hans-Peter Nilsson
2a096f0438 * lexsup.c (parse_args) <case OPTION_EXPORT_DYNAMIC, case 'E'>:
Set new link_info member export_dynamic.
	* ldmain.c (main): Initialize new link_info member export_dynamic.
2001-06-15 13:02:23 +00:00
Nick Clifton
506eee2253 Improve Solaris compatability 2001-05-22 14:00:18 +00:00
H.J. Lu
d1b2b2dcb9 2001-05-02 H.J. Lu <hjl@gnu.org>
* ldfile.c: Include "libiberty.h".
	* ldlex.l: Likewise.

	* ldmisc.c (buystring): Removed.
	* ldmisc.h: Likewise.

	* ldfile.c: Replace buystring with xstrdup.
	* ldlang.c: Likewise.
	* ldlex.l: Likewise.
	* ldmain.c: Likewise.
	* ldmisc.c: Likewise.
	* lexsup.c: Likewise.
	* mpw-eppcmac.c: Likewise.
2001-05-02 16:42:55 +00:00
J.T. Conklin
7ce691aec4 * ld.texinfo: Document --fatal-warnings.
* ld.1: Regenerate.

* ldmisc.c (vfinfo): Set flag to inhibit making executable if
warnings have been turned into errors.
* lexsup.c (OPTION_WARN_FATAL): Define.
(ld_options): Entry for --fatal-warnings.
(parse_args): Handle OPTION_WARN_FATAL.
* ld.h (ld_config_type): Add fatal_warnings field.
2001-04-13 02:22:23 +00:00
Jakub Jelinek
f5fa8ca231 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Nick Clifton
a2b64bede3 Fixtypos in ChangeLogs, fix copyright dates in files 2001-03-13 06:14:29 +00:00
Alan Modra
577a062318 Extend "ld --unique" functionality. 2001-01-14 04:36:35 +00:00
Nick Clifton
b7ed8fad53 formatting fix 2001-01-13 19:45:52 +00:00
Nick Clifton
d0398d6ac6 Update copyright date to 2001 2001-01-12 18:01:56 +00:00
Nick Clifton
0fc3347a5c Fix problems with new EXACTLY_TWO_DASHES command line switch option. 2000-12-31 19:56:04 +00:00
Nick Clifton
e4897a3288 Requre that long options starting with 'o' only accept a double dash prefix. 2000-12-28 19:54:33 +00:00
Nick Clifton
b79e8c7865 Add link option to allow undefiedn symbols in shared libraries 2000-12-12 20:53:02 +00:00
Chandra Chavva
ea20a7da87 Added new option --target-help. 2000-10-17 20:10:20 +00:00
Kazu Hirata
e47d05ade6 2000-10-10 Kazu Hirata <kazu@hxi.com>
* deffile.h: Fix formatting.
	* lexsup.c: Likewise.
	* mri.c: Likewise.
2000-10-11 00:16:07 +00:00
Kazu Hirata
5cc18311d9 2000-09-29 Kazu Hirata <kazu@hxi.com>
* deffile.h: Fix formatting.
	* ld.h: Likewise.
	* ldctor.h: Likewise.
	* ldemul.h: Likewise.
	* ldexp.h: Likewise.
	* ldfile.h: Likewise.
	* ldlang.h: Likewise.
	* lexsup.c: Likewise.
	* mri.c: Likewise.
	* pe-dll.c: Likewise.
2000-09-29 13:21:41 +00:00
Alan Modra
a854a4a7c8 --split-by-reloc, --split-by-file extensions. --unique option. 2000-09-05 03:05:19 +00:00
Nick Clifton
3a9d486c00 Add .gnu.linkonce.wi.* to .debug_info sections. 2000-09-02 20:43:22 +00:00
Nick Clifton
28c309a287 Add optional style argument to --demangle switch. 2000-07-20 18:02:56 +00:00
H.J. Lu
e0ee487bb5 2000-07-19 H.J. Lu <hjl@gnu.org>
* emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed.
	(PARSE_AND_LIST_PROLOGUE): New.
	(PARSE_AND_LIST_LONGOPTS): Likewise.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Likewise.

	* ldmain.c (main): Clear link_info.flags and link_info.flags_1.

	* lexsup.c (ld_options): Comment out 'z'.
	(parse_args): Likewise.

	* emultempl/elf32.em: Include "elf/common.h".
	(gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
	options.
	(gld_${EMULATION_NAME}_list_options): Likewise.

	* ld.texinfo: Add documentation for the recognized -z options.
2000-07-20 03:25:10 +00:00
Alan Modra
227aeb0758 Fix --section-start=xxxx 2000-07-08 13:35:05 +00:00
Nick Clifton
176355da99 Patch from Thomas de Lellis to implement --section-start 2000-05-22 21:58:40 +00:00
H.J. Lu
8c5ff9729d 2000-05-18 H.J. Lu <hjl@gnu.org>
* lexsup.c (parse_args): `i' == `r', not `q'.
2000-05-18 22:01:04 +00:00
Nick Clifton
079a8e4af5 Fix typo in previous delta 2000-05-17 19:53:11 +00:00
Nick Clifton
a712da2085 Apply patch from Richard Gorton <gorton@scrugs.lkg.dec.com> to implement
--emit-relocs switch to the linker to preserve relocs in an output executable
2000-05-17 19:38:53 +00:00
Alan Modra
c2f1343c8b Update printed copyright. 2000-05-15 02:17:52 +00:00
Alan Modra
9369728402 Fix 64 bit target section start on 32 bit machine. 2000-05-03 11:22:42 +00:00
Alan Modra
8ad3436c79 Move translated part of bug report string back into .c files so
xgettext can find it.  Regnerate .pot files.
2000-04-04 14:32:35 +00:00
Alan Modra
c20f4f8c21 Move bug report string to one place. 2000-04-03 14:10:05 +00:00
Ian Lance Taylor
d98dd8ba26 1999-09-12 Donn Terry <donn@interix.com>
* lexsup.c (parse_args): Use strtoul for --split-by-reloc
	argument.
1999-09-12 16:40:09 +00:00
Ian Lance Taylor
03983865c3 1999-09-12 Donn Terry <donn@interix.com>
* lexsup.c (parse_args): If we get an unrecognized argument,
	mention --help.
1999-09-12 16:35:20 +00:00
Ian Lance Taylor
3d9f627799 * lexsup.c (is_num): Reindent.
(parse_args): Mention program name in error message.
1999-08-06 23:33:33 +00:00
Mark Mitchell
3dbf70a218 * ldmain.c (main): Initialize link_info.init_function and
link_info.fini_function.
	* lexsup.c (OPTION_INIT): New macro.
	(OPTION_FINI): Likewise.
	(ld_options): Add descriptions for them.
	(parse_args): Handle them.
1999-06-23 11:09:30 +00:00
Nick Clifton
f75692fe1a restore previous format of --help output 1999-06-09 05:35:55 +00:00
Nick Clifton
b3043ee4e2 Minor formatting changes. 1999-05-28 10:50:29 +00:00
Richard Henderson
252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00