Maybe gcc-help is the appropriate mailing list to ask for help? I have tried debian-ada and help-gnat, but both these lists seem to be very low traffic lists. Thanks! -------- Forwarded Message -------- From: Svante Signell <svante.signell@xxxxxxxxx> Reply-to: svante.signell@xxxxxxxxx To: help-gnat@xxxxxxx Subject: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd] Date: Thu, 22 Mar 2012 09:58:33 +0100 Hi, I'm forwarding here in hope to get some replies. No response yet from debian-ada. Please Cc: me since I'm not subscribed to help-gnat. Thanks! -------- Forwarded Message -------- From: Svante Signell <svante.signell@xxxxxxxxx> Reply-to: svante.signell@xxxxxxxxx To: debian-ada@xxxxxxxxxxxxxxxx Subject: Almost finished porting gnat-4.6 to GNU/Hurd Date: Tue, 20 Mar 2012 23:46:21 +0100 Hello, I have almost completed the cross-build and native-build of gnat-4.6.2 for GNU/Hurd. All debs does now compile and I can create packages requiring gnat. One problem remains: Tuning the OS-interface routines. Currently libraries and binaries build, but the binaries fail with exception code: e.g. ./music123 raised STORAGE_ERROR : s-intman.adb:139 explicit raise gdb music123 gives: Program received signal SIGSEGV, Segmentation fault. 0x01050b10 in system__task_primitives__operations__specific__initializeXnn@plt () from /usr/lib/i386-gnu/libgnarl-4.6.so.1 (gdb) bt #0 0x01050b10 in system__task_primitives__operations__specific__initializeXnn@plt () from /usr/lib/i386-gnu/libgnarl-4.6.so.1 #1 0x0105de9f in system.task_primitives.operations.initialize ( environment_task=0x8066b00) at s-taprop.adb:1420 #2 0x01060b6a in system.tasking.initialize () at s-taskin.adb:215 #3 0x01060044 in system.tasking.initialization.init_rts () at s-tasini.adb:323 #4 0x010602d4 in <system__tasking__initialization___elabb> () at s-tasini.adb:828 #5 0x0804cda8 in adainit () at /home/srs/DEBs/music123/music123-16.3/b~music123.adb:211 #6 0x0804ca8a in main (argc=1, argv=(system.address) 0x17ffd78, envp=(system.address) 0x17ffd80) at /home/srs/DEBs/music123/music123-16.3/b~music123.adb:266 #7 0x013fcc3b in __libc_start_main (main=0x804ca50 <main>, argc=1, ubp_av=0x17ffd78, init=0x805f400 <__libc_csu_init>, fini=0x805f3f0 <__libc_csu_fini>, rtld_fini=0xf340, stack_end=0x17ffd6c) at libc-start.c:257 #8 0x0804cac9 in _start () so the problems seems to be in libgnarl-4.6.so.1. Single stepping in gdb shows where the segfault occurs: s-taprop-posix.adb:1420 Specific.Initialize (Environment_Task); It looks like the problems is centered around src/gcc/ada/{s-intman-posix.adb, s-taprop-posix.adb,init.c} but from the list below there might be more files involved. I have mainly used the kfreebsd settings and the src/gcc/ada/gcc-interface/Makefile.in entry reads: ifeq ($(strip $(filter-out %86 gnu%,$(arch) $(osys))),) LIBGNAT_TARGET_PAIRS = \ a-intnam.ads<a-intnam-freebsd.ads \ a-numaux.adb<a-numaux-x86.adb \ a-numaux.ads<a-numaux-x86.ads \ s-inmaop.adb<s-inmaop-posix.adb \ s-intman.adb<s-intman-posix.adb \ s-osinte.adb<s-osinte-kfreebsd-gnu.adb \ s-osinte.ads<s-osinte-kfreebsd-gnu.ads \ s-osprim.adb<s-osprim-posix.adb \ s-taprop.adb<s-taprop-posix.adb \ s-taspri.ads<s-taspri-posix.ads \ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ system.ads<system-freebsd-x86.ads TOOLS_TARGET_PAIRS = \ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \ indepsw.adb<indepsw-gnu.adb EH_MECHANISM=-gcc THREADSLIB = -lpthread GNATLIB_SHARED = gnatlib-shared-dual GMEM_LIB = gmemlib LIBRARY_VERSION := $(LIB_VERSION) endif Unfortunately I don't know much about ADA and would really appreciate hints on how to change the interface routines. GNU/Hurd is almost POSIX compatible, but there are of course exceptions. Thanks!