aboutsummaryrefslogtreecommitdiff
path: root/lib/std/elf.zig
diff options
context:
space:
mode:
authorArtixFox <75898413+Artix-Fox@users.noreply.github.com>2021-06-08 23:02:12 +0530
committerGitHub <noreply@github.com>2021-06-08 20:32:12 +0300
commit032204ffe79a9686560c2638eda4af649bfd9dd4 (patch)
tree9558d66069922fa69207e09567c6501224f85671 /lib/std/elf.zig
parent38e233845ef7fa5c8ccb2cd3ce053d1827f9ee42 (diff)
downloadzig-032204ffe79a9686560c2638eda4af649bfd9dd4.tar.gz
zig-032204ffe79a9686560c2638eda4af649bfd9dd4.zip
Changed return values of SectionHeaderIterator().next() to bswapAllFields() (#9014)
Diffstat (limited to 'lib/std/elf.zig')
-rw-r--r--lib/std/elf.zig27
1 files changed, 3 insertions, 24 deletions
diff --git a/lib/std/elf.zig b/lib/std/elf.zig
index 390a163014..b74ea6e837 100644
--- a/lib/std/elf.zig
+++ b/lib/std/elf.zig
@@ -479,18 +479,8 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {
if (self.elf_header.endian == native_endian) return shdr;
// Convert fields to native endianness.
- return Elf64_Shdr{
- .sh_name = @byteSwap(@TypeOf(shdr.sh_name), shdr.sh_name),
- .sh_type = @byteSwap(@TypeOf(shdr.sh_type), shdr.sh_type),
- .sh_flags = @byteSwap(@TypeOf(shdr.sh_flags), shdr.sh_flags),
- .sh_addr = @byteSwap(@TypeOf(shdr.sh_addr), shdr.sh_addr),
- .sh_offset = @byteSwap(@TypeOf(shdr.sh_offset), shdr.sh_offset),
- .sh_size = @byteSwap(@TypeOf(shdr.sh_size), shdr.sh_size),
- .sh_link = @byteSwap(@TypeOf(shdr.sh_link), shdr.sh_link),
- .sh_info = @byteSwap(@TypeOf(shdr.sh_info), shdr.sh_info),
- .sh_addralign = @byteSwap(@TypeOf(shdr.sh_addralign), shdr.sh_addralign),
- .sh_entsize = @byteSwap(@TypeOf(shdr.sh_entsize), shdr.sh_entsize),
- };
+ bswapAllFields(Elf64_Shdr, &shdr);
+ return shdr;
}
var shdr: Elf32_Shdr = undefined;
@@ -501,18 +491,7 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {
// ELF endianness does NOT match native endianness.
if (self.elf_header.endian != native_endian) {
// Convert fields to native endianness.
- shdr = .{
- .sh_name = @byteSwap(@TypeOf(shdr.sh_name), shdr.sh_name),
- .sh_type = @byteSwap(@TypeOf(shdr.sh_type), shdr.sh_type),
- .sh_flags = @byteSwap(@TypeOf(shdr.sh_flags), shdr.sh_flags),
- .sh_addr = @byteSwap(@TypeOf(shdr.sh_addr), shdr.sh_addr),
- .sh_offset = @byteSwap(@TypeOf(shdr.sh_offset), shdr.sh_offset),
- .sh_size = @byteSwap(@TypeOf(shdr.sh_size), shdr.sh_size),
- .sh_link = @byteSwap(@TypeOf(shdr.sh_link), shdr.sh_link),
- .sh_info = @byteSwap(@TypeOf(shdr.sh_info), shdr.sh_info),
- .sh_addralign = @byteSwap(@TypeOf(shdr.sh_addralign), shdr.sh_addralign),
- .sh_entsize = @byteSwap(@TypeOf(shdr.sh_entsize), shdr.sh_entsize),
- };
+ bswapAllFields(Elf32_Shdr, &shdr);
}
// Convert 32-bit header to 64-bit.