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:
parent
2d2e8123b5
commit
5f0e9ea278
|
@ -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>
|
2001-11-20 Loren J. Rittle <ljrittle@acm.org>
|
||||||
|
|
||||||
* config.gcc (*-*-freebsd*): Remove configuration block.
|
* config.gcc (*-*-freebsd*): Remove configuration block.
|
||||||
|
|
|
@ -569,6 +569,11 @@
|
||||||
/* Define 0/1 to force the choice for exception handling model. */
|
/* Define 0/1 to force the choice for exception handling model. */
|
||||||
#undef CONFIG_SJLJ_EXCEPTIONS
|
#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
|
/* Bison unconditionally undefines `const' if neither `__STDC__' nor
|
||||||
__cplusplus are defined. That's a problem since we use `const' in
|
__cplusplus are defined. That's a problem since we use `const' in
|
||||||
|
|
|
@ -2078,7 +2078,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Find some useful tools
|
# Find some useful tools
|
||||||
for ac_prog in mawk gawk nawk awk
|
for ac_prog in gawk mawk nawk awk
|
||||||
do
|
do
|
||||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
|
@ -7616,6 +7616,63 @@ EOF
|
||||||
fi
|
fi
|
||||||
echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
|
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
|
if test "$prefix" != "/usr" && test "$prefix" != "/usr/local" ; then
|
||||||
cat >> confdefs.h <<EOF
|
cat >> confdefs.h <<EOF
|
||||||
#define PREFIX_INCLUDE_DIR "$prefix/include"
|
#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 $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.
|
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
||||||
if test "${enable_maintainer_mode+set}" = set; then
|
if test "${enable_maintainer_mode+set}" = set; then
|
||||||
enableval="$enable_maintainer_mode"
|
enableval="$enable_maintainer_mode"
|
||||||
|
|
|
@ -1725,6 +1725,57 @@ if test x"$gcc_cv_as_dwarf2_debug_line" = xyes; then
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($gcc_cv_as_dwarf2_debug_line)
|
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
|
if test "$prefix" != "/usr" && test "$prefix" != "/usr/local" ; then
|
||||||
AC_DEFINE_UNQUOTED(PREFIX_INCLUDE_DIR, "$prefix/include")
|
AC_DEFINE_UNQUOTED(PREFIX_INCLUDE_DIR, "$prefix/include")
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -410,4 +410,41 @@ do { \
|
||||||
#define ASM_BYTE_OP "\t.byte\t"
|
#define ASM_BYTE_OP "\t.byte\t"
|
||||||
#endif
|
#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 */
|
#endif /* ! GCC_DEFAULTS_H */
|
||||||
|
|
21
gcc/gcc.c
21
gcc/gcc.c
|
@ -586,6 +586,20 @@ proper position among the other output files. */
|
||||||
#define LINKER_NAME "collect2"
|
#define LINKER_NAME "collect2"
|
||||||
#endif
|
#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. */
|
/* 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. */
|
/* -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
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const char *asm_debug = ASM_DEBUG_SPEC;
|
||||||
static const char *cpp_spec = CPP_SPEC;
|
static const char *cpp_spec = CPP_SPEC;
|
||||||
static const char *cpp_predefines = CPP_PREDEFINES;
|
static const char *cpp_predefines = CPP_PREDEFINES;
|
||||||
static const char *cc1_spec = CC1_SPEC;
|
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},
|
"%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0},
|
||||||
{".s", "@assembler", 0},
|
{".s", "@assembler", 0},
|
||||||
{"@assembler",
|
{"@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},
|
{".S", "@assembler-with-cpp", 0},
|
||||||
{"@assembler-with-cpp",
|
{"@assembler-with-cpp",
|
||||||
"%(trad_capable_cpp) -lang-asm %(cpp_options)\
|
"%(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"
|
#include "specs.h"
|
||||||
/* Mark end of table */
|
/* Mark end of table */
|
||||||
{0, 0, 0}
|
{0, 0, 0}
|
||||||
|
@ -1327,6 +1343,7 @@ struct spec_list
|
||||||
static struct spec_list static_specs[] =
|
static struct spec_list static_specs[] =
|
||||||
{
|
{
|
||||||
INIT_STATIC_SPEC ("asm", &asm_spec),
|
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_final", &asm_final_spec),
|
||||||
INIT_STATIC_SPEC ("asm_options", &asm_options),
|
INIT_STATIC_SPEC ("asm_options", &asm_options),
|
||||||
INIT_STATIC_SPEC ("invoke_as", &invoke_as),
|
INIT_STATIC_SPEC ("invoke_as", &invoke_as),
|
||||||
|
|
37
gcc/toplev.c
37
gcc/toplev.c
|
@ -114,43 +114,6 @@ vms_fopen (fname, type)
|
||||||
#define fopen vms_fopen
|
#define fopen vms_fopen
|
||||||
#endif /* VMS */
|
#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
|
#if defined (HAVE_DECL_ENVIRON) && !HAVE_DECL_ENVIRON
|
||||||
extern char **environ;
|
extern char **environ;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue