excessive stab information

Andy Chittenden AChittenden@bluearc.com
Mon Apr 18 14:53:00 GMT 2005


Ian

Sorry about not filling in the details. We're targetting a powerpc.
objdump and gcc report:

# powerpc-eabi-objdump --version
GNU objdump 2.14.90.0.4 20030523 Debian GNU/Linux
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms
of
the GNU General Public License.  This program has absolutely no
warranty.

# powerpc-eabi-gcc -v
Reading specs from /usr/lib/gcc-lib/powerpc-eabi/3.3.3/specs
Configured with: ../src/configure -v --enable-languages=c,c++
--enable-cxx-flags=-fno-exceptions --prefix=/usr
--infodir=/usr/share/info --mandir=/usr/share/man
--with-gxx-include-dir=/usr/powerpc-eabi/include/g++
--includedir=/usr/powerpc-eabi/include/ --enable-shared --with-gnu-as
--with-gnu-ld --with-system-zlib --enable-long-long --enable-nls
--without-included-gettext --disable-checking --build=i386-linux
--host=i386-linux --target=powerpc-eabi --with-newlib
Thread model: single
gcc version 3.3.3 (Debian)

It's interesting to note what you say about using DWARF debugging: I'll
pursue that offline here to see whether we can make use of it.

I happened to pick on uint8_t as that was a fairly simple example: as it
happens uint8_t is defined by more than one header file so maybe that
wasn't such a good example. Another more complex case is fsfilcnt_t
which is defined in a single header file:

1008   LSYM   0      207    00000000 12843  fsfilcnt_t:t(18,35)=(19,60)
3672   LSYM   0      207    00000000 700766 fsfilcnt_t:t(70,31)=(71,60)
3821   LSYM   0      207    00000000 704398 fsfilcnt_t:t(16,36)=(17,60)
14504  LSYM   0      207    00000000 1939864 fsfilcnt_t:t(64,32)=(65,60)
824216 LSYM   0      207    00000000 77832340
fsfilcnt_t:t(12,36)=(13,48)
1096854 LSYM   0      207    00000000 93943904
fsfilcnt_t:t(21,23)=(22,48)
1104293 LSYM   0      207    00000000 94102950
fsfilcnt_t:t(67,28)=(68,60)

In this case, fsfilcnt_t is defined in terms of __fsfilcnt_t (again in a
single header file):

941    LSYM   0      131    00000000 10413  __fsfilcnt_t:t(19,60)=(19,4)
824153 LSYM   0      131    00000000 77831093
__fsfilcnt_t:t(13,48)=(13,4)

and that's defined in terms of __u_long (again in a single header file):

902    LSYM   0      35     00000000 8610   __u_long:t(19,4)=(0,5)
824114 LSYM   0      35     00000000 77830006 __u_long:t(13,4)=(0,5)

and finally,

680    LSYM   0      0      00000000 432    long unsigned
int:t(0,5)=r(0,5);000000000000000000000000;000000000000037777777777;

-- 
Andy, BlueArc Engineering



More information about the Binutils mailing list