[FFmpeg-devel] [PATCH 5/9] SBR DSP x86: implement SSE hf_apply_noise

Michael Niedermayer michaelni at gmx.at
Sat Apr 6 03:26:08 CEST 2013


On Fri, Apr 05, 2013 at 11:57:03PM +0200, Christophe Gisquet wrote:
> 2013/4/5 Michael Niedermayer <michaelni at gmx.at>:
> >> +INIT_XMM sse
> >> +%ifdef PIC
> >
> > i suspect you meant ifNdef
> 
> I'm confused. From what I understood from your compile error, you had
> a non-PIC config

no, the error message is misleading
what it means is that the linker encounters something that
_gcc_ does not create out of C code when -fPIC is used
and thus asks you to rebuild with -fPIC
the error message thus makes only sense when no asm code is involved

The configuration that causes this problem is with PIC and shared
libs on 64bit linux


> (win64 is eg always PIC and does not exhibit it). In

maybe microsoft windows supports "R_X86_64_32" relocations, i dont
know that.


> the case of such a non-PIC config, I'm supposed to allocate another
> reg and lea said address into it.
> 
> Therefore for PIC, no additional reg and directly use the address.
> For non-PIC, one more and use it for addressing.

with non-PIC the code is build for a specific address and nothing
special is needed
with PIC all referencnes to global data and code must be RIP relative
or "fixed" by the runtime linker to match the actual address.
On x86_64 linux the linker doesnt support "R_X86_64_32" relocations
so they cant be used for addressing things that would need relocations

i hope above makes sense ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130406/c143889b/attachment.asc>


More information about the ffmpeg-devel mailing list