diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2012-12-14 11:32:23 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2012-12-14 11:32:23 +0100 |
commit | d67f6589bf710235ad56731c4c06a75cfad75462 (patch) | |
tree | eb24a17604d8c090848603d14409a504e9191b7d | |
parent | 573d363a3458b8a37e6ec929c778dae8abf90fab (diff) |
open_issues/gcc: a1d48e100791bc67ff355e0931a604e767c827b7 (2012-12-10; be3860ba8df48cca3253da4f02fd2d42d856ce80 (2012-12-10))
-rw-r--r-- | community/gsoc/project_ideas.mdwn | 5 | ||||
-rw-r--r-- | community/gsoc/project_ideas/gcc_asan.mdwn | 21 | ||||
-rw-r--r-- | open_issues/automatic_backtraces_when_assertions_hit.mdwn | 2 | ||||
-rw-r--r-- | open_issues/boehm_gc.mdwn | 2 | ||||
-rw-r--r-- | open_issues/code_analysis.mdwn | 13 | ||||
-rw-r--r-- | open_issues/formal_verification.mdwn | 5 | ||||
-rw-r--r-- | open_issues/gcc.mdwn | 120 | ||||
m--------- | toolchain/logs | 10 |
8 files changed, 118 insertions, 60 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index 8ce10ffa..b85087ad 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010, 2011 Free Software Foundation, -Inc."]] +[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 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 @@ -109,6 +109,7 @@ other: language_bindings, gnat, gccgo, perl_python. --> [[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/gcc_asan" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/dtrace" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]] diff --git a/community/gsoc/project_ideas/gcc_asan.mdwn b/community/gsoc/project_ideas/gcc_asan.mdwn new file mode 100644 index 00000000..229c46ec --- /dev/null +++ b/community/gsoc/project_ideas/gcc_asan.mdwn @@ -0,0 +1,21 @@ +[[!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]]."]]"""]] + +[[!meta title="Port GCC's AddressSanitizer to the Hurd"]] + +[[!tag open_issue_gcc]] + +See the entry on the [[open_issues/code_analysis]] page. + +See also the [[valgrind]] task. + +A follow-up project is porting GCC's ThreadSanitizer. + +Possible mentors: Thomas Schwinge (tschwinge) diff --git a/open_issues/automatic_backtraces_when_assertions_hit.mdwn b/open_issues/automatic_backtraces_when_assertions_hit.mdwn index f6bf5856..df7294e9 100644 --- a/open_issues/automatic_backtraces_when_assertions_hit.mdwn +++ b/open_issues/automatic_backtraces_when_assertions_hit.mdwn @@ -76,4 +76,4 @@ In context of the [[ext2fs_libports_reference_counting_assertion]]. # GCC's libbacktrace -Introduced in commit ecd3459e7bb829202601e3274411135a15c64dde. +Introduced in GCC commit ecd3459e7bb829202601e3274411135a15c64dde. diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 6ab39b2e..7f860bba 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -359,8 +359,6 @@ restults of GNU/Linux and GNU/Hurd look very similar. # TODO - * 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/code_analysis.mdwn b/open_issues/code_analysis.mdwn index b3908243..8c604e3f 100644 --- a/open_issues/code_analysis.mdwn +++ b/open_issues/code_analysis.mdwn @@ -137,11 +137,20 @@ There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks. <youpi> ah, no, the libthreads code properly sets the guard, just for grow-up stacks - * GCC's AddressSanitizer (ASan; `-faddress-sanitizer`) + * GCC's AddressSanitizer, a memory error detector (ASan; + `-fsanitize=address`) [Finding races and memory errors with GCC instrumentation (AddressSanitizer)](http://gcc.gnu.org/wiki/cauldron2012#Finding_races_and_memory_errors_with_GCC_instrumentation_.28AddressSanitizer.29), - GNU Tools Cauldron 2012. + GNU Tools Cauldron 2012. <http://code.google.com/p/address-sanitizer/>. + + Not yet [[ported to the Hurd|community/gsoc/project_ideas/gcc_asan]]. + + * GCC's ThreadSanitizer, a data race detector (TSan; `-fsanitize=thread`) + + <http://code.google.com/p/data-race-test/wiki/ThreadSanitizer> + + Not yet [[ported to the Hurd|community/gsoc/project_ideas/gcc_asan]]. * Input fuzzing diff --git a/open_issues/formal_verification.mdwn b/open_issues/formal_verification.mdwn index b7db76ee..474670c3 100644 --- a/open_issues/formal_verification.mdwn +++ b/open_issues/formal_verification.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011, 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 @@ -15,6 +16,8 @@ Especially in the field of [[DSL]]s, this is used for asserting program codes' correctness, as explained in {{$microkernel/barrelfish#fof_plos09}}, for example. +See also [[code_analysis]]. + [[!toc]] diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 574a743b..f5022c16 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -33,12 +33,12 @@ example. Especially all the compiler magic is all the same. git checkout reviewed git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C --cc ..upstream/trunk -i -/^commit |^Merge:|^---$|hurd|linux|nacl|nptl|glibc|gs: +/^commit |^merge:|^---$|hurd|linux|nacl|nptl|glibc|gs: --> -Last reviewed up to the [[Git mirror's 769bf18a20ee2540ca7601cdafabd62b18b9751b -(2012-10-01) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's be3860ba8df48cca3253da4f02fd2d42d856ce80 +(2012-12-10) sources|source_repositories/gcc]]. <http://gcc.gnu.org/install/configure.html> has documentation for the `configure` switches. @@ -301,12 +301,39 @@ Last reviewed up to the [[Git mirror's 769bf18a20ee2540ca7601cdafabd62b18b9751b "20110609002620.GA16719@const.famille.thibault.fr"]]. commit 026e608ecebcb2a6193971006a85276307d79b00. + * 549e2197b118efb2d947aaa15d445b05c1b5ed62 `Import the asan runtime library + into GCC tree`. Linux-specific things: + `ASAN_USE_ALIAS_ATTRIBUTE_FOR_INDEX`, `ASAN_LINUX`, `ASAN_POSIX`, + `libsanitizer/asan/asan_linux.cc`, + `libsanitizer/asan/asan_malloc_linux.cc`, + `libsanitizer/asan/asan_posix.cc`, + `libsanitizer/interception/interception.h`, + `libsanitizer/interception/interception_linux.cc`, + `libsanitizer/interception/interception_linux.h`, + `libsanitizer/sanitizer_common/sanitizer_allocator.cc`, + `libsanitizer/sanitizer_common/sanitizer_linux.cc`, + `libsanitizer/sanitizer_common/sanitizer_posix.cc`, + `libsanitizer/sanitizer_common/sanitizer_procmaps.h`, + `libsanitizer/sanitizer_common/sanitizer_symbolizer_linux.cc`. + 4afab99bf0fe2d6905a9fa9d6ab886ca102312df `Enable libsanitizer just on x86 + linux for now`. 492e75a7336b4dbfe38207ea3abf8d5bd72376a9 `Move + libsanitizer configure logic to subdirectory`. + 6aea389d84c2172668af5f108e2b17e131120d0b `Add STATIC_LIBASAN_LIBS for + -static-libasan`. Further commits later on. + + * 9cf754572854d9d9cd43c277eb7afb12e4911358 `Import tsan runtime from + llvm`. Linux-specific things: `libsanitizer/tsan/tsan_platform.h`, + `libsanitizer/tsan/tsan_platform_linux.cc`, + `libsanitizer/tsan/tsan_symbolize_addr2line_linux.cc`. + a96132f29aa3dfe94141a87537f62ea73ce0fc19 `Set TSAN_SUPPORTED=yes for + x86_64/i686-linux for 64-bit multilib`. Further commits later on. + # Build Here's a log of a GCC build run; this is from our [[Git repository's -b401cb7ed15602d244a6807835b0b9d740a302a8 (2012-11-26; -769bf18a20ee2540ca7601cdafabd62b18b9751b (2012-10-01)) +a1d48e100791bc67ff355e0931a604e767c827b7 (2012-12-10; +be3860ba8df48cca3253da4f02fd2d42d856ce80 (2012-12-10)) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -319,8 +346,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 3.25 h on kepler.SCHWINGE and -13.25 h on coulomb.SCHWINGE. +This takes up around 3.5 GiB, and needs roughly 3.25 h on kepler.SCHWINGE and +14.25 h on coulomb.SCHWINGE. <!-- @@ -338,42 +365,6 @@ This takes up around 3.1 GiB, and needs roughly 3.25 h on kepler.SCHWINGE and Addressed in Debian glibc. - * DFP - - Addressed in *hurd/decimal_floating_point* branch. - - +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 - - * `libstdc++-v3/acinclude.m4`: ISO/IEC TR 24733 - - -checking for ISO/IEC TR 24733 ... yes - +checking for ISO/IEC TR 24733 ... no - - * `--enable-decimal-float`, `--enable-fixed-point`, `--with-long-double-128` - - `configure: WARNING: decimal float is not supported for this target, - ignored` - - * `libgcc/configure.ac` [might - need](http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00315.html) to be - aligned for us to the `*linux*` cases. As well as at the end of - `libgcc/config.host`. Check. - - checking whether decimal floating point is supported... no - checking whether fixed-point is supported... no - * `host-linux.c` vs. `host-default.c` * *fixincludes* stuff @@ -508,13 +499,34 @@ This takes up around 3.1 GiB, and needs roughly 3.25 h on kepler.SCHWINGE and TODO. + * 769bf18a20ee2540ca7601cdafabd62b18b9751b..be3860ba8df48cca3253da4f02fd2d42d856ce80 + + Both GNU/Linux and GNU/Hurd: + + checking whether gcc-4.6 supports -fno-exceptions... yes + checking whether gcc-4.6 supports -fno-rtti... yes + +checking whether gcc-4.6 supports ... yes + checking valgrind.h usability... no + checking valgrind.h presence... no + + checking for ld... /usr/bin/ld + +[...]/hurd/master/gcc/configure: 21384: test: xld: unexpected operator + +[...]/hurd/master/gcc/configure: 21385: test: xld: unexpected operator + checking whether we are using gold... no + + checking for unwind.h... yes + checking for _Unwind_Backtrace... yes + +checking for option... yes + checking whether gcc-4.6 supports -W... yes + checking whether gcc-4.6 supports -Wall... yes + # Install $ make install 2>&1 | tee log_install [...] -This takes up around 850 MiB, and needs roughly 4 min on kepler.SCHWINGE and 35 +This takes up around 1 GiB, and needs roughly 5 min on kepler.SCHWINGE and 37 min on coulomb.SCHWINGE. @@ -595,10 +607,10 @@ coulomb.SCHWINGE: $ make -k check-target 2>&1 | tee log_test_4_check-target [...] -This needs roughly 6.75 h on kepler.SCHWINGE and 3.5 h (`check-fixincludes`, -`gcc/check-ada`) + 10 h (`gcc/check-c`) + 3.75 h (`gcc/check-c++`) + 5.5 h +This needs roughly 7 h on kepler.SCHWINGE and 4 h (`check-fixincludes`, +`gcc/check-ada`) + 12.5 h (`gcc/check-c`) + 4.25 h (`gcc/check-c++`) + 5.5 h (`gcc/check-fortran`, `gcc/check-java`, `gcc/check-lto`, `gcc/check-objc`) + -8.25 h (`check-intl`, [...], `check-lto-plugin`, `check-target`) = 31 h on +9 h (`check-intl`, [...], `check-lto-plugin`, `check-target`) = 35.25 h on coulomb.SCHWINGE. @@ -623,6 +635,20 @@ coulomb.SCHWINGE. 769bf18a20ee2540ca7601cdafabd62b18b9751b (2012-10-01)), there are regressions (FAILs) in libgomp execution tests on coulomb.SCHWINGE. + * 769bf18a20ee2540ca7601cdafabd62b18b9751b..be3860ba8df48cca3253da4f02fd2d42d856ce80 + + On GNU/Hurd: + + Running [...]/hurd/master/gcc/testsuite/g++.dg/tls/tls.exp ... + +FAIL: g++.dg/tls/thread_local3.C -std=gnu++11 execution test + +FAIL: g++.dg/tls/thread_local3g.C -std=gnu++11 execution test + +FAIL: g++.dg/tls/thread_local4.C -std=gnu++11 execution test + +FAIL: g++.dg/tls/thread_local4g.C -std=gnu++11 execution test + +FAIL: g++.dg/tls/thread_local5.C -std=gnu++11 execution test + +FAIL: g++.dg/tls/thread_local5g.C -std=gnu++11 execution test + + They used to PASS. + * TODO diff --git a/toolchain/logs b/toolchain/logs -Subproject 272397686eea60669290da0add796ca601b1a2e +Subproject 568e51125eea2b68cf4bfa9ce0bef99af9bea5d |