Just before a merge with chrisbs stuff
authorSteve Chamberlain <steve@cygnus>
Sun, 14 Apr 1991 02:23:48 +0000 (02:23 +0000)
committerSteve Chamberlain <steve@cygnus>
Sun, 14 Apr 1991 02:23:48 +0000 (02:23 +0000)
bfd/aout.c
bfd/coff-code.h
bfd/obstack.h

index 3391657..dc931ee 100755 (executable)
@@ -31,6 +31,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 
 void (*bfd_error_trap)();
+
 /*SUPPRESS558*/
 /*SUPPRESS529*/
 
@@ -50,52 +51,54 @@ typedef void generic_symbol_type;
 #include "a.out.sun4.h"
 
 #define CTOR_TABLE_RELOC_IDX 2
-static CONST reloc_howto_type howto_table_ext[] = 
+static  reloc_howto_type howto_table_ext[] = 
 {
   /* type                   rs   size bsz  pcrel bitpos  abs ovrf sf name partial inplace mask*/
-{ (unsigned int) RELOC_8,      0,  0,          8,  false, 0, true,  true,0,"8",        false, 0x000000ff},
-{ (unsigned int) RELOC_16,     0,  1,  16, false, 0, true,  true,0,"16",       false, 0x0000ffff},
-{ (unsigned int) RELOC_32,     0,  2,  32, false, 0, true,  true,0,"32",       false,  0xffffffff},
-{ (unsigned int) RELOC_DISP8,  0,  0,  8,  true,  0, false, true,0,"DISP8",    false, 0x000000ff},
-{ (unsigned int) RELOC_DISP16, 0,  1,  16, true,  0, false, true,0,"DISP16",   false, 0x0000ffff},
-{ (unsigned int) RELOC_DISP32, 0,  2,  32, true,  0, false, true,0,"DISP32",   false, 0xffffffff},
-{ (unsigned int) RELOC_WDISP30,2,  2,  30, true,  0, false, true,0,"WDISP30",  false, 0x3fffffff},
-{ (unsigned int) RELOC_WDISP22,2,  2,  22, true,  0, false, true,0,"WDISP22",  false, 0x003fffff},
-{ (unsigned int) RELOC_HI22,   10, 2,  22, false, 0, false, true,0,"HI22",     false, 0x003fffff},
-{ (unsigned int) RELOC_22,      0, 2,  22, false, 0, false, true,0,"22",       false, 0x003fffff},
-{ (unsigned int) RELOC_13,     0, 2,   13, false, 0, false, true,0,"13",       false, 0x00001fff},
-{ (unsigned int) RELOC_LO10,   0, 2,   10, false, 0, false, true,0,"LO10",     false, 0x000003ff},
-{ (unsigned int) RELOC_SFA_BASE,0, 2,  32, false, 0, false, true,0,"SFA_BASE", false, 0xffffffff},
-{ (unsigned int) RELOC_SFA_OFF13,0,2,  32, false, 0, false, true,0,"SFA_OFF13",false, 0xffffffff},
-{ (unsigned int) RELOC_BASE10, 0,  2,  16, false, 0, false, true,0,"BASE10",   false, 0x0000ffff},
-{ (unsigned int) RELOC_BASE13, 0,  2,  13, false, 0, false, true,0,"BASE13",   false, 0x00001fff},
-{ (unsigned int) RELOC_BASE22, 0,  2,  0,  false, 0, false, true,0,"BASE22",   false, 0x00000000},
-{ (unsigned int) RELOC_PC10,   0,  2,  10, false, 0, false, true,0,"PC10",     false, 0x000003ff},
-{ (unsigned int) RELOC_PC22,   0,  2,  22, false, 0, false, true,0,"PC22",     false, 0x003fffff},
-{ (unsigned int) RELOC_JMP_TBL,0,  2,  32, false, 0, false, true,0,"JMP_TBL",  false, 0xffffffff},
-{ (unsigned int) RELOC_SEGOFF16,0, 2,  0,  false, 0, false, true,0,"SEGOFF16", false, 0x00000000},
-{ (unsigned int) RELOC_GLOB_DAT,0, 2,  0,  false, 0, false, true,0,"GLOB_DAT", false, 0x00000000},
-{ (unsigned int) RELOC_JMP_SLOT,0, 2,  0,  false, 0, false, true,0,"JMP_SLOT", false, 0x00000000},
-{ (unsigned int) RELOC_RELATIVE,0, 2,  0,  false, 0, false, true,0,"RELATIVE", false, 0x00000000},
-{ (unsigned int) RELOC_JUMPTARG,2, 13, 16, true,  0, false, true,0,"JUMPTARG", false, 0x0000ffff},
-{ (unsigned int) RELOC_CONST,  0, 13,  16, false, 0, false, true,0,"CONST",    false, 0x0000ffff},
-{ (unsigned int) RELOC_CONSTH, 16, 13, 16, false, 0, false, true,0,"CONSTH",   false, 0x0000ffff},
+{ (unsigned int) RELOC_8,      0,  0,          8,  false, 0, true,  true,0,"8",        false, 0,0x000000ff},
+{ (unsigned int) RELOC_16,     0,  1,  16, false, 0, true,  true,0,"16",       false, 0,0x0000ffff},
+{ (unsigned int) RELOC_32,     0,  2,  32, false, 0, true,  true,0,"32",       false, 0,0xffffffff},
+{ (unsigned int) RELOC_DISP8,  0,  0,  8,  true,  0, false, true,0,"DISP8",    false, 0,0x000000ff},
+{ (unsigned int) RELOC_DISP16, 0,  1,  16, true,  0, false, true,0,"DISP16",   false, 0,0x0000ffff},
+{ (unsigned int) RELOC_DISP32, 0,  2,  32, true,  0, false, true,0,"DISP32",   false, 0,0xffffffff},
+{ (unsigned int) RELOC_WDISP30,2,  2,  30, true,  0, false, true,0,"WDISP30",  false, 0,0x3fffffff},
+{ (unsigned int) RELOC_WDISP22,2,  2,  22, true,  0, false, true,0,"WDISP22",  false, 0,0x003fffff},
+{ (unsigned int) RELOC_HI22,   10, 2,  22, false, 0, false, true,0,"HI22",     false, 0,0x003fffff},
+{ (unsigned int) RELOC_22,      0, 2,  22, false, 0, false, true,0,"22",       false, 0,0x003fffff},
+{ (unsigned int) RELOC_13,     0, 2,   13, false, 0, false, true,0,"13",       false, 0,0x00001fff},
+{ (unsigned int) RELOC_LO10,   0, 2,   10, false, 0, false, true,0,"LO10",     false, 0,0x000003ff},
+{ (unsigned int) RELOC_SFA_BASE,0, 2,  32, false, 0, false, true,0,"SFA_BASE", false, 0,0xffffffff},
+{ (unsigned int) RELOC_SFA_OFF13,0,2,  32, false, 0, false, true,0,"SFA_OFF13",false, 0,0xffffffff},
+{ (unsigned int) RELOC_BASE10, 0,  2,  16, false, 0, false, true,0,"BASE10",   false, 0,0x0000ffff},
+{ (unsigned int) RELOC_BASE13, 0,  2,  13, false, 0, false, true,0,"BASE13",   false, 0,0x00001fff},
+{ (unsigned int) RELOC_BASE22, 0,  2,  0,  false, 0, false, true,0,"BASE22",   false, 0,0x00000000},
+{ (unsigned int) RELOC_PC10,   0,  2,  10, false, 0, false, true,0,"PC10",     false, 0,0x000003ff},
+{ (unsigned int) RELOC_PC22,   0,  2,  22, false, 0, false, true,0,"PC22",     false, 0,0x003fffff},
+{ (unsigned int) RELOC_JMP_TBL,0,  2,  32, false, 0, false, true,0,"JMP_TBL",  false, 0,0xffffffff},
+{ (unsigned int) RELOC_SEGOFF16,0, 2,  0,  false, 0, false, true,0,"SEGOFF16", false, 0,0x00000000},
+{ (unsigned int) RELOC_GLOB_DAT,0, 2,  0,  false, 0, false, true,0,"GLOB_DAT", false, 0,0x00000000},
+{ (unsigned int) RELOC_JMP_SLOT,0, 2,  0,  false, 0, false, true,0,"JMP_SLOT", false, 0,0x00000000},
+{ (unsigned int) RELOC_RELATIVE,0, 2,  0,  false, 0, false, true,0,"RELATIVE", false, 0,0x00000000},
+{ (unsigned int) RELOC_JUMPTARG,2, 13, 16, true,  0, false, true,0,"JUMPTARG", false, 0,0x0000ffff},
+{ (unsigned int) RELOC_CONST,  0, 13,  16, false, 0, false, true,0,"CONST",    false, 0,0x0000ffff},
+{ (unsigned int) RELOC_CONSTH, 16, 13, 16, false, 0, false, true,0,"CONSTH",   false, 0,0x0000ffff},
 };
 
 /* Convert standard reloc records to "arelent" format (incl byte swap).  */
 
-static CONST reloc_howto_type howto_table_std[] = {
+static  reloc_howto_type howto_table_std[] = {
   /* type                   rs   size bsz  pcrel bitpos  abs ovrf sf name*/
-{ (unsigned int) 0,           0,  0,   8,  false, 0, true,  true,0,"8",        true, 0x000000ff},
-{ (unsigned int) 1,           0,  1,   16, false, 0, true,  true,0,"16",       true, 0x0000ffff},
-{ (unsigned int) 2,           0,  2,   32, false, 0, true,  true,0,"32",       true, 0xffffffff},
-{ (unsigned int) 3,           0,  3,   64, false, 0, true,  true,0,"64",       true, 0xdeaddead},
-{ (unsigned int) 4,           0,  0,   8,  true,  0, false, true,0,"DISP8",    true, 0x000000ff},
-{ (unsigned int) 5,           0,  1,   16, true,  0, false, true,0,"DISP16",   true, 0x0000ffff},
-{ (unsigned int) 6,           0,  2,   32, true,  0, false, true,0,"DISP32",   true, 0xffffffff},
-{ (unsigned int) 7,           0,  3,   64, true,  0, false, true,0,"DISP64",   true, 0xfeedface},
+{ (unsigned int) 0,           0,  0,   8,  false, 0, true,  true,0,"8",        true, 0x000000ff,0x000000ff},
+{ (unsigned int) 1,           0,  1,   16, false, 0, true,  true,0,"16",       true, 0x0000ffff,0x0000ffff},
+{ (unsigned int) 2,           0,  2,   32, false, 0, true,  true,0,"32",       true, 0xffffffff,0xffffffff},
+{ (unsigned int) 3,           0,  3,   64, false, 0, true,  true,0,"64",       true, 0xdeaddead,0xdeaddead},
+{ (unsigned int) 4,           0,  0,   8,  true,  0, false, true,0,"DISP8",    true, 0x000000ff,0x000000ff},
+{ (unsigned int) 5,           0,  1,   16, true,  0, false, true,0,"DISP16",   true, 0x0000ffff,0x0000ffff},
+{ (unsigned int) 6,           0,  2,   32, true,  0, false, true,0,"DISP32",   true, 0xffffffff,0xffffffff},
+{ (unsigned int) 7,           0,  3,   64, true,  0, false, true,0,"DISP64",   true, 0xfeedface,0xfeedface},
 };
 
+
+bfd_error_vector_type bfd_error_vector;
 /** a.out files */
 
 
@@ -116,11 +119,11 @@ bfd *abfd;
   }
 }
 
-void
-bfd_aout_swap_exec_header_in (abfd, raw_bytes, execp)
-     bfd *abfd;
-     unsigned char *raw_bytes;
-     struct exec *execp;
+static void
+DEFUN(bfd_aout_swap_exec_header_in,(abfd, raw_bytes, execp),
+      bfd *abfd AND
+      unsigned char *raw_bytes AND
+      struct exec *execp)
 {
   struct exec_bytes *bytes = (struct exec_bytes *)raw_bytes;
 
@@ -135,11 +138,11 @@ bfd_aout_swap_exec_header_in (abfd, raw_bytes, execp)
   execp->a_drsize = bfd_h_getlong (abfd, bytes->a_drsize);
 }
 
-void
-bfd_aout_swap_exec_header_out (abfd, execp, raw_bytes)
-     bfd *abfd;
-     struct exec *execp;
-     unsigned char *raw_bytes;
+static void
+DEFUN(bfd_aout_swap_exec_header_out,(abfd, execp, raw_bytes),
+     bfd *abfd AND
+     struct exec *execp AND 
+     unsigned char *raw_bytes)
 {
   struct exec_bytes *bytes = (struct exec_bytes *)raw_bytes;
 
@@ -183,6 +186,7 @@ static unsigned int n_stroff(ptr)
 struct exec *ptr;
 {return n_symoff(ptr) + ptr->a_syms;}
 
+static
 unsigned int n_badmag(ptr)
      struct exec *ptr;
 {
@@ -422,7 +426,7 @@ boolean
 sunos4_write_object_contents (abfd)
      bfd *abfd;
 {
-  unsigned int data_pad = 0;
+  size_t data_pad = 0;
   unsigned char exec_bytes[EXEC_BYTES_SIZE];
   struct exec *execp = exec_hdr (abfd);
 
@@ -464,17 +468,17 @@ sunos4_write_object_contents (abfd)
   N_SET_FLAGS (*execp, 0x1);   /* copied from ld.c; who the hell knows? */
 
   if (abfd->flags & D_PAGED) 
-    {
-      data_pad = ((obj_datasec(abfd)->size + PAGE_SIZE -1)
-                 & (- PAGE_SIZE)) - obj_datasec(abfd)->size;
+      {
+       data_pad = ((obj_datasec(abfd)->size + PAGE_SIZE -1)
+                   & (- PAGE_SIZE)) - obj_datasec(abfd)->size;
 
-      if (data_pad > obj_bsssec(abfd)->size)
-       execp->a_bss = 0;
-      else 
-       execp->a_bss = obj_bsssec(abfd)->size - data_pad;
-      execp->a_data = obj_datasec(abfd)->size + data_pad;
+       if (data_pad > obj_bsssec(abfd)->size)
+         execp->a_bss = 0;
+       else 
+         execp->a_bss = obj_bsssec(abfd)->size - data_pad;
+       execp->a_data = obj_datasec(abfd)->size + data_pad;
 
-    }
+      }
   else {
     execp->a_data = obj_datasec (abfd)->size;
     execp->a_bss = obj_bsssec (abfd)->size;
@@ -497,19 +501,19 @@ sunos4_write_object_contents (abfd)
   /* Now write out reloc info, followed by syms and strings */
 
   if (bfd_get_symcount (abfd) != 0) 
-    {
-      bfd_seek (abfd,
-               (long)(N_SYMOFF(*execp)), false);
+      {
+       bfd_seek (abfd,
+                 (long)(N_SYMOFF(*execp)), false);
 
-      sunos4_write_syms (abfd);
+       sunos4_write_syms (abfd);
 
-      bfd_seek (abfd,  (long)(N_TROFF(*execp)), false);
+       bfd_seek (abfd, (long)(N_TROFF(*execp)), false);
 
-      if (!sunos4_squirt_out_relocs (abfd, obj_textsec (abfd))) return false;
-      bfd_seek (abfd, (long)(N_DROFF(*execp)), false);
+       if (!sunos4_squirt_out_relocs (abfd, obj_textsec (abfd))) return false;
+       bfd_seek (abfd, (long)(N_DROFF(*execp)), false);
 
-      if (!sunos4_squirt_out_relocs (abfd, obj_datasec (abfd))) return false;
-    }
+       if (!sunos4_squirt_out_relocs (abfd, obj_datasec (abfd))) return false;
+      }
   return true;
 }
 
@@ -1057,8 +1061,8 @@ translate_to_native_sym_flags (sym_pointer, cache_ptr_g, abfd)
       sym_pointer->n_type |= N_TEXT;
     }
     else {
-      bfd_error_trap(bfd_error_nonrepresentable_section,
-                bfd_get_output_section(cache_ptr)->name);
+
+      bfd_error_vector.nonrepresentable_section(abfd, bfd_get_output_section(cache_ptr)->name);
 
     }
     /* Turn the symbol from section relative to absolute again */
@@ -1106,8 +1110,8 @@ bfd *abfd;
 }
 
 boolean
-sunos4_slurp_symbol_table (abfd)
-     bfd *abfd;
+DEFUN(sunos4_slurp_symbol_table, (abfd),
+      bfd *abfd)
 {
   unsigned int symbol_count;
   size_t symbol_size;
@@ -1210,10 +1214,10 @@ sunos4_slurp_symbol_table (abfd)
   return true;
 }
 
-\f
+
 void
-sunos4_write_syms (abfd)
-     bfd *abfd;
+DEFUN(sunos4_write_syms,(abfd),
+     bfd *abfd)
 {
   unsigned int count ;
   asymbol **generic = bfd_get_outsymbols (abfd);
@@ -1280,10 +1284,10 @@ sunos4_write_syms (abfd)
     }
 }
 
-\f
+
 void
-sunos4_reclaim_symbol_table (abfd)
-     bfd *abfd;
+DEFUN(sunos4_reclaim_symbol_table,(abfd),
+     bfd *abfd)
 {
   asection *section;
 
@@ -1985,20 +1989,20 @@ sunos4_close_and_cleanup (abfd)
 */
  
 boolean
-sunos4_find_nearest_line(abfd,
-                        section,
-                        symbols,
-                        offset,
-                        filename_ptr,
-                        functionname_ptr,
-                        line_ptr)
-bfd *abfd;
-asection *section;
-asymbol **symbols;
-bfd_vma offset;
-char **filename_ptr;
-char **functionname_ptr;
-unsigned int *line_ptr;
+DEFUN(sunos4_find_nearest_line,(abfd,
+                               section,
+                               symbols,
+                               offset,
+                               filename_ptr,
+                               functionname_ptr,
+                               line_ptr),
+      bfd *abfd AND
+      asection *section AND
+      asymbol **symbols AND
+      bfd_vma offset AND
+      char **filename_ptr AND
+      char **functionname_ptr AND
+      unsigned int *line_ptr)
 {
   /* Run down the file looking for the filename, function and linenumber */
   asymbol **p;
index 0e2ff6a..ba9832c 100755 (executable)
@@ -46,7 +46,7 @@ Most of this hacked by Steve Chamberlain, steve@cygnus.com
 
 /* All the swapping routines */
 
-static void
+static void 
 swap_reloc(abfd, reloc)
     bfd            *abfd;
     RELOC          *reloc;
@@ -57,7 +57,7 @@ swap_reloc(abfd, reloc)
 }
 
 
-static void
+static void 
 swap_filehdr(abfd, filehdr)
     bfd            *abfd;
     FILHDR         *filehdr;
@@ -73,7 +73,7 @@ swap_filehdr(abfd, filehdr)
 
 }
 
-static void
+static void 
 swap_aouthdr(abfd, aouthdr)
     bfd            *abfd;
     AOUTHDR        *aouthdr;
@@ -92,7 +92,7 @@ swap_aouthdr(abfd, aouthdr)
 #endif
 }
 
-static void
+static void 
 swap_scnhdr(abfd, scnhdr)
     bfd            *abfd;
     SCNHDR         *scnhdr;
@@ -111,7 +111,7 @@ swap_scnhdr(abfd, scnhdr)
 #endif
 }
 
-static void
+static void 
 swap_name(abfd, ptr)
     bfd            *abfd;
     long           *ptr;
@@ -125,7 +125,7 @@ swap_name(abfd, ptr)
     }
 }
 
-static void
+static void 
 bfd_coff_swap_sym(abfd, se)
     bfd            *abfd;
     SYMENT         *se;
@@ -138,7 +138,7 @@ bfd_coff_swap_sym(abfd, se)
     bfd_h_put_x(abfd, se->n_numaux, &se->n_numaux);
 }
 
-static void
+static void 
 bfd_coff_swap_aux(abfd, au, type, class)
     bfd            *abfd;
     AUXENT         *au;
@@ -184,7 +184,7 @@ bfd_coff_swap_aux(abfd, au, type, class)
     }
 }
 
-static void
+static void 
 bfd_coff_swap_lineno(abfd, lineno)
     bfd            *abfd;
     LINENO         *lineno;
@@ -206,7 +206,7 @@ get_index(symbol)
     return (int) symbol->value;
 }
 
-static void
+static void 
 set_index(symbol, idx)
     asymbol        *symbol;
     unsigned int    idx;
@@ -318,7 +318,7 @@ coff_real_object_p(abfd, nscns, opthdr)
   }
   if (bfd_seek(abfd, 0L, SEEK_SET) < 0)
     return 0;
-  if (bfd_read((void *) file_info, 1, readsize, abfd) != readsize)
+  if (bfd_read((PTR) file_info, 1, readsize, abfd) != readsize)
     return 0;
   filehdr = (struct filehdr *) file_info;
   sections = (struct scnhdr *) (file_info + sizeof(struct filehdr) + opthdr);
@@ -408,7 +408,7 @@ coff_real_object_p(abfd, nscns, opthdr)
   if (!(filehdr->f_flags & F_LSYMS))
     abfd->flags |= HAS_LOCALS;
 
-  abfd->tdata = (void *) tdata;
+  abfd->tdata = (PTR) tdata;
   bfd_get_symcount(abfd) = filehdr->f_nsyms;
   if (filehdr->f_nsyms)
     abfd->flags |= HAS_SYMS;
@@ -437,7 +437,7 @@ coff_symbol_from(abfd, symbol)
   if (symbol->the_bfd->xvec->flavour != bfd_target_coff_flavour_enum) 
     return (coff_symbol_type *)NULL;
 
-  if (symbol->the_bfd->tdata == (void *)NULL)
+  if (symbol->the_bfd->tdata == (PTR)NULL)
     return (coff_symbol_type *)NULL;
 
   return  (coff_symbol_type *) symbol;
@@ -455,7 +455,7 @@ coff_object_p(abfd)
     bfd_error = system_call_error;
 
     /* figure out how much to read */
-    if (bfd_read((void *) &magic, 1, sizeof(magic), abfd) != sizeof(magic))
+    if (bfd_read((PTR) &magic, 1, sizeof(magic), abfd) != sizeof(magic))
        return 0;
 
     magic = bfd_h_getshort(abfd, (bfd_byte *) (&magic));
@@ -464,13 +464,13 @@ coff_object_p(abfd)
        bfd_error = wrong_format;
        return 0;
     }
-    if (bfd_read((void *) &nscns, 1, sizeof(nscns), abfd) != sizeof(nscns))
+    if (bfd_read((PTR) &nscns, 1, sizeof(nscns), abfd) != sizeof(nscns))
        return 0;
     nscns = bfd_h_getshort(abfd, (unsigned char *) &nscns);
     if (bfd_seek(abfd, (file_ptr) & (((struct filehdr *) NULL)->f_opthdr), SEEK_SET)
        < 0)
        return (bfd_target *) NULL;
-    if (bfd_read((void *) &opthdr, 1, sizeof(opthdr), abfd) != sizeof(opthdr))
+    if (bfd_read((PTR) &opthdr, 1, sizeof(opthdr), abfd) != sizeof(opthdr))
        return (bfd_target *) NULL;
     opthdr = bfd_h_getshort(abfd, (unsigned char *) &opthdr);
 
@@ -491,7 +491,7 @@ coff_mkobject(abfd)
        bfd_error = no_memory;
        return false;
     }
-    abfd->tdata = (void *) ((struct icofdata *) rawptr);
+    abfd->tdata = (PTR) ((struct icofdata *) rawptr);
     exec_hdr(abfd) = (AOUTHDR *) (rawptr + sizeof(struct icofdata));
     obj_relocbase(abfd) =0;
     return true;
@@ -499,7 +499,7 @@ coff_mkobject(abfd)
 
 
 
-static void
+static void 
 coff_count_linenumbers(abfd)
     bfd            *abfd;
 {
@@ -598,7 +598,7 @@ applied so we can dig it out through a pointer.
 
 
 */
-static void
+static void 
 coff_mangle_symbols(bfd_ptr)
 bfd *bfd_ptr;
 {
@@ -774,7 +774,7 @@ bfd *bfd_ptr;
          
          
 
-static void
+static void 
 coff_write_symbols(abfd)
     bfd            *abfd;
 {
@@ -920,10 +920,10 @@ coff_write_symbols(abfd)
        int             type = native->n_type;
        int             class = native->n_sclass;
        bfd_coff_swap_sym(abfd, native);
-       bfd_write((void *) native, 1, SYMESZ, abfd);
+       bfd_write((PTR) native, 1, SYMESZ, abfd);
        for (j = 0; j != native->n_numaux; j++) {
          bfd_coff_swap_aux(abfd, native + j + 1, type, class);
-         bfd_write((void *) (native + j + 1), 1, AUXESZ, abfd);
+         bfd_write((PTR) (native + j + 1), 1, AUXESZ, abfd);
 
        }
        /*
@@ -941,12 +941,12 @@ coff_write_symbols(abfd)
   if (string_size) {
     unsigned int    size = string_size + 4;
     bfd_h_put_x(abfd, size, &size);
-    bfd_write((void *) &size, 1, sizeof(size), abfd);
+    bfd_write((PTR) &size, 1, sizeof(size), abfd);
     for (p = abfd->outsymbols, i = 0; i < limit; i++, p++) {
       asymbol        *q = *p;
       size_t          name_length = strlen(q->name);
       if (name_length > SYMNMLEN) {
-       bfd_write((void *) (q->name), 1, name_length + 1, abfd);
+       bfd_write((PTR) (q->name), 1, name_length + 1, abfd);
       }
     }
   }
@@ -958,13 +958,13 @@ coff_write_symbols(abfd)
 
     uint32e_type size = 4;
     bfd_h_put_x(abfd, size, &size);
-    bfd_write((void *)&size, 1, sizeof(size), abfd);
+    bfd_write((PTR)&size, 1, sizeof(size), abfd);
        
   }
 
 }
 
-static void
+static void 
 coff_write_relocs(abfd)
     bfd            *abfd;
 {
@@ -981,11 +981,11 @@ coff_write_relocs(abfd)
            n.r_symndx = get_index((*(q->sym_ptr_ptr)));
            n.r_type = q->howto->type;
            swap_reloc(abfd, &n);
-           bfd_write((void *) &n, 1, RELSZ, abfd);
+           bfd_write((PTR) &n, 1, RELSZ, abfd);
        }
     }
 }
-static void
+static void 
 coff_write_linenumbers(abfd)
     bfd            *abfd;
 {
@@ -1001,17 +1001,17 @@ coff_write_linenumbers(abfd)
                if (l) {
                    /* Found a linenumber entry, output */
                    struct lineno   out;
-                   bzero( &out, sizeof(out));
+                   bzero( (PTR)&out, sizeof(out));
                    out.l_lnno = 0;
                    out.l_addr.l_symndx = l->u.offset;
                    bfd_coff_swap_lineno(abfd, &out);
-                   bfd_write((void *) &out, 1, LINESZ, abfd);
+                   bfd_write((PTR) &out, 1, LINESZ, abfd);
                    l++;
                    while (l->line_number) {
                        out.l_lnno = l->line_number;
                        out.l_addr.l_symndx = l->u.offset;
                        bfd_coff_swap_lineno(abfd, &out);
-                       bfd_write((void *) &out, 1, LINESZ, abfd);
+                       bfd_write((PTR) &out, 1, LINESZ, abfd);
                        l++;
                    }
                }
@@ -1037,7 +1037,7 @@ coff_make_empty_symbol(abfd)
     return &new->symbol;
 }
 
-static void
+static void 
 coff_print_symbol(ignore_abfd, file, symbol, how)
     bfd            *ignore_abfd;
     FILE           *file;
@@ -1056,7 +1056,7 @@ coff_print_symbol(ignore_abfd, file, symbol, how)
        {
            char           *section_name = symbol->section == (asection *) NULL ?
            "*abs" : symbol->section->name;
-           bfd_print_symbol_vandf((void *) file, symbol);
+           bfd_print_symbol_vandf((PTR) file, symbol);
 
            fprintf(file, " %-5s %s %s %s",
                    section_name,
@@ -1167,7 +1167,7 @@ coff_set_arch_mach(abfd, arch, machine)
 
 /* Calculate the file position for each section. */
 
-static void
+static void 
 coff_compute_section_file_positions(abfd)
     bfd            *abfd;
 {
@@ -1338,7 +1338,7 @@ coff_write_object_contents(abfd)
 
 #endif
       swap_scnhdr(abfd, &section);
-      bfd_write((void *) (&section), 1, SCNHSZ, abfd);
+      bfd_write((PTR) (&section), 1, SCNHSZ, abfd);
       pad = 0;
     }
 
@@ -1440,11 +1440,11 @@ coff_write_object_contents(abfd)
   if (bfd_seek(abfd, 0L, SEEK_SET) != 0)
     return false;
 
-  bfd_write((void *) &file_header, 1, FILHSZ, abfd);
+  bfd_write((PTR) &file_header, 1, FILHSZ, abfd);
 
   if (abfd->flags & EXEC_P) {
 
-    bfd_write((void *) exec_hdr(abfd), 1, AOUTSZ, abfd);
+    bfd_write((PTR) exec_hdr(abfd), 1, AOUTSZ, abfd);
   }
   return true;
 }
@@ -1455,7 +1455,7 @@ static          boolean
 coff_set_section_contents(abfd, section, location, offset, count)
     bfd            *abfd;
     sec_ptr         section;
-    void           *location;
+    PTR location;
     file_ptr        offset;
     size_t          count;
 {
@@ -1473,7 +1473,7 @@ static          boolean
 coff_get_section_contents(abfd, section, location, offset, count)
     bfd            *abfd;
     sec_ptr         section;
-    void           *location;
+    PTR location;
     file_ptr        offset;
     int             count;
 {
@@ -1521,28 +1521,28 @@ coff_close_and_cleanup(abfd)
 
 
 
-static void    *
+static PTR 
 buy_and_read(abfd, where, seek_direction, size)
     bfd            *abfd;
     file_ptr        where;
     int             seek_direction;
     size_t          size;
 {
-    void           *area = (void *) malloc(size);
-    if (!area) {
-       bfd_error = no_memory;
-       return (NULL);
-    }
-    bfd_seek(abfd, where, seek_direction);
-    if (bfd_read(area, 1, size, abfd) != size) {
-       bfd_error = system_call_error;
-       free(area);
-       return (NULL);
-    }                          /* on error */
-    return (area);
+  PTR area = (PTR) malloc(size);
+  if (!area) {
+    bfd_error = no_memory;
+    return (NULL);
+  }
+  bfd_seek(abfd, where, seek_direction);
+  if (bfd_read(area, 1, size, abfd) != size) {
+    bfd_error = system_call_error;
+    free(area);
+    return (NULL);
+  }                            /* on error */
+  return (area);
 }                              /* buy_and_read() */
 
-static void
+static void 
 offset_symbol_indices(symtab, count, offset)
     SYMENT         *symtab;
     unsigned long   count;
@@ -1598,7 +1598,7 @@ offset_symbol_indices(symtab, count, offset)
     return;
 }                              /* offset_symbol_indices() */
 /* swap the entire symbol table */
-static void
+static void 
 swap_raw_symtab(abfd, raw_symtab)
     bfd            *abfd;
     SYMENT         *raw_symtab;
@@ -2004,7 +2004,7 @@ find_next_file_symbol(current, end)
    Note that C_FILE symbols can, and some do, have more than 1 aux entry.
 */
 
-static void
+static void 
 force_indices_file_symbol_relative(abfd, symtab)
     bfd            *abfd;
     SYMENT         *symtab;
@@ -2316,7 +2316,7 @@ coff_slurp_reloc_table(abfd, asect, symbols)
         */
 
       if (ptr->the_bfd == abfd && ptr->section != (asection *) NULL) {
-       cache_ptr->addend = -ptr->section->vma;
+       cache_ptr->addend = -(ptr->section->vma + ptr->value);
       }
       else {
        cache_ptr->addend = 0;
index 0f3b37c..a4898ec 100755 (executable)
@@ -108,11 +108,11 @@ Summary:
    may ignore the byte-within-word field of the pointer.  */
 
 #ifndef __PTR_TO_INT
-#define __PTR_TO_INT(P) ((P) - (char *)0)
+#define __PTR_TO_INT(P) ((P) - (char*)0)
 #endif
 
 #ifndef __INT_TO_PTR
-#define __INT_TO_PTR(P) ((P) + (char *)0)
+#define __INT_TO_PTR(P) ((P) + (char*)0)
 #endif
 
 struct _obstack_chunk          /* Lives at front of each chunk. */
@@ -131,11 +131,8 @@ struct obstack             /* control current object in current chunk */
   char *chunk_limit;           /* address of char after current chunk */
   int  temp;                   /* Temporary for some macros.  */
   int   alignment_mask;                /* Mask of alignment for each object. */
-#ifdef __STDC__
-  void  *(*chunkfun) ();       /* User's fcn to allocate a chunk.  */
-#else
-  char  *(*chunkfun) ();       /* User's fcn to allocate a chunk.  */
-#endif
+
+  PTR(*chunkfun) ();   /* User's fcn to allocate a chunk.  */
   void (*freefun) ();          /* User's function to free a chunk.  */
 };
 \f