Am Sat, 23 Mar 2024 21:59:54 +0500
schrieb Andrey Rakhmatullin <w...@debian.org>: 

> Source: mpg123
> Version: 1.32.5-1
> Severity: serious
> Tags: ftbfs
> 
> https://buildd.debian.org/status/fetch.php?pkg=mpg123&arch=armel&ver=1.32.5-1%2Bb1&stamp=1711185338&raw=0

This is being discussued in

        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063140

The build log shows this:

  largefile sensitive ..... no
  default offsets ......... 64

The new 64 bit time_t setup also fixes off_t to be 64 bits and so the
mpg123 build figures that you don't need 32 bit offset symbols. Also
the non-suffixed functions now work with 64 bit offsets, where they
formerly worked with 32 bit off_t arguments. This could be considered
ABI breakage, too.

We should figure out what the desired state is here. Should the ABI
stay the same as before? Then the _FILE_OFFSET_BITS=64 needs to be ignored
for the libmpg123 build.


Also, I notice this: Why do you have --with-cpu=generic_fpu there? You
really should either use one of

        arm_fpu          Pack neon and generic[[_dither]] decoders, for ARM 
processors with FPU and/or NEON
        arm_nofpu        Use code optimized for ARM processors with fixed point 
arithmetic

for 32 bit ARM and 

       aarch64          Pack neon64 and generic[[_dither]] decoders, for 64bit 
ARM processors

for 64 bit ARM.

http://mpg123.org/benchmark/mpg123-1.23.8_arm_fpu_BananaPi_Allwinner_H3@1200MHz_bananian-jessie.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder        t_s16/s t_f32/s
NEON    18.06   21.54
generic 35.10   32.39
generic_dither  35.98   33.30

http://mpg123.org/benchmark/mpg123-1.23.8_arm_nofpu_BananaPi_Allwinner_H3@1200MHz_bananian-jessie.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder        t_s16/s t_f32/s
ARM     36.02   34.32

With NEON, you got a factor of two for 16 bit output. Hm. Generic
with FPU doesn't look that bad compared to the plain ARM assembly. But when we
are talking about ARMs with NEON, one really should use that. Hm I also have

http://mpg123.org/benchmark/mpg123-r3525_Raspberry-Pi_raspian.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder        t_s16/s t_f32/s
ARM     86.26   90.66
generic 102.80  100.06
generic_dither  121.10  100.84

So this nofpu build still shows some benefit from the plain ARM
assembly, too.

Is there a special reason why Debian avoids using the optimized decoders on ARM?


Alrighty then,

Thomas

Reply via email to