On Sat, Oct 12, 2013 at 06:45:05PM +0200, Paolo Bonzini wrote: > Il 11/10/2013 08:08, Holger Hans Peter Freyther ha scritto: > > C-code: > > > > I get asan reports in _gst_grey_oop_range *page = *page;. With > > generations off and NO_INCREMENTAL_GC set. Can't this be a NO-OP? > > This is done to generate a segfault, but only if the page is still > unwritable. It is definitely a false positive.
Okay, but with NO_SIGSEGV_HANDLING defined we could avoid this. The pages are readable/writable anyway so will not generate a segfault while read/written? diff --git a/libgst/oop.c b/libgst/oop.c index c8af8c6..71e837a 100644 --- a/libgst/oop.c +++ b/libgst/oop.c @@ -1630,6 +1630,7 @@ tenure_one_object () void _gst_grey_oop_range (PTR from, size_t size) { +#ifndef NO_SIGSEGV_HANDLING volatile char *last, *page; for (last = ((char *)from) + size, @@ -1637,6 +1638,7 @@ _gst_grey_oop_range (PTR from, size_t size) page < last; page += getpagesize()) *page = *page; +#endif } holger _______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk