[x264-devel] [PATCH] Fix linker test for -Bsymbolic

Sean McGovern gseanmcg at gmail.com
Tue Apr 19 00:51:52 CEST 2011


>
> Recently I've received a request to start bundling the shared library
> version of libx264 with my Solaris packages.


I tested the patch on Solaris 2.10 as well as on Ubuntu Hardy Heron. Can
someone check it at the very least on mingw and anything else to make sure
it doesn't introduce any regressions?

I'm still getting textrel problems with the assembler code in common/x86/
even with this patch (building with --disable-asm works just fine, but then
I lose all that wonderful optimization work you folks did!), but this again
seems to be specific to Solaris. It's far less tolerant of unresolved
references in shared libraries than GNU ld. The gcc manpage states, for
Solaris:

-mimpure-text

-mimpure-text, used in addition to -shared, tells the compiler to not pass -z
text to the linker when linking a shared object. Using this option, you can
link position-dependent code into a shared object.

-mimpure-text suppresses the “relocations remain against allocatable but
non-writable sections” linker error message. However, the necessary
relocations will trigger copy-on-write, and the shared object is not
actually shared across processes. Instead of using -mimpure-text, you should
compile all source code with -fpic or -fPIC.


Is copy-on-write something to be concerned about? Is the assembler code in
common/x86/ supposed to be at least PIC-friendly on x86_32?

Thanks,
Sean
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20110418/c2efc382/attachment.html>


More information about the x264-devel mailing list