| author | |
| committer | |
| log | aa0377794df692ede9bc19d8e5296ab90ce6df68 |
| tree | 7ff5851ce2d2b86430623735e88ca32c54f401ab |
| parent | eb5c9317aabe0e75ceec00dc1d194e574e9296e7 |
| parent | a53a8ab25ef5138a0d72af3011c4dcc51bfa0caf |
| signature |
Elf.Atom: fix truncated dyn abs relocs2 files changed, 5 insertions(+), 4 deletions(-)
src/link/Dwarf.zig+2-1| ... | ... | @@ -419,6 +419,7 @@ pub const Section = struct { |
| 419 | 419 | } else { |
| 420 | 420 | const shdr = &elf_file.sections.items(.shdr)[atom.output_section_index]; |
| 421 | 421 | shdr.sh_offset += len; |
| 422 | shdr.sh_size -= len; | |
| 422 | 423 | atom.value = 0; |
| 423 | 424 | } |
| 424 | 425 | atom.size -= len; |
| ... | ... | @@ -428,7 +429,7 @@ pub const Section = struct { |
| 428 | 429 | else |
| 429 | 430 | &macho_file.sections.items(.header)[sec.index]; |
| 430 | 431 | header.offset += @intCast(len); |
| 431 | header.size = sec.len; | |
| 432 | header.size -= len; | |
| 432 | 433 | } |
| 433 | 434 | } |
| 434 | 435 |
src/link/Elf/Atom.zig+3-3| ... | ... | @@ -726,7 +726,7 @@ fn resolveDynAbsReloc( |
| 726 | 726 | .copyrel, |
| 727 | 727 | .cplt, |
| 728 | 728 | .none, |
| 729 | => try writer.writeInt(i32, @as(i32, @truncate(S + A)), .little), | |
| 729 | => try writer.writeInt(i64, S + A, .little), | |
| 730 | 730 | |
| 731 | 731 | .dyn_copyrel => { |
| 732 | 732 | if (is_writeable or elf_file.z_nocopyreloc) { |
| ... | ... | @@ -739,7 +739,7 @@ fn resolveDynAbsReloc( |
| 739 | 739 | }); |
| 740 | 740 | try applyDynamicReloc(A, elf_file, writer); |
| 741 | 741 | } else { |
| 742 | try writer.writeInt(i32, @as(i32, @truncate(S + A)), .little); | |
| 742 | try writer.writeInt(i64, S + A, .little); | |
| 743 | 743 | } |
| 744 | 744 | }, |
| 745 | 745 | |
| ... | ... | @@ -754,7 +754,7 @@ fn resolveDynAbsReloc( |
| 754 | 754 | }); |
| 755 | 755 | try applyDynamicReloc(A, elf_file, writer); |
| 756 | 756 | } else { |
| 757 | try writer.writeInt(i32, @as(i32, @truncate(S + A)), .little); | |
| 757 | try writer.writeInt(i64, S + A, .little); | |
| 758 | 758 | } |
| 759 | 759 | }, |
| 760 | 760 |