[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/AsmPrinter/ lib/Target/CellSPU/AsmPrinter/ lib/Target/CppBackend/ lib/Target/IA64/AsmPrinter/ lib/Target/MSP430/ lib/Target/Mips/AsmPrinter/ lib/Target/PowerPC/AsmPrinter/ lib/Target/Sparc/AsmPrinter/ lib/Target/SystemZ/AsmPrinter/ lib/Target/X86/AsmPrinter/ lib/Target/XCore/ lib/Tr...
Chris Lattner
clattner at apple.com
Sun Jul 19 22:34:41 PDT 2009
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.
> +++ 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?
Thanks for doing this Bill!
-Chris
More information about the llvm-commits
mailing list