Comment # 6 on bug 1152590 from
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.


You are receiving this mail because: