Created attachment 899033 [details] emerge --info emerge net-misc/iperf-3.17.1 on ARM MUSL fails with this error: libtool: compile: armv7a-unknown-linux-musleabihf-gcc -DHAVE_CONFIG_H -I. -I/usr/include/cjson -O2 -pipe -fomit-frame-pointer -march=armv7ve+neon-vfpv3 -mcpu=cortex-a17 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wall -pthread -c iperf_tcp.c -fPIC -DPIC -o .libs/libiperf_la-iperf_tcp.o {standard input}: Assembler messages: {standard input}:1223: Error: bad immediate value for 8-bit offset (640) {standard input}:1346: Error: bad immediate value for 8-bit offset (640) {standard input}:1509: Error: bad immediate value for 8-bit offset (616) {standard input}:1583: Error: bad immediate value for 8-bit offset (640) {standard input}:1781: Error: bad immediate value for 8-bit offset (624) {standard input}:1799: Error: bad immediate value for 8-bit offset (632) {standard input}:1937: Error: bad immediate value for 8-bit offset (640) make[2]: *** [Makefile:1003: libiperf_la-iperf_client_api.lo] Error 1 Thanks.
Created attachment 899034 [details] build log
I think you'll need to probe a bit more as to what's going on here. iperf is just C so it's a compiler or assembler issue - but I suspect we would've heard before if it was generally broken on armv7 + musl.
Tell me what you need me to do.
OK :) First, can you give me preprocessed source, so go to /var/tmp/portage/net-misc/iperf-3.17.1/work/iperf-3.17.1/src, run: armv7a-unknown-linux-musleabihf-gcc -DHAVE_CONFIG_H -I. -I/usr/include/cjson -O2 -pipe -fomit-frame-pointer -march=armv7ve+neon-vfpv3 -mcpu=cortex-a17 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wall -pthread -c iperf_tcp.c -fPIC -DPIC -o .libs/libiperf_la-iperf_tcp.o -save-temps and then find libiperf_la-iperf_tcp*.i and upload it here. .s would be useful as well. Second, can you try play with the CFLAGS on that line? specifically march/mcpu/vfpu/mfloat-abi, deleting them but also changing their values to more generic ones to see what seems to provoke the failure? Let me know if you need more help.
This might be https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115153.
> sys-devel/gcc: 14.1.1_p20240622::gentoo Can you try >=gcc-14.2.0?
Created attachment 899270 [details] wrong .i file
Created attachment 899271 [details] wrong .s file
gcc 14.2.0 won't emerge (different error, but I was told not to open more bug reports) Sorry for the mistake. libiperf_la-iperf_tcp doen't cause the error. It's libiperf_la-iperf_server_api instead. I'm attaching a new set of files. Ignore previous ones.
(In reply to Marius Dinu from comment #9) > gcc 14.2.0 won't emerge (different error, but I was told not to open more > bug reports) It wasn't a telling off, to be clear, Mike meant "the other one is almost certainly the same as this" (which is what I said too), so having many bug reports for the same thing isn't useful, so we can keep the discussion & debugging in one place. But if it's *clearly* a different error, you can file a new one. Show me it?
Created attachment 899272 [details] .i file
Created attachment 899273 [details] .s file
I think you might be able to disable NEON for the purposes of building gcc. Or perhaps use gcc 13 to build it if you have gcc 14 selected (you can get gcc 13 from a stage3 if you no longer have it installed, or use the binhost which has stage packages for all arches even if not more).
https://bugs.gentoo.org/937446
Right, I was really just trying to prevent multiple bug reports with the same root cause. If it's obviously a different issue, feel free to create new bugs.
No problem. I understand. Actually I was planning to take break from bug reports. :-)