Il 12/10/2013 19:11, Holger Hans Peter Freyther ha scritto: > 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 > }
Yes, that's correct. Paolo _______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk