gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: gcl-2.6.8pre on MAC OSX 10.2


From: Camm Maguire
Subject: [Gcl-devel] Re: gcl-2.6.8pre on MAC OSX 10.2
Date: 27 Oct 2006 11:04:56 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

"Page, Bill" <address@hidden> writes:

> Camm,
> 
> On Thursday, October 26, 2006 7:01 PM you asked:
> > 
> > Greetings!  Just wondering if this is the last axiom issue with
> > 2.6.8pre outstanding.  If not, what are the others?  If more testing
> > time is needed to answer this, how much more?
> >
> 
> Here is the debugging output you asked for in your previous email.
> 
> On Thursday, October 26, 2006 4:41 PM you wrote:
> > ... 
> > Please verify this by stepping through with n and this point.  In
> > fact, if you can step from this point to the bottom of this for loop
> > iteration, and then
> > 
> > (gdb) p 
> > *bfd_link_hash_lookup(link_info.hash,q[u]->name,MY_BFD_FALSE,M
> Y_BFD_FALSE,MY_BFD_TRUE)
> > 
> > that would be most helpful.  
> > 
> 
> -------- 
> 
> (gdb) cond 1 (int) strstr(q[u]->name,"srget")
> (gdb) c
> Continuing.
> GCL (GNU Common Lisp)  April 1994  131072 pages
> Building symbol table for
> /private/automount/home/users/b/bi/billpage/osx/new/gcl-2.6.8pre/unixpor
> t/raw_pre_gcl.tmp ..
> 
> Breakpoint 1, build_symbol_table_bfd () at sfasli.c:65
> 65          if (strncmp(q[u]->section->name,"*UND*",5) && !(q[u]->flags
> & BSF_WEAK))
> (gdb) p q[u]->name
> $1 = 0x5742d1 "___srget"
> (gdb) p q[u]->section->name
> $2 = 0x114e74 "*UND*"
> (gdb) p q[u]->flags
> $3 = 2
> (gdb) n
> 68          if ((c=(char *)strstr(q[u]->name,"@@"))) {
> (gdb) n
> 73          } else if
> (gdb) n
> 78          if (h->type!=bfd_link_hash_defined) {
> (gdb) n
> 79            if (!q[u]->section)
> (gdb) n
> 81            if (!my_plt(q[u]->name,&pa)) {
> (gdb) n
> 88            if (q[u]->value) {
> (gdb) n
> 95          if (c) {
> (gdb) p
> *bfd_link_hash_lookup(link_info.hash,q[u]->name,MY_BFD_FALSE,MY_BFD_FALS
> E,MY_BFD_TRUE)
> No symbol "MY_BFD_FALSE" in current context.
> (gdb) p *bfd_link_hash_lookup(link_info.hash,q[u]->name,0,0,MY_BFD_TRUE)
> No symbol "MY_BFD_TRUE" in current context.
> (gdb) p *bfd_link_hash_lookup(link_info.hash,q[u]->name,0,0,1)
> $4 = {
>   root = {
>     next = 0x0,
>     string = 0x76db28 "___srget",
>     hash = 163640344
>   },
>   type = bfd_link_hash_undefined,
>   u = {
>     undef = {
>       next = 0x76db34,
>       abfd = 0x54a2f0,
>       weak = 0x0
>     },
>     def = {
>       next = 0x76db34,
>       section = 0x54a2f0,
>       value = 0
>     },
>     i = {
>       next = 0x76db34,
>       link = 0x54a2f0,
>       warning = 0x0
>     },
>     c = {
>       next = 0x76db34,
>       p = 0x54a2f0,
>       size = 0
>     }
>   }
> }

Perfect!  Here is the problem -- the symbol has no value, to the code
never defines its address

> 88            if (q[u]->value) {

>   type = bfd_link_hash_undefined,

It would be helpful if you could break at line 89, and make sure that
other symbols are defined through their symbol value.  Preferably,
others in plt.h.

But before this, please step into my_plt with

(gdb) s

and step through the code.

This is also of interest therein:

(gdb) p mplt

and, before executing line 180:

(gdb) b pltcomp

then at each break into pltcomp, try to see why the named symbol is
not found.

BTW, is this macosx intel?  If not, has anyone tried this?

Take care,

> (gdb) n
> 58        for (u=0;u<v;u++) {
> (gdb)
> 
> ------------
> 
> I guess it didn't know MY_BFD_FALSE and MY_BFD_TRUE but I
> took a wild guess at what these symbols might be. Is this
> output useful to you?
> 
> 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]