summaryrefslogtreecommitdiff
path: root/open_issues
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2016-12-16 11:25:29 +0100
committerThomas Schwinge <thomas@codesourcery.com>2016-12-16 11:25:29 +0100
commitd73088ebf0d8fd9f8acba75763faecd3685d8986 (patch)
treebe979bd7abc57316d4ea9056ed27074f552ace66 /open_issues
parent5c97e1e835712fccbfe793a4508490c589909513 (diff)
gcc: Enable Ada testing
Diffstat (limited to 'open_issues')
-rw-r--r--open_issues/gcc.mdwn23
-rw-r--r--open_issues/gnat.mdwn76
2 files changed, 87 insertions, 12 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index 3627179..194a401 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 1ab0866..9c255ed 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