/* Common code for PA ELF implementations.
- Copyright (C) 1999-2018 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
{
const char *name;
- name = bfd_get_section_name (abfd, sec);
+ name = bfd_section_name (sec);
if (strcmp (name, ".PARISC.unwind") == 0)
{
asection *asec;
#if ARCH_SIZE == 64
- hdr->sh_type = SHT_LOPROC + 1;
+ hdr->sh_type = SHT_PARISC_UNWIND;
#else
- hdr->sh_type = 1;
+ /* Note - it is not clear why this is not SHT_PARISC_UNWIND as well.
+ Presumably it is a historical constraint, so leave it as it is. */
+ hdr->sh_type = SHT_PROGBITS;
#endif
/* ?!? How are unwinds supposed to work for symbols in arbitrary
sections? Or what if we have multiple .text sections in a single
}
}
- /* I have no idea if this is really necessary or what it means. */
+ /* The unwind table entries are 16 bytes long, so it is not clear
+ why this field is set to 4. (The ELF spec says that the sh_entsize
+ field is a byte quantity, but this is a processor specific section,
+ so it is allowed to change the rules). Leave as it is for now. */
hdr->sh_entsize = 4;
}
return TRUE;
}
-static void
-elf_hppa_final_write_processing (bfd *abfd,
- bfd_boolean linker ATTRIBUTE_UNUSED)
+static bfd_boolean
+elf_hppa_final_write_processing (bfd *abfd)
{
int mach = bfd_get_mach (abfd);
a step backwards with the ELF
based toolchains. */
| EF_PARISC_TRAPNIL);
+ return _bfd_elf_final_write_processing (abfd);
}
/* Comparison function for qsort to sort unwind section during a