Use bfd_get_32 and bfd_put_32 to access ch_type
The ch_type field in Elf64_External_Chdr is 4 bytes. We should use bfd_get_32 and bfd_put_32 to access it. * bfd.c (bfd_update_compression_header): Use bfd_put_32 on ch_type. (bfd_check_compression_header): Use bfd_get_32 on ch_type. (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32 on ch_type.
This commit is contained in:
parent
6b9e742a93
commit
c8b187ea07
|
@ -1,3 +1,11 @@
|
||||||
|
2015-09-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* bfd.c (bfd_update_compression_header): Use bfd_put_32 on
|
||||||
|
ch_type.
|
||||||
|
(bfd_check_compression_header): Use bfd_get_32 on ch_type.
|
||||||
|
(bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
|
||||||
|
on ch_type.
|
||||||
|
|
||||||
2015-09-20 Rich Felker <dalias@libc.org>
|
2015-09-20 Rich Felker <dalias@libc.org>
|
||||||
|
|
||||||
* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
|
* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
|
||||||
|
|
|
@ -2000,7 +2000,7 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
|
||||||
{
|
{
|
||||||
Elf64_External_Chdr *echdr
|
Elf64_External_Chdr *echdr
|
||||||
= (Elf64_External_Chdr *) contents;
|
= (Elf64_External_Chdr *) contents;
|
||||||
bfd_put_64 (abfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
|
bfd_put_32 (abfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
|
||||||
bfd_put_64 (abfd, sec->size, &echdr->ch_size);
|
bfd_put_64 (abfd, sec->size, &echdr->ch_size);
|
||||||
bfd_put_64 (abfd, 1 << sec->alignment_power,
|
bfd_put_64 (abfd, 1 << sec->alignment_power,
|
||||||
&echdr->ch_addralign);
|
&echdr->ch_addralign);
|
||||||
|
@ -2061,7 +2061,7 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
||||||
chdr.ch_type = bfd_get_64 (abfd, &echdr->ch_type);
|
chdr.ch_type = bfd_get_32 (abfd, &echdr->ch_type);
|
||||||
chdr.ch_size = bfd_get_64 (abfd, &echdr->ch_size);
|
chdr.ch_size = bfd_get_64 (abfd, &echdr->ch_size);
|
||||||
chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
|
chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
|
||||||
}
|
}
|
||||||
|
@ -2222,7 +2222,7 @@ bfd_convert_section_contents (bfd *ibfd, sec_ptr isec, bfd *obfd,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
||||||
chdr.ch_type = bfd_get_64 (ibfd, &echdr->ch_type);
|
chdr.ch_type = bfd_get_32 (ibfd, &echdr->ch_type);
|
||||||
chdr.ch_size = bfd_get_64 (ibfd, &echdr->ch_size);
|
chdr.ch_size = bfd_get_64 (ibfd, &echdr->ch_size);
|
||||||
chdr.ch_addralign = bfd_get_64 (ibfd, &echdr->ch_addralign);
|
chdr.ch_addralign = bfd_get_64 (ibfd, &echdr->ch_addralign);
|
||||||
|
|
||||||
|
@ -2249,7 +2249,7 @@ bfd_convert_section_contents (bfd *ibfd, sec_ptr isec, bfd *obfd,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
|
||||||
bfd_put_64 (obfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
|
bfd_put_32 (obfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
|
||||||
bfd_put_64 (obfd, chdr.ch_size, &echdr->ch_size);
|
bfd_put_64 (obfd, chdr.ch_size, &echdr->ch_size);
|
||||||
bfd_put_64 (obfd, chdr.ch_addralign, &echdr->ch_addralign);
|
bfd_put_64 (obfd, chdr.ch_addralign, &echdr->ch_addralign);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue