From: Steve Chamberlain Date: Sat, 13 May 1995 18:03:25 +0000 (+0000) Subject: Thu May 11 16:43:14 1995 Steve Chamberlain X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b297038d0b040fab7797bb8e1303f320f9b77ace;p=binutils-gdb.git Thu May 11 16:43:14 1995 Steve Chamberlain tekhex.c (first_phase): Understand type 0 symbols. (tekhex_write_object_contents): Fix typo in final record. Thu May 11 16:43:14 1995 Steve Chamberlain pr ld/6840 * coff-i960.c (optcall_callback): don't try and optimize undefined refs. (coff_write_relocs): Search for broken relocs on the way out and fix them up. (coff_renumber_symbols): Calculate and return index of first undefined symbol. (coff_write_object_contents): Call coff_renumber_symbols and coff_write_relocs with the new args. * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols): Modified prototypes. Thu May 11 16:43:14 1995 Steve Chamberlain Tom Griest Initial support for PE format. * Makefile.in, targets.c, configure.in, config.bfd: Add support for i386-*-winnt and i386-*-pe. * archive.c (do_slurp_coff_armap): Understand NTPE format archives. (_bfd_slurp_extended_name_table): Turn \ in a filename into /. * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New. * coff-i386.c (howto_table): Conditionalize PCRELOFFSET. * coffcode.h (IMAGE_BASE): New. (coff_compute_section_file_positions): Throw away .junk sections for PE, align symbols. (coff_write_object_contents): Throw away .junk sections for PE. Remember info on .idata and .rsrc sections. Fill in the PE header. (coff_slurp_symbol_table): PE uses C_SECTION class. * cofflink.c (_bfd_coff_final_link): Keep PE info up to date. (_bfd_coff_generic_relocate_section): Cope with PE relocs. * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): New code for PE headers. --- diff --git a/bfd/.Sanitize b/bfd/.Sanitize index 35e9b3d3d1a..98129d3bbbd 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -202,6 +202,8 @@ oasys.c opncls.c osf-core.c pc532-mach.c +pe-i386.c +pei-i386.c ptrace-core.c reloc.c reloc16.c diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 363a9cb50dd..feb97191d28 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,48 @@ +Thu May 11 16:43:14 1995 Steve Chamberlain + + tekhex.c (first_phase): Understand type 0 symbols. + (tekhex_write_object_contents): Fix typo in final record. + +Thu May 11 16:43:14 1995 Steve Chamberlain + + pr ld/6840 + + * coff-i960.c (optcall_callback): don't try and optimize + undefined refs. + (coff_write_relocs): Search for broken relocs on the way + out and fix them up. + (coff_renumber_symbols): Calculate and return index of + first undefined symbol. + (coff_write_object_contents): Call coff_renumber_symbols + and coff_write_relocs with the new args. + * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols): + Modified prototypes. + +Thu May 11 16:43:14 1995 Steve Chamberlain + Tom Griest + + Initial support for PE format. + + * Makefile.in, targets.c, configure.in, config.bfd: + Add support for i386-*-winnt and i386-*-pe. + * archive.c (do_slurp_coff_armap): Understand NTPE format + archives. + (_bfd_slurp_extended_name_table): Turn \ in a filename + into /. + * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New. + * coff-i386.c (howto_table): Conditionalize PCRELOFFSET. + * coffcode.h (IMAGE_BASE): New. + (coff_compute_section_file_positions): Throw away .junk + sections for PE, align symbols. + (coff_write_object_contents): Throw away .junk sections + for PE. Remember info on .idata and .rsrc sections. + Fill in the PE header. + (coff_slurp_symbol_table): PE uses C_SECTION class. + * cofflink.c (_bfd_coff_final_link): Keep PE info up to date. + (_bfd_coff_generic_relocate_section): Cope with PE relocs. + * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): + New code for PE headers. + Tue May 9 17:01:38 1995 Michael Meissner * config.bfd: Add little endian PowerPC support. diff --git a/bfd/pe-i386.c b/bfd/pe-i386.c new file mode 100644 index 00000000000..9e671e5aca4 --- /dev/null +++ b/bfd/pe-i386.c @@ -0,0 +1,31 @@ +/* BFD back-end for Intel 386 PECOFF files. + Copyright 1995 Free Software Foundation, Inc. + +This file is part of BFD, the Binary File Descriptor library. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#include "bfd.h" +#include "sysdep.h" + + +#define TARGET_SYM i386pe_vec +#define TARGET_NAME "pe-i386" + +#define COFF_OBJ_WITH_PE +#define COFF_WITH_PE +#define PCRELOFFSET true + +#include "coff-i386.c"