configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.

* configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
	(HAVE_AS_GSTABS_DEBUG_FLAG): Define.
	* configure: Regenerate.
	* config.in: Add dummy definitions of new flags.
	* toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
	* defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
	* gcc.c (ASM_DEBUG_SPEC): New macro.
	(asm_debug): New static variable.
	(default_compilers): Add asm_debug when assembling from
	user input.
	(static_specs): Add asm_debug.

From-SVN: r47210
This commit is contained in:
Geoffrey Keating 2001-11-20 10:16:09 +00:00 committed by Geoffrey Keating
parent 2d2e8123b5
commit 5f0e9ea278
7 changed files with 185 additions and 41 deletions

View File

@ -1,3 +1,17 @@
2001-11-19 Geoffrey Keating <geoffk@redhat.com>
* configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
(HAVE_AS_GSTABS_DEBUG_FLAG): Define.
* configure: Regenerate.
* config.in: Add dummy definitions of new flags.
* toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
* defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
* gcc.c (ASM_DEBUG_SPEC): New macro.
(asm_debug): New static variable.
(default_compilers): Add asm_debug when assembling from
user input.
(static_specs): Add asm_debug.
2001-11-20 Loren J. Rittle <ljrittle@acm.org>
* config.gcc (*-*-freebsd*): Remove configuration block.

View File

@ -569,6 +569,11 @@
/* Define 0/1 to force the choice for exception handling model. */
#undef CONFIG_SJLJ_EXCEPTIONS
/* Define if your assembler supports the --gdwarf2 option. */
#undef HAVE_AS_GDWARF2_DEBUG_FLAG
/* Define if your assembler supports the --gstabs option. */
#undef HAVE_AS_GSTABS_DEBUG_FLAG
/* Bison unconditionally undefines `const' if neither `__STDC__' nor
__cplusplus are defined. That's a problem since we use `const' in

61
gcc/configure vendored
View File

@ -2078,7 +2078,7 @@ EOF
fi
# Find some useful tools
for ac_prog in mawk gawk nawk awk
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@ -7616,6 +7616,63 @@ EOF
fi
echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6
echo "configure:7621: checking assembler --gdwarf2 support" >&5
gcc_cv_as_gdwarf2_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
if test "$gcc_cv_gas_major_version" -eq 2 \
-a "$gcc_cv_gas_minor_version" -ge 11 \
-o "$gcc_cv_gas_major_version" -gt 2 \
&& grep 'obj_format = elf' ../gas/Makefile > /dev/null \
&& test x"$insn" != x ; then
gcc_cv_as_gdwarf2_debug_flag="yes"
fi
elif test x$gcc_cv_as != x -a x"$insn" != x ; then
echo '' > conftest.s
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gdwarf2 -o conftest.o conftest.s > /dev/null 2>&1
then
gcc_cv_as_gdwarf2_flag="yes"
fi
rm -f conftest.s conftest.o
fi
if test x"$gcc_cv_as_gdwarf2_flag" = xyes; then
cat >> confdefs.h <<\EOF
#define HAVE_AS_GDWARF2_DEBUG_FLAG 1
EOF
fi
echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6
echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6
echo "configure:7650: checking assembler --gstabs support" >&5
gcc_cv_as_gstabs_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
if test "$gcc_cv_gas_major_version" -eq 2 \
-a "$gcc_cv_gas_minor_version" -ge 11 \
-o "$gcc_cv_gas_major_version" -gt 2 \
&& grep 'obj_format = elf' ../gas/Makefile > /dev/null \
&& test x"$insn" != x ; then
gcc_cv_as_gstabs_debug_flag="yes"
fi
elif test x$gcc_cv_as != x -a x"$insn" != x ; then
echo '' > conftest.s
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gstabs -o conftest.o conftest.s > /dev/null 2>&1 ; then
gcc_cv_as_gstabs_flag="yes"
fi
rm -f conftest.s conftest.o
fi
if test x"$gcc_cv_as_gstabs_flag" = xyes; then
cat >> confdefs.h <<\EOF
#define HAVE_AS_GSTABS_DEBUG_FLAG 1
EOF
fi
echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6
if test "$prefix" != "/usr" && test "$prefix" != "/usr/local" ; then
cat >> confdefs.h <<EOF
#define PREFIX_INCLUDE_DIR "$prefix/include"
@ -7759,7 +7816,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
echo "configure:7763: checking whether to enable maintainer-specific portions of Makefiles" >&5
echo "configure:7820: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"

View File

@ -1725,6 +1725,57 @@ if test x"$gcc_cv_as_dwarf2_debug_line" = xyes; then
fi
AC_MSG_RESULT($gcc_cv_as_dwarf2_debug_line)
AC_MSG_CHECKING(assembler --gdwarf2 support)
gcc_cv_as_gdwarf2_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
if test "$gcc_cv_gas_major_version" -eq 2 \
-a "$gcc_cv_gas_minor_version" -ge 11 \
-o "$gcc_cv_gas_major_version" -gt 2 \
&& grep 'obj_format = elf' ../gas/Makefile > /dev/null \
&& test x"$insn" != x ; then
gcc_cv_as_gdwarf2_debug_flag="yes"
fi
elif test x$gcc_cv_as != x -a x"$insn" != x ; then
echo '' > conftest.s
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gdwarf2 -o conftest.o conftest.s > /dev/null 2>&1
then
gcc_cv_as_gdwarf2_flag="yes"
fi
rm -f conftest.s conftest.o
fi
if test x"$gcc_cv_as_gdwarf2_flag" = xyes; then
AC_DEFINE(HAVE_AS_GDWARF2_DEBUG_FLAG, 1,
[Define if your assembler supports the --gdwarf2 option.])
fi
AC_MSG_RESULT($gcc_cv_as_gdwarf2_flag)
AC_MSG_CHECKING(assembler --gstabs support)
gcc_cv_as_gstabs_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
if test "$gcc_cv_gas_major_version" -eq 2 \
-a "$gcc_cv_gas_minor_version" -ge 11 \
-o "$gcc_cv_gas_major_version" -gt 2 \
&& grep 'obj_format = elf' ../gas/Makefile > /dev/null \
&& test x"$insn" != x ; then
gcc_cv_as_gstabs_debug_flag="yes"
fi
elif test x$gcc_cv_as != x -a x"$insn" != x ; then
echo '' > conftest.s
# ??? This fails with non-gnu grep.
if $gcc_cv_as --gstabs -o conftest.o conftest.s > /dev/null 2>&1 ; then
gcc_cv_as_gstabs_flag="yes"
fi
rm -f conftest.s conftest.o
fi
if test x"$gcc_cv_as_gstabs_flag" = xyes; then
AC_DEFINE(HAVE_AS_GSTABS_DEBUG_FLAG, 1,
[Define if your assembler supports the --gstabs option.])
fi
AC_MSG_RESULT($gcc_cv_as_gstabs_flag)
if test "$prefix" != "/usr" && test "$prefix" != "/usr/local" ; then
AC_DEFINE_UNQUOTED(PREFIX_INCLUDE_DIR, "$prefix/include")
fi

View File

@ -410,4 +410,41 @@ do { \
#define ASM_BYTE_OP "\t.byte\t"
#endif
#ifndef DEFAULT_GDB_EXTENSIONS
#define DEFAULT_GDB_EXTENSIONS 1
#endif
/* If more than one debugging type is supported, you must define
PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way.
This is one long line cause VAXC can't handle a \-newline. */
#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) + defined (DWARF_DEBUGGING_INFO) + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO))
#ifndef PREFERRED_DEBUGGING_TYPE
You Lose! You must define PREFERRED_DEBUGGING_TYPE!
#endif /* no PREFERRED_DEBUGGING_TYPE */
#else /* Only one debugging format supported. Define PREFERRED_DEBUGGING_TYPE
so other code needn't care. */
#ifdef DBX_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#endif
#ifdef SDB_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG
#endif
#ifdef DWARF_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG
#endif
#ifdef DWARF2_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
#endif
#ifdef XCOFF_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG
#endif
#endif /* More than one debugger format enabled. */
/* If still not defined, must have been because no debugging formats
are supported. */
#ifndef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE NO_DEBUG
#endif
#endif /* ! GCC_DEFAULTS_H */

View File

@ -586,6 +586,20 @@ proper position among the other output files. */
#define LINKER_NAME "collect2"
#endif
/* Define ASM_DEBUG_SPEC to be a spec suitable for translating '-g'
to the assembler. */
#ifndef ASM_DEBUG_SPEC
# if defined(HAVE_AS_GDWARF2_DEBUG_FLAG) && defined(HAVE_AS_GSTABS_DEBUG_FLAG)
# if PREFERRED_DEBUGGING_FORMAT == DBX_DEBUG
# define ASM_DEBUG_SPEC "%{gdwarf-2*:--gdwarf2}%{!gdwarf-2*:%{g*:--gstabs}}"
# else
# define ASM_DEBUG_SPEC "%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}"
# endif
# else
# define ASM_DEBUG_SPEC ""
# endif
#endif
/* Here is the spec for running the linker, after compiling all files. */
/* -u* was put back because both BSD and SysV seem to support it. */
@ -613,6 +627,7 @@ proper position among the other output files. */
# endif
#endif
static const char *asm_debug = ASM_DEBUG_SPEC;
static const char *cpp_spec = CPP_SPEC;
static const char *cpp_predefines = CPP_PREDEFINES;
static const char *cc1_spec = CC1_SPEC;
@ -820,11 +835,12 @@ static struct compiler default_compilers[] =
"%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0},
{".s", "@assembler", 0},
{"@assembler",
"%{!M:%{!MM:%{!E:%{!S:as %(asm_options) %i %A }}}}", 0},
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0},
{".S", "@assembler-with-cpp", 0},
{"@assembler-with-cpp",
"%(trad_capable_cpp) -lang-asm %(cpp_options)\
%{!M:%{!MM:%{!E:%(invoke_as)}}}", 0},
%{!M:%{!MM:%{!E:%{!S:-o %{|!pipe:%g.s} |\n\
as %(asm_debug) %(asm_options) %{!pipe:%g.s} %A }}}}", 0},
#include "specs.h"
/* Mark end of table */
{0, 0, 0}
@ -1327,6 +1343,7 @@ struct spec_list
static struct spec_list static_specs[] =
{
INIT_STATIC_SPEC ("asm", &asm_spec),
INIT_STATIC_SPEC ("asm_debug", &asm_debug),
INIT_STATIC_SPEC ("asm_final", &asm_final_spec),
INIT_STATIC_SPEC ("asm_options", &asm_options),
INIT_STATIC_SPEC ("invoke_as", &invoke_as),

View File

@ -114,43 +114,6 @@ vms_fopen (fname, type)
#define fopen vms_fopen
#endif /* VMS */
#ifndef DEFAULT_GDB_EXTENSIONS
#define DEFAULT_GDB_EXTENSIONS 1
#endif
/* If more than one debugging type is supported, you must define
PREFERRED_DEBUGGING_TYPE to choose a format in a system-dependent way.
This is one long line cause VAXC can't handle a \-newline. */
#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) + defined (DWARF_DEBUGGING_INFO) + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO))
#ifndef PREFERRED_DEBUGGING_TYPE
You Lose! You must define PREFERRED_DEBUGGING_TYPE!
#endif /* no PREFERRED_DEBUGGING_TYPE */
#else /* Only one debugging format supported. Define PREFERRED_DEBUGGING_TYPE
so the following code needn't care. */
#ifdef DBX_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#endif
#ifdef SDB_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG
#endif
#ifdef DWARF_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG
#endif
#ifdef DWARF2_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
#endif
#ifdef XCOFF_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG
#endif
#endif /* More than one debugger format enabled. */
/* If still not defined, must have been because no debugging formats
are supported. */
#ifndef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE NO_DEBUG
#endif
#if defined (HAVE_DECL_ENVIRON) && !HAVE_DECL_ENVIRON
extern char **environ;
#endif