No longer need to sanitize away h8/s stuff.
authorJeff Law <law@redhat.com>
Fri, 5 Jul 1996 18:30:03 +0000 (18:30 +0000)
committerJeff Law <law@redhat.com>
Fri, 5 Jul 1996 18:30:03 +0000 (18:30 +0000)
bfd/.Sanitize
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/coff-h8300.c
bfd/coffcode.h

index f46cb72585ff9b5f01d0fcc4c2270825820ecfd9..7a12df7df4c1f1d30458b58b7e95a44e2a64931d 100644 (file)
@@ -315,34 +315,6 @@ else
        done
 fi
 
-h8s_files="archures.c coff-h8300.c coffcode.h cpu-h8300.c ChangeLog bfd-in2.h"
-if ( echo $* | grep keep\-h8s > /dev/null ) ; then
-       for i in $h8s_files ; do
-               if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
-                       if [ -n "${verbose}" ] ; then
-                               echo Keeping h8s stuff in $i
-                       fi
-               fi
-       done
-else
-       for i in $h8s_files ; do
-               if test ! -d $i && (grep sanitize-h8s $i > /dev/null) ; then
-                       if [ -n "${verbose}" ] ; then
-                               echo Removing traces of \"h8s\" from $i...
-                       fi
-                       cp $i new
-                       sed '/start\-sanitize\-h8s/,/end-\sanitize\-h8s/d' < $i > new
-                       if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
-                               if [ -n "${verbose}" ] ; then
-                                       echo Caching $i in .Recover...
-                               fi
-                               mv $i .Recover
-                       fi
-                       mv new $i
-               fi
-       done
-fi
-
 for i in * ; do
        if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index e5d1e11bea08c57383c3cccc010c962a8a277ebc..36c6aa681b809b96eb1839b5f396ac35399b6a0a 100644 (file)
@@ -207,7 +207,6 @@ Tue Jun 18 15:17:36 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
        * coff-h8300.c: Remove #if 0 code.
        (compatable): Don't allow mixing/matching of different architectures.
        
-start-sanitize-h8s
        * archures.c (bfd_mach_h8300s): Add.
        * bfd-in2.h: Rebuilt.
        * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
@@ -220,7 +219,6 @@ start-sanitize-h8s
        * cpu-h8300.c (h8300_scan): Likewise.
        Add H8/S to bfd_h8300_arch list.
 
-end-sanitize-h8s
 Tue Jun 18 14:42:58 1996  Klaus Kaempf  <kkaempf@progis.de>
 
        Added support for Alpha OpenVMS:
index 8dea24ff88a069d7856fbd3ae42a69a3b9f66ca2..09426b99a50d5a6f3994a3e4ef5c298c5688bbaf 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD library support routines for architectures.
-   Copyright (C) 1990, 91-95, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -86,21 +86,22 @@ DESCRIPTION
 .#define bfd_mach_i960_mc        4
 .#define bfd_mach_i960_xa        5
 .#define bfd_mach_i960_ca        6
-. {* start-sanitize-i960xl *}
-.#define bfd_mach_i960_xl       7
-. {* end-sanitize-i960xl *}
+.#define bfd_mach_i960_jx       7
 .#define bfd_mach_i960_hx        8
 .
 .  bfd_arch_a29k,      {* AMD 29000 *}
 .  bfd_arch_sparc,     {* SPARC *}
 .#define bfd_mach_sparc                        1
 .{* The difference between v8plus and v9 is that v9 is a true 64 bit env.  *}
-.#define bfd_mach_sparc_v8plus         2
-.#define bfd_mach_sparc_v8plusa                3 {* with ultrasparc add'ns *}
-.#define bfd_mach_sparc_v9             4
-.#define bfd_mach_sparc_v9a            5 {* with ultrasparc add'ns *}
+.#define bfd_mach_sparc_sparclet       2
+.#define bfd_mach_sparc_sparclite      3
+.#define bfd_mach_sparc_v8plus         4
+.#define bfd_mach_sparc_v8plusa                5 {* with ultrasparc add'ns *}
+.#define bfd_mach_sparc_v9             6
+.#define bfd_mach_sparc_v9a            7 {* with ultrasparc add'ns *}
 .{* Nonzero if MACH has the v9 instruction set.  *}
-.#define bfd_mach_sparc_v9_p(mach) ((mach) != bfd_mach_sparc)
+.#define bfd_mach_sparc_v9_p(mach) \
+.  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
 .  bfd_arch_mips,      {* MIPS Rxxxx *}
 .  bfd_arch_i386,      {* Intel 386 *}
 .  bfd_arch_we32k,     {* AT&T WE32xxx *}
@@ -114,6 +115,7 @@ DESCRIPTION
 .  bfd_arch_h8300,     {* Hitachi H8/300 *}
 .#define bfd_mach_h8300   1
 .#define bfd_mach_h8300h  2
+.#define bfd_mach_h8300s  3
 .  bfd_arch_powerpc,   {* PowerPC *}
 .  bfd_arch_rs6000,    {* IBM RS/6000 *}
 .  bfd_arch_hppa,      {* HP PA RISC *}
@@ -126,9 +128,6 @@ DESCRIPTION
 .  bfd_arch_arm,       {* Advanced Risc Machines ARM *}
 .  bfd_arch_ns32k,     {* National Semiconductors ns32000 *}
 .  bfd_arch_w65,       {* WDC 65816 *}
-. {* start-sanitize-rce *}
-.  bfd_arch_rce,       {* Motorola RCE *}
-. {* end-sanitize-rce *}
 . {* start-sanitize-arc *}
 .  bfd_arch_arc,       {* Argonaut RISC Core *}
 .#define bfd_mach_arc_base 0
@@ -192,9 +191,6 @@ extern const bfd_arch_info_type bfd_mips_arch;
 extern const bfd_arch_info_type bfd_powerpc_arch;
 extern const bfd_arch_info_type bfd_rs6000_arch;
 extern const bfd_arch_info_type bfd_sh_arch;
-/* start-sanitize-rce */
-extern const bfd_arch_info_type bfd_rce_arch;
-/* end-sanitize-rce */
 extern const bfd_arch_info_type bfd_sparc_arch;
 extern const bfd_arch_info_type bfd_vax_arch;
 extern const bfd_arch_info_type bfd_we32k_arch;
@@ -225,9 +221,6 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
   &bfd_powerpc_arch,
   &bfd_rs6000_arch,
   &bfd_sh_arch,
-/* start-sanitize-rce */
-  &bfd_rce_arch,
-/* end-sanitize-rce */
   &bfd_sparc_arch,
   &bfd_vax_arch,
   &bfd_we32k_arch,
index a6b59aa6e52c0f7b30cce2614759691ad80fa2ea..84b553fb15693494196ed1edbd8eb63e4bc71023 100644 (file)
@@ -1192,6 +1192,7 @@ enum bfd_architecture
   bfd_arch_h8300,      /* Hitachi H8/300 */
 #define bfd_mach_h8300   1
 #define bfd_mach_h8300h  2
+#define bfd_mach_h8300s  3
   bfd_arch_powerpc,    /* PowerPC */
   bfd_arch_rs6000,     /* IBM RS/6000 */
   bfd_arch_hppa,       /* HP PA RISC */
@@ -1592,8 +1593,8 @@ relocation types already defined. */
   BFD_RELOC_SPARC_6,
   BFD_RELOC_SPARC_5,
 
-/* Alpha ECOFF relocations.  Some of these treat the symbol or "addend"
-in some special way.
+/* Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
+"addend" in some special way.
 For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
 writing; when reading, it will be the absolute section symbol.  The
 addend is the displacement in bytes of the "lda" instruction from
@@ -1606,6 +1607,11 @@ relocations out, and is filled in with the file's GP value on
 reading, for convenience. */
   BFD_RELOC_ALPHA_GPDISP_LO16,
 
+/* The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
+relocation except that there is no accompanying GPDISP_LO16
+relocation. */
+  BFD_RELOC_ALPHA_GPDISP,
+
 /* The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
 the assembler turns it into a LDQ instruction to load the address of
 the symbol, and then fills in a register in the real instruction.
index 3d1337151eb56d3529663f0b9baf3b85ec0ae0cd..dc467f93177dc19980ad26e64a7baf650458fe6a 100644 (file)
@@ -138,7 +138,8 @@ funcvec_hash_newfunc (entry, gen_table, string)
      but it's not easily available here.  */
   if (bfd_get_mach (table->abfd) == bfd_mach_h8300)
     table->offset += 2;
-  else if (bfd_get_mach (table->abfd) == bfd_mach_h8300h)
+  else if (bfd_get_mach (table->abfd) == bfd_mach_h8300h
+          || bfd_get_mach (table->abfd) == bfd_mach_h8300s)
     table->offset += 4;
   else
     return NULL;
@@ -258,7 +259,7 @@ static reloc_howto_type howto_table[] =
 #define SELECT_RELOC(x,howto) \
   { x.r_type = select_reloc(howto); }
 
-#define BADMAG(x) (H8300BADMAG(x)&& H8300HBADMAG(x))
+#define BADMAG(x) (H8300BADMAG(x) && H8300HBADMAG(x) && H8300SBADMAG(x))
 #define H8300 1                        /* Customize coffcode.h */
 #define __A_MAGIC_SET__
 
@@ -565,7 +566,8 @@ h8300_reloc16_estimate(abfd, input_section, reloc, shrink, link_info)
       if ((bfd_get_mach (abfd) == bfd_mach_h8300
           && value >= 0xff00
           && value <= 0xffff)
-         || (bfd_get_mach (abfd) == bfd_mach_h8300h
+         || ((bfd_get_mach (abfd) == bfd_mach_h8300h
+              || bfd_get_mach (abfd) == bfd_mach_h8300s)
              && value >= 0xffff00
              && value <= 0xffffff))
        {
@@ -587,7 +589,8 @@ h8300_reloc16_estimate(abfd, input_section, reloc, shrink, link_info)
 
       /* The address is in 0xffff00..0xffffff inclusive on the h8300h,
         then we can relax this mov.b  */
-      if (bfd_get_mach (abfd) == bfd_mach_h8300h
+      if ((bfd_get_mach (abfd) == bfd_mach_h8300h
+          || bfd_get_mach (abfd) == bfd_mach_h8300s)
          && value >= 0xffff00
          && value <= 0xffffff)
        {
@@ -1125,7 +1128,8 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
                                                  link_info,
                                                  input_section),
                      vectors_sec->contents + h->offset);
-       else if (bfd_get_mach (input_section->owner) == bfd_mach_h8300h)
+       else if (bfd_get_mach (input_section->owner) == bfd_mach_h8300h
+                || bfd_get_mach (input_section->owner) == bfd_mach_h8300s)
          bfd_put_32 (abfd,
                      bfd_coff_reloc16_get_value (reloc,
                                                  link_info,
@@ -1294,7 +1298,8 @@ h8300_bfd_link_add_symbols(abfd, info)
                     takes 2 bytes on the h8300 and 4 bytes on the h8300h.  */
                  if (bfd_get_mach (abfd) == bfd_mach_h8300)
                    h8300_coff_hash_table (info)->vectors_sec->_raw_size += 2;
-                 else if (bfd_get_mach (abfd) == bfd_mach_h8300h)
+                 else if (bfd_get_mach (abfd) == bfd_mach_h8300h
+                          || bfd_get_mach (abfd) == bfd_mach_h8300s)
                    h8300_coff_hash_table (info)->vectors_sec->_raw_size += 4;
                }
            }
index af8a49fe4175eff24c3fd79ce9312817d0089a4a..8de83a543b73ef244b156a68c2968c2c50de2890 100644 (file)
@@ -1111,7 +1111,7 @@ coff_set_alignment_hook (abfd, section, scnhdr)
     }
 #endif
 
-#ifdef COFF_WITH_PE
+#ifdef COFF_IMAGE_WITH_PE
   /* In a PE image file, the s_paddr field holds the virtual size of a
      section, while the s_size field holds the raw size.  */
   if (hdr->s_paddr != 0)
@@ -1499,7 +1499,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
       break;
 #endif
 
-/* start-sanitize-h8s */
 #ifdef H8300SMAGIC
     case H8300SMAGIC:
       arch = bfd_arch_h8300;
@@ -1509,7 +1508,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
       break;
 #endif
 
-/* end-sanitize-h8s */
 #ifdef SH_ARCH_MAGIC_BIG
     case SH_ARCH_MAGIC_BIG:
     case SH_ARCH_MAGIC_LITTLE:
@@ -1960,11 +1958,9 @@ coff_set_flags (abfd, magicp, flagsp)
        case bfd_mach_h8300h:
          *magicp = H8300HMAGIC;
          return true;
-/* start-sanitize-h8s */
        case bfd_mach_h8300s:
          *magicp = H8300SMAGIC;
          return true;
-/* end-sanitize-h8s */
        }
       break;
 #endif
@@ -2186,7 +2182,7 @@ coff_compute_section_file_positions (abfd)
 #endif
       current->filepos = sofar;
 
-#ifdef COFF_WITH_PE
+#ifdef COFF_IMAGE_WITH_PE
       /* With PE we have to pad each section to be a multiple of its
         page size too, and remember both sizes.  */
 
@@ -2464,6 +2460,9 @@ coff_write_object_contents (abfd)
       section.s_size =  current->_raw_size;
 
 #ifdef COFF_WITH_PE
+      section.s_paddr = 0;
+#endif
+#ifdef COFF_IMAGE_WITH_PE
       /* Reminder: s_paddr holds the virtual size of the section.  */
       if (coff_section_data (abfd, current) != NULL
          && pei_section_data (abfd, current) != NULL)