So I have the change in: https://build.suse.de/project/monitor/home:jirislaby:cross Not only the scripts in Factory cannot handle the archives, they mangle them! When libgcc.a is packaged (or /usr/avr/sys-root/lib/avr4/libc.a or libm.a from avr-libc rpm), one object file inside the ar archive has machine zeroed. See: $ rpm -qf /usr/lib64/gcc/avr/9/avr4/libgcc.a cross-avr-gcc9-9.2.1+r275327-1.1.x86_64 $ ar xf /usr/lib64/gcc/avr/9/avr4/libgcc.a $ file _absvhi2.o _usdivUQQ.o # <---- bad and good objects _absvhi2.o: ELF 32-bit LSB relocatable, no machine, version 1 (SYSV), not stripped _usdivUQQ.o: ELF 32-bit LSB relocatable, Atmel AVR 8-bit, version 1 (SYSV), not stripped $ objdump -f _absvhi2.o _usdivUQQ.o _absvhi2.o: file format elf32-little architecture: UNKNOWN!, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 _usdivUQQ.o: file format elf32-avr architecture: avr:4, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 Linking with such libraries obviously fails: /usr/lib64/gcc/avr/9/ld: skipping incompatible /usr/lib64/gcc/avr/9/avr4/libgcc.a when searching for -lgcc /usr/lib64/gcc/avr/9/ld: skipping incompatible /usr/lib64/gcc/avr/9/libgcc.a when searching for -lgcc /usr/lib64/gcc/avr/9/ld: cannot find -lgcc This mangling does not happen with binutils with avr support in the above project. Let me check whether linking works once this all gets build.