This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: breakpoints/1054: GDB 5.3 (macro supporting) - priniting of empty macro value.
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 12 Feb 2003 15:18:01 -0000
- Subject: Re: breakpoints/1054: GDB 5.3 (macro supporting) - priniting of empty macro value.
- Reply-to: Daniel Jacobowitz <drow at mvista dot com>
The following reply was made to PR breakpoints/1054; it has been noted by GNATS.
From: Daniel Jacobowitz <drow@mvista.com>
To: sana@stl.sarov.ru
Cc: gdb-gnats@sources.redhat.com, miwako.tokugawa@intel.com
Subject: Re: breakpoints/1054: GDB 5.3 (macro supporting) - priniting of empty macro value.
Date: Wed, 12 Feb 2003 10:14:49 -0500
On Wed, Feb 12, 2003 at 08:32:32AM -0000, sana@stl.sarov.ru wrote:
>
> >Number: 1054
> >Category: breakpoints
> >Synopsis: GDB 5.3 (macro supporting) - priniting of empty macro value.
> >Confidential: no
> >Severity: serious
> >Priority: high
> >Responsible: unassigned
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Wed Feb 12 08:38:00 UTC 2003
> >Closed-Date:
> >Last-Modified:
> >Originator: sana@stl.sarov.ru
> >Release: unknown-1.0
> >Organization:
> >Environment:
> 32-bit && 64-bit Linux
> >Description:
> GDB 5.3 supports work with section .debug_macinfo.
> During testing it has been found out that GDB 5.3 has problem with printing of defined symbol, whose value is empty, for example #define TEST.
>
> tets.c:
>
> #define TEST
>
> main ()
> {
> int i = 10;
> return;
> }
>
> GDB's output for this test is:
>
> (gdb) b main
> Breakpoint 1 at 0x8048af1: file test1.c, line 5.
> (gdb) r
> Starting program: /home1/sana/trackers/macro/test1.out
>
> Breakpoint 1, main () at test1.c:5
> 5 int i = 10;
> (gdb) macro expand TEST
> expands to:
> (gdb) p TEST
> A parse error in expression, near `'.
> (gdb)
>
> Last message does not look like correct.
Why do you think this is a bug? That is, what do you think GDB should
be doing differently? If you said "int i = TEST;" then GCC would give
you syntax errors also.
>
> Section .debug_macinfo (readelf's dump):
>
> Contents of the .debug_macinfo section:
>
> DW_MACINFO_define - lineno : 0 macro : __SIGNED_CHARS__ 1
> DW_MACINFO_define - lineno : 0 macro : __DATE__ "Feb 12 2003"
> DW_MACINFO_define - lineno : 0 macro : __TIME__ "10:00:37"
> DW_MACINFO_define - lineno : 0 macro : __STDC__ 1
> DW_MACINFO_define - lineno : 0 macro : __STDC_VERSION__ 199901L
> DW_MACINFO_define - lineno : 0 macro : __STDC_HOSTED__ 1
> DW_MACINFO_define - lineno : 0 macro : __EDG__ 1
> DW_MACINFO_define - lineno : 0 macro : __EDG_VERSION__ 300
> DW_MACINFO_define - lineno : 0 macro : __VERSION__ "Intel(R) C++ gcc 3.0 mode"
> DW_MACINFO_define - lineno : 0 macro : __HONOR_STD 1
> DW_MACINFO_define - lineno : 0 macro : __ICC 800
> DW_MACINFO_define - lineno : 0 macro : __INTEL_COMPILER 800
> DW_MACINFO_define - lineno : 0 macro : _M_IX86 700
> DW_MACINFO_define - lineno : 0 macro : __ELF__ 1
> DW_MACINFO_define - lineno : 0 macro : __PTRDIFF_TYPE__ int
> DW_MACINFO_define - lineno : 0 macro : __SIZE_TYPE__ unsigned
> DW_MACINFO_define - lineno : 0 macro : __WCHAR_TYPE__ long int
> DW_MACINFO_define - lineno : 0 macro : __WINT_TYPE__ unsigned int
> DW_MACINFO_define - lineno : 0 macro : __QMSPP_ 1
> DW_MACINFO_define - lineno : 0 macro : __extension__
> DW_MACINFO_define - lineno : 0 macro : __GXX_ABI_VERSION 102
> DW_MACINFO_define - lineno : 0 macro : __USER_LABEL_PREFIX__
> DW_MACINFO_define - lineno : 0 macro : __unix__ 1
> DW_MACINFO_define - lineno : 0 macro : __unix 1
> DW_MACINFO_define - lineno : 0 macro : __linux__ 1
> DW_MACINFO_define - lineno : 0 macro : __linux 1
> DW_MACINFO_define - lineno : 0 macro : __gnu_linux__ 1
> DW_MACINFO_define - lineno : 0 macro : unix 1
> DW_MACINFO_define - lineno : 0 macro : linux 1
> DW_MACINFO_define - lineno : 0 macro : __i386 1
> DW_MACINFO_define - lineno : 0 macro : __i386__ 1
> DW_MACINFO_define - lineno : 0 macro : i386 1
> DW_MACINFO_start_file - lineno: 0 filenum: 1
> DW_MACINFO_define - lineno : 1 macro : TEST
> >How-To-Repeat:
> Unfortunately current Intel compiler does not generate debug information for macros. But this feature will be included in compiler 8.0.
> >Fix:
>
> >Release-Note:
> >Audit-Trail:
> >Unformatted:
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer