Hi Erkka, On Wed, Oct 21, 2015 at 12:41:49PM +0300, Erkka Kääriä wrote: > Upstream-Status: Backport > > Fixes undefined behaviour in boehm GC used by cacao-initial-native > as suggested at > https://github.com/ivmai/bdwgc/commit/16780405c899f01119bc45167122b4242f6b34fb. > > The undefined behaviour at very least causes a segmentation fault during > classpath-native configure step with Fedora 22.
Thanks for fixing it. Pushed to master. > Signed-off-by: Erkka Kääriä <[email protected]> > --- > recipes-core/cacao/cacao-initial-native_0.98.bb | 1 + > ...-0.9.8-initial-fix-gc-undefined-behaviour.patch | 35 > ++++++++++++++++++++++ > 2 files changed, 36 insertions(+) > create mode 100644 > recipes-core/cacao/files/cacao-0.9.8-initial-fix-gc-undefined-behaviour.patch > > diff --git a/recipes-core/cacao/cacao-initial-native_0.98.bb > b/recipes-core/cacao/cacao-initial-native_0.98.bb > index ec7fbdb..2a8ced5 100644 > --- a/recipes-core/cacao/cacao-initial-native_0.98.bb > +++ b/recipes-core/cacao/cacao-initial-native_0.98.bb > @@ -14,6 +14,7 @@ SRC_URI = "\ > > http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2; > \ > file://cacao-0.98-initial.patch \ > file://disable_hw_exceptions.patch \ > + file://cacao-0.9.8-initial-fix-gc-undefined-behaviour.patch \ > " > > # libjvm disabled - it would conflict with cacao-native installations > diff --git > a/recipes-core/cacao/files/cacao-0.9.8-initial-fix-gc-undefined-behaviour.patch > > b/recipes-core/cacao/files/cacao-0.9.8-initial-fix-gc-undefined-behaviour.patch > new file mode 100644 > index 0000000..ccc35cb > --- /dev/null > +++ > b/recipes-core/cacao/files/cacao-0.9.8-initial-fix-gc-undefined-behaviour.patch > @@ -0,0 +1,35 @@ > +Upstream-Status: Backport > + > +This fixes undefined behaviour in boehm GC as suggested at > +https://github.com/ivmai/bdwgc/commit/16780405c899f01119bc45167122b4242f6b34fb. > + > +The undefined behaviour at very least causes a segmentation fault during > +classpath-native configure step. > + > +Signed-off-by: Erkka Kääriä <[email protected]> > + > +--- cacao-0.98/src/mm/boehm-gc/mark_rts.c > ++++ cacao-0.98/src/mm/boehm-gc/mark_rts.c > +@@ -371,18 +371,7 @@ ptr_t p; > + > + ptr_t GC_approx_sp() > + { > +- VOLATILE word dummy; > +- > +- dummy = 42; /* Force stack to grow if necessary. Otherwise the > */ > +- /* later accesses might cause the kernel to think we're > */ > +- /* doing something wrong. > */ > +-# ifdef _MSC_VER > +-# pragma warning(disable:4172) > +-# endif > +- return((ptr_t)(&dummy)); > +-# ifdef _MSC_VER > +-# pragma warning(default:4172) > +-# endif > ++ return __builtin_frame_address(0); > + } > + > + /* > +-- > +2.1.4 > + > -- > 2.1.4 > Best Regards, Maxin -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
