[lld] [ELF] Don't resolve relocations referencing SHN_ABS to tombstone in non-SHF_ALLOC sections (PR #79238)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 28 16:31:33 PST 2024
MaskRay wrote:
> > > @MaskRay Is there an equivalent check that can be done before [1981b1b](https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40)?
> >
> >
> > Do you want to cherry pick #74686 and this follow-up #79238 with an older code base like lld 17? I believe it's difficult before [1981b1b](https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40) . I personally would not try doing that...
> > You can consider cherry picking [1981b1b](https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40) as well, but there are multiple follow-up commits.
> > Note, if you llvm locked into a certain version, it should be quite straightforward to sync just `lld/` to the trunk version, and `ninja lld` will likely still compile (if not it'd be straightforward to fix).
>
> It's even worse I am trying to cherry pick #74686 and #79238 onto llvm-15 (although llvm-17 is next).
>
> I looked into cherry picking [1981b1b](https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40), but it touches a lot of code that is not even in llvm-15. Thus I was wondering if check is possible some other way.
>
> So without this LLD will tombstone some addresses in a .debug section OR if dead-reloc-in-nonalloc is specified, correct?
Without checking https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40 , you can check a SHN_ABS symbol with something like `!cast<Defined>(sym).section`. I haven't tested it, though.
https://github.com/llvm/llvm-project/pull/79238
More information about the llvm-commits
mailing list