On Fri, 2015-05-29 at 16:28 +0100, Paul Eggleton wrote: > Just for background, the reason I disabled the textrel check for x86 in > libav.inc was that I was able to determine based on quick research that > upstream deliberately doesn't enable -fPIC for x86 (32-bit) because > apparently > it doesn't really work there. I honestly didn't check what the situation was > on 32-bit ARM; I probably should have done that at the time.
PIC is particularly problematic on x86 because it ties up %ebx. This represents 25% of the available general purpose registers which can cause a measurable performance loss because of increased spilling, and in the particular case of libav there is a lot of hand-written assembly in the codecs which expects to be able to clobber that register. It certainly used to be the case that this code wouldn't compile at all under -fpic. The performance thing does apply to ARM as well but to a slightly lesser extent. The second problem probably doesn't affect ARM at all. But, personally, I would disable the textrel check and build without -fpic on all platforms. p. -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
