Commit ff98ef5
committed
Fix relocation addend sign extension on 32-bit platforms
When loading relocations on 32-bit platforms, the addend is read
as uint32 and zero-extended to uint64, which corrupts negative
addends. For example, -4 (0xFFFFFFFC) becomes 4294967292 instead
of remaining -4. Use int32 with sign extension to int64, matching
the Windows code path which already handles this correctly.1 parent c46b10d commit ff98ef5
1 file changed
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3868 | 3868 | | |
3869 | 3869 | | |
3870 | 3870 | | |
3871 | | - | |
| 3871 | + | |
| 3872 | + | |
3872 | 3873 | | |
3873 | 3874 | | |
3874 | 3875 | | |
3875 | | - | |
| 3876 | + | |
3876 | 3877 | | |
3877 | 3878 | | |
3878 | 3879 | | |
| |||
0 commit comments