mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-14 06:29:38 +00:00
RecordStreamer: handle inline asm "lazy_reference" and mark symbols as "used"
llvm-svn: 277564
This commit is contained in:
parent
dcaec77936
commit
f9721ba5f1
@ -92,6 +92,8 @@ bool RecordStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
|
||||
MCSymbolAttr Attribute) {
|
||||
if (Attribute == MCSA_Global || Attribute == MCSA_Weak)
|
||||
markGlobal(*Symbol, Attribute);
|
||||
if (Attribute == MCSA_LazyReference)
|
||||
markUsed(*Symbol);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
15
llvm/test/Object/X86/asm-lazy-reference.ll
Normal file
15
llvm/test/Object/X86/asm-lazy-reference.ll
Normal file
@ -0,0 +1,15 @@
|
||||
; RUN: llvm-as < %s -o - | llvm-nm - | FileCheck %s
|
||||
|
||||
target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
|
||||
target triple = "i386-apple-macosx10.8.0"
|
||||
|
||||
; Verify that llvm-nm handles correctly module level ASM, including "lazy_reference"
|
||||
|
||||
; CHECK: U .objc_class_name_Bar
|
||||
; CHECK: U .objc_class_name_Foo
|
||||
; CHECK: T .objc_class_name_FooSubClass
|
||||
|
||||
module asm "\09.objc_class_name_FooSubClass=0"
|
||||
module asm "\09.globl .objc_class_name_FooSubClass"
|
||||
module asm "\09.lazy_reference .objc_class_name_Foo"
|
||||
module asm "\09.lazy_reference .objc_class_name_Bar"
|
Loading…
x
Reference in New Issue
Block a user