[llvm-commits] [llvm] r76385 - in /llvm/trunk: docs/ include/llvm-c/ include/llvm/ include/llvm/Support/ lib/AsmParser/ lib/Bitcode/Reader/ lib/Bitcode/Writer/ lib/CodeGen/ lib/Linker/ lib/Target/ lib/Target/ARM/AsmPrinter/ lib/Target/Alpha/AsmPr
Bill Wendling
isanbard at gmail.com
Mon Jul 20 11:22:23 PDT 2009
On Sun, Jul 19, 2009 at 10:34 PM, Chris Lattner<clattner at apple.com> wrote:
>
> On Jul 19, 2009, at 6:03 PM, Bill Wendling wrote:
>
>> Author: void
>> Date: Sun Jul 19 20:03:30 2009
>> New Revision: 76385
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=76385&view=rev
>> Log:
>> Add plumbing for the `linker_private' linkage type. This type is
>> meant for
>> "private" symbols which the assember shouldn't strip, but which the
>> linker may
>> remove after evaluation. This is mostly useful for Objective-C
>> metadata.
>>
>> This is plumbing, so we don't have a use of it yet. More to come, etc.
>
> Thanks for implementing this Bill.
>
>> +++ llvm/trunk/include/llvm-c/Core.h Sun Jul 19 20:03:30 2009
>> @@ -141,6 +141,7 @@
>> LLVMInternalLinkage, /**< Rename collisions when linking (static
>> functions) */
>> LLVMPrivateLinkage, /**< Like Internal, but omit from symbol
>> table */
>> + LLVMLinkerPrivateLinkage, /**< Like Private, but linker removes. */
>> LLVMDLLImportLinkage, /**< Function to be imported from DLL */
>> LLVMDLLExportLinkage, /**< Function to be accessible from DLL */
>> LLVMExternalWeakLinkage,/**< ExternalWeak linkage description */
>
> This changes the C ABI, which is not allowed, please add this to the
> end of the list. liblto may also need to be updated to handle this.
>
Oops...Okay.
>> +++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp Sun Jul
>> 19 20:03:30 2009
>> @@ -93,12 +93,15 @@
>> void Init(const std::string &GV, Mangler *Mang) {
>> // Already initialized.
>> if (!Stub.empty()) return;
>> - Stub = Mang->makeNameProper(GV+"$stub", true);
>> - LazyPtr = Mang->makeNameProper(GV+"$lazy_ptr", true);
>> - SLP = Mang->makeNameProper(GV+"$slp", true);
>> - SCV = Mang->makeNameProper(GV+"$scv", true);
>> + Stub = Mang->makeNameProper(GV + "$stub",
>> + Mangler::PrivatePrefixTy);
>
> How about dropping "Ty" from the enum names?
>
I'm not good at naming these things, but unfortunately there are
already variables in the Mangler class named "PrivatePrefix" etc. I'll
try to think of something better...
-bw
More information about the llvm-commits
mailing list