diff --git a/libavcodec/ppc/asm.S b/libavcodec/ppc/asm.S index bbbf8a4a66ffcfbf4fdaf62091e463769e990089..b57de2eba0136b3df40ca447c843ced638715d60 100644 --- a/libavcodec/ppc/asm.S +++ b/libavcodec/ppc/asm.S @@ -36,12 +36,20 @@ .macro extfunc name .global X(\name) +#if _CALL_ELF == 2 + .text +X(\name): + addis %r2,%r12,.TOC.-X(\name)@ha + addi %r2,%r2,.TOC.-X(\name)@l +// .localentry \name,-X(\name) +#else .section .opd, "aw" X(\name): .quad L(\name), .TOC.@tocbase, 0 .previous .type X(\name), STT_FUNC L(\name): +#endif .endm .macro movrel rd, sym, gp