@@ -1540,7 +1540,7 @@ Common JoinedOrMissing Negative(gdwarf-)
Generate debug information in COFF format
gdwarf-
-Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
+Common Joined UInteger Var(dwarf_version) Init(DEFAULT_DWARF_VERSION) Negative(gstabs)
Generate debug information in DWARF v2 (or later) format
ggdb
@@ -24,6 +24,12 @@
#endif
+/* Default DWARF version with no -gdwarf-N switch. */
+#ifndef USED_FOR_TARGET
+#undef DEFAULT_DWARF_VERSION
+#endif
+
+
/* Define to enable the use of a default linker. */
#ifndef USED_FOR_TARGET
#undef DEFAULT_LINKER
@@ -890,6 +890,7 @@ with_pkgversion
with_bugurl
enable_languages
with_multilib_list
+enable_default_dwarf
enable_rpath
with_libiconv_prefix
enable_initfini_array
@@ -1589,6 +1590,8 @@ Optional Features:
--disable-shared don't provide a shared libgcc
--enable-intermodule build the compiler in one step
--enable-languages=LIST specify which front-ends to build
+ --enable-default-dwarf=VERSION
+ -g defaults to -gdwarf-VERSION
--disable-rpath do not hardcode runtime library paths
--enable-initfini-array use .init_array/.fini_array sections
--enable-sjlj-exceptions
@@ -6968,6 +6971,37 @@ else
fi
+# Check whether --enable-default-dwarf was given.
+if test "${enable_default_dwarf+set}" = set; then :
+ enableval=$enable_default_dwarf; default_dwarf=$enableval
+else
+ default_dwarf=2
+fi
+
+case "$default_dwarf" in
+[2-9]) ;;
+*) as_fn_error "--enable-default-dwarf requires a DWARF version number" "$LINENO" 5 ;;
+esac
+
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_DWARF_VERSION $default_dwarf
+_ACEOF
+
+doc_config_vars="$doc_config_vars default_dwarf"
+
+# ----------------------------------------------------------------
+# Generate gcc-config.texi to pass along vars in $doc_config_vars.
+# ----------------------------------------------------------------
+doc_config=
+for var in $doc_config_vars; do
+ eval val=\$$var
+ doc_config="$doc_config
+@set $var $val"
+done
+ac_config_commands="$ac_config_commands gcc-config.texi"
+
+
# -------------------------
# Checks for other programs
# -------------------------
@@ -17109,7 +17143,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17112 "configure"
+#line 17146 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17215,7 +17249,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17218 "configure"
+#line 17252 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -26466,6 +26500,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
+doc_config="$doc_config"
subdirs='$subdirs'
_ACEOF
@@ -26477,6 +26512,7 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"auto-host.h") CONFIG_HEADERS="$CONFIG_HEADERS auto-host.h:config.in" ;;
+ "gcc-config.texi") CONFIG_COMMANDS="$CONFIG_COMMANDS gcc-config.texi" ;;
"as") CONFIG_FILES="$CONFIG_FILES as:exec-tool.in" ;;
"collect-ld") CONFIG_FILES="$CONFIG_FILES collect-ld:exec-tool.in" ;;
"nm") CONFIG_FILES="$CONFIG_FILES nm:exec-tool.in" ;;
@@ -27060,6 +27096,13 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
+ "gcc-config.texi":C)
+ rm -f gcc-config.texi
+ cat > gcc-config.texi <<EOF
+@c Generated by configure.
+$doc_config
+EOF
+ ;;
"as":F) chmod +x as ;;
"collect-ld":F) chmod +x collect-ld ;;
"nm":F) chmod +x nm ;;
@@ -833,6 +833,37 @@ AC_ARG_WITH(multilib-list,
:,
with_multilib_list=default)
+AC_ARG_ENABLE(default-dwarf,
+ [AS_HELP_STRING([--enable-default-dwarf=VERSION],
+ [-g defaults to -gdwarf-VERSION])],
+ [default_dwarf=$enableval],
+ [default_dwarf=2])
+case "$default_dwarf" in
+@<:@2-9@:>@) ;;
+*) AC_MSG_ERROR([--enable-default-dwarf requires a DWARF version number]) ;;
+esac
+
+AC_DEFINE_UNQUOTED([DEFAULT_DWARF_VERSION], $default_dwarf,
+ [Default DWARF version with no -gdwarf-N switch.])
+doc_config_vars="$doc_config_vars default_dwarf"
+
+# ----------------------------------------------------------------
+# Generate gcc-config.texi to pass along vars in $doc_config_vars.
+# ----------------------------------------------------------------
+doc_config=
+for var in $doc_config_vars; do
+ eval val=\$$var
+ doc_config="$doc_config
+@set $var $val"
+done
+AC_CONFIG_COMMANDS([gcc-config.texi], [
+ rm -f gcc-config.texi
+ cat > gcc-config.texi <<EOF
+@c Generated by configure.
+$doc_config
+EOF
+], [doc_config="$doc_config"])
+
# -------------------------
# Checks for other programs
# -------------------------
@@ -1,5 +1,5 @@
-@c Copyright (C) 2001, 2002, 2003, 2004, 2005,
-@c 2007 Free Software Foundation, Inc.
+@c Copyright (C) 2001,2002,2003,2004,2005,2007,2010
+@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -10,6 +10,7 @@
@c in gcc/DEV-PHASE).
@include gcc-vers.texi
+@include gcc-config.texi
@c Common macros to support generating man pages:
@@ -1665,6 +1665,10 @@ enabled together with @option{--enable-lto}, an additional directory
plugin for gold that allows the link-time optimizer to extract object
files with LTO information out of library archives. See
@option{-flto} and @option{-fwhopr} for details.
+
+@item --enable-default-dwarf=@var{version}
+Emit DWARF format @var{version} (rather than 2) for @option{-g}
+when no @option{-gdwarf-@var{version}} option is passed to the compiler.
@end table
@subheading Cross-Compiler-Specific Options
@@ -4587,7 +4587,11 @@ assembler (GAS) to fail with an error.
@opindex gdwarf-@var{version}
Produce debugging information in DWARF format (if that is
supported). This is the format used by DBX on IRIX 6. The value
-of @var{version} may be either 2, 3 or 4; the default version is 2.
+of @var{version} may be either 2, 3 or 4. The default version
+depends on the configuration with which GCC was built.
+@ifset default_dwarf
+In this system's GCC, the default @var{version} is @value{default_dwarf}.
+@end ifset
Note that with DWARF version 2 some ports require, and will always
use, some non-conflicting DWARF 3 extensions in the unwind tables.
@@ -149,6 +149,9 @@ fi
echo "@set BUGURL @uref{http://gcc.gnu.org/bugs/}"
) > $includedir/gcc-vers.texi
+# Empty config is default config.
+> $includedir/gcc-config.texi
+
# Now convert the relevant files from texi to HTML, PDF and PostScript.
for file in $MANUALS; do
filename=`find . -name ${file}.texi`