| ... | @@ -336,7 +336,7 @@ pub fn createEmpty( | ... | @@ -336,7 +336,7 @@ pub fn createEmpty( |
| 336 | | 336 | |
| 337 | // Initialize PT.PHDR program header | 337 | // Initialize PT.PHDR program header |
| 338 | const p_align: u16 = switch (self.ptr_width) { | 338 | const p_align: u16 = switch (self.ptr_width) { |
| 339 | .p32 => @alignOf(elf.Elf32_Phdr), | 339 | .p32 => @alignOf(elf.Elf32.Phdr), |
| 340 | .p64 => @alignOf(elf.Elf64_Phdr), | 340 | .p64 => @alignOf(elf.Elf64_Phdr), |
| 341 | }; | 341 | }; |
| 342 | const ehsize: u64 = switch (self.ptr_width) { | 342 | const ehsize: u64 = switch (self.ptr_width) { |
| ... | @@ -344,7 +344,7 @@ pub fn createEmpty( | ... | @@ -344,7 +344,7 @@ pub fn createEmpty( |
| 344 | .p64 => @sizeOf(elf.Elf64_Ehdr), | 344 | .p64 => @sizeOf(elf.Elf64_Ehdr), |
| 345 | }; | 345 | }; |
| 346 | const phsize: u64 = switch (self.ptr_width) { | 346 | const phsize: u64 = switch (self.ptr_width) { |
| 347 | .p32 => @sizeOf(elf.Elf32_Phdr), | 347 | .p32 => @sizeOf(elf.Elf32.Phdr), |
| 348 | .p64 => @sizeOf(elf.Elf64_Phdr), | 348 | .p64 => @sizeOf(elf.Elf64_Phdr), |
| 349 | }; | 349 | }; |
| 350 | const max_nphdrs = comptime getMaxNumberOfPhdrs(); | 350 | const max_nphdrs = comptime getMaxNumberOfPhdrs(); |
| ... | @@ -1477,13 +1477,13 @@ fn writePhdrTable(self: *Elf) !void { | ... | @@ -1477,13 +1477,13 @@ fn writePhdrTable(self: *Elf) !void { |
| 1477 | | 1477 | |
| 1478 | switch (self.ptr_width) { | 1478 | switch (self.ptr_width) { |
| 1479 | .p32 => { | 1479 | .p32 => { |
| 1480 | const buf = try gpa.alloc(elf.Elf32_Phdr, self.phdrs.items.len); | 1480 | const buf = try gpa.alloc(elf.Elf32.Phdr, self.phdrs.items.len); |
| 1481 | defer gpa.free(buf); | 1481 | defer gpa.free(buf); |
| 1482 | | 1482 | |
| 1483 | for (buf, 0..) |*phdr, i| { | 1483 | for (buf, 0..) |*phdr, i| { |
| 1484 | phdr.* = phdrTo32(self.phdrs.items[i]); | 1484 | phdr.* = phdrTo32(self.phdrs.items[i]); |
| 1485 | if (foreign_endian) { | 1485 | if (foreign_endian) { |
| 1486 | mem.byteSwapAllFields(elf.Elf32_Phdr, phdr); | 1486 | mem.byteSwapAllFields(elf.Elf32.Phdr, phdr); |
| 1487 | } | 1487 | } |
| 1488 | } | 1488 | } |
| 1489 | try self.pwriteAll(@ptrCast(buf), phdr_table.p_offset); | 1489 | try self.pwriteAll(@ptrCast(buf), phdr_table.p_offset); |
| ... | @@ -1622,7 +1622,7 @@ pub fn writeElfHeader(self: *Elf) !void { | ... | @@ -1622,7 +1622,7 @@ pub fn writeElfHeader(self: *Elf) !void { |
| 1622 | index += 2; | 1622 | index += 2; |
| 1623 | | 1623 | |
| 1624 | const e_phentsize: u16 = switch (self.ptr_width) { | 1624 | const e_phentsize: u16 = switch (self.ptr_width) { |
| 1625 | .p32 => @sizeOf(elf.Elf32_Phdr), | 1625 | .p32 => @sizeOf(elf.Elf32.Phdr), |
| 1626 | .p64 => @sizeOf(elf.Elf64_Phdr), | 1626 | .p64 => @sizeOf(elf.Elf64_Phdr), |
| 1627 | }; | 1627 | }; |
| 1628 | mem.writeInt(u16, hdr_buf[index..][0..2], e_phentsize, endian); | 1628 | mem.writeInt(u16, hdr_buf[index..][0..2], e_phentsize, endian); |
| ... | @@ -2672,7 +2672,7 @@ fn allocatePhdrTable(self: *Elf) error{OutOfMemory}!void { | ... | @@ -2672,7 +2672,7 @@ fn allocatePhdrTable(self: *Elf) error{OutOfMemory}!void { |
| 2672 | .p64 => @sizeOf(elf.Elf64_Ehdr), | 2672 | .p64 => @sizeOf(elf.Elf64_Ehdr), |
| 2673 | }; | 2673 | }; |
| 2674 | const phsize: u64 = switch (self.ptr_width) { | 2674 | const phsize: u64 = switch (self.ptr_width) { |
| 2675 | .p32 => @sizeOf(elf.Elf32_Phdr), | 2675 | .p32 => @sizeOf(elf.Elf32.Phdr), |
| 2676 | .p64 => @sizeOf(elf.Elf64_Phdr), | 2676 | .p64 => @sizeOf(elf.Elf64_Phdr), |
| 2677 | }; | 2677 | }; |
| 2678 | const needed_size = self.phdrs.items.len * phsize; | 2678 | const needed_size = self.phdrs.items.len * phsize; |
| ... | @@ -3347,16 +3347,16 @@ pub fn archPtrWidthBytes(self: Elf) u8 { | ... | @@ -3347,16 +3347,16 @@ pub fn archPtrWidthBytes(self: Elf) u8 { |
| 3347 | return @intCast(@divExact(self.getTarget().ptrBitWidth(), 8)); | 3347 | return @intCast(@divExact(self.getTarget().ptrBitWidth(), 8)); |
| 3348 | } | 3348 | } |
| 3349 | | 3349 | |
| 3350 | fn phdrTo32(phdr: elf.Elf64_Phdr) elf.Elf32_Phdr { | 3350 | fn phdrTo32(phdr: elf.Elf64_Phdr) elf.Elf32.Phdr { |
| 3351 | return .{ | 3351 | return .{ |
| 3352 | .p_type = phdr.p_type, | 3352 | .type = @fromBackingInt(phdr.p_type), |
| 3353 | .p_flags = phdr.p_flags, | 3353 | .flags = @fromBackingInt(phdr.p_flags), |
| 3354 | .p_offset = @as(u32, @intCast(phdr.p_offset)), | 3354 | .offset = @intCast(phdr.p_offset), |
| 3355 | .p_vaddr = @as(u32, @intCast(phdr.p_vaddr)), | 3355 | .vaddr = @intCast(phdr.p_vaddr), |
| 3356 | .p_paddr = @as(u32, @intCast(phdr.p_paddr)), | 3356 | .paddr = @intCast(phdr.p_paddr), |
| 3357 | .p_filesz = @as(u32, @intCast(phdr.p_filesz)), | 3357 | .filesz = @intCast(phdr.p_filesz), |
| 3358 | .p_memsz = @as(u32, @intCast(phdr.p_memsz)), | 3358 | .memsz = @intCast(phdr.p_memsz), |
| 3359 | .p_align = @as(u32, @intCast(phdr.p_align)), | 3359 | .@"align" = @intCast(phdr.p_align), |
| 3360 | }; | 3360 | }; |
| 3361 | } | 3361 | } |
| 3362 | | 3362 | |