]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h if the GNU assembler is...
authorEric Botcazou <ebotcazou@libertysurf.fr>
Fri, 24 Sep 2004 06:17:07 +0000 (08:17 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 24 Sep 2004 06:17:07 +0000 (06:17 +0000)
* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
if the GNU assembler is used.
(sparc-*-solaris2*): Likewise.
* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
(dbxout_function_end): Protect N_ENSYM with it.
(dbxout_begin_prologue): Protect N_BNSYM with it.
* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
* config/sparc/sol2-gas.h: New file.

From-SVN: r88013

gcc/ChangeLog
gcc/config.gcc
gcc/config/sparc/sol2-gas.h [new file with mode: 0644]
gcc/config/sparc/sol2.h
gcc/dbxout.c
gcc/doc/tm.texi

index 8395979acd26f6218c11484e7de604f068f87626..dce454e42f2aa3a55ebc095ea95504906b416d10 100644 (file)
@@ -1,3 +1,15 @@
+2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
+       if the GNU assembler is used.
+       (sparc-*-solaris2*): Likewise.
+       * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
+       (dbxout_function_end): Protect N_ENSYM with it.
+       (dbxout_begin_prologue): Protect N_BNSYM with it.
+       * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
+       * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
+       * config/sparc/sol2-gas.h: New file.
+
 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR bootstrap/17369
index 747bcac9577e2c0e716b751b9cbd82347b98d046..0ec389e6ef01eb1ef8626293b60508d50ed2c601 100644 (file)
@@ -1869,7 +1869,7 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
                tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
        fi
        if test x$gas = xyes; then
-               tm_file="${tm_file} sparc/sol2-gas-bi.h"
+               tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h"
        fi
        tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
        if test x$gnu_ld = xyes; then
@@ -1894,6 +1894,9 @@ sparc-*-solaris2*)
        if test x$gnu_ld = xyes; then
                tm_file="${tm_file} sparc/sol2-gld.h"
        fi
+       if test x$gas = xyes; then
+               tm_file="${tm_file} sparc/sol2-gas.h"
+       fi
        tmake_file="t-sol2 sparc/t-sol2 sparc/t-crtfm"
        if test x$gnu_ld = xyes; then
                tmake_file="$tmake_file t-slibgcc-elf-ver"
diff --git a/gcc/config/sparc/sol2-gas.h b/gcc/config/sparc/sol2-gas.h
new file mode 100644 (file)
index 0000000..7e808f7
--- /dev/null
@@ -0,0 +1,5 @@
+/* Definitions of target machine for GCC, for SPARC running Solaris 2
+   using the GNU assembler.  */
+
+/* Undefine this so that BNSYM/ENSYM pairs are emitted by STABS+.  */
+#undef NO_DBX_BNSYM_ENSYM
index a218ccdceae7d784e57f82e144fd1c6f1bfebf20..8b5edb070c9e50ec107410db9da51704e1c94349 100644 (file)
@@ -108,6 +108,9 @@ Boston, MA 02111-1307, USA.  */
     }                                                          \
   while (0)
 
+/* The Solaris assembler cannot grok .stabd directives.  */
+#undef NO_DBX_BNSYM_ENSYM
+#define NO_DBX_BNSYM_ENSYM 1
 \f
 
 #undef  ENDFILE_SPEC
index 22eaf27dfb760b060417c48f5178df1d0016d57a..8dd153e151a1aec62f2371835f282a9c6213f658 100644 (file)
@@ -150,6 +150,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #define NO_DBX_FUNCTION_END 0
 #endif
 
+#ifndef NO_DBX_BNSYM_ENSYM
+#define NO_DBX_BNSYM_ENSYM 0
+#endif
+
 enum typestatus {TYPE_UNSEEN, TYPE_XREF, TYPE_DEFINED};
 
 /* Structure recording information about a C data type.
@@ -487,7 +491,7 @@ dbxout_function_end (void)
   fprintf (asmfile, "\n");
 #endif
 
-  if (!flag_debug_only_used_symbols)
+  if (!NO_DBX_BNSYM_ENSYM && !flag_debug_only_used_symbols)
     fprintf (asmfile, "%s%d,0,0\n", ASM_STABD_OP, N_ENSYM);
 }
 #endif /* DBX_DEBUGGING_INFO */
@@ -794,6 +798,7 @@ dbxout_begin_prologue (unsigned int lineno, const char *filename)
 {
   if (use_gnu_debug_info_extensions
       && !NO_DBX_FUNCTION_END
+      && !NO_DBX_BNSYM_ENSYM
       && !flag_debug_only_used_symbols)
     fprintf (asmfile, "%s%d,0,0\n", ASM_STABD_OP, N_BNSYM);
 
index 5d777c48229f0ec007390297e5c2148f1e3b0414..fc033ecc6913022195881ce1aef7ffdd91d4b092 100644 (file)
@@ -7998,6 +7998,12 @@ On those machines, define this macro to turn this feature off without
 disturbing the rest of the gdb extensions.
 @end defmac
 
+@defmac NO_DBX_BNSYM_ENSYM
+Some assemblers cannot handle the @code{.stabd BNSYM/ENSYM,0,0} gdb dbx
+extension construct.  On those machines, define this macro to turn this
+feature off without disturbing the rest of the gdb extensions.
+@end defmac
+
 @node File Names and DBX
 @subsection File Names in DBX Format