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 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 12 deletions(-) (limited to 'open_issues/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` -- 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(-) (limited to 'open_issues/boehm_gc.mdwn') 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(-) (limited to 'open_issues/boehm_gc.mdwn') 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(-) (limited to 'open_issues/boehm_gc.mdwn') 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(-) (limited to 'open_issues/boehm_gc.mdwn') 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