Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
authorSteve Chamberlain <sac@cygnus>
Sat, 13 May 1995 18:03:25 +0000 (18:03 +0000)
committerSteve Chamberlain <sac@cygnus>
Sat, 13 May 1995 18:03:25 +0000 (18:03 +0000)
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  <sac@slash.cygnus.com>

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  <sac@slash.cygnus.com>
  Tom Griest <griest@cs.yale.edu>

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.

bfd/.Sanitize
bfd/ChangeLog
bfd/pe-i386.c [new file with mode: 0644]

index 35e9b3d3d1aba4f2ddc532ce7581f6301d97dfb4..98129d3bbbd930f8b47318a9bfcc458667344368 100644 (file)
@@ -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
index 363a9cb50ddc541e0ab3f1b13c2c510339a5121c..feb97191d28751eb2c97cd75fae7c7d4d70e6ba7 100644 (file)
@@ -1,3 +1,48 @@
+Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       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  <sac@slash.cygnus.com>
+
+       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  <sac@slash.cygnus.com>
+                         Tom Griest <griest@cs.yale.edu>
+
+       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  <meissner@tiktok.cygnus.com>
 
        * config.bfd: Add little endian PowerPC support.
diff --git a/bfd/pe-i386.c b/bfd/pe-i386.c
new file mode 100644 (file)
index 0000000..9e671e5
--- /dev/null
@@ -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"