https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94491
Bug ID: 94491 Summary: -g2 debugging level is not documented Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at inbox dot ru Target Milestone: --- A tiny backstory: to profile a program I built it with '-g'. The result did not fit in my RAM and machine crashed. Looking at the doc I found out '-g' means '-g2' (and not '-g1'). Worth documenting what -g2 actually do? Others are interested as well: https://stackoverflow.com/questions/10475040/gcc-g-vs-g3-gdb-flag-what-is-the-difference 'man gcc' covers only 0,1 and 3: """ -glevel -ggdblevel -gstabslevel -gxcofflevel -gvmslevel Request debugging information and also use level to specify how much information. The default level is 2. Level 0 produces no debug information at all. Thus, -g0 negates -g. Level 1 produces minimal information, enough for making backtraces in parts of the program that you don't plan to debug. This includes descriptions of functions and external variables, and line number tables, but no information about local variables. Level 3 includes extra information, such as all the macro definitions present in the program. Some debuggers support macro expansion when you use -g3. If you use multiple -g options, with or without level numbers, the last such option is the one that is effective. -gdwarf does not accept a concatenated debug level, to avoid confusion with -gdwarf-level. Instead use an additional -glevel option to change the debug level for DWARF. """