mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Add support for inline asm symbols in llvm-ar.
This should allow llvm-ar to be used instead of gnu ar + plugin in a LTO build. I will add a release note about it once I finish a LTO bootstrap with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212287 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dfb53d227b
commit
96052a8d12
20
test/Object/X86/archive-ir-asm.ll
Normal file
20
test/Object/X86/archive-ir-asm.ll
Normal file
@ -0,0 +1,20 @@
|
||||
; RUN: llvm-as %s -o=%t1
|
||||
; RUN: rm -f %t2
|
||||
; RUN: llvm-ar rcs %t2 %t1
|
||||
; RUN: llvm-nm -s %t2 | FileCheck %s
|
||||
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
module asm ".global global_asm_sym"
|
||||
module asm "global_asm_sym:"
|
||||
module asm "local_asm_sym:"
|
||||
module asm ".long undef_asm_sym"
|
||||
|
||||
; CHECK: Archive map
|
||||
; CHECK-NEXT: global_asm_sym in archive-ir-asm.ll
|
||||
|
||||
; CHECK: archive-ir-asm.ll
|
||||
; CHECK-NEXT: T global_asm_sym
|
||||
; CHECK-NEXT: t local_asm_sym
|
||||
; CHECK-NEXT: U undef_asm_sym
|
@ -1,4 +1,5 @@
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
${LLVM_TARGETS_TO_BUILD}
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
@ -10,7 +10,7 @@
|
||||
LEVEL := ../..
|
||||
TOOLNAME := llvm-ar
|
||||
TOOLALIAS = llvm-ranlib
|
||||
LINK_COMPONENTS := bitreader support object
|
||||
LINK_COMPONENTS := all-targets bitreader support object
|
||||
|
||||
# This tool has no plugins, optimize startup time.
|
||||
TOOL_NO_EXPORTS := 1
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/PrettyStackTrace.h"
|
||||
#include "llvm/Support/Signals.h"
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
#include "llvm/Support/ToolOutputFile.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <algorithm>
|
||||
@ -903,6 +904,10 @@ int main(int argc, char **argv) {
|
||||
" This program archives bitcode files into single libraries\n"
|
||||
);
|
||||
|
||||
llvm::InitializeAllTargetInfos();
|
||||
llvm::InitializeAllTargetMCs();
|
||||
llvm::InitializeAllAsmParsers();
|
||||
|
||||
StringRef Stem = sys::path::stem(ToolName);
|
||||
if (Stem.find("ar") != StringRef::npos)
|
||||
return ar_main(argv);
|
||||
|
Loading…
Reference in New Issue
Block a user