From 80dd7372b236a7f4d9ea2e47f5760fde9bbc93b9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 May 2012 00:49:00 +0200 Subject: open_issues/settrans_directory_symlink: New. --- hurd/translator/short-circuiting.mdwn | 8 +++-- open_issues/settrans_directory_symlink.mdwn | 52 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 open_issues/settrans_directory_symlink.mdwn diff --git a/hurd/translator/short-circuiting.mdwn b/hurd/translator/short-circuiting.mdwn index 9de9f7b8..6f608fb2 100644 --- a/hurd/translator/short-circuiting.mdwn +++ b/hurd/translator/short-circuiting.mdwn @@ -1,12 +1,12 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2012 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]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] In traditional [[Unix]], file systems contain special files. These are: symbolic links, character devices, block devices, named pipes, and @@ -60,6 +60,8 @@ To make sure that you use one of these translators, there by bypassing the short-circuiting mechanism, you can either start it as an active translator, or use a different path from the one in `hurd/path.h`, e.g. `settrans bar /hurd/./symlink foo`. +There is also a `FS_TRANS_FORCE` flag defined for the `file_set_translator` +RPCs, but it currently isn't set from anywhere. The best example of how short-circuiting is implemented can be found in [[`libdiskfs`|libdiskfs]]. Notice how it detects if a translator to store diff --git a/open_issues/settrans_directory_symlink.mdwn b/open_issues/settrans_directory_symlink.mdwn new file mode 100644 index 00000000..86148a52 --- /dev/null +++ b/open_issues/settrans_directory_symlink.mdwn @@ -0,0 +1,52 @@ +[[!meta copyright="Copyright © 2012 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_hurd]] + +This works: + + $ touch a && settrans a /hurd/symlink b + +This doesn't: + + $ mkdir a && settrans a /hurd/symlink b + settrans: a: Is a directory + +It's the same `file_set_translator` RPC both times, and it's [[translator +short-circuiting|hurd/translator/short-circuiting]] which makes the latter one +fail: + +`libdiskfs/file-set-trans.c`: + + [...] + /* Set passive translator */ + if (passive_flags & FS_TRANS_SET) + { + if (!(passive_flags & FS_TRANS_FORCE)) + { + /* Handle the short-circuited translators */ + mode_t newmode = 0; + + if (diskfs_shortcut_symlink && !strcmp (passive, _HURD_SYMLINK)) + newmode = S_IFLNK; + [...] + + if (newmode) + { + if (S_ISDIR (np->dn_stat.st_mode)) + { + /* We can't allow this, because if the mode of the directory + changes, the links will be lost. Perhaps it might be + allowed for empty directories, but that's too much of a + pain. */ + mutex_unlock (&np->lock); + return EISDIR; + } + [...] -- cgit v1.2.3 From 6eba644f667dd13bd9c83bd957166b4234d0bebc Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 May 2012 23:51:41 +0200 Subject: open_issues/gcc: 9cfe8751c08b60037c3f36d6d86d164c45fc8ec6 (2011-10-23) --- open_issues/gcc.mdwn | 84 ++++++++++++++++++++++++++++++++++++++++++++-------- toolchain/logs | 2 +- 2 files changed, 73 insertions(+), 13 deletions(-) diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index da4b9345..3d7c67fd 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -76,12 +76,12 @@ testsuite. git checkout reviewed git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..upstream/master -i -/^commit |^---$|hurd|linux +/^commit |^---$|hurd|linux|nptl|glibc --> -Last reviewed up to the [[Git mirror's 9aa4b6a8046270a9dbdf47827f1ea873217d7aa5 -(2011-11-28) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's 4b1da543a2212d4b442c4b83b5233469032003d1 +(2012-04-11) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -100,7 +100,7 @@ Last reviewed up to the [[Git mirror's 9aa4b6a8046270a9dbdf47827f1ea873217d7aa5 * `libstdc++-v3/config/os/gnu-linux/*` Is used for all GNU systems, as per `libstdc++-v3/configure.host`. - Should rename to `gnu` to reflect this? + Should rename to `gnu-user` to reflect this? * `gcc/acinclude.m4`:`gcc_GAS_FLAGS`: always pass `--32` to assembler for x86 Linux. (Why?) @@ -250,11 +250,21 @@ Last reviewed up to the [[Git mirror's 9aa4b6a8046270a9dbdf47827f1ea873217d7aa5 * f29a2041f32773464e226a83f41762c2e9cf658e (e53a96c2136f7cdff4699475fea41afeed9dece3) + * [high] 3efc00f6f17778172d3fa7ac737fa1473b3b4d5a, `Check __GLIBC__ when + using __SIGRTMIN`. GCC PR52390. Fixed by + 8d2259c83f94c082ad8a00b5d00bb639ce24efce. + + * 15ac1e637ad0cb92bf7629205c617ea847a4b810 `Build 64-bit libffi multilib for + i?86-linux`. + + * `libstdc++`: uses `_GLIBCXX_HAVE_TLS`, but where is this defined? Supposed + to come from `config/tls.m4:GCC_CHECK_TLS`? + # Build Here's a log of a GCC build run; this is from our [[Git repository's -74a56c71c55f667824eb2ef1d62d408e9c000d5e (2011-10-23) +9cfe8751c08b60037c3f36d6d86d164c45fc8ec6 (2011-10-23) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -267,8 +277,14 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 2.9 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and -13.25 h on coulomb.SCHWINGE. +This takes up around 3.1 GiB, and needs roughly 2.5 h on kepler.SCHWINGE and 12 +h on coulomb.SCHWINGE. + + ## Analysis @@ -334,8 +350,12 @@ This takes up around 2.9 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and * `libgomp/config/linux/`, `libgomp/config/linux/x86` + `sed`ed away. + * `-ftls-model=initial-exec -march=i486 -mtune=i686` + `sed`ed away. + * Missing `EOWNERDEAD`, `ENOTRECOVERABLE`. What're they used for? * `RLIMIT_VMEM`. Usage kosher? @@ -421,6 +441,36 @@ This takes up around 2.9 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions` + * The following warnings probably appeared when adding `t/debian-multiarch`: + + gawk -f ../../master/gcc/opt-functions.awk -f ../../master/gcc/opt-read.awk \ + -f ../../master/gcc/optc-gen.awk \ + -v header_name="config.h system.h coretypes.h tm.h" < optionlist > options.c + +warning: multiple different help strings for I: + + -I . Add to the end of the main source path + + -I Add to the end of the main include path + +warning: multiple different help strings for nostdinc: + + Do not look for source files in standard path + + Do not search standard system include directories (those specified with -isystem will still be used) + + * `jar` + + make[2]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava' + -: make ; exec make "AR_FLAGS=rc" [...] "RANLIB=ranlib" "DESTDIR=" "JAR=[...]/hurd/master.build/[ARCH]/libjava/scripts/jar" DO=all multi-do + +: make ; exec make "AR_FLAGS=rc" [...] "RANLIB=ranlib" "DESTDIR=" "JAR=jar" DO=all multi-do + + Probably because kepler.SCHWINGE has an OpenJDK `/usr/bin/jar`, and + coulomb.SCHWINGE a GCJ one. + + There are other instances of this in the following. + + * *default library search path* + + -checking for the default library search path... /lib /usr/lib /lib/[MULTIARCH] /usr/lib/[MULTIARCH] /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib /lib64 /usr/lib64 + +checking for the default library search path... /lib /usr/lib + + Should be aligned by Samuel's binutils patch. + # Install @@ -445,6 +495,17 @@ min on coulomb.SCHWINGE. `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions` (as above) + * `value-unwind.h` + + /usr/bin/install -c -m 644 ../../master/gcc/../libcpp/include/symtab.h [...]/hurd/master.build.install/lib/gcc/[ARCH]/4.7.0/plugin/include/symtab.h + -/usr/bin/install -c -m 644 ../../master/gcc/../libgcc/config/i386/value-unwind.h [...]/hurd/master.build.install/lib/gcc/[ARCH]/4.7.0/plugin/include/value-unwind.h + /usr/bin/install -c -m 644 ../../master/gcc/ada/gcc-interface/ada-tree.def [...]/hurd/master.build.install/lib/gcc/[ARCH]/4.7.0/plugin/include/ada/gcc-interface/ada-tree.def + + Comes from `gcc/config.gcc`: for `i[34567]86-*-linux*` + vs. `i[34567]86-*-*`, but apparently is important only for *x86_64* anyway. + + * `jar`: as above. + # Testsuite @@ -456,14 +517,13 @@ Testing on GNU/Hurd is blocked on TODO. Can use parallel testing, see [[!message-id "20110331070322.GI11563@sunsite.ms.mff.cuni.cz"]]. - $ make -k check 2>&1 | tee log_check + $ make -k check-gcc 2>&1 | tee log_check [...] -This needs roughly TODO min on kepler.SCHWINGE and TODO min on -coulomb.SCHWINGE. +This needs roughly 3.75 h on kepler.SCHWINGE and 24 h on coulomb.SCHWINGE. - $ ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && cat hurd/master.build/TODO | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/linux/sum - $ ssh coulomb.SCHWINGE 'cd tmp/gcc/ && cat hurd/master.build/TODO | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/hurd/sum + $ ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && cat hurd/master.build/*/*/*/*.sum | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/linux/sum + $ ssh coulomb.SCHWINGE 'cd tmp/gcc/ && cat hurd/master.build/*/*/*/*.sum | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/hurd/sum $ diff -u -F ^Running toolchain/logs/gcc/linux/sum toolchain/logs/gcc/hurd/sum > toolchain/logs/gcc/sum.diff diff --git a/toolchain/logs b/toolchain/logs index 2910b7c5..bac552c9 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 2910b7c5b1d55bc304344b584a25ea571a9075fb +Subproject commit bac552c916d58616ff52e7936b952cb54426ba33 -- cgit v1.2.3 From 564c708753d039da7a32e9a8b3f9cb25e64b4896 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 27 May 2012 01:59:24 +0200 Subject: open_issues/gcc: 7cb1b00f391f1e7a0ca6803e44ffd42b154c8837 (2011-11-28) --- open_issues/gcc.mdwn | 48 ++++++++++++++++++++++++++++-------------------- toolchain/logs | 2 +- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 3d7c67fd..1da1c931 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -80,8 +80,8 @@ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..upstream --> -Last reviewed up to the [[Git mirror's 4b1da543a2212d4b442c4b83b5233469032003d1 -(2012-04-11) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's 43e94e511c3a4b789ffc0a2e3ec0f93a0a12471c +(2012-05-08) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -260,11 +260,20 @@ Last reviewed up to the [[Git mirror's 4b1da543a2212d4b442c4b83b5233469032003d1 * `libstdc++`: uses `_GLIBCXX_HAVE_TLS`, but where is this defined? Supposed to come from `config/tls.m4:GCC_CHECK_TLS`? + * `config/i386/gnu-user-common.h`, 83dd7eef425bbcd24ee50e11febbc8b42ac35b34, + ba10293157ce3b9b163e56585b26d2f27d8141a2. Looks good. + + * `libatomic`, 6db1d2ca83f9327020b75f6c1610649bb18e71db, + b322ad8985bc0c63c59239ce43c42877cd9a38fa, + a4423e56426eace7b48beafeb459443609f32008, + 4f76c3cf3138bb5779832d5aae740fe8ecf5084d, + a315a02b2884261410f51f3164987d9b1a034e49. Should be fine. + # Build Here's a log of a GCC build run; this is from our [[Git repository's -9cfe8751c08b60037c3f36d6d86d164c45fc8ec6 (2011-10-23) +7cb1b00f391f1e7a0ca6803e44ffd42b154c8837 (2011-11-28) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -277,8 +286,8 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 3.1 GiB, and needs roughly 2.5 h on kepler.SCHWINGE and 12 -h on coulomb.SCHWINGE. +This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and +12.25 h on coulomb.SCHWINGE. -Last reviewed up to the [[Git mirror's 43e94e511c3a4b789ffc0a2e3ec0f93a0a12471c -(2012-05-08) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's 8b64dc3c58b54d07156c99a24576be76e8cbdc10 +(2012-05-28) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -267,13 +267,14 @@ Last reviewed up to the [[Git mirror's 43e94e511c3a4b789ffc0a2e3ec0f93a0a12471c b322ad8985bc0c63c59239ce43c42877cd9a38fa, a4423e56426eace7b48beafeb459443609f32008, 4f76c3cf3138bb5779832d5aae740fe8ecf5084d, - a315a02b2884261410f51f3164987d9b1a034e49. Should be fine. + a315a02b2884261410f51f3164987d9b1a034e49, + f699ded52dc857cd331698e7244513dc02ab08a3. Should be fine. # Build Here's a log of a GCC build run; this is from our [[Git repository's -7cb1b00f391f1e7a0ca6803e44ffd42b154c8837 (2011-11-28) +c211f16c8e45869c00730a949b1d22da95ab5b3a (2012-05-20; 2012-03-02) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -488,6 +489,17 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and Comes from `gcc/config.gcc`: for `i[34567]86-*-linux*` vs. `i[34567]86-*-*`, but apparently is important only for *x86_64* anyway. + * `soft-fp` prototypes + + ../../../master/libgcc/soft-fp/eqtf2.c:34:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes] + +../../../master/libgcc/soft-fp/eqtf2.c:50:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes] + + ../../../master/libgcc/soft-fp/getf2.c:34:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes] + +../../../master/libgcc/soft-fp/getf2.c:50:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes] + + ../../../master/libgcc/soft-fp/letf2.c:34:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes] + +../../../master/libgcc/soft-fp/letf2.c:50:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes] + # Install @@ -530,13 +542,13 @@ TODO. Can use parallel testing, see [[!message-id This needs roughly 4.25 h on kepler.SCHWINGE and 38.5 h on coulomb.SCHWINGE. + +## Analysis + $ ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && cat hurd/master.build/*/*/*/*.sum | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/linux/sum $ ssh coulomb.SCHWINGE 'cd tmp/gcc/ && cat hurd/master.build/*/*/*/*.sum | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/gcc/hurd/sum $ diff -u -F ^Running toolchain/logs/gcc/linux/sum toolchain/logs/gcc/hurd/sum > toolchain/logs/gcc/sum.diff - -## Analysis - TODO. diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index 1ce47560..d70a5938 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -45,6 +45,11 @@ Last reviewed up to the [[Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14 hurdsig.c:1188:26: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized] hurdsig.c:1168:12: note: 'pending' was declared here + * `t/host-independency` + + `libc-alpha` discussion/commit. GCC + c05436a7e361b8040ee899266e15bea817212c37. + * `t/kernel-features.h_includes` Before running `tg update`, review for additional changes: diff --git a/toolchain/logs b/toolchain/logs index 58dfcdf8..e65eede3 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 58dfcdf8b7de2ab359425ab7ba9542b8e25b74ed +Subproject commit e65eede3393cfb10a8a83e86bdaf9c428f4c1a60 -- cgit v1.2.3 From 83db6a3f8aa71a422ed8e258a933e51f49157aed Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 29 May 2012 22:15:40 +0200 Subject: open_issues/gcc: b76fe3e04c1aea6bd923e6de4ced789e950230fe (2012-05-29) --- open_issues/gcc.mdwn | 40 +++++++--------------------------------- toolchain/logs | 2 +- 2 files changed, 8 insertions(+), 34 deletions(-) diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 5e81ce5f..7971c872 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -74,14 +74,14 @@ testsuite. -Last reviewed up to the [[Git mirror's 8b64dc3c58b54d07156c99a24576be76e8cbdc10 -(2012-05-28) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's 12c17795aa79c9b23f9565d7ca3b42ca6530f6c4 +(2012-05-29) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -274,7 +274,7 @@ Last reviewed up to the [[Git mirror's 8b64dc3c58b54d07156c99a24576be76e8cbdc10 # Build Here's a log of a GCC build run; this is from our [[Git repository's -c211f16c8e45869c00730a949b1d22da95ab5b3a (2012-05-20; 2012-03-02) +b76fe3e04c1aea6bd923e6de4ced789e950230fe (2012-05-29) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -370,11 +370,6 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and * `RLIMIT_VMEM`. Usage kosher? - * `basic_file.cc` - - +basic_file.cc: In member function 'std::streamsize std::__basic_file::showmanyc()': - +basic_file.cc:347: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? TODO @@ -427,18 +422,6 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and +../../../master/libjava/gnu/gcj/util/natGCInfo.cc:446:1: warning: unused parameter 'name' [-Wunused-parameter] +../../../master/libjava/gnu/gcj/util/natGCInfo.cc:452:1: warning: unused parameter 'name' [-Wunused-parameter] - * `gnu/java/net/natPlainSocketImpl.cc` - - libtool: compile: [...]/hurd/master.build/./gcc/xgcc [...] -c 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` - - libtool: compile: [...]/hurd/master.build/./gcc/xgcc [...] -c 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` Just different order of object files, or another problem? @@ -450,18 +433,6 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions` - * The following warnings probably appeared when adding `t/debian-multiarch`: - - gawk -f ../../master/gcc/opt-functions.awk -f ../../master/gcc/opt-read.awk \ - -f ../../master/gcc/optc-gen.awk \ - -v header_name="config.h system.h coretypes.h tm.h" < optionlist > options.c - +warning: multiple different help strings for I: - + -I . Add to the end of the main source path - + -I Add to the end of the main include path - +warning: multiple different help strings for nostdinc: - + Do not look for source files in standard path - + Do not search standard system include directories (those specified with -isystem will still be used) - * `jar` make[2]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava' @@ -500,6 +471,9 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and ../../../master/libgcc/soft-fp/letf2.c:34:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes] +../../../master/libgcc/soft-fp/letf2.c:50:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes] + * `libatomic` on GNU/Linux compiles several more files than on GNU/Hurd. Is + that correct? + # Install diff --git a/toolchain/logs b/toolchain/logs index e65eede3..04f72599 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit e65eede3393cfb10a8a83e86bdaf9c428f4c1a60 +Subproject commit 04f7259913d7fa8150438891392ca215640cc3d2 -- cgit v1.2.3 From d2bb663ad0a1c0fd6970a0de0f7cd8e5cf054a37 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 30 May 2012 22:52:14 +0200 Subject: hurd/libihash: Add libiberty's hashtab.c. --- hurd/libihash.mdwn | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hurd/libihash.mdwn b/hurd/libihash.mdwn index 03ebae82..d6b8e8b6 100644 --- a/hurd/libihash.mdwn +++ b/hurd/libihash.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009, 2010, 2011 Free Software Foundation, +[[!meta copyright="Copyright © 2009, 2010, 2011, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -6,8 +6,8 @@ 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]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] @@ -48,6 +48,8 @@ is included in the section entitled * libstdc++: `unordered_map`, `tr1/unordered_map`, `ext/hash_map` + * libiberty: `hashtab.c` + * * -- cgit v1.2.3 From f8b74a459589812defcc298a5093cfc18670f503 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 6 Jun 2012 12:09:09 +0200 Subject: open_issues/gcc: 48cd7aa43934e2bc5cf582e92ebd5cce93effe88 (2012-05-29) --- open_issues/gcc.mdwn | 28 ++++++++++------------------ toolchain/logs | 2 +- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 7971c872..59b3570b 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -250,6 +250,8 @@ Last reviewed up to the [[Git mirror's 12c17795aa79c9b23f9565d7ca3b42ca6530f6c4 * f29a2041f32773464e226a83f41762c2e9cf658e (e53a96c2136f7cdff4699475fea41afeed9dece3) + Testresults same as for GNU/Linux. + * [high] 3efc00f6f17778172d3fa7ac737fa1473b3b4d5a, `Check __GLIBC__ when using __SIGRTMIN`. GCC PR52390. Fixed by 8d2259c83f94c082ad8a00b5d00bb639ce24efce. @@ -260,26 +262,16 @@ Last reviewed up to the [[Git mirror's 12c17795aa79c9b23f9565d7ca3b42ca6530f6c4 * `libstdc++`: uses `_GLIBCXX_HAVE_TLS`, but where is this defined? Supposed to come from `config/tls.m4:GCC_CHECK_TLS`? - * `config/i386/gnu-user-common.h`, 83dd7eef425bbcd24ee50e11febbc8b42ac35b34, - ba10293157ce3b9b163e56585b26d2f27d8141a2. Looks good. - - * `libatomic`, 6db1d2ca83f9327020b75f6c1610649bb18e71db, - b322ad8985bc0c63c59239ce43c42877cd9a38fa, - a4423e56426eace7b48beafeb459443609f32008, - 4f76c3cf3138bb5779832d5aae740fe8ecf5084d, - a315a02b2884261410f51f3164987d9b1a034e49, - f699ded52dc857cd331698e7244513dc02ab08a3. Should be fine. - # Build Here's a log of a GCC build run; this is from our [[Git repository's -b76fe3e04c1aea6bd923e6de4ced789e950230fe (2012-05-29) +48cd7aa43934e2bc5cf582e92ebd5cce93effe88 (2012-05-29) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && contrib/gcc_update --touch) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --enable-build-with-cxx 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -287,12 +279,12 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and -12.25 h on coulomb.SCHWINGE. +This takes up around 2.6 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and +12.75 h on coulomb.SCHWINGE. @@ -472,7 +464,7 @@ This takes up around 3.2 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and +../../../master/libgcc/soft-fp/letf2.c:50:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes] * `libatomic` on GNU/Linux compiles several more files than on GNU/Hurd. Is - that correct? + that correct? Probably futex support. # Install @@ -511,10 +503,10 @@ Testing on GNU/Hurd is blocked on TODO. Can use parallel testing, see [[!message-id "20110331070322.GI11563@sunsite.ms.mff.cuni.cz"]]. - $ make -k check-gcc 2>&1 | tee log_check + $ make -k RUNTESTFLAGS=-v check 2>&1 | tee log_check [...] -This needs roughly 4.25 h on kepler.SCHWINGE and 38.5 h on coulomb.SCHWINGE. +This needs roughly 6.25 h on kepler.SCHWINGE and 50.25 h on coulomb.SCHWINGE. ## Analysis diff --git a/toolchain/logs b/toolchain/logs index 04f72599..8cc4758a 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 04f7259913d7fa8150438891392ca215640cc3d2 +Subproject commit 8cc4758a0bd068b43c2275e6fc401f302b59e30a -- cgit v1.2.3 From 771b908b6bd5f80894eb94137ff051e993945beb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 7 Jun 2012 12:22:44 +0200 Subject: open_issues/binutils: fd4e30c5155b436eb3e0334ca844e890c050b2a4 (2012-06-07; 2012-05-04) --- open_issues/binutils.mdwn | 23 +++++++++++++++++------ toolchain/logs | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 6be690d8..fe365322 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -35,19 +35,20 @@ though, as explained below. git checkout reviewed git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..sourceware/master -i -/^commit |^---$|hurd|linux +/^commit |^---$|hurd|linux|nacl --> -Last reviewed up to the [[Git mirror's 6de66ef60a39ab2cdacf801dae0110f36a76537c -(2012-02-15) sources|source_repositories/binutils]]. +Last reviewed up to the [[Git mirror's 71804f70c046aa674d243ac093ba83805d434cd3 +(2012-05-04) sources|source_repositories/binutils]]. * Globally - * a.out, COFF, PE image support and 64 bit support are not interesting. + * a.out (such as `ld/emulparams/i386linux.sh`, `ld/emultempl/linux.em`, + etc.), COFF, PE image support and 64-bit support are not interesting. * In the testsuites, `.exp` and `.d` files very likely should not only - care for `*-*-linux*`, but also `*-*-gnu*`. (If the need to be + care for `*-*-linux*`, but also `*-*-gnu*`. (If they need to be conditionalized like this at all.) * `bfd/` @@ -113,11 +114,15 @@ Last reviewed up to the [[Git mirror's 6de66ef60a39ab2cdacf801dae0110f36a76537c Compare to `i[3-7]86-*-linux-*`, but don't need a.out (`i386linux`) and 64 bit support. + * `nacl`, de662f7c24d628b652704a6fbad26c9e3e7e23e5, in + `binutils/testsuite/binutils-all/i386/i386.exp` removes `x86_64-*-linux*` + case? + # Build Here's a log of a binutils build run; this is from our [[Git repository's -f42a507c8b1e79cec0e755249e9fb5c2e012fe83 (2012-02-15) +fd4e30c5155b436eb3e0334ca844e890c050b2a4 (2012-06-07; 2012-05-04) sources|source_repositories/binutils]], run on kepler.SCHWINGE and coulomb.SCHWINGE. @@ -133,6 +138,12 @@ harmonized. This takes up around 120 MiB, and needs roughly 4 min on kepler.SCHWINGE and 15 min on coulomb.SCHWINGE. + + ## Analysis diff --git a/toolchain/logs b/toolchain/logs index 8cc4758a..a6e2d9ba 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 8cc4758a0bd068b43c2275e6fc401f302b59e30a +Subproject commit a6e2d9ba61db9df488a17d4ef2df327d9ad54bf9 -- cgit v1.2.3 From beecfd5440c11d8003ec96c55fc0a1830731082e Mon Sep 17 00:00:00 2001 From: mcsim Date: Fri, 8 Jun 2012 10:25:08 +0200 Subject: --- user/Maksym_Planeta.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index e31ee2b7..c2696632 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -11,6 +11,10 @@ License|/fdl]]."]]"""]] [[!toc]] #GSoC 2012 - Disk I/O Performance Tuning +8.06.12 + +Applied Neal's patch that reworks libpager, changed libdiskfs, tmpfs and ext2fs according to new interface. ext2fs isn't finished yet and should be reworked, but looks like I brought some bug to existing implementation and i want first to fix it and than finish rest of ext2fs. Also I pushed some code changes to hurd git repository into my branch mplaneta/gsoc12/working. Now I start working on gnumach implementation of clustered page reading. After this I'm going to implement madvise, than finish ext2fs and start porting of other translators. + 14.05.12 First of all I'm going to do 2 programs. First will work as server, it will create an object and share it with second. Second will try to access to this object. This will cause page fault and kernel will refer to first program (server). This way I will be able to track how page faults are resolved and this will help me in debugging of readahead. IFR: server probably can use some of hurd's libraries, but it has to handle m_o_* RPC's on it's own. TODO: Find out how supply second program (client) with new object. NB: be sure that client will cause page fault, so that server always will be called (probably any caching should be disabled). -- cgit v1.2.3 From 8bdd6c4413e53b28fe0d5f2543300f7202d07cda Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Jun 2012 14:03:53 +0200 Subject: open_issues/binutils: e1104996559067c40207c803ab1a5847a4a05145 (2012-06-07) --- open_issues/binutils.mdwn | 6 +++--- toolchain/logs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index fe365322..fd043463 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -39,8 +39,8 @@ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..sourcewa --> -Last reviewed up to the [[Git mirror's 71804f70c046aa674d243ac093ba83805d434cd3 -(2012-05-04) sources|source_repositories/binutils]]. +Last reviewed up to the [[Git mirror's 125b1929a85d06c87fcfa6fd44d8ab973ea40083 +(2012-06-07) sources|source_repositories/binutils]]. * Globally @@ -122,7 +122,7 @@ Last reviewed up to the [[Git mirror's 71804f70c046aa674d243ac093ba83805d434cd3 # Build Here's a log of a binutils build run; this is from our [[Git repository's -fd4e30c5155b436eb3e0334ca844e890c050b2a4 (2012-06-07; 2012-05-04) +e1104996559067c40207c803ab1a5847a4a05145 (2012-06-07) sources|source_repositories/binutils]], run on kepler.SCHWINGE and coulomb.SCHWINGE. diff --git a/toolchain/logs b/toolchain/logs index a6e2d9ba..7dafd246 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit a6e2d9ba61db9df488a17d4ef2df327d9ad54bf9 +Subproject commit 7dafd2460c6dcbea3381b5395da2563fa1c0e877 -- cgit v1.2.3 From bedba1d0c9be090e2d54f195961f60d7b1ca9958 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Jun 2012 14:10:33 +0200 Subject: open_issues/binutils: Update. --- open_issues/binutils.mdwn | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index fd043463..8d6b3a94 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -39,8 +39,8 @@ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..sourcewa --> -Last reviewed up to the [[Git mirror's 125b1929a85d06c87fcfa6fd44d8ab973ea40083 -(2012-06-07) sources|source_repositories/binutils]]. +Last reviewed up to the [[Git mirror's dde164167b2db4c05d58b1941d610beb6d5ca99f +(2012-06-08) sources|source_repositories/binutils]]. * Globally @@ -114,10 +114,6 @@ Last reviewed up to the [[Git mirror's 125b1929a85d06c87fcfa6fd44d8ab973ea40083 Compare to `i[3-7]86-*-linux-*`, but don't need a.out (`i386linux`) and 64 bit support. - * `nacl`, de662f7c24d628b652704a6fbad26c9e3e7e23e5, in - `binutils/testsuite/binutils-all/i386/i386.exp` removes `x86_64-*-linux*` - case? - # Build -- cgit v1.2.3 From 3727b4e07b857911414513c74d359b7e39fd9f45 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Jun 2012 16:04:05 +0200 Subject: open_issues/boehm_gc: 2f68acaa38da8de98f66e677306b7645e83159ef (2010-11-04), cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) --- open_issues/boehm_gc.mdwn | 94 ++++++++++++++++++++++++++++++++++----- source_repositories.mdwn | 3 +- source_repositories/boehm_gc.mdwn | 22 --------- toolchain/logs | 2 +- 4 files changed, 84 insertions(+), 37 deletions(-) delete mode 100644 source_repositories/boehm_gc.mdwn diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 31359da3..127baef5 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -15,18 +15,26 @@ This one does need Hurd-specific configuration. It is, for example, used by [[/GCC]] (which has its own fork), so any changes committed upstream should very like also be made there. +[[!toc levels=2]] + # [[General information|/boehm_gc]] -# [[Sources|source_repositories/boehm_gc]] +# Configuration + + -[[tschwinge]] reviewed its GNU/Hurd port's configuration on 2010-12-08, based -on CVS HEAD sources from 2010-12-02, converted to [[Git, correspondingly -1c2455988a8f59a5f83b986b9156f03be395b3b6|source_repositories/boehm_gc]]. +Last reviewed up to the 2f68acaa38da8de98f66e677306b7645e83159ef (2010-11-04) +sources, and for `libatomic_ops` to the +cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources. * `configure.ac` @@ -254,18 +262,80 @@ on CVS HEAD sources from 2010-12-02, converted to [[Git, correspondingly Nothing. +# Build + +Here's a log of a binutils build run; this is from the +2f68acaa38da8de98f66e677306b7645e83159ef (2010-11-04) sources, and for +`libatomic_ops` for the cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) +sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. + + $ (cd master/ && ln -sfn ../libatomic_ops/master libatomic_ops) + + $ export LC_ALL=C + $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug 2>&1 | tee log_build + [...] + $ make 2>&1 | tee log_build_ + [...] + +Different hosts may default to different shells and compiler versions; thus +harmonized. Using bash instead of dash as otherwise libtool explodes. + +This takes up around X MiB, and needs roughly X min on kepler.SCHWINGE and +X min on coulomb.SCHWINGE. + + + +## Analysis + + $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_build* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_build + $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_build* | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_build + $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_build.sed < toolchain/logs/boehm-gc/linux/log_build) <(sed -f toolchain/logs/boehm-gc/hurd/log_build.sed < toolchain/logs/boehm-gc/hurd/log_build) > toolchain/logs/boehm-gc/log_build.diff + + * only GNU/Linux: `configure: WARNING: "Explicit GC_INIT() calls may be + required."` + + * only GNU/Linux: `configure: WARNING: "Client must not use + -fomit-frame-pointer."` + + +# Install + + $ make install 2>&1 | tee log_install + [...] + +This takes up around X MiB, and needs roughly X min on kepler.SCHWINGE and X +min on coulomb.SCHWINGE. + + +## Analysis + + $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_install | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_install + $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_install | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_install + $ diff -wu toolchain/logs/boehm-gc/linux/log_install toolchain/logs/boehm-gc/hurd/log_install > toolchain/logs/boehm-gc/log_install.diff + + # Testsuite -There are different configurations possible, but in general, the testsuite -restults of GNU/Linux and GNU/Hurd look very similar. + $ make -k check + [...] + +This needs roughly X min on kepler.SCHWINGE and X min on coulomb.SCHWINGE. -It has last been run and compared on 2010-11-10, based on CVS HEAD sources from -2010-11-04, converted to [[Git, correspondingly -9abb37b2e581b415bb1f482085891a289c2c0be1|source_repositories/boehm_gc]]. + $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_check + $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_check + $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_check.sed < toolchain/logs/boehm-gc/linux/log_check) <(sed -f toolchain/logs/boehm-gc/hurd/log_check.sed < toolchain/logs/boehm-gc/hurd/log_check) > toolchain/logs/boehm-gc/log_check.diff -## `--enable-cplusplus --enable-gc-debug` - * GNU/Hurd is missing *Call chain at allocation: [...] output*. +## Analysis + +There are different configurations possible, but in general, the testsuite +restults of GNU/Linux and GNU/Hurd look very similar. + + * GNU/Hurd is missing `Call chain at allocation: [...]` output. `os_dep.c`:`GC_print_callers` diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 9f2f2e71..cd478c70 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011 Free Software +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -245,7 +245,6 @@ really need to, you can clone it like this: ## List of Interesting Repositories * [[binutils]] - * [[Boehm_GC]] * [[GCC]] diff --git a/source_repositories/boehm_gc.mdwn b/source_repositories/boehm_gc.mdwn deleted file mode 100644 index 5fba0709..00000000 --- a/source_repositories/boehm_gc.mdwn +++ /dev/null @@ -1,22 +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]]."]]"""]] - -There is a repository for maintenance of [[/boehm_gc]] for the Hurd's needs: -`grubber:~tschwinge/tmp/boehm-gc/git`. - -This repository uses [[TopGit]] and is a `git cvsimport` of the SourceForge CVS -repository. - - git \ - cvsimport \ - -d :pserver:anonymous@bdwgc.cvs.sourceforge.net:/cvsroot/bdwgc \ - -r upstream \ - -k \ - bdwgc diff --git a/toolchain/logs b/toolchain/logs index 7dafd246..3ff5317f 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 7dafd2460c6dcbea3381b5395da2563fa1c0e877 +Subproject commit 3ff5317fab7254cf034a9ac09f2b2ed6df8db36e -- cgit v1.2.3 From dfd08d5ec8182a3451865c00aa058f7579c478d0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Jun 2012 17:53:34 +0200 Subject: open_issues/boehm_gc: 5f3d02837738332457ed15a63d868a16c6c352b0 (2011-05-03), cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) --- open_issues/boehm_gc.mdwn | 12 ++++++------ toolchain/logs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 127baef5..6eceb19d 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -28,11 +28,11 @@ committed upstream should very like also be made there. git checkout reviewed git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..upstream/master -i -/^commit |^---$ +/^commit |^---$|hurd|linux --> -Last reviewed up to the 2f68acaa38da8de98f66e677306b7645e83159ef (2010-11-04) +Last reviewed up to the 5f3d02837738332457ed15a63d868a16c6c352b0 (2011-05-03) sources, and for `libatomic_ops` to the cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources. @@ -265,7 +265,7 @@ cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources. # Build Here's a log of a binutils build run; this is from the -2f68acaa38da8de98f66e677306b7645e83159ef (2010-11-04) sources, and for +5f3d02837738332457ed15a63d868a16c6c352b0 (2011-05-03) sources, and for `libatomic_ops` for the cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. @@ -325,13 +325,13 @@ min on coulomb.SCHWINGE. This needs roughly X min on kepler.SCHWINGE and X min on coulomb.SCHWINGE. + +## Analysis + $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_check $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_check $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_check.sed < toolchain/logs/boehm-gc/linux/log_check) <(sed -f toolchain/logs/boehm-gc/hurd/log_check.sed < toolchain/logs/boehm-gc/hurd/log_check) > toolchain/logs/boehm-gc/log_check.diff - -## Analysis - There are different configurations possible, but in general, the testsuite restults of GNU/Linux and GNU/Hurd look very similar. diff --git a/toolchain/logs b/toolchain/logs index 3ff5317f..3d109c8a 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 3ff5317fab7254cf034a9ac09f2b2ed6df8db36e +Subproject commit 3d109c8a83fbe5c2be49fc56740999d33f890cd4 -- cgit v1.2.3 From 84360c57363b1806b92040a9677a513affa38885 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 9 Jun 2012 09:32:17 +0200 Subject: open_issues/boehm_gc: 1ba313acaaab10ebd20a0b648466786f2c1d9282 (2011-09-08), ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) --- open_issues/boehm_gc.mdwn | 35 +++++++++++++++++++++++++---------- toolchain/logs | 2 +- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 6eceb19d..bcaff67d 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -32,9 +32,9 @@ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..upstream --> -Last reviewed up to the 5f3d02837738332457ed15a63d868a16c6c352b0 (2011-05-03) +Last reviewed up to the 1ba313acaaab10ebd20a0b648466786f2c1d9282 (2011-09-08) sources, and for `libatomic_ops` to the -cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources. +ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) sources. * `configure.ac` @@ -265,14 +265,14 @@ cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) sources. # Build Here's a log of a binutils build run; this is from the -5f3d02837738332457ed15a63d868a16c6c352b0 (2011-05-03) sources, and for -`libatomic_ops` for the cc193eeac91851d94bcd01cf3058d947c80b28b2 (2010-09-15) +1ba313acaaab10ebd20a0b648466786f2c1d9282 (2011-09-08) sources, and for +`libatomic_ops` for the ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. - $ (cd master/ && ln -sfn ../libatomic_ops/master libatomic_ops) - $ export LC_ALL=C - $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug 2>&1 | tee log_build + $ (cd ../master/ && ln -sfn ../libatomic_ops/master libatomic_ops) + $ (cd ../master/ && autoreconf -vfi) + $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug --enable-gc-assertions 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -285,7 +285,7 @@ X min on coulomb.SCHWINGE. @@ -322,14 +322,16 @@ min on coulomb.SCHWINGE. $ make -k check [...] + $ (cd libatomic_ops/ && make -k check) + [...] This needs roughly X min on kepler.SCHWINGE and X min on coulomb.SCHWINGE. ## Analysis - $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_check - $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_check | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_check + $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_check* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_check + $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_check* | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_check $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_check.sed < toolchain/logs/boehm-gc/linux/log_check) <(sed -f toolchain/logs/boehm-gc/hurd/log_check.sed < toolchain/logs/boehm-gc/hurd/log_check) > toolchain/logs/boehm-gc/log_check.diff There are different configurations possible, but in general, the testsuite @@ -339,6 +341,19 @@ restults of GNU/Linux and GNU/Hurd look very similar. `os_dep.c`:`GC_print_callers` + * `middletest`, GNU/Hurd + + Assertion failure: ../master/thread_local_alloc.c:156 + assertion failure + /bin/bash: line 5: 24743 Aborted ${dir}$tst + FAIL: middletest + + * `libatomic_ops`, `test_stack`, GNU/Linux + + FAILED + /bin/bash: line 5: 27329 Aborted ${dir}$tst + FAIL: test_stack + # TODO diff --git a/toolchain/logs b/toolchain/logs index 3d109c8a..fa334a16 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 3d109c8a83fbe5c2be49fc56740999d33f890cd4 +Subproject commit fa334a1683df3cf3f5fbe56cd353368ab4e88002 -- cgit v1.2.3 From 8ab1f36ed9758ea4004e34ff1026bb8639de97be Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 9 Jun 2012 12:30:26 +0200 Subject: open_issues/boehm_gc: 5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08), 6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15) --- open_issues/boehm_gc.mdwn | 42 ++++++++++++++++++++++-------------------- toolchain/logs | 2 +- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index bcaff67d..58b451b1 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -26,15 +26,15 @@ committed upstream should very like also be made there. -Last reviewed up to the 1ba313acaaab10ebd20a0b648466786f2c1d9282 (2011-09-08) +Last reviewed up to the 5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08) sources, and for `libatomic_ops` to the -ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) sources. +6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15) sources. * `configure.ac` @@ -261,18 +261,33 @@ ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) sources. Nothing. + * b8b65e8a5c2c4896728cd00d008168a6293f55b1 configure.ac probably not all + correct. + + * `mmap`, b64dd3bc1e5a23e677c96b478d55648a0730ab75 + + * `parallel mark`, 07c2b8e455c9e70d1f173475bbf1196320812154, pass + `--disable-parallel-mark` or enable for us, too? + + * `HANDLE_FORK`, e9b11b6655c45ad3ab3326707aa31567a767134b, + 806d656802a1e3c2b55cd9e4530c6420340886c9, + 1e882b98c2cf9479a9cd08a67439dab7f9622924 + + * Check `include/private/thread_local_alloc.h` re + `USE_COMPILER_TLS`/`USE_PTHREAD_SPECIFIC`. + # Build Here's a log of a binutils build run; this is from the -1ba313acaaab10ebd20a0b648466786f2c1d9282 (2011-09-08) sources, and for -`libatomic_ops` for the ced58b938cdd876622c2a6e74fb0c12079a93425 (2011-09-08) +5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08) sources, and for +`libatomic_ops` for the 6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15) sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && ln -sfn ../libatomic_ops/master libatomic_ops) $ (cd ../master/ && autoreconf -vfi) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug --enable-gc-assertions 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug --enable-gc-assertions --enable-assertions 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -341,19 +356,6 @@ restults of GNU/Linux and GNU/Hurd look very similar. `os_dep.c`:`GC_print_callers` - * `middletest`, GNU/Hurd - - Assertion failure: ../master/thread_local_alloc.c:156 - assertion failure - /bin/bash: line 5: 24743 Aborted ${dir}$tst - FAIL: middletest - - * `libatomic_ops`, `test_stack`, GNU/Linux - - FAILED - /bin/bash: line 5: 27329 Aborted ${dir}$tst - FAIL: test_stack - # TODO diff --git a/toolchain/logs b/toolchain/logs index fa334a16..38fcc99f 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit fa334a1683df3cf3f5fbe56cd353368ab4e88002 +Subproject commit 38fcc99f51de0f5e1a80697a478098cde553e844 -- cgit v1.2.3 From dc21641380f66995360d8ba91efccb471f5bad51 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 14 Jun 2012 09:08:43 +0200 Subject: open_issues/gcc: Boehm GC now somewhat tested. --- open_issues/boehm_gc.mdwn | 3 +++ open_issues/gcc.mdwn | 43 ------------------------------------------- 2 files changed, 3 insertions(+), 43 deletions(-) diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 58b451b1..6ab39b2e 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -364,6 +364,9 @@ restults of GNU/Linux and GNU/Hurd look very similar. * What are other applications to test Boehm GC? Also especially in combination with [[/libpthread]] and dynamic loading of shared libraries? + * There are patches (apparently not committed) that GCC itself can use + it, too: . + * There's been some talking about it on GNU guile mailing lists, and two Git branches (2010-12-15: last change 2009-09). diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 59b3570b..f54904c3 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -26,49 +26,6 @@ example. Especially all the compiler magic is all the same. # [[Sources|source_repositories/gcc]] -## Boehm GC - -GCC includes an own variant of [[/Boehm_GC]] that is based on an upstream -version, but with own patches, etc. This is used for Java. (There are patches -(apparently not committed) that GCC itself can use it, too: -.) - -Patches to GCC's fork should be contributed back to upstream [[/Boehm_GC]]. - -[[tschwinge]] reviewed (but only briefly for large parts) the differences on -2010-12-08, based on the [[GCC Git mirror's -8e79e9d43f32c8852f068da91d655297d92ac0f4 (2010-11-29) -sources|source_repositories/GCC]] and Boehm GC's CVS HEAD sources from -2010-12-02, converted to [[Git, correspondingly -1c2455988a8f59a5f83b986b9156f03be395b3b6|source_repositories/boehm_gc]]. - -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. - - * Check - - * 02e191ba495b4ec87aeb961ff9afdb666287104a - - * ce062771587f6637ce09f79c36e24de691032919 - - * a9cc177ef514d6eb39db72c82911fcea2cd70dba - - * 7b8d306d18986cd98808c9ed5d3a696a186dc213 - - Looks generally OK. - - * a3a3fd06ae58af9591a95c94245809b0359289ff - - Looks OK. - - * fe5ef4a01870545d0344e670cd528ad096ebab1d - - OK. - - # Configuration -Last reviewed up to the [[Git mirror's 12c17795aa79c9b23f9565d7ca3b42ca6530f6c4 -(2012-05-29) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 +(2012-06-11) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -219,16 +219,23 @@ Last reviewed up to the [[Git mirror's 12c17795aa79c9b23f9565d7ca3b42ca6530f6c4 * `libstdc++`: uses `_GLIBCXX_HAVE_TLS`, but where is this defined? Supposed to come from `config/tls.m4:GCC_CHECK_TLS`? + * `libgcc/gthr-posix.h:__gthread_active_p` -- is this suitable for us? This + is used in libgcc for ObjC wrapper stuff and similar in libstdc++. + C.f. [[!message-id "x57jobtqx89w.fsf@frobland.mtv.corp.google.com"]], + [[!message-id "x57jd359fkx3.fsf@frobland.mtv.corp.google.com"]] as well as + [[!debbug 629866]]/[[!message-id + "20110609002620.GA16719@const.famille.thibault.fr"]]. + # Build Here's a log of a GCC build run; this is from our [[Git repository's -48cd7aa43934e2bc5cf582e92ebd5cce93effe88 (2012-05-29) +ccc21737e0a8df234f5097369f17930de4cb5e6d (2012-06-06) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && contrib/gcc_update --touch) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --enable-build-with-cxx 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --enable-build-with-cxx --enable-languages=all,ada 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -236,7 +243,7 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 2.6 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and +This takes up around 3.1 GiB, and needs roughly 3.0 h on kepler.SCHWINGE and 12.75 h on coulomb.SCHWINGE. -Last reviewed up to the [[Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14 -(2012-02-28) sources|source_repositories/glibc]]. +Last reviewed up to the [[Git mirror's e80d6f94e19d17b91e3cd3ada7193cc88f621feb +(2012-04-05) sources|source_repositories/glibc]]. * `t/hurdsig-fixes` @@ -50,12 +50,6 @@ Last reviewed up to the [[Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14 `libc-alpha` discussion/commit. GCC c05436a7e361b8040ee899266e15bea817212c37. - * `t/kernel-features.h_includes` - - Before running `tg update`, review for additional changes: - - $ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc -S__ASSUME_ top-bases/t/kernel-features.h_includes..baseline - * `t/sysvshm` ../sysdeps/mach/hurd/shmat.c: In function '__shmat': @@ -543,16 +537,32 @@ Last reviewed up to the [[Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14 edc5984d4d18296d7aa3d8f4ed8f7336a743170e + 57769839788e2c62b68d9dfbf4b35052321278ba. . - * *baseline* * [low] `conformtest`, 3134156779108fe8b46e0f4cd60d837572faaa93 + 4efeffc1d583597e4f52985b9747269e47b754e2 + - d94a4670800de6e8f088b8630ad5142866127980 -- what does it do for us? + d94a4670800de6e8f088b8630ad5142866127980 -- takes 1.75 h (out of 2.75 h + total) on coulomb.SCHWINGE -- disable? Should probably mirror + `bits/siginfo.h` changes. + * [low] stack guard, 6c6a98c983c44b440ae66d2aa8f32529a9dd7bfe, + [[!message-id "4F3BE241.9090409@mentor.com"]] -- anything needed for + us? + * [low] `libc-lockP.h` 9463518d0d314d7bd0160315e0ef30e15be08985 -- + probably should do similar changes, also to the generic file. + * [low] `bits/socket.h`/`bits/socket_type.h` [[!message-id + "Pine.LNX.4.64.1203090206420.18868@digraph.polyomino.org.uk"]] + 02a6f887cb3e2c048937111eb4cf150d397609de -- probably should do the same + for the generic version as used by GNU Hurd. + * [log] CFI for `_start`, 6a1bd2a100c958d30bbfe8c9b8f9071d24b7c3f4, + [[!message-id "20120316180551.GA6291@host2.jankratochvil.net"]] -- what + about other architectures? + * *baseline* + * [high] `sendmmsg` usage, c030f70c8796c7743c3aa97d6beff3bd5b8dcd5d -- + need a `ENOSYS` stub. # Build Here's a log of a glibc build run; this is from our [[Git repository's -001500ab4e25e6b8cf83eb9539e362ed4803d2c1 (2012-04-05; 2012-02-25) +d7294bbed51242338c4e9c15e1ee74a763259faf (2012-06-21; 2012-03-28) ([[!message-id "878vfhdapq.fsf@schwinge.name"]] applied) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ export LC_ALL=C @@ -561,11 +571,11 @@ sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ make install_root=/INVALID 2>&1 | tee log_build_ [...] -This takes up around 500 MiB and needs roughly X min on kepler.SCHWINGE and 110 -min on coulomb.SCHWINGE (GCC 4.4/4.5/4.6). +This takes up around 500 MiB and needs roughly X min on kepler.SCHWINGE and 100 +min on coulomb.SCHWINGE.