diff --git a/libavcodec/ppc/asm.S b/libavcodec/ppc/asm.S index e372d53c60..2706d6b1d8 100644 --- a/libavcodec/ppc/asm.S +++ b/libavcodec/ppc/asm.S @@ -67,7 +67,11 @@ X(\name): .macro movrel rd, sym #if CONFIG_PIC - lwz \rd, \sym@got(r2) + bcl 20, 31, lab_pic_\@ +lab_pic_\@: + mflr \rd + addis \rd, \rd, (\sym - lab_pic_\@)@ha + addi \rd, \rd, (\sym - lab_pic_\@)@l #else lis \rd, \sym@ha la \rd, \sym@l(\rd)