[PATCH] D112349: [Verifier] Add verification logic for GlobalIFuncs

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 4 08:29:19 PDT 2021


erichkeane added a comment.

In D112349#3109065 <https://reviews.llvm.org/D112349#3109065>, @nextsilicon-itay-bookstein wrote:

> I'm referring you again to the start of my explanation (the first three paragraphs); the object file format (ELF) literally cannot express the semantics you're asking for. You're asking for it to support a symbol in a special kind of undefined state: 
> ABC = "undefined, but becomes defined to the value of a different symbol XYZ if it ever becomes defined".
>
> In other words, the logical type of **the value** of a symbol is either **empty/undefined** or **offset-into-some-section**. It is never **name-of-another-symbol**.
>
> That is, unless I'm completely missing some special-sauce in the `Elf32_Sym`/`Elf64_Sym` documentation which allows for `st_value` to somehow point at the name of a different undefined symbol (am I missing something? can you point me at documentation that allows for this use-case?).

I don't know much about the ELF format... but this works today?  We can define a resolver in a different TU and it WORKS thanks to the linker?  So there is perhaps something?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112349/new/

https://reviews.llvm.org/D112349



More information about the cfe-commits mailing list