Closed YaoFei509 closed 4 months ago
In Ubuntu 23.10 x86_64
make -C llvm-interface build gnatlib-automated make[1]: 进入目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” mkdir -p obj obj-tools/libgnat bin gnat_src/vast for f in
cd /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src; ls gen_il.ad? xutil.ad? -tmpl xoscons.adb xsnamest.adb`; \
do \
cp -p /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/$f obj-tools; \
done
cd obj-tools && gnatmake -q -j0 xoscons xsnamest && ./xsnamest && \
mv -f snames.ns ../obj/snames.ads && mv -f snames.nb ../obj/snames.adb && \
gnatmake -g -q -j0 gen_il-main.adb -I../obj -Ilibgnat && ./gen_il-main && \
mv -f nmake.adb nmake.ads seinfo.ads sinfo-nodes.ads sinfo-nodes.adb einfo-entities.ads einfo-entities.adb ../obj
for f in ../link.c s-pehage.adb s-pehage.ads s-rident.ads s-utf_32.adb s-utf_32.ads gnat.ads g-byorma.adb g-casuti.adb g-casuti.ads g-comlin.adb g-comlin.ads g-ctrl_c.adb g-ctrl_c.ads g-dirope.adb g-dynhta.adb g-dynhta.ads g-graphs.adb g-graphs.ads g-hesora.adb g-htable.adb g-io.adb g-io_aux.adb g-io_aux.ads g-lists.adb g-lists.ads g-os_lib.adb g-os_lib.ads g-regexp.ads g-sets.adb g-sets.ads g-spchge.adb g-speche.adb g-string.ads g-u3spch.adb; do \
ln -sf /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/libgnat/$f obj; \
done
./check_for_LLVM_aliasing_bug.sh
using LLVM with the aliasing bug, will pessimize slightly the optimized code
gprbuild -v -n -Pgnat_llvm -j0 \
-largs -L/usr/lib/llvm-16/lib -lLLVM-16 -rdynamic -cargs:c++ -I/usr/lib/llvm-16/include -std=c++17 -fno-exceptions -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/"
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnat1drv.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_wrapper.adb
Changing to object directory of "GNAT_LLVM_C": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/"
/usr/bin/g++-13 -c -x c++ -g -I/usr/lib/llvm-16/include -std=c++17 -fno-exceptions -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MMD -MF llvm_wrapper.d -specs=/tmp/GNAT-TEMP-000007.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc
/usr/bin/gcc-12 -c -x c -g -MMD -MF link.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/link.c
/usr/bin/gcc-12 -c -x c -g -MMD -MF targext.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/targext.c
/usr/bin/gcc-12 -c -x c -g -MMD -MF gcc_missing.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_missing.c
Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/"
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/gnat.ads
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/g-os_lib.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnatvsn.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm.ads
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target_machine.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/atree.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/back_end.adb
/usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/checks.adb
gnatllvm-gltype.ads:500:07: error: no candidate interpretations match the actuals:
gnatllvm-gltype.ads:500:41: error: expected type "GL_Type" defined at gnatllvm.ads:228
gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403
gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499
gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925
gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499
gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925
gnatllvm-glvalue.ads:846:07: error: "Is_Address_Compatible_Type" is undefined (more references follow)
gnatllvm-types.ads:282:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401
gnatllvm-types.ads:282:41: error: found type "Node_Id" defined at types.ads:403
compilation of back_end.adb failed
gprbuild: compilation phase failed make[1]: [Makefile:87:build] 错误 4 make[1]: 离开目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” make: *** [Makefile:2:all] 错误 2 `
The error on back_end.adb likely means you are not using matching GNAT (GCC) sources (a mismatch between gnat-llvm and gcc sources). The error on llvm_wrapper.cc is probably an incomplete LLVM install.
make -C llvm-interface build gnatlib-automated make[1]: 进入目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” mkdir -p obj obj-tools/libgnat bin gnat_src/vast for f in
cd /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src; ls gen_il.ad? xutil.ad? -tmpl xoscons.adb xsnamest.adb`; \ do \ cp -p /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/$f obj-tools; \ done cd obj-tools && gnatmake -q -j0 xoscons xsnamest && ./xsnamest && \ mv -f snames.ns ../obj/snames.ads && mv -f snames.nb ../obj/snames.adb && \ gnatmake -g -q -j0 gen_il-main.adb -I../obj -Ilibgnat && ./gen_il-main && \ mv -f nmake.adb nmake.ads seinfo.ads sinfo-nodes.ads sinfo-nodes.adb einfo-entities.ads einfo-entities.adb ../obj for f in ../link.c s-pehage.adb s-pehage.ads s-rident.ads s-utf_32.adb s-utf_32.ads gnat.ads g-byorma.adb g-casuti.adb g-casuti.ads g-comlin.adb g-comlin.ads g-ctrl_c.adb g-ctrl_c.ads g-dirope.adb g-dynhta.adb g-dynhta.ads g-graphs.adb g-graphs.ads g-hesora.adb g-htable.adb g-io.adb g-io_aux.adb g-io_aux.ads g-lists.adb g-lists.ads g-os_lib.adb g-os_lib.ads g-regexp.ads g-sets.adb g-sets.ads g-spchge.adb g-speche.adb g-string.ads g-u3spch.adb; do \ ln -sf /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/libgnat/$f obj; \ done ./check_for_LLVM_aliasing_bug.sh using LLVM with the aliasing bug, will pessimize slightly the optimized code gprbuild -v -n -Pgnat_llvm -j0 \ -largs -L/usr/lib64 -lLLVM-18 -rdynamic -cargs:c++ -I/usr/include -std=c++17 -fno-exceptions -funwind-tables -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROSChanging to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnat1drv.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_wrapper.adb Changing to object directory of "GNAT_LLVM_C": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/g++ -c -x c++ -g -I/usr/include -std=c++17 -fno-exceptions -funwind-tables -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MMD -MF llvm_wrapper.d -specs=/tmp/GPR.12430/GNAT-TEMP-000007.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc /usr/bin/gcc -c -x c -g -MMD -MF link.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/link.c /usr/bin/gcc -c -x c -g -MMD -MF targext.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/targext.c /usr/bin/gcc -c -x c -g -MMD -MF gcc_missing.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_missing.c Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/gnat.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/g-os_lib.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000011.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnatvsn.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target_machine.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-types.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/atree.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/back_end.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/checks.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000011.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/comperr.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/csets.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/debug.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000014.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/elists.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/errout.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/exp_cg.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000014.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/fmap.adb /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc:26:10: 致命错误:llvm/Support/AArch64TargetParser.h:没有那个文件或目录 26 | #include "llvm/Support/AArch64TargetParser.h" | ^
~~~~~~~编译中断。 gnatllvm-gltype.ads:500:07: error: no candidate interpretations match the actuals: gnatllvm-gltype.ads:500:41: error: expected type "GL_Type" defined at gnatllvm.ads:228 gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499 gnatllvm-gltype.ads:500:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401 gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925 gnatllvm-glvalue.ads:846:07: error: "Is_Address_Compatible_Type" is undefined (more references follow) gnatllvm-types.ads:282:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401 gnatllvm-types.ads:282:41: error: found type "Node_Id" defined at types.ads:403compilation of back_end.adb failed compilation of llvm_wrapper.cc failed
gprbuild: compilation phase failed make[1]: [Makefile:87:build] 错误 4 make[1]: 离开目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” make: *** [Makefile:2:all] 错误 2
`