Commit graph

170 commits

Author SHA1 Message Date
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
Nick Clifton
b79e8c7865 Add link option to allow undefiedn symbols in shared libraries 2000-12-12 20:53:02 +00:00
Nick Clifton
49425d281c Remove redundant init of config.make_executable to true. 2000-11-24 21:31:21 +00:00
Kazu Hirata
89cdebba13 2000-10-09 Kazu Hirata <kazu@hxi.com>
* ldcref.c: Fix formatting.
	* ldctor.h: Likewise.
	* ldemul.c: Likewise.
	* ldemul.h: Likewise.
	* ldexp.c: Likewise.
	* ldexp.h: Likewise.
	* ldfile.c: Likewise.
	* ldfile.h: Likewise.
	* ld.h: Likewise.
	* ldlang.c: Likewise.
	* ldlang.h: Likewise.
	* ldmain.c: Likewise.
2000-10-09 15:09:17 +00:00
Kazu Hirata
6d5e62f8b5 2000-09-21 Kazu Hirata <kazu@hxi.com>
* ldmain.c: Fix formatting.
	* ldmisc.c: Likewise.
	* ldver.c: Likewise.
	* ldwrite.c: Likewise.
2000-09-21 20:21:59 +00:00
Nick Clifton
9b14b192bb Disable relaxation if multiple symbol definitions are encountered - otherwise
the linker could abort with an assertion failure.
2000-09-14 01:39:42 +00:00
Alan Modra
a854a4a7c8 --split-by-reloc, --split-by-file extensions. --unique option. 2000-09-05 03:05:19 +00:00
H.J. Lu
6c1439be21 2000-07-20 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Add documentation for --disable-new-dtags and
	--enable-new-dtags.

	* ldmain.c (main): Initialize link_info.new_dtags to false.

	* emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
	--disable-new-dtags and --enable-new-dtags.
	(gld_${EMULATION_NAME}_list_options): Likewise.
2000-07-20 21:18:23 +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
b71e277823 Remove some forward declarations in ldemul.h and ldfile.h, and
re-arrange header include order.
Fix shadowing warnings in ldlang.h
Fix compile errors in mpw-elfmips.c
2000-07-11 03:42:41 +00:00
Alan Modra
2ab47eed68 Correct pointer comparisons relying on NULL less than any other pointer.
Alexander Aganichev's fix for ieee.c
2000-06-20 12:33:21 +00:00
Alan Modra
c7c544834a Correctly set SEC_READONLY for .text section. 2000-06-15 09:09:13 +00:00
Alan Modra
5af11cab92 Eli Zaretskii's DOSish file name patches. 2000-05-26 13:11:57 +00:00
Nick Clifton
1f0df59a27 When deciding if ".text" section should be read-only, don't forget to reset
SEC_READONLY because it could be already set.
2000-05-23 21:03:35 +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
H.J. Lu
b6f29aaaea 2000-03-01 H.J. Lu <hjl@gnu.org>
* ldmain.c (undefined_symbol): Take one more arg, fatal, to
	indicate if the undefined symbol is a fatal error or not.
	Don't delete the output file if "fatal" is false.
2000-03-01 19:37:03 +00:00
Ian Lance Taylor
87f2a3464b * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate.  Fill in structure initializations.
1999-07-11 20:09:04 +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
Richard Henderson
252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00