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

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



On Thu, 2012-03-22 at 21:43 +0100, Svante Signell wrote:
> On Thu, 2012-03-22 at 19:16 +0100, Ludovic Brenta wrote:
> > Svante Signell writes:
> 
> > > #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
> > 
> > This calls
> > 
> > pthread_key_create (ATCB_Key'Access, null);
> > 
> > at s-tpopsp-posix-foreign.adb:50; here ATCB_Key is an aliased global
> > variable declared at s-taprop-posix.adb:86, so its access value cannot
> > be null.  MAybe what is happening is that pthread_key_create is itself
> > an unresolved symbol?  What does
> > 

Doing  nm --dynamic /lib/libpthread.so.0.3| grep pthred_key_create
shows:
00004fe0 T pthread_key_create
while
 nm /usr/lib/i386-gnu/libgnarl-4.6.so.1|grep pthread_key_create
         U pthread_key_create

so things should be in  order.

Something more suspicious is:
#1  0x0105dc2f in system.task_primitives.operations.initialize (
environment_task=0x80689e0) at s-taprop.adb:1341
act = (sa_handler => (system.address) 0x34014, sa_flags => 25164832, 
       sa_mask => (60003, 16951728, 0, 1))
old_act = (sa_handler => (system.address) 0x5, sa_flags => 0, 
          sa_mask => (832, 17059356, 134646232, 17031168))
tmp_set = (17057068, 17242772, 134646240, 0)
#2  0x010608fa in system.tasking.initialize () at s-taskin.adb:215
        t = 0x80689e0
        base_priority = 15
        base_cpu = 0

Looking at the new values of act compared to old_act the sa_flags value
seems to be bogus??

Where is these variables set? One thing that puzzles me is that init.c
seems to handle most stuff related to initialization, but that function
is used in libgnat-4.6.so.1 not libgnarl-4.6.so.1? And libngnarl is the
run-time library, right? No C functions are used building libgnarl. How
to modify the compile/link commands to use the static libraries
libgnat.a and libgnarl.a?



Reply to: