RISC-V and Ada: undefined references to `__gnat_raise_nodefer_with_msg'

Sebastian Huber sebastian.huber@embedded-brains.de
Mon Jul 2 13:47:00 GMT 2018


Hello,

I get the following link-time error while building an Ada test program 
on RISC-V and RTEMS:

riscv64-rtems5-gnatlink hello.ali -march=rv64imafd -mabi=lp64d 
-mcmodel=medany -O2 -g -ffunction-sections -fdata-sections -Wall 
-Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes 
-Wnested-externs 
-B/build/git-build/b-rv64imafd_medany/riscv64-rtems5/c/rv64imafd_medany/lib/libbsp/riscv/riscv 
-B/home/EB/sebastian_h/git-rtems-5/bsps/riscv/riscv/start -specs 
bsp_specs -qrtems -L../../../../../../rv64imafd_medany/lib 
-L/home/EB/sebastian_h/git-rtems-5/bsps/riscv/shared/start 
-Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections 
init.o -o ada_hello.exe
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o): 
in function `ada__calendar__arithmetic_operations__add':
/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:797: 
undefined reference to `__gnat_raise_nodefer_with_msg'
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o): 
in function `ada__calendar__arithmetic_operations__subtract':
/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:894: 
undefined reference to `__gnat_raise_nodefer_with_msg'
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o): 
in function `ada__calendar__conversion_operations__to_ada_time':
/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:917: 
undefined reference to `__gnat_raise_nodefer_with_msg'
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o): 
in function `ada__calendar__conversion_operations__to_unix_time':
/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:1095: 
undefined reference to `__gnat_raise_nodefer_with_msg'
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o): 
in function `ada__calendar__Oadd':
/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:249: 
undefined reference to `__gnat_raise_nodefer_with_msg'
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/../../../../riscv64-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/riscv64-rtems5/8.1.1/rv64imafd/lp64d/medany/adalib/libgnat.a(a-calend.o):/scratch/git-rtems-source-builder/rtems/build/riscv64-rtems5-gcc-2e2052934b0c82e0726ed44de4a9b0a29ed6b276-newlib-3.0.0-x86_64-linux-gnu-1/build/gcc/ada/rts_rv64imafd_lp64d_medany/a-calend.adb:261: 
more undefined references to `__gnat_raise_nodefer_with_msg' follow

I cannot find it in the GCC sources:

grep -ri raise_nodefer_with_msg
gcc/ada/gcc-interface/trans.c:      (get_identifier 
("__gnat_raise_nodefer_with_msg"), NULL_TREE, ftype,

Who is supposed to provide an implementation of 
__gnat_raise_nodefer_with_msg?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Gcc mailing list