On Mon, 24 Mar 2014, Janne Grunau wrote:

On 2014-03-24 14:12:47 +0200, Martin Storsjö wrote:
On Thu, 20 Mar 2014, Ben Avison wrote:

+function ff_mlp_pack_output_inorder_\channels\()ch_mixedshift_armv6, export=1
+ .if SAMPLES_PER_LOOP > 1
+        tst     COUNT, #SAMPLES_PER_LOOP - 1  // always seems to be in practice
+        bne     X(ff_mlp_pack_output)         // but just in case, branch to C 
implementation if not
+ .endif

This (and a few similar occurrances further below) is lacking the
"it ne" in order to be able to build it in thumb mode.

Does it fail to build? branch is the only instruction with conditional
encodings in thumb mode. The encodings which require an 'it' only allow
a larger immediate offset.

Yes, it fails to build. Building with apple tools fails simply like this:

libavcodec/arm/mlpdsp_armv6.S:-915:9: error: unsupported relocation on symbol
        bne _ff_mlp_pack_output

Building with proper binutils on linux fails at the linking stage:

libavcodec/libavcodec.a(mlpdsp_armv6.o): In function 
`ff_mlp_pack_output_inorder_2ch_0shift_armv6':
libavcodec/arm/mlpdsp_armv6.S:353:(.text+0x4): relocation truncated to fit:
R_ARM_THM_JUMP19 against symbol `ff_mlp_pack_output' defined in .text section in libavcodec/libavcodec.a(mlpdsp.o)

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to