Sent from my iPhone
On Nov 16, 2009, at 6:12 AM, "jan dot kratochvil at redhat dot com" <gcc-bugzi...@gcc.gnu.org
> wrote:
-g3 currently produces huge objects as it contains many unused macros.
-g2 produces no macros debug info so GDB cannot provide its expansion.
That is by design and the reason why -g is -g2 by default ....
There is no way to store just the used macros.
(debuginfo compression driven by Roland McGrath may eliminate them but
still...)
While even a macro never used by a program can be helpful in most
cases IMO it
is enough to provide the macro definitions touched by the code being
debugged.
-feliminate-unused-debug-symbols -feliminate-unused-debug-types have
no effect.
---
---
---
----------------------------------------------------------------------
#define NOT used
#define USED(x) x
int main (void) { return USED (0); }
---
---
---
----------------------------------------------------------------------
Getting:
gcc -g3 -o unusedmacro unusedmacro.c -Wall; readelf -wm unusedmacro
DW_MACINFO_define - lineno : 1 macro : NOT used
DW_MACINFO_define - lineno : 2 macro : USED(x) x
or:
gcc -g2 -o unusedmacro unusedmacro.c -Wall; readelf -wm unusedmacro
<nothing printed>
Expected output:
gcc -g3 -o unusedmacro unusedmacro.c -Wall; readelf -wm unusedmacro
DW_MACINFO_define - lineno : 2 macro : USED(x) x
--
Summary: DWARF .debug_macinfo contains unused macros
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jan dot kratochvil at redhat dot com
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42065