Greetings! "Bill Page" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel