OSDN Git Service

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 6e0e8bb..ee35ee5 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 e5aa1f1..e1d50ba 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 f1326ba..b992ab1 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