* syms.c (coff_section_type): Make arg const.
authorFred Fish <fnf@specifix.com>
Wed, 11 Sep 1996 04:25:57 +0000 (04:25 +0000)
committerFred Fish <fnf@specifix.com>
Wed, 11 Sep 1996 04:25:57 +0000 (04:25 +0000)
* irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
to make_bfd_asection().
* elf-bfd.h (bfd_section_from_phdr): Add prototype.
* elfcode.h (bfd_section_from_phdr): Remove prototype.
(_bfd_elf_stringtab_init): Remove prototype.

* netbsd-core.c (swap_abort): Add prototype.
* aix386-core.c (swap_abort): Ditto & make static
* hpux-core.c (swap_abort): Ditto & make static.
* irix-core.c (swap_abort): Ditto & make static.
* ptrace-core.c (swap_abort): Ditto & make static.
* trad-core.c (swap_abort): Ditto & make static.
* coffswap.h (coff_swap_reloc_in): Ditto.
(coff_swap_reloc_out): Ditto.
(coff_swap_filehdr_in): Ditto.
(coff_swap_filehdr_out): Ditto.
(coff_swap_sym_in): Ditto.
(coff_swap_sym_out): Ditto.
(coff_swap_aux_in): Ditto.
(coff_swap_aux_out): Ditto.
(coff_swap_lineno_in): Ditto.
(coff_swap_lineno_out): Ditto.
(coff_swap_aouthdr_in): Ditto.
(coff_swap_aouthdr_out): Ditto.
(coff_swap_scnhdr_in): Ditto.
(coff_swap_scnhdr_out): Ditto.
* ihex.c (ihex_sizeof_headers): Ditto.
* tekhex.c (getsym): Ditto.
(find_chunk): Ditto & make static.
(insert_byte): Ditto.
(first_phase): Ditto.
(pass_over): Ditto.
(tekhex_get_symtab): Ditto & make static.
(tekhex_get_symtab_upper_bound): Ditto & make static.
(tekhex_mkobject): Ditto.
(tekhex_object_p): Ditto.
(move_section_contents): Ditto.
(tekhex_get_section_contents): Ditto.
(tekhex_set_arch_mach): Ditto & make static.
(tekhex_set_section_contents): Ditto.
(writevalue): Ditto.
(writesym): Ditto.
(out): Ditto.
(tekhex_write_object_contents): Ditto.
(tekhex_sizeof_headers): Ditto.
(tekhex_make_empty_symbol): Ditto.
(tekhex_get_symbol_info): Ditto.
(tekhex_print_symbol): Ditto.
* irix-core.c (make_bfd_asection): Ditto.
(irix_core_core_file_p): Ditto.
(irix_core_core_file_failing_command): Ditto.
(irix_core_core_file_failing_signal): Ditto.
(irix_core_core_file_matches_executable_p): Ditto.
(irix_core_make_empty_symbol): Ditto.
* coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
* srec.c (srec_new_symbol): Ditto.
(srec_get_section_contents): Ditto.
(srec_set_arch_mach): Ditto.
(srec_set_section_contents): Ditto.
(internal_srec_write_object_contents): Ditto.
(srec_write_object_contents): Ditto.
(symbolsrec_write_object_contents): Ditto.
(srec_sizeof_headers): Ditto.
(srec_make_empty_symbol): Ditto.
(srec_get_symtab_upper_bound): Ditto.
(srec_get_symtab): Ditto.
(srec_print_symbol): Ditto and make static.
* elf.c (elf_read): Ditto
(assign_section_numbers): Ditto.
(elf_fake_sections): Ditto.
(sym_is_global): Ditto.
(elf_map_symbols): Ditto.
(get_program_header_size): Ditto.
* coffgen.c (make_a_section_from_file): Ditto.
(coff_real_object_p): Ditto.
(fixup_symbol_value): Ditto.
(build_debug_section): Ditto.
(copy_name): Ditto.
* syms.c (coff_section_type): Ditto.

bfd/ChangeLog
bfd/elf.c
bfd/syms.c
bfd/tekhex.c

index a82f59ed9e4b16b126c0f6ef5fd12e6555319ba3..03e95105fb314807012f9d3067008c77dd89c80a 100644 (file)
@@ -1,3 +1,86 @@
+Tue Sep 10 16:18:30 1996  Fred Fish  <fnf@cygnus.com>
+
+       * syms.c (coff_section_type): Make arg const.
+       * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
+       to make_bfd_asection().
+       * elf-bfd.h (bfd_section_from_phdr): Add prototype.
+       * elfcode.h (bfd_section_from_phdr): Remove prototype.
+       (_bfd_elf_stringtab_init): Remove prototype.
+
+       * netbsd-core.c (swap_abort): Add prototype.
+       * aix386-core.c (swap_abort): Ditto & make static
+       * hpux-core.c (swap_abort): Ditto & make static.
+       * irix-core.c (swap_abort): Ditto & make static.
+       * ptrace-core.c (swap_abort): Ditto & make static.
+       * trad-core.c (swap_abort): Ditto & make static.
+       * coffswap.h (coff_swap_reloc_in): Ditto.
+       (coff_swap_reloc_out): Ditto.
+       (coff_swap_filehdr_in): Ditto.
+       (coff_swap_filehdr_out): Ditto.
+       (coff_swap_sym_in): Ditto.
+       (coff_swap_sym_out): Ditto.
+       (coff_swap_aux_in): Ditto.
+       (coff_swap_aux_out): Ditto.
+       (coff_swap_lineno_in): Ditto.
+       (coff_swap_lineno_out): Ditto.
+       (coff_swap_aouthdr_in): Ditto.
+       (coff_swap_aouthdr_out): Ditto.
+       (coff_swap_scnhdr_in): Ditto.
+       (coff_swap_scnhdr_out): Ditto.
+       * ihex.c (ihex_sizeof_headers): Ditto.
+       * tekhex.c (getsym): Ditto.
+       (find_chunk): Ditto & make static.
+       (insert_byte): Ditto.
+       (first_phase): Ditto.
+       (pass_over): Ditto.
+       (tekhex_get_symtab): Ditto & make static.
+       (tekhex_get_symtab_upper_bound): Ditto & make static.
+       (tekhex_mkobject): Ditto.
+       (tekhex_object_p): Ditto.
+       (move_section_contents): Ditto.
+       (tekhex_get_section_contents): Ditto.
+       (tekhex_set_arch_mach): Ditto & make static.
+       (tekhex_set_section_contents): Ditto.
+       (writevalue): Ditto.
+       (writesym): Ditto.
+       (out): Ditto.
+       (tekhex_write_object_contents): Ditto.
+       (tekhex_sizeof_headers): Ditto.
+       (tekhex_make_empty_symbol): Ditto.
+       (tekhex_get_symbol_info): Ditto.
+       (tekhex_print_symbol): Ditto.
+       * irix-core.c (make_bfd_asection): Ditto.
+       (irix_core_core_file_p): Ditto.
+       (irix_core_core_file_failing_command): Ditto.
+       (irix_core_core_file_failing_signal): Ditto.
+       (irix_core_core_file_matches_executable_p): Ditto.
+       (irix_core_make_empty_symbol): Ditto.
+       * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
+       * srec.c (srec_new_symbol): Ditto.
+       (srec_get_section_contents): Ditto.
+       (srec_set_arch_mach): Ditto.
+       (srec_set_section_contents): Ditto.
+       (internal_srec_write_object_contents): Ditto.
+       (srec_write_object_contents): Ditto.
+       (symbolsrec_write_object_contents): Ditto.
+       (srec_sizeof_headers): Ditto.
+       (srec_make_empty_symbol): Ditto.
+       (srec_get_symtab_upper_bound): Ditto.
+       (srec_get_symtab): Ditto.
+       (srec_print_symbol): Ditto and make static.
+       * elf.c (elf_read): Ditto
+       (assign_section_numbers): Ditto.
+       (elf_fake_sections): Ditto.
+       (sym_is_global): Ditto.
+       (elf_map_symbols): Ditto.
+       (get_program_header_size): Ditto.
+       * coffgen.c (make_a_section_from_file): Ditto.
+       (coff_real_object_p): Ditto.
+       (fixup_symbol_value): Ditto.
+       (build_debug_section): Ditto.
+       (copy_name): Ditto.
+       * syms.c (coff_section_type): Ditto.
+       
 start-sanitize-m324
 Mon Sep  9 22:36:01 1996  Jeffrey A Law  (law@cygnus.com)
 
index dd5527f1e9f2a2103e8413b2a8a265cf37278411..9881ed242d0b549a61523688bc65fb72a73bc538 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -47,6 +47,12 @@ static boolean assign_file_positions_except_relocs PARAMS ((bfd *));
 static boolean prep_headers PARAMS ((bfd *));
 static boolean swap_out_syms PARAMS ((bfd *, struct bfd_strtab_hash **));
 static boolean copy_private_bfd_data PARAMS ((bfd *, bfd *));
+static char *elf_read PARAMS ((bfd *, long, unsigned int));
+static void elf_fake_sections PARAMS ((bfd *, asection *, PTR));
+static boolean assign_section_numbers PARAMS ((bfd *));
+static INLINE int sym_is_global PARAMS ((bfd *, asymbol *));
+static boolean elf_map_symbols PARAMS ((bfd *));
+static bfd_size_type get_program_header_size PARAMS ((bfd *));
 
 /* Standard ELF hash function.  Do not change this function; you will
    cause invalid hash tables to be generated.  (Well, you would if this
index da825cbaaaf5f13bee9612d35757924a6449420c..9959f0b6be6f7690cc7f3eba134ebfd95fc43567 100644 (file)
@@ -307,6 +307,8 @@ CODE_FRAGMENT
 #include "bfdlink.h"
 #include "aout/stab_gnu.h"
 
+static char coff_section_type PARAMS ((const char *));
+
 /*
 DOCDD
 INODE
@@ -483,13 +485,16 @@ static CONST struct section_to_type stt[] =
 {
   {"*DEBUG*", 'N'},
   {".bss", 'b'},
+  {"zerovars", 'b'},           /* MRI .bss */
   {".data", 'd'},
+  {"vars", 'd'},               /* MRI .data */
   {".rdata", 'r'},             /* Read only data.  */
   {".rodata", 'r'},            /* Read only data.  */
   {".sbss", 's'},              /* Small BSS (uninitialized data).  */
   {".scommon", 'c'},           /* Small common.  */
   {".sdata", 'g'},             /* Small initialized data.  */
   {".text", 't'},
+  {"code", 't'},               /* MRI .text */
   {0, 0}
 };
 
@@ -501,7 +506,7 @@ static CONST struct section_to_type stt[] =
 
 static char
 coff_section_type (s)
-     char *s;
+     const char *s;
 {
   CONST struct section_to_type *t;
 
@@ -768,7 +773,7 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
        {
          /* No stabs debugging information.  Set *pinfo so that we
              can return quickly in the info != NULL case above.  */
-         *pinfo = info;
+         *pinfo = (PTR) info;
          return true;
        }
 
@@ -841,7 +846,7 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
       if (reloc_vector != NULL)
        free (reloc_vector);
 
-      *pinfo = info;
+      *pinfo = (PTR) info;
     }
 
   /* We are passed a section relative offset.  The offsets in the
@@ -930,7 +935,7 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
              break;
            }
 
-         name = str + bfd_get_32 (abfd, stab + STRDXOFF);
+         name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
 
          /* An empty string indicates the end of the compilation
              unit.  */
@@ -963,7 +968,8 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
            {
              stab += STABSIZE;
              directory_name = current_file_name;
-             current_file_name = str + bfd_get_32 (abfd, stab + STRDXOFF);
+             current_file_name = ((char *) str
+                                  + bfd_get_32 (abfd, stab + STRDXOFF));
            }
 
          main_file_name = current_file_name;
@@ -972,7 +978,8 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
 
        case N_SOL:
          /* The name of an include file.  */
-         current_file_name = str + bfd_get_32 (abfd, stab + STRDXOFF);
+         current_file_name = ((char *) str
+                              + bfd_get_32 (abfd, stab + STRDXOFF));
          break;
 
        case N_SLINE:
@@ -992,7 +999,7 @@ _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, pfound,
        case N_FUN:
          /* A function name.  */
          val = bfd_get_32 (abfd, stab + VALOFF);
-         name = str + bfd_get_32 (abfd, stab + STRDXOFF);
+         name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
 
          /* An empty string here indicates the end of a function, and
             the value is relative to fnaddr.  */
index 6a5b913282ffe3dbe10c8aa81848400b7715d258..03b41f2d04f23a1169a6945b4c8a626cd04f4304 100644 (file)
@@ -100,6 +100,33 @@ static char sum_block[256];
 (d)[0] = digs[((x)>>4)&0xf];
 #define        ISHEX(x)  hex_p(x)
 
+static void tekhex_print_symbol
+ PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type));
+static void tekhex_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));
+static asymbol *tekhex_make_empty_symbol PARAMS ((bfd *));
+static int tekhex_sizeof_headers PARAMS ((bfd *, boolean));
+static boolean tekhex_write_object_contents PARAMS ((bfd *));
+static void out PARAMS ((bfd *, char, char *, char *));
+static void writesym PARAMS ((char **, CONST char *));
+static void writevalue PARAMS ((char **, bfd_vma));
+static boolean tekhex_set_section_contents
+ PARAMS ((bfd*, sec_ptr, PTR, file_ptr, bfd_size_type));
+static boolean tekhex_set_arch_mach
+ PARAMS ((bfd *, enum bfd_architecture, unsigned long));
+static boolean tekhex_get_section_contents
+ PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
+static void move_section_contents
+ PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type, boolean));
+static const bfd_target *tekhex_object_p PARAMS ((bfd *));
+static boolean tekhex_mkobject PARAMS ((bfd *));
+static long tekhex_get_symtab_upper_bound PARAMS ((bfd *));
+static long tekhex_get_symtab PARAMS ((bfd *, asymbol **));
+static void pass_over PARAMS ((bfd *, void (*)(bfd*, char, char *)));
+static void first_phase PARAMS ((bfd *, char, char *));
+static void insert_byte PARAMS ((bfd *, int, bfd_vma));
+static struct data_struct *find_chunk PARAMS ((bfd *, bfd_vma));
+static unsigned int getsym PARAMS ((char *, char **));
+
 /*
 Here's an example
 %3A6C6480004E56FFFC4E717063B0AEFFFC6D0652AEFFFC60F24E5E4E75
@@ -314,7 +341,7 @@ getsym (dstp, srcp)
   return len;
 }
 
-struct data_struct *
+static struct data_struct *
 find_chunk (abfd, vma)
      bfd *abfd;
      bfd_vma vma;
@@ -453,9 +480,9 @@ first_phase (abfd, type, src)
    record.  */
 
 static void
- pass_over (abfd, func)
+pass_over (abfd, func)
      bfd *abfd;
-     void (*func) ();
+     void (*func) PARAMS ((bfd *, char, char *));
 {
   unsigned int chars_on_line;
   boolean eof = false;
@@ -499,11 +526,10 @@ static void
 
 }
 
-long
+static long
 tekhex_get_symtab (abfd, table)
      bfd *abfd;
      asymbol **table;
-
 {
   tekhex_symbol_type *p = abfd->tdata.tekhex_data->symbols;
   unsigned int c = bfd_get_symcount (abfd);
@@ -518,7 +544,7 @@ tekhex_get_symtab (abfd, table)
   return bfd_get_symcount (abfd);
 }
 
-long
+static long
 tekhex_get_symtab_upper_bound (abfd)
      bfd *abfd;
 {
@@ -615,6 +641,7 @@ move_section_contents (abfd, section, locationp, offset, count, get)
     }
 
 }
+
 static boolean
 tekhex_get_section_contents (abfd, section, locationp, offset, count)
      bfd *abfd;
@@ -632,7 +659,7 @@ tekhex_get_section_contents (abfd, section, locationp, offset, count)
     return false;
 }
 
-boolean
+static boolean
 tekhex_set_arch_mach (abfd, arch, machine)
      bfd *abfd;
      enum bfd_architecture arch;
@@ -894,7 +921,7 @@ tekhex_write_object_contents (abfd)
 }
 
 static int
-  tekhex_sizeof_headers (abfd, exec)
+tekhex_sizeof_headers (abfd, exec)
      bfd *abfd;
      boolean exec;
 
@@ -981,8 +1008,8 @@ const bfd_target tekhex_vec =
 {
   "tekhex",                    /* name */
   bfd_target_tekhex_flavour,
-  true,                                /* target byte order */
-  true,                                /* target headers byte order */
+  BFD_ENDIAN_UNKNOWN,          /* target byte order */
+  BFD_ENDIAN_UNKNOWN,          /* target headers byte order */
   (EXEC_P |                    /* object flags */
    HAS_SYMS | HAS_LINENO | HAS_DEBUG | HAS_RELOC | HAS_LOCALS |
    WP_TEXT | D_PAGED),