search for: externalweak

Displaying 6 results from an estimated 6 matches for "externalweak".

2016 Nov 29
2
RFC: Add an "interposible" linkage type (and implement -fsemantic-interposition)
...ak+interposable and the old weak_odr to > > decode as weak. > > > Some more prior discussion: https://reviews.llvm.org/D19995#423481 > > +1 So we're all on the same page, our current encodings are: External: 0 WeakAny: 16 Appending: 2 Internal: 3 LinkOnceAny: 18 ExternalWeak: 7 Common: 8 Private: 9 WeakODR: 17 LinkOnceODR: 19 AvailableExternally: 12 And the new encodings would be: External: 0 External + Interposible: 20 Weak + Interposible: 16 Appending: 2 [interposible N/A] Internal: 3 [never interposible] LinkOnce + Interposible: 18 ExternalWeak: 7 [al...
2015 Jul 21
2
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...he original module stays the > same, and therefore is not noted in the table below. > > > > Note that there are no InternalLinkage, PrivateLinkage, > AvailableExternallyLinkage, LinkOnce*Linkage, Weak*Linkage, > AppendingLinkage and CommonLinkage declarations. There are no > ExternalWeakLinkage definitions. > > > > > +---------------------------------+------------------------------------------------+ > > | | Importing Module Linkage > | > > | Original Module > +----------------------+--------------...
2015 Jul 24
3
[LLVMdev] LLVM linkage flags
...; WeakODRLinkage: Same, but only replaced by something equivalent. > > AppendingLinkage: Special purpose, only applies to global arrays. > > InternalLinkage: Rename collisions when linking (static functions). > > PrivateLinkage: Like Internal, but omit from symbol table. > > ExternalWeakLinkage: ExternalWeak linkage description. > > CommonLinkage: Tentative definitions. > When I have source code like: int x = 0; int main(){...} I end up with an ExternalLinkage flag on x. Why would this not have CommonLinkage? When I have the same code as above and don't initialize x...
2015 Jul 14
3
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...tion exists, the linker will select the first weak definition. Importing a weak definition into a different module can change the order the weak defs are seen by the linker and change the program semantics. Therefore, any WeakAnyLinkage definitions are only imported as declarations, which are given ExternalWeakLinkage. WeakAny aliases are handled similarly (imported as ExternalWeakLinkage aliases). 2.2.2 WeakODRLinkage For WeakODRLinkage, there is a guarantee that all copies will be equivalent, so the issue described above for WeakAny does not exist, and the definition can be imported. For WeakODRLinka...
2015 Jul 21
1
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...ker will select the first > weak definition. Importing a weak definition into a different module can > change the order the weak defs are seen by the linker and change the > program semantics. Therefore, any WeakAnyLinkage definitions are only > imported as declarations, which are given ExternalWeakLinkage. WeakAny > aliases are handled similarly (imported as ExternalWeakLinkage aliases). > > > > 2.2.2 WeakODRLinkage > > > > For WeakODRLinkage, there is a guarantee that all copies will be > equivalent, so the issue described above for WeakAny does not exist, and...
2016 Nov 29
4
RFC: Add an "interposible" linkage type (and implement -fsemantic-interposition)
I think that all makes sense. You're just adding the missing non-ODR conterpart of 'external' linkage. I could imagine having "external / external_odr" linkage for example. That said, do you think we should take the opportunity to split out a bit for interposability so that we can kill off the *_odr linkage variants? Today's non-ODR weak functions would look more like