diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-10-15 09:08:14 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2023-10-16 19:33:06 +0200 |
| commit | c71a79f618abcc547f327edcdb45f01768200dca (patch) | |
| tree | 1461b60c4c9be0c39d38ab20290f61a92b939025 /src/link | |
| parent | 17635e4f2ae78e358a7a997b161e64de71a01191 (diff) | |
| download | zig-c71a79f618abcc547f327edcdb45f01768200dca.tar.gz zig-c71a79f618abcc547f327edcdb45f01768200dca.zip | |
elf: make .zig.rodata writeable
Diffstat (limited to 'src/link')
| -rw-r--r-- | src/link/Elf.zig | 1 | ||||
| -rw-r--r-- | src/link/Elf/Atom.zig | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 5659bfc858..9fe2f6b7ed 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -770,6 +770,7 @@ pub fn initMetadata(self: *Elf) !void { self.zig_rodata_section_index = try self.allocateAllocSection(.{ .name = ".zig.rodata", .phdr_index = self.phdr_zig_load_ro_index.?, + .flags = elf.SHF_ALLOC | elf.SHF_WRITE, // TODO rename this section to .data.rel.ro }); try self.last_atom_and_free_list_table.putNoClobber(gpa, self.zig_rodata_section_index.?, .{}); } diff --git a/src/link/Elf/Atom.zig b/src/link/Elf/Atom.zig index b0d780c0c3..28fe478bd0 100644 --- a/src/link/Elf/Atom.zig +++ b/src/link/Elf/Atom.zig @@ -757,12 +757,13 @@ pub fn resolveRelocsAlloc(self: Atom, elf_file: *Elf, code: []u8) !void { // Address of the dynamic thread pointer. const DTP = @as(i64, @intCast(elf_file.dtpAddress())); - relocs_log.debug(" {s}: {x}: [{x} => {x}] G({x}) ({s})", .{ + relocs_log.debug(" {s}: {x}: [{x} => {x}] G({x}) ZG({x}) ({s})\n", .{ fmtRelocType(r_type), r_offset, P, S + A, G + GOT + A, + ZIG_GOT + A, target.name(elf_file), }); |
