On Sunday, May 22, 2016 23:08 CEST, "Sebastian Reitenbach" <[email protected]> wrote:
> > On Sunday, May 22, 2016 14:36 CEST, Stuart Henderson <[email protected]> > wrote: > > > Build is about halfway, here are some more processes that are run > > during a ports build that trigger the warnings: > > > > java(15505): mprotect: mandatory W^X devel/jdk & bootstrap > > xpcshell18306): mmap: mandatory W^X devel/xulrunner/24 > > xulrunner(15827): mmap: mandatory W^X devel/xulrunner/24 > > gforth*: mmap: mandatory W^X lang/gforth > > mono-boehm: mmap: mandatory W^X lang/mono > > obxj(76370): mprotect: mandatory W^X lang/obc > > run.x86-openbsd(19339): mmap: mandatory W^X lang/smlnj > > mksnapshot: mmap: mandatory W^X www/chromium, iridium (v8) > > > > (obviously as this is build time, these are only from programs > > that are run, either in pobj or installed, during build.) > > > > My libffi diff causes x11/gnustep/base to fail: > > > > checking FFI library usage... configure: error: The ffi library (libffi) > > does not appear to be working. Perhaps it's missing or you need a more > > recent version. Version 3.0.9 or later should work, and you can find a > > link to it n the list of packages for download at > > http://www.gnustep.org/resources/sources.html > > > > configure:24337: checking FFI library usage > > configure:24370: clang -o conftest -O2 -pipe -I/usr/local/include > > -I/usr/local/include -I/usr/local/include -I/usr/ > > local/include -fobjc-runtime=gnustep-1.7 -fgnu-runtime -x objective-c > > -I/usr/local/include -L/usr/local/lib -L/usr/ > > local/lib -L/usr/local/lib -L/usr/local/lib conftest.c -L/usr/local/lib > > -pthread -lffi -lpthread -lz >&5 > > configure:24374: $? = 0 > > configure:24380: ./conftest > > Segmentation fault (core dumped) > > > > The test program it's trying to run is config/config.ffi.c in > > gnustep/base's tree. I'm unlikely to be able to figure this out, > > can someone help please? > > > > I hope I can get around to have a look at it tomorrow. I couldn't resist, and just tried the conftest program under gdb with your libffi patch: (gdb) r Starting program: /home/ports/pobj/amd64/gnustep-base-1.24.9/gnustep-base-1.24.9/config/conftest Program received signal SIGSEGV, Segmentation fault. 0x000006a09691e010 in ?? () (gdb) bt #0 0x000006a09691e010 in ?? () #1 0x0000069e48000d92 in main () at conftest.c:65 (gdb) frame 1 #1 0x0000069e48000d92 in main () at conftest.c:65 65 ((void(*)(cls_struct_combined)) (code))(g_dbl); (gdb) list 60 != FFI_OK) abort(); 61 62 if (ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) 63 != FFI_OK) abort(); 64 65 ((void(*)(cls_struct_combined)) (code))(g_dbl); 66 exit(0); 67 } It fails at the very end of the main() function, but I have absolutely no clue what's going wrong here. It seems to setup a closure, and then trying to call it, and that breaks Sebastian.
