authorgravatar for john.schmidt.h@gmail.comJohn Schmidt <john.schmidt.h@gmail.com> 2022-01-24 21:40:19+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-01-28 21:03:21-05:00
log63ee6e662582ee75ac804eb1a4dbdf4457b8f2d0
treeac3694e98699bc57de2c5cc5b060c0c9e437c12e
parent39083c31a550ed80f369f60d35791e98904b8096

Rename mem.bswapAllFields to byteSwapAllFields

To match the renaming of `@bswap` to `@byteSwap` in https://github.com/ziglang/zig/commit/1fdb24827fb51351d5e31103069619668fae31c4.

5 files changed, 26 insertions(+), 23 deletions(-)

lib/std/elf.zig+4-4
...@@ -424,7 +424,7 @@ pub fn ProgramHeaderIterator(ParseSource: anytype) type {...@@ -424,7 +424,7 @@ pub fn ProgramHeaderIterator(ParseSource: anytype) type {
424 if (self.elf_header.endian == native_endian) return phdr;424 if (self.elf_header.endian == native_endian) return phdr;
425425
426 // Convert fields to native endianness.426 // Convert fields to native endianness.
427 mem.bswapAllFields(Elf64_Phdr, &phdr);427 mem.byteSwapAllFields(Elf64_Phdr, &phdr);
428 return phdr;428 return phdr;
429 }429 }
430430
...@@ -436,7 +436,7 @@ pub fn ProgramHeaderIterator(ParseSource: anytype) type {...@@ -436,7 +436,7 @@ pub fn ProgramHeaderIterator(ParseSource: anytype) type {
436 // ELF endianness does NOT match native endianness.436 // ELF endianness does NOT match native endianness.
437 if (self.elf_header.endian != native_endian) {437 if (self.elf_header.endian != native_endian) {
438 // Convert fields to native endianness.438 // Convert fields to native endianness.
439 mem.bswapAllFields(Elf32_Phdr, &phdr);439 mem.byteSwapAllFields(Elf32_Phdr, &phdr);
440 }440 }
441441
442 // Convert 32-bit header to 64-bit.442 // Convert 32-bit header to 64-bit.
...@@ -474,7 +474,7 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {...@@ -474,7 +474,7 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {
474 if (self.elf_header.endian == native_endian) return shdr;474 if (self.elf_header.endian == native_endian) return shdr;
475475
476 // Convert fields to native endianness.476 // Convert fields to native endianness.
477 mem.bswapAllFields(Elf64_Shdr, &shdr);477 mem.byteSwapAllFields(Elf64_Shdr, &shdr);
478 return shdr;478 return shdr;
479 }479 }
480480
...@@ -486,7 +486,7 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {...@@ -486,7 +486,7 @@ pub fn SectionHeaderIterator(ParseSource: anytype) type {
486 // ELF endianness does NOT match native endianness.486 // ELF endianness does NOT match native endianness.
487 if (self.elf_header.endian != native_endian) {487 if (self.elf_header.endian != native_endian) {
488 // Convert fields to native endianness.488 // Convert fields to native endianness.
489 mem.bswapAllFields(Elf32_Shdr, &shdr);489 mem.byteSwapAllFields(Elf32_Shdr, &shdr);
490 }490 }
491491
492 // Convert 32-bit header to 64-bit.492 // Convert 32-bit header to 64-bit.
lib/std/mem.zig+7-4
...@@ -1522,16 +1522,19 @@ test "writeIntBig and writeIntLittle" {...@@ -1522,16 +1522,19 @@ test "writeIntBig and writeIntLittle" {
1522 try testing.expect(eql(u8, buf2[0..], &[_]u8{ 0xfc, 0xff }));1522 try testing.expect(eql(u8, buf2[0..], &[_]u8{ 0xfc, 0xff }));
1523}1523}
15241524
1525/// TODO delete this deprecated declaration after 0.10.0 is released
1526pub const bswapAllFields = @compileError("bswapAllFields has been renamed to byteSwapAllFields");
1527
1525/// Swap the byte order of all the members of the fields of a struct1528/// Swap the byte order of all the members of the fields of a struct
1526/// (Changing their endianess)1529/// (Changing their endianess)
1527pub fn bswapAllFields(comptime S: type, ptr: *S) void {1530pub fn byteSwapAllFields(comptime S: type, ptr: *S) void {
1528 if (@typeInfo(S) != .Struct) @compileError("bswapAllFields expects a struct as the first argument");1531 if (@typeInfo(S) != .Struct) @compileError("byteSwapAllFields expects a struct as the first argument");
1529 inline for (std.meta.fields(S)) |f| {1532 inline for (std.meta.fields(S)) |f| {
1530 @field(ptr, f.name) = @byteSwap(f.field_type, @field(ptr, f.name));1533 @field(ptr, f.name) = @byteSwap(f.field_type, @field(ptr, f.name));
1531 }1534 }
1532}1535}
15331536
1534test "bswapAllFields" {1537test "byteSwapAllFields" {
1535 const T = extern struct {1538 const T = extern struct {
1536 f0: u8,1539 f0: u8,
1537 f1: u16,1540 f1: u16,
...@@ -1542,7 +1545,7 @@ test "bswapAllFields" {...@@ -1542,7 +1545,7 @@ test "bswapAllFields" {
1542 .f1 = 0x1234,1545 .f1 = 0x1234,
1543 .f2 = 0x12345678,1546 .f2 = 0x12345678,
1544 };1547 };
1545 bswapAllFields(T, &s);1548 byteSwapAllFields(T, &s);
1546 try std.testing.expectEqual(T{1549 try std.testing.expectEqual(T{
1547 .f0 = 0x12,1550 .f0 = 0x12,
1548 .f1 = 0x3412,1551 .f1 = 0x3412,
lib/std/tz.zig+2-2
...@@ -60,7 +60,7 @@ pub const Tz = struct {...@@ -60,7 +60,7 @@ pub const Tz = struct {
60 if (legacy_header.version != 0 and legacy_header.version != '2' and legacy_header.version != '3') return error.BadVersion;60 if (legacy_header.version != 0 and legacy_header.version != '2' and legacy_header.version != '3') return error.BadVersion;
6161
62 if (builtin.target.cpu.arch.endian() != std.builtin.Endian.Big) {62 if (builtin.target.cpu.arch.endian() != std.builtin.Endian.Big) {
63 std.mem.bswapAllFields(@TypeOf(legacy_header.counts), &legacy_header.counts);63 std.mem.byteSwapAllFields(@TypeOf(legacy_header.counts), &legacy_header.counts);
64 }64 }
6565
66 if (legacy_header.version == 0) {66 if (legacy_header.version == 0) {
...@@ -74,7 +74,7 @@ pub const Tz = struct {...@@ -74,7 +74,7 @@ pub const Tz = struct {
74 if (!std.mem.eql(u8, &header.magic, "TZif")) return error.BadHeader;74 if (!std.mem.eql(u8, &header.magic, "TZif")) return error.BadHeader;
75 if (header.version != '2' and header.version != '3') return error.BadVersion;75 if (header.version != '2' and header.version != '3') return error.BadVersion;
76 if (builtin.target.cpu.arch.endian() != std.builtin.Endian.Big) {76 if (builtin.target.cpu.arch.endian() != std.builtin.Endian.Big) {
77 std.mem.bswapAllFields(@TypeOf(header.counts), &header.counts);77 std.mem.byteSwapAllFields(@TypeOf(header.counts), &header.counts);
78 }78 }
7979
80 return parseBlock(allocator, reader, header, false);80 return parseBlock(allocator, reader, header, false);
src/link/Elf.zig+12-12
...@@ -1204,7 +1204,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {...@@ -1204,7 +1204,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {
1204 for (buf) |*phdr, i| {1204 for (buf) |*phdr, i| {
1205 phdr.* = progHeaderTo32(self.program_headers.items[i]);1205 phdr.* = progHeaderTo32(self.program_headers.items[i]);
1206 if (foreign_endian) {1206 if (foreign_endian) {
1207 mem.bswapAllFields(elf.Elf32_Phdr, phdr);1207 mem.byteSwapAllFields(elf.Elf32_Phdr, phdr);
1208 }1208 }
1209 }1209 }
1210 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.phdr_table_offset.?);1210 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.phdr_table_offset.?);
...@@ -1216,7 +1216,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {...@@ -1216,7 +1216,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {
1216 for (buf) |*phdr, i| {1216 for (buf) |*phdr, i| {
1217 phdr.* = self.program_headers.items[i];1217 phdr.* = self.program_headers.items[i];
1218 if (foreign_endian) {1218 if (foreign_endian) {
1219 mem.bswapAllFields(elf.Elf64_Phdr, phdr);1219 mem.byteSwapAllFields(elf.Elf64_Phdr, phdr);
1220 }1220 }
1221 }1221 }
1222 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.phdr_table_offset.?);1222 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.phdr_table_offset.?);
...@@ -1293,7 +1293,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {...@@ -1293,7 +1293,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {
1293 shdr.* = sectHeaderTo32(self.sections.items[i]);1293 shdr.* = sectHeaderTo32(self.sections.items[i]);
1294 log.debug("writing section {}", .{shdr.*});1294 log.debug("writing section {}", .{shdr.*});
1295 if (foreign_endian) {1295 if (foreign_endian) {
1296 mem.bswapAllFields(elf.Elf32_Shdr, shdr);1296 mem.byteSwapAllFields(elf.Elf32_Shdr, shdr);
1297 }1297 }
1298 }1298 }
1299 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.shdr_table_offset.?);1299 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.shdr_table_offset.?);
...@@ -1306,7 +1306,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {...@@ -1306,7 +1306,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation) !void {
1306 shdr.* = self.sections.items[i];1306 shdr.* = self.sections.items[i];
1307 log.debug("writing section {}", .{shdr.*});1307 log.debug("writing section {}", .{shdr.*});
1308 if (foreign_endian) {1308 if (foreign_endian) {
1309 mem.bswapAllFields(elf.Elf64_Shdr, shdr);1309 mem.byteSwapAllFields(elf.Elf64_Shdr, shdr);
1310 }1310 }
1311 }1311 }
1312 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.shdr_table_offset.?);1312 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), self.shdr_table_offset.?);
...@@ -3097,14 +3097,14 @@ fn writeProgHeader(self: *Elf, index: usize) !void {...@@ -3097,14 +3097,14 @@ fn writeProgHeader(self: *Elf, index: usize) !void {
3097 .p32 => {3097 .p32 => {
3098 var phdr = [1]elf.Elf32_Phdr{progHeaderTo32(self.program_headers.items[index])};3098 var phdr = [1]elf.Elf32_Phdr{progHeaderTo32(self.program_headers.items[index])};
3099 if (foreign_endian) {3099 if (foreign_endian) {
3100 mem.bswapAllFields(elf.Elf32_Phdr, &phdr[0]);3100 mem.byteSwapAllFields(elf.Elf32_Phdr, &phdr[0]);
3101 }3101 }
3102 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&phdr), offset);3102 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&phdr), offset);
3103 },3103 },
3104 .p64 => {3104 .p64 => {
3105 var phdr = [1]elf.Elf64_Phdr{self.program_headers.items[index]};3105 var phdr = [1]elf.Elf64_Phdr{self.program_headers.items[index]};
3106 if (foreign_endian) {3106 if (foreign_endian) {
3107 mem.bswapAllFields(elf.Elf64_Phdr, &phdr[0]);3107 mem.byteSwapAllFields(elf.Elf64_Phdr, &phdr[0]);
3108 }3108 }
3109 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&phdr), offset);3109 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&phdr), offset);
3110 },3110 },
...@@ -3118,7 +3118,7 @@ fn writeSectHeader(self: *Elf, index: usize) !void {...@@ -3118,7 +3118,7 @@ fn writeSectHeader(self: *Elf, index: usize) !void {
3118 var shdr: [1]elf.Elf32_Shdr = undefined;3118 var shdr: [1]elf.Elf32_Shdr = undefined;
3119 shdr[0] = sectHeaderTo32(self.sections.items[index]);3119 shdr[0] = sectHeaderTo32(self.sections.items[index]);
3120 if (foreign_endian) {3120 if (foreign_endian) {
3121 mem.bswapAllFields(elf.Elf32_Shdr, &shdr[0]);3121 mem.byteSwapAllFields(elf.Elf32_Shdr, &shdr[0]);
3122 }3122 }
3123 const offset = self.shdr_table_offset.? + index * @sizeOf(elf.Elf32_Shdr);3123 const offset = self.shdr_table_offset.? + index * @sizeOf(elf.Elf32_Shdr);
3124 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&shdr), offset);3124 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&shdr), offset);
...@@ -3126,7 +3126,7 @@ fn writeSectHeader(self: *Elf, index: usize) !void {...@@ -3126,7 +3126,7 @@ fn writeSectHeader(self: *Elf, index: usize) !void {
3126 .p64 => {3126 .p64 => {
3127 var shdr = [1]elf.Elf64_Shdr{self.sections.items[index]};3127 var shdr = [1]elf.Elf64_Shdr{self.sections.items[index]};
3128 if (foreign_endian) {3128 if (foreign_endian) {
3129 mem.bswapAllFields(elf.Elf64_Shdr, &shdr[0]);3129 mem.byteSwapAllFields(elf.Elf64_Shdr, &shdr[0]);
3130 }3130 }
3131 const offset = self.shdr_table_offset.? + index * @sizeOf(elf.Elf64_Shdr);3131 const offset = self.shdr_table_offset.? + index * @sizeOf(elf.Elf64_Shdr);
3132 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&shdr), offset);3132 return self.base.file.?.pwriteAll(mem.sliceAsBytes(&shdr), offset);
...@@ -3224,7 +3224,7 @@ fn writeSymbol(self: *Elf, index: usize) !void {...@@ -3224,7 +3224,7 @@ fn writeSymbol(self: *Elf, index: usize) !void {
3224 },3224 },
3225 };3225 };
3226 if (foreign_endian) {3226 if (foreign_endian) {
3227 mem.bswapAllFields(elf.Elf32_Sym, &sym[0]);3227 mem.byteSwapAllFields(elf.Elf32_Sym, &sym[0]);
3228 }3228 }
3229 const off = syms_sect.sh_offset + @sizeOf(elf.Elf32_Sym) * index;3229 const off = syms_sect.sh_offset + @sizeOf(elf.Elf32_Sym) * index;
3230 try self.base.file.?.pwriteAll(mem.sliceAsBytes(sym[0..1]), off);3230 try self.base.file.?.pwriteAll(mem.sliceAsBytes(sym[0..1]), off);
...@@ -3232,7 +3232,7 @@ fn writeSymbol(self: *Elf, index: usize) !void {...@@ -3232,7 +3232,7 @@ fn writeSymbol(self: *Elf, index: usize) !void {
3232 .p64 => {3232 .p64 => {
3233 var sym = [1]elf.Elf64_Sym{self.local_symbols.items[index]};3233 var sym = [1]elf.Elf64_Sym{self.local_symbols.items[index]};
3234 if (foreign_endian) {3234 if (foreign_endian) {
3235 mem.bswapAllFields(elf.Elf64_Sym, &sym[0]);3235 mem.byteSwapAllFields(elf.Elf64_Sym, &sym[0]);
3236 }3236 }
3237 const off = syms_sect.sh_offset + @sizeOf(elf.Elf64_Sym) * index;3237 const off = syms_sect.sh_offset + @sizeOf(elf.Elf64_Sym) * index;
3238 try self.base.file.?.pwriteAll(mem.sliceAsBytes(sym[0..1]), off);3238 try self.base.file.?.pwriteAll(mem.sliceAsBytes(sym[0..1]), off);
...@@ -3263,7 +3263,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void {...@@ -3263,7 +3263,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void {
3263 .st_shndx = self.global_symbols.items[i].st_shndx,3263 .st_shndx = self.global_symbols.items[i].st_shndx,
3264 };3264 };
3265 if (foreign_endian) {3265 if (foreign_endian) {
3266 mem.bswapAllFields(elf.Elf32_Sym, sym);3266 mem.byteSwapAllFields(elf.Elf32_Sym, sym);
3267 }3267 }
3268 }3268 }
3269 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), global_syms_off);3269 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), global_syms_off);
...@@ -3282,7 +3282,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void {...@@ -3282,7 +3282,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void {
3282 .st_shndx = self.global_symbols.items[i].st_shndx,3282 .st_shndx = self.global_symbols.items[i].st_shndx,
3283 };3283 };
3284 if (foreign_endian) {3284 if (foreign_endian) {
3285 mem.bswapAllFields(elf.Elf64_Sym, sym);3285 mem.byteSwapAllFields(elf.Elf64_Sym, sym);
3286 }3286 }
3287 }3287 }
3288 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), global_syms_off);3288 try self.base.file.?.pwriteAll(mem.sliceAsBytes(buf), global_syms_off);
src/link/MachO/fat.zig+1-1
...@@ -24,7 +24,7 @@ fn readFatStruct(reader: anytype, comptime T: type) !T {...@@ -24,7 +24,7 @@ fn readFatStruct(reader: anytype, comptime T: type) !T {
24 // disk in big endian order.24 // disk in big endian order.
25 var res = try reader.readStruct(T);25 var res = try reader.readStruct(T);
26 if (native_endian != std.builtin.Endian.Big) {26 if (native_endian != std.builtin.Endian.Big) {
27 mem.bswapAllFields(T, &res);27 mem.byteSwapAllFields(T, &res);
28 }28 }
29 return res;29 return res;
30}30}