From 81edd86dd15db8be0e5e0177e90ca706938ff2a4 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Wed, 14 Jul 1999 08:49:40 +0000 Subject: [PATCH] * dwarf2.c (read_attribute): Support DW_FORM_ref8. * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs to possibly_dynamic_relocs. Adjust usage throughout code. (elf_mips_howto_table): Handle R_MIPS_64 correctly. (elf_mips_ctor64_howto): Likewise. (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32. Adjust indentation. (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode. (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32. Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries. * elf64-mips.c (elf_backend_may_use_rel_p): Define. --- bfd/dwarf2.c | 4 ++++ bfd/elf64-mips.c | 1 + 2 files changed, 5 insertions(+) diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 143c3fa1d8c..888757edf82 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -611,6 +611,10 @@ read_attribute (attr, abbrev, unit, info_ptr) DW_UNSND (attr) = read_4_bytes (abfd, info_ptr); info_ptr += 4; break; + case DW_FORM_ref8: + DW_UNSND (attr) = read_8_bytes (abfd, info_ptr); + info_ptr += 8; + break; case DW_FORM_ref_udata: DW_UNSND (attr) = read_unsigned_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 0e388efcfd9..6fc0dcdf0e4 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -2148,6 +2148,7 @@ const struct elf_size_info mips_elf64_size_info = #define elf_backend_gc_sweep_hook _bfd_mips_elf_gc_sweep_hook #define elf_backend_got_header_size (4*MIPS_RESERVED_GOTNO) #define elf_backend_plt_header_size 0 +#define elf_backend_may_use_rel_p 1 /* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit MIPS-specific function only applies to IRIX5, which had no 64-bit -- 2.30.2