Change ch_type to Elf_Word in struct Chdr_data<64>

The ch_type field in struct Chdr_data<64>  is 4 bytes, followed by a
4-byte padding.  This change doesn't introduce any functional change
since only the lower 32 bits of the ch_type field are used.

	PR gold/19060
	* elfcpp.h (Chdr::get_ch_type): Change return type to Elf_Word.
	* elfcpp_internal.h (Chdr_data<64>): Change ch_type to 4 bytes
	and add ch_reserved.
This commit is contained in:
H.J. Lu
2015-10-04 06:14:13 -07:00
parent 73e5465df5
commit 9706b5e627
3 changed files with 24 additions and 5 deletions

View File

@ -82,11 +82,23 @@ struct Shdr_data
// An ELF compression header.
template<int size>
struct Chdr_data
struct Chdr_data;
template<>
struct Chdr_data<32>
{
typename Elf_types<size>::Elf_WXword ch_type;
typename Elf_types<size>::Elf_WXword ch_size;
typename Elf_types<size>::Elf_WXword ch_addralign;
Elf_Word ch_type;
Elf_Word ch_size;
Elf_Word ch_addralign;
};
template<>
struct Chdr_data<64>
{
Elf_Word ch_type;
Elf_Word ch_reserved;
Elf_Xword ch_size;
Elf_Xword ch_addralign;
};
// An ELF segment header. We use template specialization for the