diff options
Diffstat (limited to 'open_issues')
-rw-r--r-- | open_issues/boehm_gc.mdwn | 2 | ||||
-rw-r--r-- | open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn | 2 | ||||
-rw-r--r-- | open_issues/gcc.mdwn | 178 | ||||
-rw-r--r-- | open_issues/gcc/log_build-diff (renamed from open_issues/gcc/testsuite/log_build-diff) | 0 | ||||
-rw-r--r-- | open_issues/gcc/log_build-hurd.sed (renamed from open_issues/gcc/testsuite/log_build-hurd.sed) | 0 | ||||
-rw-r--r-- | open_issues/gcc/log_build-linux.sed (renamed from open_issues/gcc/testsuite/log_build-linux.sed) | 0 | ||||
-rw-r--r-- | open_issues/gcc/log_install-diff (renamed from open_issues/gcc/testsuite/log_install-diff) | 0 | ||||
-rw-r--r-- | open_issues/gcc/testsuite.mdwn | 182 | ||||
-rw-r--r-- | open_issues/unit_testing.mdwn | 2 |
9 files changed, 177 insertions, 189 deletions
diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 34cc2ee0..c215d501 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -272,7 +272,7 @@ It has last been run and compared on 2010-11-10, based on CVS HEAD sources from # TODO - * Port stuff to [[/GCC]] / [[test it there|gcc/testsuite]]. + * Port stuff to [[GCC]], and test it there. * What are other applications to test Boehm GC? Also especially in combination with [[/libpthread]] and dynamic loading of shared libraries? diff --git a/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn b/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn index 2bd0cd38..ab3ba98b 100644 --- a/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn +++ b/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn @@ -10,7 +10,7 @@ License|/fdl]]."]]"""]] [[!meta title="fork: mach_port_mod_refs: EKERN_UREFS_OWERFLOW"]] -In the [[GCC testsuite|gcc/testsuite]], at this point: +In the [[GCC testsuite|gcc]], at this point: Running /home/tschwinge/tmp/gcc/hurd/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ... 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 + [...] diff --git a/open_issues/gcc/testsuite/log_build-diff b/open_issues/gcc/log_build-diff index 777011a3..777011a3 100644 --- a/open_issues/gcc/testsuite/log_build-diff +++ b/open_issues/gcc/log_build-diff diff --git a/open_issues/gcc/testsuite/log_build-hurd.sed b/open_issues/gcc/log_build-hurd.sed index 26da4f7e..26da4f7e 100644 --- a/open_issues/gcc/testsuite/log_build-hurd.sed +++ b/open_issues/gcc/log_build-hurd.sed diff --git a/open_issues/gcc/testsuite/log_build-linux.sed b/open_issues/gcc/log_build-linux.sed index f9b412ef..f9b412ef 100644 --- a/open_issues/gcc/testsuite/log_build-linux.sed +++ b/open_issues/gcc/log_build-linux.sed diff --git a/open_issues/gcc/testsuite/log_install-diff b/open_issues/gcc/log_install-diff index 0cccbf4d..0cccbf4d 100644 --- a/open_issues/gcc/testsuite/log_install-diff +++ b/open_issues/gcc/log_install-diff diff --git a/open_issues/gcc/testsuite.mdwn b/open_issues/gcc/testsuite.mdwn deleted file mode 100644 index 3bb1fe3d..00000000 --- a/open_issues/gcc/testsuite.mdwn +++ /dev/null @@ -1,182 +0,0 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_gcc]] - - -# 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/testsuite/log_build-linux.sed) <(ssh grubber 'cd tmp/gcc/ && cat hurd/master.build/log_build* | sed "s%${PWD}%[...]%g"' | sed -f open_issues/gcc/testsuite/log_build-hurd.sed) > open_issues/gcc/testsuite/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/testsuite/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 - [...] diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn index d50f5f6d..66a61b8a 100644 --- a/open_issues/unit_testing.mdwn +++ b/open_issues/unit_testing.mdwn @@ -18,7 +18,7 @@ abandoned). * [DejaGnu](http://www.gnu.org/software/dejagnu/) / [Expect](http://expect.nist.gov/) - * used by the [[GCC testsuite|gcc/testsuite]], [[GDB_testsuite]], + * used by the [[GCC testsuite|gcc]], [[GDB_testsuite]], [[binutils testsuite|binutils/testsuite]], etc. * The [[glibc_testsuite]] has a home-grown system (Makefile-based), likewise |