mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
Use the correct constants when setting the section type of HPPA unwind sections.
* elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as the section type of the .PARISC.unwind section on 64-bit binaries and SHT_PROGBITS for 32-bit binaries. Add a comment about it. Add comment about the sh_entsize value.
This commit is contained in:
parent
3da64fe404
commit
6f4286c4f7
@ -1,3 +1,11 @@
|
||||
2018-08-22 Helge Deller <deller@gmx.de>
|
||||
Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as
|
||||
the section type of the .PARISC.unwind section on 64-bit binaries
|
||||
and SHT_PROGBITS for 32-bit binaries. Add a comment about it.
|
||||
Add comment about the sh_entsize value.
|
||||
|
||||
2018-08-22 Rafeal Auler <rafaelauler@gmail.com>
|
||||
|
||||
PR 23560
|
||||
|
@ -889,9 +889,11 @@ elf_hppa_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
|
||||
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
|
||||
@ -912,7 +914,10 @@ elf_hppa_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
|
||||
}
|
||||
}
|
||||
|
||||
/* 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;
|
||||
|
Loading…
Reference in New Issue
Block a user