aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-09-21 19:38:40 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-09-21 19:38:40 -0700
commitc8b187ea07f534bac147cbbc44dd08925f5734b0 (patch)
tree70616f53b9376dd3213fed6d17d23ef9a174d68e /bfd/bfd.c
parent6b9e742a93e42312b4e4012046eb8310a11f516a (diff)
downloadgdb-c8b187ea07f534bac147cbbc44dd08925f5734b0.zip
gdb-c8b187ea07f534bac147cbbc44dd08925f5734b0.tar.gz
gdb-c8b187ea07f534bac147cbbc44dd08925f5734b0.tar.bz2
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.
Diffstat (limited to 'bfd/bfd.c')
-rw-r--r--bfd/bfd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bfd/bfd.c b/bfd/bfd.c
index c02edbe..449dfe6 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -2000,7 +2000,7 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
{
Elf64_External_Chdr *echdr
= (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, 1 << sec->alignment_power,
&echdr->ch_addralign);
@@ -2061,7 +2061,7 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
else
{
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_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
}
@@ -2222,7 +2222,7 @@ bfd_convert_section_contents (bfd *ibfd, sec_ptr isec, bfd *obfd,
else
{
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_addralign = bfd_get_64 (ibfd, &echdr->ch_addralign);
@@ -2249,7 +2249,7 @@ bfd_convert_section_contents (bfd *ibfd, sec_ptr isec, bfd *obfd,
else
{
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_addralign, &echdr->ch_addralign);
}