This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: binutils/bfd and Sun C++ compilers
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Lars Oppermann <lars dot oppermann at sun dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 29 Aug 2002 11:17:35 -0400
- Subject: Re: binutils/bfd and Sun C++ compilers
- References: <3D6E2DA5.9060003@sun.com>
On Thu, Aug 29, 2002 at 04:20:21PM +0200, Lars Oppermann wrote:
> Hi *,
>
> I'm currently working on some cross-platform tooling that is using
> functionality from binutils-2.12; mostly objdump and addr2line.
> When I use these tools to work with execautables or libraries that were
> compiled with the SunPro compilers (sparc), they work fine as long as
> -xs is used when debugging information is generated with -g at
> compile-time. However, as soon as the Sun C++ compiler is used addr2line
> will no longer find correct symbol- or line-info, objdump -g will always
> report the following error:
>
> Bad stab: uv4;0;32
> Last stabs entries before error:
> n_type n_desc n_value string
> 198 0 0000000000000000 short:t(0,2)=bs2;0;16;
> 198 0 0000000000000000 int:t(0,3)=bs4;0;32;
> 198 0 0000000000000000 long:t(0,4)=bs4;0;32;
> 198 0 0000000000000000 long long:t(0,5)=bs8;0;64;
> 198 0 0000000000000000 unsigned char:t(0,6)=buc1;0;8;
> 198 0 0000000000000000 unsigned short:t(0,7)=bu2;0;16;
> 198 0 0000000000000000 unsigned:t(0,8)=bu4;0;32;
> 198 0 0000000000000000 unsigned long:t(0,9)=bu4;0;32;
> 198 0 0000000000000000 unsigned long long:t(0,10)=bu8;0;64;
> 198 0 0000000000000000 signed char:t(0,11)=bsc1;0;8;
> 198 0 0000000000000000 wchar_t:t(0,12)=buc4;0;32;
> 198 0 0000000000000000 void:t(0,13)=bs0;0;0
> 198 0 0000000000000000 float:t(0,14)=R1;4;
> 198 0 0000000000000000 double:t(0,15)=R2;8;
> 198 0 0000000000000000 long double:t(0,16)=R6;16;
> 198 0 0000000000000000 ...:t(0,17)=buv4;0;32
>
> trying to load such a binary with gdb-5.2 will even result in gdb
> coredumping.
>
> Is this a known issue, am I missing something?
Sun's compiler has progressed the stabs format a great distance. It
includes lots of things that binutils and GDB have no idea how to
parse. It's a somewhat-known issue; GDB doesn't even sort of work
with SunPro C++.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer