diff --git a/lib/MC/MCExpr.cpp b/lib/MC/MCExpr.cpp index 6e648b22df1..6b69d1ccae3 100644 --- a/lib/MC/MCExpr.cpp +++ b/lib/MC/MCExpr.cpp @@ -353,6 +353,7 @@ MCSymbolRefExpr::getVariantKindForName(StringRef Name) { .Case("got@h", VK_PPC_GOT_HI) .Case("GOT@HA", VK_PPC_GOT_HA) .Case("got@ha", VK_PPC_GOT_HA) + .Case("local", VK_PPC_LOCAL) .Case("TOCBASE", VK_PPC_TOCBASE) .Case("tocbase", VK_PPC_TOCBASE) .Case("TOC", VK_PPC_TOC) diff --git a/test/MC/PowerPC/ppc-reloc.s b/test/MC/PowerPC/ppc-reloc.s index 19dd2a3cf4e..e7dd1e20b61 100644 --- a/test/MC/PowerPC/ppc-reloc.s +++ b/test/MC/PowerPC/ppc-reloc.s @@ -7,11 +7,13 @@ .align 2 foo: bl printf@plt + bl _GLOBAL_OFFSET_TABLE_@local-4 .LC1: .size foo, . - foo # CHECK: Relocations [ # CHECK-NEXT: Section (2) .rela.text { # CHECK-NEXT: 0x0 R_PPC_PLTREL24 printf 0x0 +# CHECK-NEXT: 0x4 R_PPC_LOCAL24PC _GLOBAL_OFFSET_TABLE_ 0xFFFFFFFC # CHECK-NEXT: } # CHECK-NEXT: ]