[llvm] [Mips] Strip \x01 no-mangle prefix from R_MIPS_JALR symbol name (PR #219427)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 02:57:42 PDT 2026


================
@@ -147,21 +147,22 @@ void MipsAsmPrinter::emitPseudoIndirectBranch(MCStreamer &OutStreamer,
 //
 // This is an optimization hint for the linker which may then replace
 // an indirect call with a direct branch.
-static void emitDirectiveRelocJalr(const MachineInstr &MI,
-                                   MCContext &OutContext,
-                                   TargetMachine &TM,
-                                   MCStreamer &OutStreamer,
-                                   const MipsSubtarget &Subtarget) {
+void MipsAsmPrinter::emitDirectiveRelocJalr(const MachineInstr &MI,
+                                            MCContext &OutContext,
+                                            TargetMachine &TM,
+                                            MCStreamer &OutStreamer,
+                                            const MipsSubtarget &Subtarget) {
   for (const MachineOperand &MO :
        llvm::drop_begin(MI.operands(), MI.getDesc().getNumOperands())) {
     if (MO.isMCSymbol() && (MO.getTargetFlags() & MipsII::MO_JALR)) {
       MCSymbol *Callee = MO.getMCSymbol();
       if (Callee && !Callee->getName().empty()) {
+        MCSymbol *Sym = nullptr;
+        Sym = GetExternalSymbolSymbol(Callee->getName());
----------------
arsenm wrote:

```suggestion
        MCSymbol *Sym = GetExternalSymbolSymbol(Callee->getName());
```

https://github.com/llvm/llvm-project/pull/219427


More information about the llvm-commits mailing list