🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by David Callahan Mon, 27 Nov 1989 00:43
No debugging information for anonymous unions in structs
#618
Author: David Callahan
Date: Mon, 27 Nov 1989 00:43
73 lines
2903 bytes
config.g++ sun3-nfp-os4

g++ emits incomplete symbol table information for structures with
anonymous unions.

Example:
----------file: gnu-bug2.c ----------
#include <stream.h>
struct temp {
      int i1 ;
      union { int a; float b ;} ;
      int i2 ;
} ;

main() {
      temp t ;
      t.a = 4 ;
      cout << t.a << "\n" ;
      t.b = 2.2 ;
      cout << t.b << "\n" ;
}
----------sample compilation--------
g++ -v -o bug -g gnu-bug2.c
gcc version 1.36.1 (based on GCC 1.36)
 /usr/local/lib/g++-1.36.1/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -Dmc68020 gnu-bug2.c /usr/tmp/cca02441.cpp
GNU CPP version 1.36
 /usr/local/lib/g++-1.36.1/gcc-cc1plus /usr/tmp/cca02441.cpp -quiet -dumpbase gnu-bug2.c -g -version -o /usr/tmp/cca02441.s
GNU C++ version 1.36.1 (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36.
default target switches: -m68020 -mc68020 -mbitfield
 /usr/local/lib/g++-1.36.1/gcc-as -mc68020 -o gnu-bug2.o /usr/tmp/cca02441.s
 /usr/local/lib/g++-1.36.1/gcc-ld -o bug -e start -dc -dp -Bstatic /lib/crt0.o /lib/Fcrt1.o gnu-bug2.o -lg++ /usr/local/lib/g++-1.36.1/gcc-gnulib -lg -lc
---------- Sample (correct) exection ------------
dactyl% bug
4
2.2
dactyl% 
---------- Partial debugging information: ------------
dactyl% nm -a bug | grep temp
00000000 - 00 0000  LSYM temp:T211
00000000 - 00 0000  LSYM temp:t211
00000000 - 00 0000  LSYM temp:t211=s12i1:/21,0,32;i2:/21,64,32;;~;
dactyl% 
-------------- Sample debugging session ------------
dactyl% gdb bug
gdb bug
GDB 3.4, Copyright (C) 1989 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /home/tera/david/Cfront/bug...done.
Type "help" for a list of commands.
(gdb) break main
Reading in symbols for gnu-bug2.c...done.
Breakpoint 1 at 0x22be: file gnu-bug2.c, line 8.
(gdb) run
Starting program: /home/tera/david/Cfront/bug 

Bpt 1, main () (gnu-bug2.c line 10)
10	      t.a = 4 ;
(gdb) whatis t
type = temp
(gdb) p t
$1 = {i1 = 0, i2 = 0}
(gdb) p t.a
there is no field named a
(gdb) quit
The program is running.  Quit anyway? (y or n) y
dactyl% 


----------
David Callahan  				       david@tera.com
Tera Computer Co. 400 North 34th Street, Suite 300  Seattle WA, 98103
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads