diff options
author | Marcus Comstedt <marcus@mc.pp.se> | 2019-08-11 11:29:57 +0200 |
---|---|---|
committer | Andes <uboot@andestech.com> | 2019-09-03 09:30:32 +0800 |
commit | 71bdfcb21d755435a8e99f0ff66b853a3759f4b7 (patch) | |
tree | ffb9ff1c808fe32670e92275dfbf8f4bd8c47d0b /arch | |
parent | f379fa640668a53bf738d7bed7edb961e737b17f (diff) | |
download | u-boot-71bdfcb21d755435a8e99f0ff66b853a3759f4b7.tar.gz u-boot-71bdfcb21d755435a8e99f0ff66b853a3759f4b7.tar.xz u-boot-71bdfcb21d755435a8e99f0ff66b853a3759f4b7.zip |
riscv: tools: Handle addend to absolute reloc in prelink-riscv
Previously the handling of R_RISCV_32 and R_RISCV_64 would simply
insert the value of the symbol and ignore any addend. However, there
exist relocs where the addend is non-zero:
0000000080250900 R_RISCV_64 efi_runtime_services+0x0000000000000068
0000000080250910 R_RISCV_64 efi_runtime_services+0x0000000000000038
0000000080250920 R_RISCV_64 efi_runtime_services+0x0000000000000018
0000000080250930 R_RISCV_64 efi_runtime_services+0x0000000000000020
0000000080250980 R_RISCV_64 efi_runtime_services+0x0000000000000048
0000000080250990 R_RISCV_64 efi_runtime_services+0x0000000000000050
00000000802509a0 R_RISCV_64 efi_runtime_services+0x0000000000000058
0000000080250940 R_RISCV_64 systab+0x0000000000000030
0000000080250950 R_RISCV_64 systab+0x0000000000000040
0000000080250960 R_RISCV_64 systab+0x0000000000000050
0000000080250970 R_RISCV_64 systab+0x0000000000000060
In these cases the addend needs to be added to the symbol value to get
the correct value for the reloc.
Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
Cc: Rick Chen <rick@andestech.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions