Skip to content

Commit d208ceb

Browse files
committed
Ensure local symbols are correctly added to the symbol table.
1 parent 5ae6609 commit d208ceb

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,16 @@ createRISCVObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI) {
122122
return nullptr;
123123
}
124124

125+
static MCStreamer *
126+
createMachOStreamer(MCContext &Ctx, std::unique_ptr<MCAsmBackend> &&TAB,
127+
std::unique_ptr<MCObjectWriter> &&OW,
128+
std::unique_ptr<MCCodeEmitter> &&Emitter) {
129+
return createMachOStreamer(Ctx, std::move(TAB), std::move(OW),
130+
std::move(Emitter),
131+
/*DWARFMustBeAtTheEnd*/ false,
132+
/*LabelSections*/ true);
133+
}
134+
125135
static MCTargetStreamer *
126136
createRISCVAsmTargetStreamer(MCStreamer &S, formatted_raw_ostream &OS,
127137
MCInstPrinter *InstPrint) {
@@ -393,6 +403,7 @@ LLVMInitializeRISCVTargetMC() {
393403
TargetRegistry::RegisterMCInstPrinter(*T, createRISCVMCInstPrinter);
394404
TargetRegistry::RegisterMCSubtargetInfo(*T, createRISCVMCSubtargetInfo);
395405
TargetRegistry::RegisterELFStreamer(*T, createRISCVELFStreamer);
406+
TargetRegistry::RegisterMachOStreamer(*T, createMachOStreamer);
396407
TargetRegistry::RegisterObjectTargetStreamer(
397408
*T, createRISCVObjectTargetStreamer);
398409
TargetRegistry::RegisterMCInstrAnalysis(*T, createRISCVInstrAnalysis);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
;; RUN: llvm-mc -triple riscv32-apple-macho %s -filetype=obj -o - | \
2+
;; RUN: llvm-objdump - -d | FileCheck %s
3+
4+
Ltmp0:
5+
addi a0, a0, 1
6+
7+
;; CHECK: 00000000 <ltmp0>:

0 commit comments

Comments
 (0)