[lld] [NFC][ELF] Remove unused R_RELAX_TLS_* RelExprs (PR #210517)
Jessica Clarke via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 18 08:43:32 PDT 2026
https://github.com/jrtc27 created https://github.com/llvm/llvm-project/pull/210517
As of 46d29d43ba8e ("[ELF] Remove unused handleTlsRelocation (#184951)")
these are never generated.
>From d31c3551a60d85332dc12dbc3f88c91af29b4b6f Mon Sep 17 00:00:00 2001
From: Jessica Clarke <jrtc27 at jrtc27.com>
Date: Sat, 18 Jul 2026 15:23:53 +0100
Subject: [PATCH] [NFC][ELF] Remove unused R_RELAX_TLS_* RelExprs
As of 46d29d43ba8e ("[ELF] Remove unused handleTlsRelocation (#184951)")
these are never generated.
---
lld/ELF/InputSection.cpp | 7 -------
lld/ELF/Relocations.h | 7 -------
2 files changed, 14 deletions(-)
diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp
index c78800787d27e..bc5105feabe9d 100644
--- a/lld/ELF/InputSection.cpp
+++ b/lld/ELF/InputSection.cpp
@@ -837,18 +837,15 @@ uint64_t InputSectionBase::getRelocTargetVA(Ctx &ctx, const Relocation &r,
case R_GOTPLTREL:
return r.sym->getVA(ctx, a) - ctx.in.gotPlt->getVA();
case R_GOTPLT:
- case R_RELAX_TLS_GD_TO_IE_GOTPLT:
return r.sym->getGotVA(ctx) + a - ctx.in.gotPlt->getVA();
case R_TLSLD_GOT_OFF:
case R_GOT_OFF:
- case R_RELAX_TLS_GD_TO_IE_GOT_OFF:
return r.sym->getGotOffset(ctx) + a;
case RE_AARCH64_GOT_PAGE_PC:
return getAArch64Page(r.sym->getGotVA(ctx) + a) - getAArch64Page(p);
case RE_AARCH64_GOT_PAGE:
return r.sym->getGotVA(ctx) + a - getAArch64Page(ctx.in.got->getVA());
case R_GOT_PC:
- case R_RELAX_TLS_GD_TO_IE:
return r.sym->getGotVA(ctx) + a - p;
case R_GOTPLT_GOTREL:
return r.sym->getGotPltVA(ctx) + a - ctx.in.got->getVA();
@@ -986,9 +983,6 @@ uint64_t InputSectionBase::getRelocTargetVA(Ctx &ctx, const Relocation &r,
return getPPC64TocBase(ctx) + a;
case R_RELAX_GOT_PC:
return r.sym->getVA(ctx, a) - p;
- case R_RELAX_TLS_GD_TO_LE:
- case R_RELAX_TLS_IE_TO_LE:
- case R_RELAX_TLS_LD_TO_LE:
case R_TPREL:
// It is not very clear what to return if the symbol is undefined. With
// --noinhibit-exec, even a non-weak undefined reference may reach here.
@@ -997,7 +991,6 @@ uint64_t InputSectionBase::getRelocTargetVA(Ctx &ctx, const Relocation &r,
if (r.sym->isUndefined())
return a;
return getTlsTpOffset(ctx, *r.sym) + a;
- case R_RELAX_TLS_GD_TO_LE_NEG:
case R_TPREL_NEG:
if (r.sym->isUndefined())
return a;
diff --git a/lld/ELF/Relocations.h b/lld/ELF/Relocations.h
index abc62bf01a421..5615103fe7a39 100644
--- a/lld/ELF/Relocations.h
+++ b/lld/ELF/Relocations.h
@@ -63,13 +63,6 @@ enum RelExpr {
R_RELAX_HINT,
R_RELAX_GOT_PC,
R_RELAX_GOT_PC_NOPIC,
- R_RELAX_TLS_GD_TO_IE,
- R_RELAX_TLS_GD_TO_IE_GOT_OFF,
- R_RELAX_TLS_GD_TO_IE_GOTPLT,
- R_RELAX_TLS_GD_TO_LE,
- R_RELAX_TLS_GD_TO_LE_NEG,
- R_RELAX_TLS_IE_TO_LE,
- R_RELAX_TLS_LD_TO_LE,
R_SIZE,
R_TPREL,
R_TPREL_NEG,
More information about the llvm-commits
mailing list