Commit graph

1041 commits

Author SHA1 Message Date
DJ Delorie
b138a74d47 * pe-dll.c (generate_reloc): don't output PE relocs for sections
that won't be loaded.
1998-11-11 23:11:38 +00:00
DJ Delorie
a18b9a3df3 * pe-dll.c (fill_edata): don't strip underscores 1998-11-11 18:50:40 +00:00
DJ Delorie
a6ae89f731 * ld.texinfo: added i386pe option summary 1998-11-11 02:29:03 +00:00
DJ Delorie
e2586bc8de * pe-dll.c (process_def_file): properly note undefined exported
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
	(pe_fixup_stdcalls): warn about stdcall fixups
	(gld_i386_unrecognized_file): make exported symbols undefs so that
 	archive members get pulled in
1998-11-10 22:57:13 +00:00
Catherine Moore
fa718276e8 * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
.fini, .dtors and .ctors.  Add .data and .text
        wildcards to support section garbage collection.
1998-11-10 21:00:40 +00:00
DJ Delorie
a3606134a2 * deffilep.y: properly handle relocs with multiple def_files,
cache import module names
1998-11-10 03:54:00 +00:00
DJ Delorie
91c7ad9a6a * pe-dll.c (process_def_file): don't assume exports won't move
during a realloc
1998-11-10 03:45:43 +00:00
DJ Delorie
69c4fd86f9 * pe-dll.c (process_def_file): auto-export everything if
nothing is otherwise exported.
1998-11-09 23:06:47 +00:00
DJ Delorie
854d50bd51 * emultempl/pe.em (gld_i386_list_options): list dll-specific options. 1998-11-09 22:58:45 +00:00
DJ Delorie
8550b2d7c0 oops, wasn't done editing that one yet. 1998-11-09 21:58:35 +00:00
DJ Delorie
eb8061bf35 * pe-dll.c: New file; direct support for PE DLLs
* deffile.h: New file; direct support for PE DLLs
	* deffilep.y: New file; direct support for PE DLLs
	* emultempl/pe.em: add direct support for PE DLLs
	* 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)
	* ldint.texinfo: add section for emulation walkthrough
1998-11-09 21:51:51 +00:00
Nick Clifton
7192be38cc Add support for FR30 1998-11-05 00:41:24 +00:00
Catherine Moore
eddbf20e81 Don't report error for dynamic links and --gc-sections. 1998-11-02 20:52:40 +00:00
Ulrich Drepper
8c811b9d07 1998-10-26 16:05 Ulrich Drepper <drepper@cygnus.com>
* lexsup.c (ld_options): Change text of -O to Optimize output file".
	(parse_args): Set link_info.optimize based on -O argument.
	* ldmain.c (main): Initialize link_info.optimze to false.
	* ld.texinfo: Describe -O option.
	* ld.1: Likewise.
1998-10-27 00:08:03 +00:00
Catherine Moore
710c8d2fad * scripttempl/elf.sc: Merge .sdata.* etc sections.
* ldctor.c (ldctor_build_sets):  Set SEC_KEEP for
        ctor sections.
1998-10-09 21:07:11 +00:00
Catherine Moore
64923bb947 * 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.
1998-10-05 14:48:32 +00:00
Nick Clifton
8d3859c765 Fix for PR 17063 - do not create a section called .call_table, instead create
sections called .call_table_data and .call_table_text.
1998-09-30 18:37:55 +00:00
Catherine Moore
dbfd71f987 fix date 1998-09-04 15:06:32 +00:00
Catherine Moore
2d94a86b15 remove garbage 1998-09-04 14:22:03 +00:00
Richard Henderson
df775531ca * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32. 1998-09-04 00:31:41 +00:00
Catherine Moore
7892a56c16 Change references to armelf.sc to elf.sc. 1998-08-31 18:09:41 +00:00
Catherine Moore
4a634a0bcb * 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.
1998-08-31 16:26:28 +00:00
Catherine Moore
01ce25b37c remove armelf sanitization. 1998-08-31 16:21:59 +00:00
Catherine Moore
5cdcdb070c * 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.
1998-08-18 17:15:58 +00:00
Ian Lance Taylor
1e012223fd * Makefile.am: Rebuild dependencies.
* Makefile.in: Rebuild.
1998-08-14 19:52:24 +00:00
Ian Lance Taylor
63bb5e9a79 * ldgram.y: Include "ldctor.h".
(statement): Accept SORT around CONSTRUCTORS.
	* ldctor.c: Include <ctype.h>.
	(constructors_sorted): New global variable.
	(ctor_prio, ctor_cmp): New static functions.
	(ldctor_build_sets): Sort constructors if requested.
	* ldctor.h (constructors_sorted): Declare.
	* ldlang.c (print_statement): Print sorted CONSTRUCTORS
	correctly.
	* scripttempl/elf.sc: Add sort around CONSTRUCTORS.
	* ld.texinfo (Output Section Keywords): Document SORT
 	(CONSTRUCTORS).
1998-08-14 19:40:01 +00:00
Ian Lance Taylor
0ffa432e2e Thu Aug 13 12:52:45 1998 H.J. Lu <hjl@gnu.org>
* Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO.
	* Makefile.in: Rebuild.
1998-08-13 16:58:33 +00:00
Doug Evans
40c42313db * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0
for .DVP.overlay.* for elf32elmip too.
1998-08-12 23:35:38 +00:00
Catherine Moore
b3bd5b1511 * scripttempl/elfarm.sc: Change text start address
back to zero.
1998-08-12 00:11:13 +00:00
Jeff Law
72eb7b53ff * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1.
* emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1.
1998-08-11 16:03:15 +00:00
Catherine Moore
45834a73ef * scripttempl/elfarm.sc: Set text start address to
0x8000.  Add __bss_end definition.
1998-08-10 01:45:58 +00:00
Catherine Moore
020c70e98e * scripttempl/elfarm.sc: New file.
* emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
1998-08-01 17:30:02 +00:00
Catherine Moore
6e723af99a emulparams/armelf.sh: New file.
configure.tgt:  Recognize thumb-elf and arm-elf.
Makefile.am (earmelf.o): New.
Makefile.in: Rebuild.
1998-07-31 21:14:19 +00:00
Ian Lance Taylor
f89e59e174 * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*. 1998-07-24 16:01:28 +00:00
Ian Lance Taylor
b69153b601 remove d30v sanitization 1998-07-24 04:14:04 +00:00
Ian Lance Taylor
bf00990ea9 * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set
alignment of end symbol.
	* scripttempl/elf.sc: Likewise.
	* emulparams/sun4.sh (ALIGNMENT): Define.
	* emulparams/elf32_sparc.sh (ALIGNMENT): Define.
	* ldint.texinfo (emulation parameters): Document ALIGNMENT.
1998-07-23 16:31:01 +00:00
Ian Lance Taylor
1aa3ed3c23 Mon Jul 13 13:20:23 1998 Steve Chamberlain <sac@transmeta.com>
* ldlex.l: Accept ASSERT.
	* ldgram.y (exp): Add ASSERT_K case.
	* ldexp.h (node_type): Add etree_assert to node_class enum.
	(etree_type): Add assert_s field.
	(exp_assert): Declare.
	* ldexp.c (exp_fold_tree): Handle etree_assert.
	(exp_assert): New function.
	(exp_print_tree): Handle etree_assert.
	* ld.texinfo (Miscellaneous Commands): Document ASSERT.
1998-07-13 17:23:53 +00:00
Ian Lance Taylor
ae2a2f6cc2 * ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
conflicts with system header files.  Change all uses.
1998-07-08 18:06:49 +00:00
Ian Lance Taylor
e566cb381e * Makefile.am (MAINTAINERCLEANFILES): Define.
* Makefile.in: Rebuild.
1998-07-08 18:03:30 +00:00
Ian Lance Taylor
3964a18abe * Makefile.am (ldver.texi): New target.
(ld.info, ld.dvi): Depend upon ldver.texi.
	* ld.texinfo: Include ldver.texi.  Mention version number on title
	page and in top node.
	* Makefile.in: Rebuild.
1998-07-07 22:04:16 +00:00
Ian Lance Taylor
53fc351582 * configure.tgt (i[3456]86-*-solaris*): New target. 1998-07-06 18:55:37 +00:00
Ian Lance Taylor
b58e666f2e * ldlang.c (wild_section): Don't get an assertion failure if the
section is discarded.
1998-07-03 22:10:22 +00:00
Ian Lance Taylor
6ccce8e82b * ldlang.c (wild_sort): When sorting by file name, sort by archive
name first.
1998-07-03 21:52:43 +00:00
Ian Lance Taylor
5b6ca067a8 * emultempl/pe.em (set_pe_subsystem): Don't call
ldlang_add_undef.
	(gld_${EMULATION_NAME}_after_parse): New static function.
	(ld_${EMULATION_NAME}_emulation): Use new after_parse function
	rather than after_parse_default.
1998-07-03 18:40:38 +00:00
Ian Lance Taylor
b2529df1be * ldgram.y (extern_name_list): Do not require symbols to be
separated by commas.
	(ifile_p1): Add EXTERN.
	* ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
	mode.
	* ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
	(Miscellaneous Commands): Document EXTERN.
1998-07-03 18:25:46 +00:00
Richard Henderson
71b012a810 * ld.h (args_type): Add gc_sections.
* ldgram.y (ldgram_had_keep, KEEP): New.
        (input_section_spec_no_keep): Rename from old input_section_spec.
        (input_section_spec): New.  Recognize KEEP.
        * ldlang.c (wild_section): Handle keep sections.
        (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
        (lang_gc_sections_1, lang_gc_sections): New.
        (lang_process): Invoke lang_gc_sections.
        (lang_add_wild): Add keep argument.  Update all callers.
        * ldlang.h (lang_wild_statement_struct): Add keep_sections.
        * ldlex.l (KEEP): Match it.
        * ldmain.c (main): Error on -r and --gc-sections.
        * lexsup.c: Add --gc-sections.

        * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
        Mark startup sections with KEEP.
        * scripttempl/elfppc.sc: Likewise.

        * ld.texinfo: Update for --gc-sections and KEEP.
1998-07-02 02:52:31 +00:00
Ian Lance Taylor
8392754096 * Makefile.am (install-data-local): Make ldscripts subdirectory.
* Makefile.in: Rebuild.

Tue Jun 23 15:17:04 1998  Mike Stump  <mrs@wrs.com>

	* Makefile.am (install-exec-local): Don't let EXEEXT interfere
	with the program transform name.
	* Makefile.in: Rebuild.
1998-06-23 19:17:56 +00:00
Jeff Law
e2ebb8ed49 * ld.texinfo: Note that -relax may make symbolic debugging
impossible on some platforms.
1998-06-22 05:59:49 +00:00
Doug Evans
7beb913807 emulparams/m32relf.sh: Back out INPUT_FILES change. libgcc1-test fails. 1998-06-13 05:38:21 +00:00
Doug Evans
695bc2ee12 * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
* emulparams/m32relf.sh (INPUT_FILES): Define.
	(OTHER_RELOCATING_SECTIONS): Change top of stack to 8MB.
1998-06-13 00:53:24 +00:00