* 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.
This commit is contained in:
Ian Lance Taylor 1996-09-13 19:52:14 +00:00
parent deb2a14592
commit 0a7b87358f
2 changed files with 15 additions and 5 deletions

View 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 start-sanitize-m32r
Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com> Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com>

View File

@ -215,7 +215,7 @@ static reloc_howto_type * elf_hppa_reloc_type_lookup
static boolean elf32_hppa_set_section_contents static boolean elf32_hppa_set_section_contents
PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type)); 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 *)); PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
static boolean elf32_hppa_backend_symbol_table_processing 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] = 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_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_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_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"}, {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. */ relocation with modifications based on format and field. */
elf32_hppa_reloc_type ** 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; bfd *abfd;
elf32_hppa_reloc_type base_type; elf32_hppa_reloc_type base_type;
int format; int format;
int field; int field;
int ignore; int ignore;
asymbol *sym;
{ {
elf32_hppa_reloc_type *finaltype; elf32_hppa_reloc_type *finaltype;
elf32_hppa_reloc_type **final_types; 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. */ /* Translate from an elf into field into a howto relocation pointer. */
static void static void
elf_info_to_howto (abfd, cache_ptr, dst) elf32_hppa_info_to_howto (abfd, cache_ptr, dst)
bfd *abfd; bfd *abfd;
arelent *cache_ptr; arelent *cache_ptr;
Elf32_Internal_Rela *dst; Elf32_Internal_Rela *dst;
@ -1865,7 +1868,7 @@ elf32_hppa_backend_symbol_table_processing (abfd, esyms,symcnt)
{ {
symext_entryS se = symext_entryS se =
ELF32_PARISC_SX_GET (abfd, ELF32_PARISC_SX_GET (abfd,
(symextn_hdr->contents ((unsigned char *)symextn_hdr->contents
+ i * ELF32_PARISC_SX_SIZE)); + i * ELF32_PARISC_SX_SIZE));
unsigned int se_value = ELF32_PARISC_SX_VAL (se); unsigned int se_value = ELF32_PARISC_SX_VAL (se);
unsigned int se_type = ELF32_PARISC_SX_TYPE (se); unsigned int se_type = ELF32_PARISC_SX_TYPE (se);
@ -2960,6 +2963,7 @@ error_return:
/* Symbol extension stuff. */ /* Symbol extension stuff. */
#define bfd_elf32_set_section_contents elf32_hppa_set_section_contents #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 \ #define elf_backend_symbol_table_processing \
elf32_hppa_backend_symbol_table_processing elf32_hppa_backend_symbol_table_processing
#define elf_backend_begin_write_processing \ #define elf_backend_begin_write_processing \