Open
Description
Bugzilla Link | 45235 |
Version | trunk |
OS | Windows NT |
Reporter | LLVM Bugzilla Contributor |
CC | @jh7370 |
Extended Description
This is based on the test case from D75671.
Imagine we have an object with relocations:
(A piece of YAML)
Relocations:
Addend == first negative int64 == -1.
- Addend: 0xffffffffffffffff
Type: R_X86_64_NONE
Addend == min possible int64 == 0x8000000000000000.
- Addend: 0x8000000000000000
Type: R_X86_64_NONE
Addend == an arbitrary negative number.
- Addend: 0xFFFFFFFFFFFFCFC7 ## -12345
Type: R_X86_64_NONE
Currently, we print:
Type Symbol's Value Symbol's Name + Addend
R_X86_64_NONE ffffffffffffffff{{$}}
R_X86_64_NONE 8000000000000000{{$}}
R_X86_64_NONE ffffffffffffcfc7{{$}}
But it does not match to the GNU readelf which prints addends differently:
Type Symbol's Value Symbol's Name + Addend
R_X86_64_NONE -1
R_X86_64_NONE -8000000000000000
R_X86_64_NONE -3039
Probably we want to be more compatible with GNU.