[all-commits] [llvm/llvm-project] fff064: [Clang][Interpreter] Enable PIC to avoid 32-bit re...

aokblast via All-commits all-commits at lists.llvm.org
Mon Jul 13 05:44:17 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fff064e93d144a6499efcf091e1f226d144e514f
      https://github.com/llvm/llvm-project/commit/fff064e93d144a6499efcf091e1f226d144e514f
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/test/Interpreter/cxx20-modules.cppm
    M clang/test/Interpreter/execute-pch.cpp
    A clang/test/Interpreter/pch-pic-mismatch.cpp
    A clang/test/Interpreter/pcm-pic-mismatch.cpp

  Log Message:
  -----------
  [Clang][Interpreter] Enable PIC to avoid 32-bit relocation overflows (#201286)

In clang-repl, R_*_32 relocations are emitted as direct 32-bit
PC-relative references. A conventional static linker can resolve
references to external symbols through the GOT or copy relocations, but
clang-repl directly mmaps shared objects into memory, bypassing the
static linker.

As a result, these relocations may exceed their 32-bit range if a
referenced symbol is located more than 2 GB away from the JIT
allocation, which can occur on FreeBSD.

Enable PIC to force accesses to external data through the GOT, avoiding
the generation of direct 32-bit relocations that are subject to the 2 GB
addressing limit.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list