gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] PLT problem on Sparc


From: Jerry James
Subject: Re: [Gcl-devel] PLT problem on Sparc
Date: Fri, 19 Jun 2009 11:20:55 -0600

On Fri, Jun 19, 2009 at 11:10 AM, Camm Maguire<address@hidden> wrote:
> Greetings!  Could you please post the results of
>
> nm o/plttest.o
>
> and the result of configure's test for leading underscores in object
> symbols?
>
> Apparently, nm is giving output akin to " U _ " or some such.
>
> Take care,

Thanks to Dennis Gilmore, I already have part of the information you
requested.  Here is the output of nm:

address@hidden gcl-2.6.8]$ nm o/plttest.o
                U
                U
                U _IO_getc
                U _IO_putc
                U __isoc99_sscanf
                U _mcount
                U _setjmp
                U acos
                U acosh
                U asin
                U asinh
                U atan
                U atanh
                U cos
                U cosh
                U exp
                U fdopen
                U feof
                U log
0000000000000000 T main
                U memset
                U read
                U sin
                U sincos
                U sinh
                U sqrt
                U tan
                U tanh
                U write

When I saw that, I wondered how there could be 2 symbols with no
names.  So I asked Dennis to try objdump and readelf as well.  Here is
the output from those two tools:

address@hidden gcl-2.6.8]$ objdump -t o/plttest.o

o/plttest.o:     file format elf64-sparc

SYMBOL TABLE:
0000000000000000 l    df *ABS*  0000000000000000 plttest.c
0000000000000000 l    d  .text  0000000000000000 .text
0000000000000000 l    d  .data  0000000000000000 .data
0000000000000000 l    d  .bss   0000000000000000 .bss
0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev
0000000000000000 l    d  .debug_info    0000000000000000 .debug_info
0000000000000000 l    d  .debug_line    0000000000000000 .debug_line
0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8
0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc
0000000000000000 l    d  .debug_pubnames        0000000000000000
.debug_pubnames
0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges
0000000000000000 l    d  .debug_str     0000000000000000 .debug_str
0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-
stack
0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame
0000000000000000 l    d  .comment       0000000000000000 .comment
0000000000000000 g     F .text  0000000000000264 main
REG_G2           g     R *UND*  0000000000000000 #scratch
REG_G3           g     R *UND*  0000000000000000 #scratch
0000000000000000         *UND*  0000000000000000 __isoc99_sscanf
0000000000000000         *UND*  0000000000000000 memset
0000000000000000         *UND*  0000000000000000 _IO_getc
0000000000000000         *UND*  0000000000000000 _IO_putc
0000000000000000         *UND*  0000000000000000 feof
0000000000000000         *UND*  0000000000000000 fdopen
0000000000000000         *UND*  0000000000000000 read
0000000000000000         *UND*  0000000000000000 write
0000000000000000         *UND*  0000000000000000 _mcount
0000000000000000         *UND*  0000000000000000 _setjmp
0000000000000000         *UND*  0000000000000000 cos
0000000000000000         *UND*  0000000000000000 sin
0000000000000000         *UND*  0000000000000000 sincos
0000000000000000         *UND*  0000000000000000 tan
0000000000000000         *UND*  0000000000000000 acos
0000000000000000         *UND*  0000000000000000 asin
0000000000000000         *UND*  0000000000000000 atan
0000000000000000         *UND*  0000000000000000 cosh
0000000000000000         *UND*  0000000000000000 sinh
0000000000000000         *UND*  0000000000000000 tanh
0000000000000000         *UND*  0000000000000000 acosh
0000000000000000         *UND*  0000000000000000 asinh
0000000000000000         *UND*  0000000000000000 atanh
0000000000000000         *UND*  0000000000000000 exp
0000000000000000         *UND*  0000000000000000 log
0000000000000000         *UND*  0000000000000000 sqrt


address@hidden gcl-2.6.8]$ readelf -s o/plttest.o

Symbol table '.symtab' contains 46 entries:
  Num:    Value          Size Type    Bind   Vis      Ndx Name
    0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
    1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS plttest.c
    2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1
    3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3
    4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4
    5: 0000000000000000     0 SECTION LOCAL  DEFAULT    5
    6: 0000000000000000     0 SECTION LOCAL  DEFAULT    6
    7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8
    8: 0000000000000000     0 SECTION LOCAL  DEFAULT   10
    9: 0000000000000000     0 SECTION LOCAL  DEFAULT   11
   10: 0000000000000000     0 SECTION LOCAL  DEFAULT   12
   11: 0000000000000000     0 SECTION LOCAL  DEFAULT   14
   12: 0000000000000000     0 SECTION LOCAL  DEFAULT   16
   13: 0000000000000000     0 SECTION LOCAL  DEFAULT   17
   14: 0000000000000000     0 SECTION LOCAL  DEFAULT   19
   15: 0000000000000000     0 SECTION LOCAL  DEFAULT   20
   16: 0000000000000000     0 SECTION LOCAL  DEFAULT   18
   17: 0000000000000000   612 FUNC    GLOBAL DEFAULT    1 main
   18: 0000000000000002     0 REGISTER GLOBAL DEFAULT  UND
   19: 0000000000000003     0 REGISTER GLOBAL DEFAULT  UND
   20: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND __isoc99_sscanf
   21: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND memset
   22: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _IO_getc
   23: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _IO_putc
   24: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND feof
   25: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND fdopen
   26: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND read
   27: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND write
   28: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _mcount
   29: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _setjmp
   30: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND cos
   31: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND sin
   32: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND sincos
   33: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tan
   34: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND acos
   35: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND asin
   36: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND atan
   37: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND cosh
   38: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND sinh
   39: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tanh
   40: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND acosh
   41: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND asinh
   42: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND atanh
   43: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND exp
   44: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND log
   45: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND sqrt

So it looks like the culprits are the two REGISTER entries for REG_G2
and REG_G3.
-- 
Jerry James
http://www.jamezone.org/




reply via email to

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