Hi ,
We are chasing the front end issue w.r.t dso_local like
_ZTT5Base2 and other symbols are not marked with dso_local and some are marked like _ZTV7ComBase with dso_local and we understanding difference and if some-one has the explanation for the difference ,that will help us to fix the issue in our versioned compiler with better understanding .
Thank you
@MaskRay ,this is something we need to fix this inconsistent here and we ready to send the patch for the same .
before that we would like to know you thoughts ?
On trunk, everything appears to be marked dso_local. This is expected: you’re not building with -fPIC, so the object file is guaranteed to be linked into an executable.
Not sure what relevant patch landed after LLVM 15.
Oh, nevermind, I see what you mean.
I might have broken something with ⚙ D128482 [clang codegen] Add dso_local/hidden/etc. markings to VTT declarations
(Edit: for anyone trying to follow, the godbolt link shows IR for two modes: -fPIE, and -fno-PIE. The compilers used are also different, but that isn’t actually relevant; LLVM 15 and trunk behave the same way.)
Here’s the discussion thread that led to the change @efriedma-quic mentioned.
I’m still trying to understand exactly what is broken. D128482 fixed the regression I reported, so I’m assuming the godbolt link is pointing out some unexpected fallout?