[llvm] [SystemZ][zOS] Override emitGlobalAlias for ADA (PR #84829)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 12 03:49:40 PDT 2024


================
@@ -1026,17 +1027,15 @@ void SystemZAsmPrinter::emitADASection() {
       EmittedBytes += PointerSize;
       break;
     case SystemZII::MO_ADA_INDIRECT_FUNC_DESC: {
-      MCSymbol *Alias = OutContext.createTempSymbol(
-          Twine(Sym->getName()).concat("@indirect"));
-      OutStreamer->emitAssignment(Alias,
-                                  MCSymbolRefExpr::create(Sym, OutContext));
-      OutStreamer->emitSymbolAttribute(Alias, MCSA_IndirectSymbol);
+      MCSymbolGOFF *IndirectSym =
+          static_cast<MCSymbolGOFF *>(OutContext.getOrCreateSymbol(
+              Twine(Sym->getName()).concat("@indirect")));
----------------
uweigand wrote:

This now just creates a completely new symbol, that is totally unrelated to the original symbol `Name`.   How is that supposed to work?  Where will this be associated back to the original symbol and its address?

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


More information about the llvm-commits mailing list