[all-commits] [llvm/llvm-project] 4fb131: [LLD][COFF] PR49068: Include the IMAGE_REL_BASED_H...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Fri May 21 13:46:18 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4fb131b49795ea11f7f56af1f4896fb6996faf0f
      https://github.com/llvm/llvm-project/commit/4fb131b49795ea11f7f56af1f4896fb6996faf0f
  Author: Axel Y. Rivera <axel.y.rivera at intel.com>
  Date:   2021-05-21 (Fri, 21 May 2021)

  Changed paths:
    M lld/COFF/Chunks.cpp
    A lld/test/COFF/reloc-x64-add32.s

  Log Message:
  -----------
  [LLD][COFF] PR49068: Include the IMAGE_REL_BASED_HIGHLOW relocation base type when the machine is 64 bits and the relocation type is ADDR32

The COFF driver produces an ABSOLUTE relocation base for an ADDR32
relocation type and the system is 64 bits (machine=AMD64). The
relocation information won't be added in the output and could
produce an incorrect address access during run-time. This change
set checks if the relocation type is IMAGE_REL_AMD64_ADDR32 and
if so, adds the relocated symbol as IMAGE_REL_BASED_HIGHLOW base.

Differential Revision: https://reviews.llvm.org/D96619




More information about the All-commits mailing list