Remove sanitization of PowerPC NetWare.
authorIan Lance Taylor <ian@airs.com>
Fri, 20 May 1994 18:09:48 +0000 (18:09 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 20 May 1994 18:09:48 +0000 (18:09 +0000)
binutils/.Sanitize
binutils/ChangeLog
binutils/nlmconv.c

index 74b92ee..8edcc12 100644 (file)
@@ -94,24 +94,3 @@ version.c
 Things-to-lose:
 
 Do-last:
-
-ppcfiles="ChangeLog nlmconv.c"
-if ( echo $* | grep keep\-powerpc\-netware > /dev/null ) ; then
-       if [ -n "${verbose}" ] ; then
-               echo Keeping PowerPC NetWare stuff in $ppcfiles.
-       fi
-else
-       if [ -n "${verbose}" ]; then
-               echo -n Removing PowerPC NetWare in `pwd`:
-       fi
-       for f in $ppcfiles ; do
-               if [ -n "${verbose}" ] ; then
-                       echo -n " " $f
-               fi
-               sed '/start\-sanitize\-powerpc\-netware/,/end\-sanitize\-powerpc\-netware/d' < $f > new
-               if [ -n "${safe}" ] ; then
-                       mv $f .Recover
-               fi
-               mv new $f
-       done
-fi
index 5bbb12d..c49b820 100644 (file)
@@ -102,12 +102,10 @@ Thu Apr 21 12:12:26 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
        each section in the sections header.
 
 Wed Apr 20 14:34:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-start-sanitize-powerpc-netware
 
        * nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
        Change caller.  Create custom header for new PowerPC NetWare
        format.
-end-sanitize-powerpc-netware
 
        * Makefile.in (nlmheader.o, nlmconv.o): Update dependencies.
        * nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
@@ -249,7 +247,6 @@ Thu Mar 17 16:20:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
        (NM_PROG): Change from nm to nm.new.
        (install): Remove the .new when installing.
 
-start-sanitize-powerpc-netware
 Wed Mar 16 16:27:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * nlmconv.c (powerpc_build_stubs): Set BSF_DYNAMIC flag for each
@@ -257,7 +254,6 @@ Wed Mar 16 16:27:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
        (powerpc_mangle_relocs): Only reset TOC pointer for a call to a
        symbol with BSF_DYNAMIC flag set.
 
-end-sanitize-powerpc-netware
 Tue Mar 15 23:04:13 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
 
        * objcopy.c (filter_symbols): Use bfd_is_local_label to determine
@@ -277,7 +273,6 @@ Mon Mar 14 12:11:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * ar.c (write_archive): Close inarch before unlinking it.
 
-start-sanitize-powerpc-netware
 Fri Mar 11 22:20:48 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
@@ -292,7 +287,6 @@ Fri Mar 11 22:20:48 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
        Rearrange reloc handling to handle ELF relocs that are not
        partial_inplace.  Resolve PC relative relocs.
 
-end-sanitize-powerpc-netware
 Wed Mar  9 13:48:11 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
 
        * ar.c (move_members): Fix it so that the abi positional modifiers
@@ -322,14 +316,13 @@ Tue Feb 22 18:25:52 1994  Ian Lance Taylor  (ian@cygnus.com)
 Sun Feb 20 18:47:42 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
 
        * nlmconv.c: Include libiberty.h.
-start-sanitize-powerpc-netware
+
        Support for PowerPC NetWare.
        * nlmconv.c (main): For PowerPC NetWare, automatically define the
        special symbols __toc_start.
        (select_output_format): Handle bfd_arch_powerpc.
        (mangle_relocs): Likewise.
        (powerpc_mangle_relocs): New function.
-end-sanitize-powerpc-netware
 
 Thu Feb 17 09:28:23 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
 
index db3a967..43b76ca 100644 (file)
@@ -138,13 +138,11 @@ static void i386_mangle_relocs PARAMS ((bfd *, asection *, arelent ***,
 static void alpha_mangle_relocs PARAMS ((bfd *, asection *, arelent ***,
                                         long *, char *,
                                         bfd_size_type));
-/* start-sanitize-powerpc-netware */
 static void powerpc_build_stubs PARAMS ((bfd *, bfd *, asymbol ***, long *));
 static void powerpc_resolve_stubs PARAMS ((bfd *, bfd *));
 static void powerpc_mangle_relocs PARAMS ((bfd *, asection *, arelent ***,
                                           long *, char *,
                                           bfd_size_type));
-/* end-sanitize-powerpc-netware */
 static void default_mangle_relocs PARAMS ((bfd *, asection *, arelent ***,
                                           long *, char *,
                                           bfd_size_type));
@@ -400,7 +398,6 @@ main (argc, argv)
     bfd_fatal ("make .nlmsections section");
   if (! bfd_set_section_flags (outbfd, secsec, SEC_HAS_CONTENTS))
     bfd_fatal ("set .nlmsections flags");
-/* start-sanitize-powerpc-netware */
 
   /* For PowerPC NetWare we need to build stubs for calls to undefined
      symbols.  Because each stub requires an entry in the TOC section
@@ -409,7 +406,6 @@ main (argc, argv)
      goes in setup_sections.  */
   if (bfd_get_arch (inbfd) == bfd_arch_powerpc)
     powerpc_build_stubs (inbfd, outbfd, &symbols, &symcount);
-/* end-sanitize-powerpc-netware */
 
   /* Set up the sections.  */
   bfd_map_over_sections (inbfd, setup_sections, (PTR) outbfd);
@@ -526,7 +522,7 @@ main (argc, argv)
              sym->section = bss_sec;
              endsym = sym;
            }
-/* start-sanitize-powerpc-netware */
+
          /* For PowerPC NetWare, we define __GOT0.  This is the start
             of the .got section.  */
          if (bfd_get_arch (inbfd) == bfd_arch_powerpc
@@ -539,7 +535,6 @@ main (argc, argv)
              sym->value = got_sec->output_offset;
              sym->section = got_sec->output_section;
            }
-/* end-sanitize-powerpc-netware */
        }
 
       /* If this is a global symbol, check the export list.  */
@@ -881,12 +876,10 @@ main (argc, argv)
       nlm_version_header (outbfd)->year = ptm->tm_year + 1900;
       strncpy (version_hdr->stamp, "VeRsIoN#", 8);
     }
-/* start-sanitize-powerpc-netware */
 
   /* Resolve the stubs we build for PowerPC NetWare.  */
   if (bfd_get_arch (inbfd) == bfd_arch_powerpc)
     powerpc_resolve_stubs (inbfd, outbfd);
-/* end-sanitize-powerpc-netware */
 
   /* Copy over the sections.  */
   bfd_map_over_sections (inbfd, copy_sections, (PTR) outbfd);
@@ -1136,10 +1129,8 @@ select_output_format (arch, mach, bigendian)
       return "nlm32-sparc";
     case bfd_arch_alpha:
       return "nlm32-alpha";
-/* start-sanitize-powerpc-netware */
     case bfd_arch_powerpc:
       return "nlm32-powerpc";
-/* end-sanitize-powerpc-netware */
     default:
       fprintf (stderr, "%s: no default NLM format for %s\n",
               program_name, bfd_printable_arch_mach (arch, mach));
@@ -1282,11 +1273,11 @@ copy_sections (inbfd, insec, data_ptr)
          arelent **combined;
 
          total_count = reloc_count + outsec->reloc_count;
-         combined = (arelent **) xmalloc (total_count * sizeof (arelent));
+         combined = (arelent **) xmalloc (total_count * sizeof (arelent *));
          memcpy (combined, outsec->orelocation,
-                 outsec->reloc_count * sizeof (arelent));
+                 outsec->reloc_count * sizeof (arelent *));
          memcpy (combined + outsec->reloc_count, relocs,
-                 (size_t) (reloc_count * sizeof (arelent)));
+                 (size_t) (reloc_count * sizeof (arelent *)));
          free (outsec->orelocation);
          reloc_count = total_count;
          relocs = combined;
@@ -1355,12 +1346,10 @@ mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
       alpha_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr,
                           contents, contents_size);
       break;
-/* start-sanitize-powerpc-netware */
     case bfd_arch_powerpc:
       powerpc_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr,
                             contents, contents_size);
       break;
-/* end-sanitize-powerpc-netware */
     default:
       default_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr,
                             contents, contents_size);
@@ -1646,7 +1635,6 @@ alpha_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
        (*relocs)->address += insec->output_offset;
     }
 }
-/* start-sanitize-powerpc-netware */
 
 /* We keep a linked list of stubs which we must build.  Because BFD
    requires us to know the sizes of all sections before we can set the
@@ -1823,20 +1811,25 @@ powerpc_build_stubs (inbfd, outbfd, symbols_ptr, symcount_ptr)
 
   /* PowerPC NetWare requires a custom header.  We create it here.
      The first word is the header version number, currently 1.  The
-     second word is the timestamp of the input file.  */
+     second word is the timestamp of the input file.  Unfortunately,
+     they do not conform to the emergent standard for custom headers.
+     We must fake the version number and timestamp in the offset and
+     length fields.  */
   memcpy (nlm_custom_header (outbfd)->stamp, "CuStHeAd", 8);
-  nlm_custom_header (outbfd)->dataLength = 8;
-  nlm_custom_header (outbfd)->data = xmalloc (8);
-  bfd_h_put_32 (outbfd, (bfd_vma) 1,
-               (bfd_byte *) nlm_custom_header (outbfd)->data);
+  nlm_custom_header (outbfd)->hdrLength = 0;
+  /* Put version number in dataOffset field.  */
+  nlm_custom_header (outbfd)->dataOffset = 1;
+  /* Put timestamp in length field.  */
   {
     struct stat s;
 
     if (stat (bfd_get_filename (inbfd), &s) < 0)
       s.st_mtime = 0;
-    bfd_h_put_32 (outbfd, (bfd_vma) s.st_mtime,
-                 (bfd_byte *) nlm_custom_header (outbfd)->data + 4);
+    nlm_custom_header (outbfd)->dataLength = s.st_mtime;
   }
+  /* No data stamp.  */
+  memset (nlm_custom_header (outbfd)->dataStamp, 0,
+         sizeof (nlm_custom_header (outbfd)->dataStamp));
 }
 
 /* Resolve all the stubs for PowerPC NetWare.  We fill in the contents
@@ -2058,7 +2051,6 @@ powerpc_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
       rel->address += insec->output_offset;
     }
 }
-/* end-sanitize-powerpc-netware */
 \f
 /* Name of linker.  */
 #ifndef LD_NAME