[x264-devel] NDK r8c linker warnings for asm files from libx264

Alex Cohn alexcohn at netvision.net.il
Sun Dec 16 11:23:12 CET 2012


On Sat, Dec 15, 2012 at 6:37 AM, Loren Merritt <lorenm at u.washington.edu> wrote:
> Strip was added to workaround a discrepancy on x86 between yasm and
> gdb/perf/oprofile. Can you confirm that that problem exists at all on arm,
> which doesn't use the same assembler?

Please note that the linker warning has popped up after the recent
update to Android native gcc toolchain. This does not mean that the
problem did not exist before, and maybe it is relevant for other ARM
toolchains. It is most likely that they also failed to apply the fix,
but did not report the failure.

But on the other hand, the warning relates to a specific workaround to
a specific trouble with some ARM processors. All new ARM processors
that are manufactured these days do not feature the bug, and therefore
for them the effect of the "--fix-cortex-a8" linker flag cannot be
observed.

> Because if not, then the right fix is to remove the arm strip, and keep the x86 one unchanged.

I have no doubt that the fix should be ARM-specific, and keep the x86
build unchanged. I am less sure whether the better fix for ARM should
be disabling strip altogether, or excluding the mapping symbols $a,
$t, and $d from strip. I only know that either way, the linker warning
is silenced.

I don't have enough information to decide whether strip step on ARM is
useful, useless, or dangerous. If you could detail the original
showcase that led to the decision to add strip on x86, I could try to
assess it with an Android ARM device. I have not got other ARM devices
to test the consequences of performing or not performing the strip
step.

Anyway, I don't have access to a Cortex-A8 device which could show the
virtues of "--fix-cortex-a8" flag in linker, therefore my tests can
only prove that changing the strip step does not break something else.

Sincerely,
Alex Cohn


More information about the x264-devel mailing list