diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2016-12-16 11:25:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2016-12-16 11:25:29 +0100 |
commit | d73088ebf0d8fd9f8acba75763faecd3685d8986 (patch) | |
tree | be979bd7abc57316d4ea9056ed27074f552ace66 | |
parent | 5c97e1e835712fccbfe793a4508490c589909513 (diff) |
gcc: Enable Ada testing
-rw-r--r-- | open_issues/gcc.mdwn | 23 | ||||
-rw-r--r-- | open_issues/gnat.mdwn | 76 | ||||
m--------- | toolchain/logs | 10 |
3 files changed, 92 insertions, 17 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 3627179b..194a401a 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -479,9 +479,10 @@ Last reviewed up to the Git mirror's commit 0 0x102c000 0 0x102e000 - * `gcc/ada` (not all reviewed) + * `gcc/ada`, `gcc/testsuite/ada`, `gcc/testsuite/gnat.dg`, `gnattools`, + `libada` (not all reviewed) - * [[Ada (GNAT)|gnat]] support is work in progress. + See [[Ada (GNAT)|gnat]]. * `gcc/go`, `gcc/testsuite/go.test`, `libgo` (not reviewed) @@ -992,13 +993,14 @@ Last reviewed up to the Git mirror's commit Here's a log of a GCC build run; this is from Git commit 17f0f5acdcfb9181203ca9b6d8f8cbc64e5ce843 (2016-11-30), +plus *GNU Hurd Ada fixes*, plus *libstdc++ RLIMIT changes* ([[!message-id "8760n66mky.fsf@euler.schwinge.homeip.net"]]), run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && contrib/gcc_update --touch) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-6 CXX=g++-6 --enable-languages=all --disable-libcilkrts --disable-libsanitizer --disable-libvtv --disable-libmpx --with-native-system-header-dir=/usr/include --enable-multiarch 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-6 CXX=g++-6 --enable-languages=all,ada --disable-libcilkrts --disable-libsanitizer --disable-libvtv --disable-libmpx --with-native-system-header-dir=/usr/include --enable-multiarch 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -1014,8 +1016,8 @@ until these is auto-detected/fixed/ported for GNU Hurd. `/include` for GNU Hurd. Explicit `--enable-multiarch` because *auto check [is disabled if] configured with --native-system-header-dir*. -This takes up around 3.9 GiB, and runs for [[3 h 57 min|performance#measure]] -on kepler.SCHWINGE and [[4 h 37 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 4.6 GiB, and runs for [[5 h 16 min|performance#measure]] +on kepler.SCHWINGE and [[5 h 14 min|performance#measure]] on laplace.SCHWINGE. <!-- @@ -1132,8 +1134,8 @@ on kepler.SCHWINGE and [[4 h 37 min|performance#measure]] on laplace.SCHWINGE. $ make install 2>&1 | tee log_install [...] -This takes up around 0.9 GiB, and runs for [[1 min|performance#measure]] on -kepler.SCHWINGE and [[3 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.3 GiB, and runs for [[1 min|performance#measure]] on +kepler.SCHWINGE and [[5 min|performance#measure]] on laplace.SCHWINGE. ## Analysis @@ -1152,8 +1154,8 @@ kepler.SCHWINGE and [[3 min|performance#measure]] on laplace.SCHWINGE. $ make -k check 2>&1 | tee log_test [...] -This runs for [[5 h 43 min|performance#measure]] on kepler.SCHWINGE and [[12 h -36 min|performance#measure]] on laplace.SCHWINGE. +This runs for [[6 h 12 min|performance#measure]] on kepler.SCHWINGE and [[13 h +34 min|performance#measure]] on laplace.SCHWINGE. ## Analysis @@ -1447,9 +1449,6 @@ This runs for [[5 h 43 min|performance#measure]] on kepler.SCHWINGE and [[12 h 2015-11-03 - With work-in-progress [[Ada (GNAT)|gnat]] support (but that's not relevant - here). - splitting /home/thomas/tmp/gcc/hurd/master.build/gcc/testsuite/ada/acats/tests/cb/cb1010a.ada into: cb1010a.adb BUILD cb1010a.adb diff --git a/open_issues/gnat.mdwn b/open_issues/gnat.mdwn index 1ab0866f..9c255ed5 100644 --- a/open_issues/gnat.mdwn +++ b/open_issues/gnat.mdwn @@ -125,6 +125,82 @@ GCC trunk r234252. Still incomplete? (Changes to generic files?) +### 2016-12-14 + +Based on commit 17f0f5acdcfb9181203ca9b6d8f8cbc64e5ce843, [[tschwinge]] tried +to build with `--enable-languages=all,ada`, but both with `--disable-bootstrap` +and `--enable-bootstrap` we run into: + + [...] + make[3]: Entering directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc/ada/tools' + ../../gnatbind -I- -I../rts -I. -I/home/thomas/tmp/gcc/hurd/master/gcc/ada -o b_gnatm.adb gnatmake.ali + error: "system.ads" has restriction No_Implicit_Dynamic_Code + error: but the following files violate this restriction: + error: "make.adb" + error: "makeutl.adb" + error: "prj.adb" + error: "prj-env.adb" + error: "prj-conf.adb" + error: "prj-nmsc.adb" + ../gcc-interface/Makefile:2987: recipe for target 'b_gnatm.adb' failed + make[3]: *** [b_gnatm.adb] Error 5 + make[3]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc/ada/tools' + Makefile:194: recipe for target 'gnattools-native' failed + make[2]: *** [gnattools-native] Error 2 + make[2]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gnattools' + Makefile:9650: recipe for target 'all-gnattools' failed + make[1]: *** [all-gnattools] Error 2 + make[1]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build' + Makefile:895: recipe for target 'all' failed + make: *** [all] Error 2 + +(Partial) review of differences: + +`gcc/ada/gcc-interface/Makefile.in`, Linux vs. Hurd + + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads<a-intnam-linux.ads vs. a-intnam.ads<a-intnam-freebsd.ads + a-synbar.adb<a-synbar-posix.adb vs. nil + a-synbar.ads<a-synbar-posix.ads vs. nil + s-inmaop.adb<s-inmaop-posix.adb + s-intman.adb<s-intman-posix.adb + s-tpopsp.adb<s-tpopsp-tls.adb vs. s-tpopsp.adb<s-tpopsp-posix-foreign.adb + g-sercom.adb<g-sercom-linux.adb vs. nil + a-exetim.adb<a-exetim-posix.adb vs. nil + a-exetim.ads<a-exetim-default.ads vs. nil + s-linux.ads<s-linux.ads vs. nil + s-osinte.adb<s-osinte-posix.adb vs. s-osinte.adb<s-osinte-gnu.adb + $(ATOMICS_TARGET_PAIRS) + system.ads<system-linux-x86.ads vs. system.ads<system-freebsd-x86.ads + $(X86_TARGET_PAIRS) + s-mudido.adb<s-mudido-affinity.adb vs. nil + s-osinte.ads<s-osinte-linux.ads vs. s-osinte.ads<s-osinte-gnu.ads + s-osprim.adb<s-osprim-posix.adb + s-taprop.adb<s-taprop-linux.adb vs. s-taprop.adb<s-taprop-posix.adb + s-tasinf.ads<s-tasinf-linux.ads vs. nil + s-tasinf.adb<s-tasinf-linux.adb vs. nil + s-taspri.ads<s-taspri-posix.ads + + EH_MECHANISM=-gcc + THREADSLIB = -lpthread -lrt vs. THREADSLIB = -lpthread + EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o + EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o vs. nil + + TOOLS_TARGET_PAIRS = \ + mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb + indepsw.adb<indepsw-gnu.adb + + GNATLIB_SHARED = gnatlib-shared-dual + MISCLIB = -ldl vs. nil + GMEM_LIB = gmemlib + LIBRARY_VERSION := $(LIB_VERSION) + + TOOLS1_LIBS=-ldl vs. nil + +Eventually [[tschwinge]] found <http://gcc.gnu.org/PR57188>, and similarly +fixed the issue. + + ## `getcontext`/`makecontext`/`setcontext`/`swapcontext` usage analysis In context of [[glibc/t/tls-threadvar]]. Looking at GCC trunk commit diff --git a/toolchain/logs b/toolchain/logs -Subproject 1532082e156ed4229d8f7002b733deddb7da34a +Subproject b9d5ce62343d50df7800d02ae97790ea9e530bd |