On PPC64 emit the environment pointer. Patch by Adhemerval Zanella.
authorRoman Divacky <rdivacky@freebsd.org>
Tue, 18 Sep 2012 16:55:29 +0000 (16:55 +0000)
committerRoman Divacky <rdivacky@freebsd.org>
Tue, 18 Sep 2012 16:55:29 +0000 (16:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164139 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCAsmPrinter.cpp
test/CodeGen/PowerPC/ppc64-linux-func-size.ll
test/CodeGen/PowerPC/ppc64-toc.ll

index 6e0e8bb8bc911ee5a8978489f844b5fc688aef21..ee35ee5a5bcedfd63498096244841a97acf709bd 100644 (file)
@@ -420,6 +420,8 @@ void PPCLinuxAsmPrinter::EmitFunctionEntryLabel() {
                         8/*size*/, 0/*addrspace*/);
   OutStreamer.EmitValue(MCSymbolRefExpr::Create(Symbol2, OutContext),
                         8/*size*/, 0/*addrspace*/);
+  // Emit a null environment pointer.
+  OutStreamer.EmitIntValue(0, 8 /* size */, 0 /* addrspace */);
   OutStreamer.SwitchSection(Current);
 
   MCSymbol *RealFnSym = OutContext.GetOrCreateSymbol(
index e5aa1f169f6405eb253856a5ee7f96f2b45f7d59..e1d50bac51a2ca6f4a9c8f6266f8f388609eb46c 100644 (file)
@@ -5,6 +5,7 @@
 ; CHECK-NEXT:  .align 3
 ; CHECK-NEXT:  .quad .L.test1
 ; CHECK-NEXT:  .quad .TOC.@tocbase
+; CHECK-NEXT:   .quad 0
 ; CHECK-NEXT:  .text
 ; CHECK-NEXT: .L.test1:
 
index f1326ba992f2dc70b7d55275bf08b78f69de6bb4..b992ab1ad33edefb742cbe30144894f53cf59416 100644 (file)
@@ -12,6 +12,7 @@ entry:
 ; CHECK-NEXT: .align  3\r
 ; CHECK-NEXT: .quad   .L.access_int64\r
 ; CHECK-NEXT: .quad   .TOC.@tocbase\r
+; CHECK-NEXT: .quad   0\r
 ; CHECK-NEXT: .text\r
   %0 = load i64* @number64, align 8\r
 ; CHECK: ld {{[0-9]+}}, .LC{{[0-9]+}}@toc(2)\r