axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Re: gcl-2.6.8pre on MAC OSX 10.2


From: Camm Maguire
Subject: [Axiom-developer] Re: gcl-2.6.8pre on MAC OSX 10.2
Date: 25 Oct 2006 11:09:55 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

"Bill Page" <address@hidden> writes:

> Camm,
> 
> On October 24, 2006 11:56 AM you wrote:
> > > 
> > > Aha. No "__srget" symbol defined in the gcl image? Isn't it strange?
> > >  
> > 
> > Yes, in light of this and previous messages.  We need a gdb session
> > on raw_pre_gcl.  Please let me know if you would like me to walk
> > you through one, or whether you can provide me with remote ssh
> > access to the box or equivalent.
> 
> I am using the SourceForge compile farm machine 'ppc-osx3'. All
> registered SourceForge developers have access to these machines.
> You should have not problem to access it. Once you can log in,
> I can scp my working directories to your account.
> 

OK, will try to reactivate my sourceforge status.  Something changed
over the summer.  In the meantime, here is what needs doing:

./configure --enable-debug && make
cd unixport
make raw_pre_gcl
gdb raw_pre_gcl
(gdb) b sfasli.c:65
(gdb) r ./
(gdb) cond 1 strstr(q[u]->name,"srget")
(gdb) c
(gdb) p q[u]->name
(gdb) p q[u]->section->name
(gdb) p q[u]->flags


Thanks!

> > ... 
> > Come to think of it, there may be a problem like the following:
> > 
> > On Linux systems, libc symbols are postpended with a @@ and
> > version number.   Here is our code to deal with this (sfasli.c):
> > (my comments in ****)
> > 
> >   for (u=0;u<v;u++) {
> >     char *c=NULL;
> >     struct bfd_link_hash_entry *h;
> > 
> >     if (!*q[u]->name)
> >       continue;
> > 
> >     if (strncmp(q[u]->section->name,"*UND*",5) && 
> > !(q[u]->flags & BSF_WEAK))
> >       continue;
> > 
> > *** the above might skip ___srget ***
> > 
> >     if ((c=(char *)strstr(q[u]->name,"@@"))) {
> >       *c=0;
> >       if 
> > (!(h=bfd_link_hash_lookup(link_info.hash,q[u]->name,MY_BFD_TRU
> > E,MY_BFD_TRUE,MY_BFD_TRUE)))
> >     FEerror("Cannot make new hash entry",0);
> >       h->type=bfd_link_hash_new;
> >     } else if 
> >       
> > (!(h=bfd_link_hash_lookup(link_info.hash,q[u]->name,MY_BFD_FAL
> SE,MY_BFD_FALSE,MY_BFD_TRUE)) &&
> >        
> > !(h=bfd_link_hash_lookup(link_info.hash,q[u]->name,MY_BFD_TRUE
> > ,MY_BFD_TRUE,MY_BFD_TRUE)))
> >     FEerror("Cannot make new hash entry",0);
> > 
> > *** There might be some other mangling than the @ for ___srget ***
> > 
> >     if (h->type!=bfd_link_hash_defined) {
> >       if (!q[u]->section)
> >     FEerror("Symbol ~S is missing 
> > section",1,make_simple_string(q[u]->name));
> >       if (!my_plt(q[u]->name,&pa)) {
> > /*   printf("my_plt %s %p\n",q[u]->name,(void *)pa);  */
> >     if (q[u]->value && q[u]->value!=pa)
> >       FEerror("plt address mismatch", 0);
> >     else
> >       q[u]->value=pa;
> >       }
> >       if (q[u]->value) {
> >     h->type=bfd_link_hash_defined;
> >     h->u.def.value=q[u]->value+q[u]->section->vma;
> >     h->u.def.section=q[u]->section;
> >       }
> >     }
> > 
> >     if (c) {
> >       *c='@';
> >       c=NULL;
> >     }
> >   }
> > 
> > This might be instructive with srget in place of cos:
> > 
> > objdump -x /usr/lib/gcl-2.6.7/unixport/saved_gcl |grep cos
> > 0812f590 l     F .text      0000015b              number_cos
> > 00000000       F *UND*      00000026              cos@@GLIBC_2.0
> > 0804fb40       F *UND*      00000074              acosh@@GLIBC_2.0
> > 08050440       F *UND*      00000081              cosh@@GLIBC_2.0
> > 0812f6f0 g     F .text      00000047              Lcos
> > 00000000       F *UND*      00000026              cosf@@GLIBC_2.0
> > 08051200       F *UND*      00000075              acos@@GLIBC_2.0
> > 
> 
> There is no objdump on this OSX 10.2 system. :-(
> 
> Shall I try to install GNU binutils? The version bundled with GCL
> or a newer one?

The one in the GCL sources should be fine.

Take care,

> 
> Regards,
> Bill Page.
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]