| ... | @@ -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); |