summaryrefslogtreecommitdiff
path: root/open_issues/gcc.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2010-12-10 12:19:51 +0100
committerThomas Schwinge <thomas@schwinge.name>2010-12-10 12:19:51 +0100
commit49657ebaef939b56a58b226ac1635165c9346dc4 (patch)
treed7a8c3417eadc0824e89bed981f13aeebafdb7fe /open_issues/gcc.mdwn
parentdc65d5dcbbaf72b84ec84cd0ce1a0bb24f960b73 (diff)
open_issues/gcc/testsuite: Integrate into open_issues/gcc.
Diffstat (limited to 'open_issues/gcc.mdwn')
-rw-r--r--open_issues/gcc.mdwn178
1 files changed, 174 insertions, 4 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index 01997128..b5f35d44 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -17,6 +17,8 @@ Apart from the target-specific configuration machinery, there shouldn't be any
major differences within GCC between the GNU/Hurd and GNU/Linux ports, for
example. Especially all the compiler magic is all the same.
+[[!toc levels=2]]
+
# [[General information|/gcc]]
@@ -44,7 +46,7 @@ On 2010-11-17,
[[tschwinge]] reviewed the Debian GCC Boehm GC changes, compared them to the
upstream code, and put it into the local *hurd/boehm-gc/config_backport*
branch, planning to submit it to gcc-patches after testing with the GCC
-[[testsuite]].
+testsuite.
# Configuration
@@ -118,9 +120,6 @@ Last reviewed up to the [[Git mirror's 3457702eb6f8ee22acaee881dc7f783c3aa2fa91
[[IFUNC]]
-# [[Testsuite]]
-
-
# TODO
Debian's GCC package has Hurd-specific patches. Some have been forwarded
@@ -138,3 +137,174 @@ getting them integrated.
* [Tool chain configuration: GNU/\* sharing stuff with
GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html)
+
+
+# Build
+
+Here's a log of a GCC build run; this is from our [[Git repository's
+5ac39af7792ba0dc363cc199060faf53dfa9dc1a (2010-12-08)
+sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber.
+
+ $ export LC_ALL=C
+ $ ../master/configure --prefix="$PWD".install 2>&1 | tee log_build
+ [...]
+ $ make SHELL=/bin/bash 2>&1 | tee log_build_
+ [...]
+
+(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus
+harmonized.)
+
+On grubber, this needs roughly 24 hours, and takes up around 2.5 GiB.
+
+ $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && cat hurd/master.build/log_build* | sed -e "s%${PWD}%[...]%g"' | sed -f open_issues/gcc/log_build-linux.sed) <(ssh grubber 'cd tmp/gcc/ && cat hurd/master.build/log_build* | sed "s%${PWD}%[...]%g"' | sed -f open_issues/gcc/log_build-hurd.sed) > open_issues/gcc/log_build-diff
+
+[[log_build-diff]].
+
+
+## Analysis
+
+ * [[`checking if gcc static flag -static
+ works... no`|glibc_madvise_vs_static_linking]]
+
+ * DFP
+
+ +configure: WARNING: decimal float is not supported for this target, ignored
+
+ ... and later on:
+
+ -checking for decimal floating point... bid
+ +checking for decimal floating point... configure: WARNING: decimal float is not supported for this target, ignored
+ +dpd
+
+ ... and later on:
+
+ -checking whether decimal floating point is supported... yes
+ +checking whether decimal floating point is supported... no
+ +configure: WARNING: decimal float is not supported for this target, ignored
+
+ * `host-linux.c` vs. `host-default.c`
+
+ * *fixincludes* stuff
+
+ * malloc?
+
+ -cat ../../hurd/gcc/config/i386/pmm_malloc.h > mm_malloc.h
+ +cat ../../hurd/gcc/config/i386/gmm_malloc.h > mm_malloc.h
+
+ * *libgomp*
+
+ * `libgomp/config/linux/`, `libgomp/config/linux/x86`
+
+ * `-ftls-model=initial-exec -march=i486 -mtune=i686`
+
+ * `-static` vs. `dlopen`
+
+ -checking whether a statically linked program can dlopen itself... no
+ +checking whether a statically linked program can dlopen itself... yes
+
+ * ISO/IEC TR 24733
+
+ -checking for ISO/IEC TR 24733 ... yes
+ +checking for ISO/IEC TR 24733 ... no
+
+ * `basic_file.cc`
+
+ +basic_file.cc: In member function 'std::streamsize std::__basic_file<char>::showmanyc()':
+ +basic_file.cc:344:33: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
+
+ * `libtool: link: ar rc .libs/libstdc++.a [...]`
+
+ Just different order of object files, or another problem?
+
+ * `gcc/gthr-posix.h`
+
+ +In file included from ../.././gcc/gthr-default.h:1:0,
+ + from [...]/hurd/libobjc/../gcc/gthr.h:162,
+ + from [...]/hurd/libobjc/thr.c:43:
+ +[...]/hurd/libobjc/../gcc/gthr-posix.h: In function '__gthread_objc_thread_set_priority':
+ +[...]/hurd/libobjc/../gcc/gthr-posix.h:384:41: warning: unused parameter 'priority' [-Wunused-parameter]
+
+ * `java-signal.h`, `java-signal-aux.h`
+
+ -config.status: linking ../../../hurd/libjava/include/i386-signal.h to include/java-signal.h
+ -config.status: linking ../../../hurd/libjava/include/i386-signal.h to include/java-signal-aux.h
+ +config.status: linking ../../../hurd/libjava/include/default-signal.h to include/java-signal.h
+ +config.status: linking ../../../hurd/libjava/include/default-signal.h to include/java-signal-aux.h
+
+ * `jni_md.h`
+
+ -checking jni_md.h support... yes
+ +checking jni_md.h support... configure: WARNING: no
+
+ * *default library search path*
+
+ -checking for the default library search path... /lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib
+ +checking for the default library search path... /lib /usr/lib
+
+ * `./classpath/[...]/*.properties`
+
+ Just different order of files, or another problem?
+
+ * `libjava/gnu/gcj/util/natGCInfo.cc`
+
+ +../../../hurd/libjava/gnu/gcj/util/natGCInfo.cc:440:1: warning: unused parameter 'name' [-Wunused-parameter]
+ +../../../hurd/libjava/gnu/gcj/util/natGCInfo.cc:446:1: warning: unused parameter 'name' [-Wunused-parameter]
+ +../../../hurd/libjava/gnu/gcj/util/natGCInfo.cc:452:1: warning: unused parameter 'name' [-Wunused-parameter]
+
+ * `gnu/java/net/natPlainSocketImpl.cc`
+
+ +gnu/java/net/natPlainSocketImpl.cc: In member function 'virtual jint gnu::java::net::PlainSocketImpl::available()':
+ +gnu/java/net/natPlainSocketImpl.cc:515:27: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
+
+ * `gnu/java/nio/channels/natFileChannelImpl.cc`
+
+ +gnu/java/nio/channels/natFileChannelImpl.cc: In member function 'jint gnu::java::nio::channels::FileChannelImpl::available()':
+ +gnu/java/nio/channels/natFileChannelImpl.cc:388:20: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
+
+ * `libgcj.la`, `.libs/libgcj.a`
+
+ Just different order of object files, or another problem?
+
+ Is there a pattern that GNU/Hurd hands out the files alphabetically sorted
+ where it wouldn't need to ([[!taglink open_issue_hurd]])?
+
+ Why does the GNU Hurd's `lib_build_` repeatedly contain a long series
+ (several KiB) of NUL (0) characters after the 5319th column in the
+ `/bin/bash ./libtool --tag=CXX --mode=link [...] -o libgcj.la [...]`
+ command line? Is that only in the log?
+
+ * `libjvm.la`, `.libs/libjvm.so`, `libgij.la`, `.libs/libgij.so.12.0.0`
+
+ `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions`
+
+
+# Install
+
+ $ make SHELL=/bin/bash install 2>&1 | tee log_install
+ [...]
+
+(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus
+harmonized.)
+
+On grubber, this needs roughly 15 minutes, and takes up around 0.7 GiB.
+
+ $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && cat hurd/master.build/log_install | sed -e "s%${PWD}%[...]%g" -e "s%i686-pc-linux-gnu%[ARCH]%g"') <(ssh grubber 'cd tmp/gcc/ && cat hurd/master.build/log_install | sed -e "s%${PWD}%[...]%g" -e "s%i686-unknown-gnu0\.3%[ARCH]%g"') > open_issues/gcc/log_install-diff
+
+[[log_install-diff]].
+
+
+## Analysis
+
+ * `libtool: finish`: `ldconfig` is not run for the Hurd.
+
+ * `libjvm.la`, `.libs/libjvm.so`, `libgij.la`, `.libs/libgij.so.12.0.0`
+
+ `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions` (as above)
+
+
+# Testsuite
+
+<http://gcc.gnu.org/install/test.html>
+
+ $ make SHELL=/bin/bash -k check 2>&1 | tee log_check
+ [...]