When trying to build the mpfs_icicle application example (synchronization, synchronization_blinky, smp/pi) the zephyr-sdk-0.15.0 does not complete the build but errors out with an incompatible ABI error. With zephyr-sdk-0.13.2 the application examples build without issues.
For example when trying to build the pi example with zephyr-sdk-0.15.0:
west build -p -b mpfs_icicle mpfs-applications/smp/pi -G "Eclipse CDT4 - Unix Makefiles"
Build fails at 93% Progress with the following errors:
[ 93%] Linking C executable zephyr_prebuilt.elf
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clzdi2.o): ABI is incompatible with that of the selected emulation:
target emulation elf32-littleriscv' does not matchelf64-littleriscv'
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clzdi2.o)
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_ctzdi2.o): ABI is incompatible with that of the selected emulation:
target emulation elf32-littleriscv' does not matchelf64-littleriscv'
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_ctzdi2.o)
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clz.o): ABI is incompatible with that of the selected emulation:
target emulation elf32-littleriscv' does not matchelf64-littleriscv'
/root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clz.o)
collect2: error: ld returned 1 exit status
make[2]: [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1
make[1]: [CMakeFiles/Makefile2:2524: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
When trying to build the mpfs_icicle application example (synchronization, synchronization_blinky, smp/pi) the zephyr-sdk-0.15.0 does not complete the build but errors out with an incompatible ABI error. With zephyr-sdk-0.13.2 the application examples build without issues.
For example when trying to build the pi example with zephyr-sdk-0.15.0: west build -p -b mpfs_icicle mpfs-applications/smp/pi -G "Eclipse CDT4 - Unix Makefiles"
Build fails at 93% Progress with the following errors: [ 93%] Linking C executable zephyr_prebuilt.elf /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clzdi2.o): ABI is incompatible with that of the selected emulation: target emulation
elf32-littleriscv' does not match
elf64-littleriscv' /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clzdi2.o) /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_ctzdi2.o): ABI is incompatible with that of the selected emulation: target emulationelf32-littleriscv' does not match
elf64-littleriscv' /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_ctzdi2.o) /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clz.o): ABI is incompatible with that of the selected emulation: target emulationelf32-littleriscv' does not match
elf64-littleriscv' /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/../../../../riscv64-zephyr-elf/bin/ld.bfd: failed to merge target specific data of file /root/zephyr-sdk-0.15.0/riscv64-zephyr-elf/bin/../lib/gcc/riscv64-zephyr-elf/12.1.0/libgcc.a(_clz.o) collect2: error: ld returned 1 exit status make[2]: [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1 make[1]: [CMakeFiles/Makefile2:2524: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2 make: *** [Makefile:91: all] Error 2