OSDN Git Service

PR binutils/11017
authornickc <nickc>
Wed, 2 Dec 2009 23:04:15 +0000 (23:04 +0000)
committernickc <nickc>
Wed, 2 Dec 2009 23:04:15 +0000 (23:04 +0000)
        * dlltool.c (PAGE_SIZE): Delete.
        (PAGE_MASK): Provide default definition based on COFF_PAGE_SIZE.
        Check for DLLTOOL_DEFAULT_MX86_64 and DLLTOOL_DEFAULT_I386.

        * coff-i386.h (COFF_PAGE_SIZE): Definition moved to coff/i386.h

        * i386lh (COFF_PAGE_SIZE): Define.
        * x86_64.h (COFF_PAGE_SIZE): Define.

bfd/ChangeLog
bfd/coff-i386.c
binutils/ChangeLog
binutils/dlltool.c
include/coff/ChangeLog
include/coff/i386.h
include/coff/x86_64.h

index ef07c94..49d8217 100644 (file)
@@ -1,3 +1,8 @@
+2009-12-02  Jerker Bäck  <jerker.back@gmail.com>
+
+       PR binutils/11017
+       * coff-i386.h (COFF_PAGE_SIZE): Definition moved to coff/i386.h
+
 2009-11-30  Joseph Myers  <joseph@codesourcery.com>
 
        * configure: Regenerate.
index 9a763d5..e512b3f 100644 (file)
@@ -1,6 +1,6 @@
 /* BFD back-end for Intel 386 COFF files.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008
+   2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
 #include "libcoff.h"
 
 static bfd_reloc_status_type coff_i386_reloc
-  PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
+  (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **);
 static reloc_howto_type *coff_i386_rtype_to_howto
-  PARAMS ((bfd *, asection *, struct internal_reloc *,
-          struct coff_link_hash_entry *, struct internal_syment *,
-          bfd_vma *));
+  (bfd *, asection *, struct internal_reloc *,
+   struct coff_link_hash_entry *, struct internal_syment *,
+   bfd_vma *);
 static reloc_howto_type *coff_i386_reloc_type_lookup
-  PARAMS ((bfd *, bfd_reloc_code_real_type));
+  (bfd *, bfd_reloc_code_real_type);
 
 #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
 /* The page size is a guess based on ELF.  */
index e1d8905..13c917f 100644 (file)
@@ -1,3 +1,10 @@
+2009-12-02  Jerker Bäck  <jerker.back@gmail.com>
+
+       PR binutils/11017
+       * dlltool.c (PAGE_SIZE): Delete.
+       (PAGE_MASK): Provide default definition based on COFF_PAGE_SIZE.
+       Check for DLLTOOL_DEFAULT_MX86_64 and DLLTOOL_DEFAULT_I386.
+
 2009-12-01  Joseph Myers  <joseph@codesourcery.com>
 
        * readelf.c (get_machine_name, get_osabi_name): Handle more
index 72a4a7e..b9d717f 100644 (file)
 
 #define show_allnames 0
 
-#define PAGE_SIZE ((bfd_vma) 4096)
-#define PAGE_MASK ((bfd_vma) (-4096))
-
 #include "sysdep.h"
 #include "bfd.h"
 #include "libiberty.h"
 #include "coff/arm.h"
 #include "coff/internal.h"
 #endif
-#ifdef DLLTOOL_MX86_64
+#ifdef DLLTOOL_DEFAULT_MX86_64
 #include "coff/x86_64.h"
 #endif
+#ifdef DLLTOOL_DEFAULT_I386
+#include "coff/i386.h"
+#endif
+
+#ifndef COFF_PAGE_SIZE
+#define COFF_PAGE_SIZE ((bfd_vma) 4096)
+#endif
+
+#ifndef PAGE_MASK
+#define PAGE_MASK ((bfd_vma) (- COFF_PAGE_SIZE))
+#endif
 
-/* get current BFD error message */
+/* Get current BFD error message.  */
 #define bfd_get_errmsg() (bfd_errmsg (bfd_get_error ()))
 
 /* Forward references.  */
@@ -2119,7 +2127,7 @@ gen_exp_file (void)
   if (base_file)
     {
       bfd_vma addr;
-      bfd_vma need[PAGE_SIZE];
+      bfd_vma need[COFF_PAGE_SIZE];
       bfd_vma page_addr;
       bfd_size_type numbytes;
       int num_entries;
index 66ca81f..56d4c68 100644 (file)
@@ -1,3 +1,9 @@
+2009-12-02  Jerker Bäck  <jerker.back@gmail.com>
+
+       PR binutils/11017
+       * i386lh (COFF_PAGE_SIZE): Define.
+       * x86_64.h (COFF_PAGE_SIZE): Define.
+
 2009-10-17  Arnold Metselaar  <arnold.metselaar@planet.nl>
 
        * z80.h: Store alignment requirement in section header, to allow
index 023b302..798a097 100644 (file)
@@ -1,6 +1,6 @@
 /* coff information for Intel 386/486.
    
-   Copyright 2001 Free Software Foundation, Inc.
+   Copyright 2001, 2009 Free Software Foundation, Inc.
 
    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
 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT
 #include "coff/external.h"
 
+#define COFF_PAGE_SIZE 0x1000
+
 /* Bits for f_flags:
-       F_RELFLG        relocation info stripped from file
-       F_EXEC          file is executable (no unresolved external references)
-       F_LNNO          line numbers stripped from file
-       F_LSYMS         local symbols stripped from file
-       F_AR32WR        file has byte ordering of an AR32WR machine (e.g. vax).  */
+       F_RELFLG        Relocation info stripped from file
+       F_EXEC          File is executable (no unresolved external references)
+       F_LNNO          Line numbers stripped from file
+       F_LSYMS         Local symbols stripped from file
+       F_AR32WR        File has byte ordering of an AR32WR machine (e.g. vax).  */
 
 #define F_RELFLG       (0x0001)
 #define F_EXEC         (0x0002)
@@ -36,7 +38,7 @@
 #define I386PTXMAGIC   0x154
 #define I386AIXMAGIC   0x175
 
-/* This is Lynx's all-platform magic number for executables. */
+/* This is Lynx's all-platform magic number for executables.  */
 
 #define LYNXCOFFMAGIC  0415
 
                       && (x).f_magic != I386PTXMAGIC \
                       && (x).f_magic != LYNXCOFFMAGIC)
 
-#define OMAGIC          0404    /* object files, eg as output */
-#define ZMAGIC          0413    /* demand load format, eg normal ld output */
-#define STMAGIC                0401    /* target shlib */
-#define SHMAGIC                0443    /* host   shlib */
+#define OMAGIC          0404    /* Object files, eg as output.  */
+#define ZMAGIC          0413    /* Demand load format, eg normal ld output.  */
+#define STMAGIC                0401    /* Target shlib.  */
+#define SHMAGIC                0443    /* Host shlib.  */
 
-/* define some NT default values */
+/* Define some NT default values.  */
 /*  #define NT_IMAGE_BASE        0x400000 moved to internal.h */
 #define NT_SECTION_ALIGNMENT 0x1000
 #define NT_FILE_ALIGNMENT    0x200
 #define NT_DEF_RESERVE       0x100000
 #define NT_DEF_COMMIT        0x1000
 
-/********************** RELOCATION DIRECTIVES **********************/
+/* Relocation directives.  */
 
 struct external_reloc
 {
index b58dd2f..ae43277 100644 (file)
@@ -1,5 +1,5 @@
 /* COFF information for AMD 64.
-   Copyright 2006 Free Software Foundation, Inc.
+   Copyright 2006, 2009 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -24,6 +24,8 @@
 
 #include "coff/external.h"
 
+#define COFF_PAGE_SIZE 0x1000
+
 #define AMD64MAGIC     0x8664
 
 #define AMD64BADMAG(x) ((x).f_magic != AMD64MAGIC)