* elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
authorIan Lance Taylor <ian@airs.com>
Fri, 13 Sep 1996 19:52:14 +0000 (19:52 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 13 Sep 1996 19:52:14 +0000 (19:52 +0000)
R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
its sanity check.

bfd/ChangeLog
bfd/elf32-hppa.c

index dc53953be7769898bff4afca583cecfd69e22d87..2ba4ff515f8f7bb851e60630d7224bc37e9bd160 100644 (file)
@@ -1,3 +1,9 @@
+Fri Sep 13 15:50:57 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
+       R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
+       its sanity check.
+
 start-sanitize-m32r
 Thu Sep 12 11:45:57 1996  Doug Evans  <dje@seba.cygnus.com>
 
index f1becf8a577a2afd6287a2e458e03bece5b0153b..322eb555124784e4f239b8444c5dceb222c7e0b7 100644 (file)
@@ -215,7 +215,7 @@ static reloc_howto_type * elf_hppa_reloc_type_lookup
 static boolean elf32_hppa_set_section_contents
   PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
 
-static void elf_info_to_howto
+static void elf32_hppa_info_to_howto
   PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
 
 static boolean elf32_hppa_backend_symbol_table_processing
@@ -296,7 +296,9 @@ static boolean elf32_hppa_link_output_symbol_hook
 static reloc_howto_type elf_hppa_howto_table[ELF_HOWTO_TABLE_SIZE] =
 {
   {R_PARISC_NONE, 0, 0, 0, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_NONE"},
-  {R_PARISC_DIR32, 0, 0, 32, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_DIR32"},
+  /* The values in DIR32 are to placate the check in
+     _bfd_stab_section_find_nearest_line.  */
+  {R_PARISC_DIR32, 0, 2, 32, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_DIR32", false, 0, 0xffffffff, false},
   {R_PARISC_DIR21L, 0, 0, 21, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_DIR21L"},
   {R_PARISC_DIR17R, 0, 0, 17, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_DIR17R"},
   {R_PARISC_DIR17F, 0, 0, 17, false, 0, complain_overflow_bitfield, hppa_elf_reloc, "R_PARISC_DIR17F"},
@@ -939,12 +941,13 @@ elf32_hppa_relocate_section (output_bfd, info, input_bfd, input_section,
    relocation with modifications based on format and field.  */
 
 elf32_hppa_reloc_type **
-hppa_elf_gen_reloc_type (abfd, base_type, format, field, ignore)
+hppa_elf_gen_reloc_type (abfd, base_type, format, field, ignore, sym)
      bfd *abfd;
      elf32_hppa_reloc_type base_type;
      int format;
      int field;
      int ignore;
+     asymbol *sym;
 {
   elf32_hppa_reloc_type *finaltype;
   elf32_hppa_reloc_type **final_types;
@@ -1169,7 +1172,7 @@ elf32_hppa_set_section_contents (abfd, section, location, offset, count)
 /* Translate from an elf into field into a howto relocation pointer.  */
 
 static void
-elf_info_to_howto (abfd, cache_ptr, dst)
+elf32_hppa_info_to_howto (abfd, cache_ptr, dst)
      bfd *abfd;
      arelent *cache_ptr;
      Elf32_Internal_Rela *dst;
@@ -1865,7 +1868,7 @@ elf32_hppa_backend_symbol_table_processing (abfd, esyms,symcnt)
     {
       symext_entryS se =
        ELF32_PARISC_SX_GET (abfd,
-                            (symextn_hdr->contents
+                            ((unsigned char *)symextn_hdr->contents
                              + i * ELF32_PARISC_SX_SIZE));
       unsigned int se_value = ELF32_PARISC_SX_VAL (se);
       unsigned int se_type = ELF32_PARISC_SX_TYPE (se);
@@ -2960,6 +2963,7 @@ error_return:
 
 /* Symbol extension stuff.  */
 #define bfd_elf32_set_section_contents         elf32_hppa_set_section_contents
+#define elf_info_to_howto                      elf32_hppa_info_to_howto
 #define elf_backend_symbol_table_processing \
   elf32_hppa_backend_symbol_table_processing
 #define elf_backend_begin_write_processing \
This page took 0.041997 seconds and 4 git commands to generate.