Re: [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


In case you reply (hoping for that), please don't use my kth.se mailing
address, use the telia.com one. Thanks!

On Thu, 2012-03-22 at 11:23 +0100, Svante Signell wrote:
> 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!
> 
> 
> 
> 
> 
> 




[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google