Commit graph

17 commits

Author SHA1 Message Date
DJ Delorie
6952c60277 * emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
pe_dll_add_excludes
1998-11-24 00:24:06 +00:00
Nick Clifton
715e7aadec fix for arm-pe linker testsuite failures - only define an entry symbol if one has been specified. 1998-11-23 22:38:48 +00:00
DJ Delorie
3feaa5aff8 * emultempl/pe.em (gld_i386pe_after_open): call
pe_process_import_defs
	* pe-dll.c (pe_dll_generate_def_file): calculate BASE from
	pe_data, only print if actually set.  Print version only if
	set.
	(save_relocs): save relocs for both input and output.
	(make_one): support internal/external different names.
	(pe_dll_generate_implib): support new make_one
	(pe_process_import_defs): new function; handles IMPORT
	directives in .def files.
1998-11-23 19:47:31 +00:00
DJ Delorie
d3ca9a538c * 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.
(fill_edata): remember the actual hint for the import library.
1998-11-17 03:18:06 +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
DJ Delorie
854d50bd51 * emultempl/pe.em (gld_i386_list_options): list dll-specific options. 1998-11-09 22:58:45 +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
Ian Lance Taylor
7617a82283 * scripttempl/pe.sc: Use SORT to sort sections appropriately.
* emultempl/pe.em (sort_by_file_name): Remove.
	(sort_by_section_name): Remove.
	(sort_sections_1, sort_sections): Remove.
	(gld_${EMULATION_NAME}_before_allocation): Don't call
	sort_sections.
	(hold_section, hold_section_name): New static variables.
	(hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
	(gld_${EMULATION_NAME}_place_orphan): Rewrite.  Look for a good
	place to put the section.  Align the section.  Sort the input
	sections by name.
	(gld_${EMULATION_NAME}_place_section): New static function.
1998-07-03 21:52:58 +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
Nick Clifton
3535c3c044 Add interworking support for arm-pe/thumb-pe targets. 1998-03-26 00:00:54 +00:00
Ian Lance Taylor
d0d63887aa * emultempl/pe.em (set_pe_subsystem): When setting the subsystem
to windows, set the entry point.
1996-10-09 03:27:41 +00:00
Geoffrey Noer
417fe276e3 Wed Oct 2 23:45:25 1996 Geoffrey Noer <noer@cygnus.com>
* emultmpl/pe.em: increase size of stack reserve to 0x2000000
        (necessary in order to compile parse.c in gcc sources under NT)
1996-10-03 06:55:39 +00:00
David Edelsohn
fe6e29571a * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
if final link.
	* emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
	(sort_by_section_name, sort_sections_1): New functions.
	(sort_sections): Only sort by file name sections in .idata.
	Add "Grouped Sections" support.
	(gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
	Sections.
	(gld${EMULATION_NAME}_place_section): Delete.
	* scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
	(.CRT,.rsrc): Rewrite to use Grouped Section support.
1996-05-22 19:09:32 +00:00
David Edelsohn
a1613b5f35 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
1996-05-07 17:58:43 +00:00
Steve Chamberlain
d42799374f * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
sort using right pointer.
1996-01-05 22:09:43 +00:00
Steve Chamberlain
2543860d19 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
	Don't hang if last option is unrecognised.
	(gld_${EMULATION_NAME}_set_symbols): Insert created
	symbols into ABS output section.
1995-10-28 07:26:10 +00:00
Steve Chamberlain
5f8ac7e7f6 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
* ldemul.c (ldemul_parse_args): New.
	* ldemul.h (ld_emulation_xfer_struct): Add parse_args.
	* lexsup.c (all pe stuff): Moved into pe.em
	(parse_args): Call emulation arg parser.
	* emultempl/pe.em (parse_args): handle PE specfic args.
1995-08-31 23:42:53 +00:00