[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] avr/bin/ld: skipping incompatible /usr/lib/gcc/avr/4.
From: |
Senthil Kumar Selvaraj |
Subject: |
Re: [avr-gcc-list] avr/bin/ld: skipping incompatible /usr/lib/gcc/avr/4.9.0/libgcc.a when searching for -lgcc |
Date: |
Mon, 24 Mar 2014 12:55:03 +0530 |
User-agent: |
Mutt/1.5.22 (2013-10-16) |
On Sat, Mar 22, 2014 at 01:29:56PM +0100, Paolo Patruno wrote:
> I want try to use gcc 4.9.
> Starting from a working toolchain of Fedora 19 with avr-gcc 4.8; I get
> the last snapshot and buid it inside rpm build system with:
> ../gcc-4.9/configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --target=avr --enable-languages=c,c++ -
> -disable-nls --disable-libssp --with-system-zlib
> --enable-version-specific-runtime-libs --with-pkgversion=Fedora
> 4.9-1.fc19 --with-bugurl=https://bugzilla.redhat.com/
>
> I install the rpm and compile works well but at link stage:
>
> /usr/bin/avr-gcc -mmcu=atmega328p -Wl,--gc-sections -Wl,-Map -Wl,t.map -o
> .build/uno/firmware.elf .build/uno/src/helloworld_rx.o -v
> Using built-in specs.
> COLLECT_GCC=/usr/bin/avr-gcc
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/avr/4.9.0/lto-wrapper
> Target: avr
> Configured with: ../gcc-4.9/configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --target=avr --enable-languages=c,c++ --disable-nls
> --disable-libssp --with-system-zlib --enable-version-specific-runtime-libs
> --with-pkgversion='Fedora 4.9-1.fc19'
> --with-bugurl=https://bugzilla.redhat.com/
> Thread model: single
> gcc version 4.9.0 20140316 (experimental) (Fedora 4.9-1.fc19)
> COMPILER_PATH=/usr/libexec/gcc/avr/4.9.0/:/usr/libexec/gcc/avr/4.9.0/:/usr/libexec/gcc/avr/:/usr/lib/gcc/avr/4.9.0/:/usr/lib/gcc/avr/:/usr/lib/gcc/avr/4.9.0/../../../../avr/bin/
> LIBRARY_PATH=/usr/lib/gcc/avr/4.9.0/avr5/:/usr/lib/gcc/avr/4.9.0/../../../../avr/lib/avr5/:/usr/lib/gcc/avr/4.9.0/:/usr/lib/gcc/avr/4.9.0/../../../../avr/lib/
> COLLECT_GCC_OPTIONS='-mmcu=atmega328p' '-o' '.build/uno/firmware.elf' '-v'
> /usr/libexec/gcc/avr/4.9.0/collect2 -plugin
> /usr/libexec/gcc/avr/4.9.0/liblto_plugin.so
> -plugin-opt=/usr/libexec/gcc/avr/4.9.0/lto-wrapper
> -plugin-opt=-fresolution=/tmp/ccaF7CSb.res -plugin-opt=-pass-through=-lgcc
> -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lc -m avr5 -Tdata
> 0x800100 -o .build/uno/firmware.elf
> /usr/lib/gcc/avr/4.9.0/../../../../avr/lib/avr5/crtm328p.o
> -L/usr/lib/gcc/avr/4.9.0/avr5
> -L/usr/lib/gcc/avr/4.9.0/../../../../avr/lib/avr5 -L/usr/lib/gcc/avr/4.9.0
> -L/usr/lib/gcc/avr/4.9.0/../../../../avr/lib --gc-sections -Map t.map
> .build/uno/src/helloworld_rx.o --start-group -lgcc -lm -lc --end-group
> /usr/lib/gcc/avr/4.9.0/../../../../avr/bin/ld: skipping incompatible
> /usr/lib/gcc/avr/4.9.0/avr5/libgcc.a when searching for -lgcc
> /usr/lib/gcc/avr/4.9.0/../../../../avr/bin/ld: skipping incompatible
> /usr/lib/gcc/avr/4.9.0/libgcc.a when searching for -lgcc
> /usr/lib/gcc/avr/4.9.0/../../../../avr/bin/ld: cannot find -lgcc
> collect2: error: ld returned 1 exit status
>
>
> objdump results:
>
> avr-objdump -f .build/uno/src/helloworld_rx.o
>
> .build/uno/src/helloworld_rx.o: file format elf32-avr
> architecture: avr:5, flags 0x00000011:
> HAS_RELOC, HAS_SYMS
> start address 0x00000000
>
>
>
> avr-objdump -f /usr/lib/gcc/avr/4.9.0/avr5/libgcc.a|head -n 20
> In archive /usr/lib/gcc/avr/4.9.0/avr5/libgcc.a:
>
> _absvhi2.o: file format elf32-little
> architecture: UNKNOWN!, flags 0x00000011:
> HAS_RELOC, HAS_SYMS
> start address 0x00000000
>
That's weird - can you check the configure/make logs in the build folder
to see how this was compiled?
FWIW, with the latest sources of binutils and gcc, this is the output on
my machine.
$ ~/scratch/avr/install/bin/avr-objdump -f
/home/saaadhu/scratch/avr/install/lib/gcc/avr/4.9.0/avr5/libgcc.a | head -n20
In archive /home/saaadhu/scratch/avr/install/lib/gcc/avr/4.9.0/avr5/libgcc.a:
_absvhi2.o: file format elf32-avr
architecture: avr:5, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
_addvhi3.o: file format elf32-avr
architecture: avr:5, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
_subvhi3.o: file format elf32-avr
architecture: avr:5, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
$ ~/scratch/avr/install/bin/avr-as -v
GNU assembler version 2.24.51 (avr) using BFD version (GNU Binutils)
2.24.51.20131021
^C
Regards
Senthil