public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]]
@ 2012-03-22 10:23 Svante Signell
  2012-03-22 10:28 ` Svante Signell
  2012-04-12  4:50 ` Luke A. Guest
  0 siblings, 2 replies; 3+ messages in thread
From: Svante Signell @ 2012-03-22 10:23 UTC (permalink / raw)
  To: gcc-help

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@telia.com>
Reply-to: svante.signell@telia.com
To: help-gnat@gnu.org
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@telia.com>
Reply-to: svante.signell@telia.com
To: debian-ada@lists.debian.org
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!






^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]]
  2012-03-22 10:23 [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]] Svante Signell
@ 2012-03-22 10:28 ` Svante Signell
  2012-04-12  4:50 ` Luke A. Guest
  1 sibling, 0 replies; 3+ messages in thread
From: Svante Signell @ 2012-03-22 10:28 UTC (permalink / raw)
  To: gcc-help

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@telia.com>
> Reply-to: svante.signell@telia.com
> To: help-gnat@gnu.org
> 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@telia.com>
> Reply-to: svante.signell@telia.com
> To: debian-ada@lists.debian.org
> 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!
> 
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]]
  2012-03-22 10:23 [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]] Svante Signell
  2012-03-22 10:28 ` Svante Signell
@ 2012-04-12  4:50 ` Luke A. Guest
  1 sibling, 0 replies; 3+ messages in thread
From: Luke A. Guest @ 2012-04-12  4:50 UTC (permalink / raw)
  To: GCC-Help ML; +Cc: svante.signell

On Thu, 2012-03-22 at 11:23 +0100, Svante Signell wrote:

> Please Cc: me since I'm not subscribed to help-gnat.

Are you subscribed to gcc-help? If not, subscribe.

Ok, you've created your own section, I would copy the
mlib-tgt-specific-* files that are closest to HURD (BSD one?) and then
rename it to mlib-tgt-specific-gnu or mlib-tgt-specific-hurd and then
modify that. Do the same for s-osinte-* files if kfreebsd does not match
exactly for hurd.

You'll notice that there are OS specific versions of those files. Start
there.

Luke.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-04-12  4:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-22 10:23 [Fwd: [Fwd: Almost finished porting gnat-4.6 to GNU/Hurd]] Svante Signell
2012-03-22 10:28 ` Svante Signell
2012-04-12  4:50 ` Luke A. Guest

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).