summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-04-07 19:09:27 +0200
committerThomas Schwinge <thomas@codesourcery.com>2013-04-07 19:09:27 +0200
commitaf6767d9b60f29222e8e266ad4a2f8064a11fd99 (patch)
tree5544aade1e182cce29b585633793400da476080e
parent325d3600adae1a2da62f9a24ac34ad2b47a22f97 (diff)
community/gsoc/project_ideas/gcc_asan -> open_issues/_san.
-rw-r--r--community/gsoc/project_ideas.mdwn1
-rw-r--r--open_issues/_san.mdwn (renamed from community/gsoc/project_ideas/gcc_asan.mdwn)30
-rw-r--r--open_issues/code_analysis.mdwn16
3 files changed, 26 insertions, 21 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 5a274cc5..31d1b164 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -110,7 +110,6 @@ other: language_bindings, 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/open_issues/_san.mdwn
index 21a30666..fad53727 100644
--- a/community/gsoc/project_ideas/gcc_asan.mdwn
+++ b/open_issues/_san.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 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
@@ -8,17 +8,35 @@ 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"]]
+[[!meta title="Port the GCC and LLVM/clang Sanitizers (*san) to the Hurd"]]
[[!tag open_issue_gcc]]
-See the entry on the [[open_issues/code_analysis]] page.
+GCC and LLVM/clang provide several *sanitizers*,
+<http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation>, such
+as:
-See also the [[valgrind]] task.
+ * Address Sanitizer, a memory error detector (ASan; `-fsanitize=address`)
-A follow-up project is porting GCC's ThreadSanitizer.
+ [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. <http://code.google.com/p/address-sanitizer/>.
-Possible mentors: Thomas Schwinge (tschwinge)
+ * Memory Sanitizer, an detector of uninitialized reads (MSan;
+ `-fsanitize=memory)
+
+ <http://code.google.com/p/memory-sanitizer/>
+
+ * Thread Sanitizer, a data race detector (TSan; `-fsanitize=thread`)
+
+ <http://code.google.com/p/data-race-test/wiki/ThreadSanitizer>
+
+ * Undefined Behavior Sanitizer (UBsan; `-fsanitize=undefined`)
+
+Porting these to the Hurd is not a trivial task, for they have intimate
+knowledge about the operating system kernel they're running on, and from a
+first look they reimplement a lot of [[/glibc]] by directly using
+[[system_call]]s -- which is basically a no-go on GNU Hurd.
# IRC, OFTC, #gcc, 2012-12-11
diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn
index 138f3d6c..5219b015 100644
--- a/open_issues/code_analysis.mdwn
+++ b/open_issues/code_analysis.mdwn
@@ -157,20 +157,8 @@ 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, 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. <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]].
+ * GCC, LLVM/clang: [[Address Sanitizer (asan), Memory Sanitizer (msan),
+ Thread Sanitizer (tasn), Undefined Behavor Sanitizer (ubsan), ...|_san]]
* [GCC plugins](http://gcc.gnu.org/wiki/plugins)