From 0c8127f3c87f89738c68997a73c56b43b4b9b9b5 Mon Sep 17 00:00:00 2001 From: zack Date: Wed, 18 Apr 2001 06:15:20 +0000 Subject: [PATCH] 2001-04-17 Zack Weinberg * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, use it instead of blindly generating a .stabs. * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type in the right place. * xcoffout.c: Don't bother defining default for N_CATCH. (UNKNOWN_STAB): Use internal_error. (stab_to_sclass): Remove now-unnecessary aborts. Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-3_0-branch@41403 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 13 ++++++++++++- gcc/dbxout.c | 4 ++++ gcc/xcoffout.c | 44 +++++++++----------------------------------- gcc/xcoffout.h | 4 ++++ 4 files changed, 29 insertions(+), 36 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 521406d3a78..3d4562e8db9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2001-04-17 Zack Weinberg + + * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, + use it instead of blindly generating a .stabs. + * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type + in the right place. + * xcoffout.c: Don't bother defining default for N_CATCH. + (UNKNOWN_STAB): Use internal_error. + (stab_to_sclass): Remove now-unnecessary aborts. + Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block. + Tue Apr 17 21:39:12 2001 Jeffrey A Law (law@cygnus.com) * jump.c (mark_all_labels): Canonicalize the tail recursion @@ -85,7 +96,7 @@ Mon Apr 16 08:02:14 2001 Jeffrey A Law (law@cygnus.com) * pa.md (reload_outdi): Operand 0 must be a non hard register. - * pa.c (secondary_reload_class): SAR<->FP copies require a + * pa.c (secondary_reload_class): SAR<->FP copies require a secondary register. * install.texi (mips-mips-bsd): Update list of functions diff --git a/gcc/dbxout.c b/gcc/dbxout.c index d6ae9d19b4d..bc0ebd42505 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -428,9 +428,13 @@ dbxout_init (asm_file, input_file_name, syms) ASM_OUTPUT_INTERNAL_LABEL (asmfile, "Ltext", 0); #endif /* no DBX_OUTPUT_MAIN_SOURCE_FILENAME */ +#ifdef DBX_OUTPUT_GCC_MARKER + DBX_OUTPUT_GCC_MARKER (asmfile); +#else /* Emit an N_OPT stab to indicate that this file was compiled by GCC. */ fprintf (asmfile, "%s\"%s\",%d,0,0,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT); +#endif lastfile = input_file_name; diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c index 6c8c2fe0599..ea0a5b7ced0 100644 --- a/gcc/xcoffout.c +++ b/gcc/xcoffout.c @@ -45,11 +45,6 @@ Boston, MA 02111-1307, USA. */ #include "gstab.h" #else #include - -/* This is a GNU extension we need to reference in this file. */ -#ifndef N_CATCH -#define N_CATCH 0x54 -#endif #endif /* Line number of beginning of current function, minus one. @@ -178,10 +173,7 @@ xcoff_output_standard_types (syms) /* Print an error message for unrecognized stab codes. */ #define UNKNOWN_STAB(STR) \ - do { \ - error ("Unknown stab %s: : 0x%x\n", STR, stab); \ - fflush (stderr); \ - } while (0) + internal_error ("No sclass for %s stab (0x%x)\n", STR, stab) /* Conversion routine from BSD stabs to AIX storage classes. */ @@ -196,7 +188,6 @@ stab_to_sclass (stab) case N_FNAME: UNKNOWN_STAB ("N_FNAME"); - abort (); case N_FUN: return C_FUN; @@ -208,7 +199,6 @@ stab_to_sclass (stab) #ifdef N_MAIN case N_MAIN: UNKNOWN_STAB ("N_MAIN"); - abort (); #endif case N_RSYM: @@ -216,7 +206,6 @@ stab_to_sclass (stab) case N_SSYM: UNKNOWN_STAB ("N_SSYM"); - abort (); case N_RPSYM: return C_RPSYM; @@ -232,59 +221,43 @@ stab_to_sclass (stab) case N_SO: UNKNOWN_STAB ("N_SO"); - abort (); case N_SOL: UNKNOWN_STAB ("N_SOL"); - abort (); case N_SLINE: UNKNOWN_STAB ("N_SLINE"); - abort (); #ifdef N_DSLINE case N_DSLINE: UNKNOWN_STAB ("N_DSLINE"); - abort (); #endif #ifdef N_BSLINE case N_BSLINE: UNKNOWN_STAB ("N_BSLINE"); - abort (); -#endif -#if 0 - /* This has the same value as N_BSLINE. */ - case N_BROWS: - UNKNOWN_STAB ("N_BROWS"); - abort (); #endif #ifdef N_BINCL case N_BINCL: UNKNOWN_STAB ("N_BINCL"); - abort (); #endif #ifdef N_EINCL case N_EINCL: UNKNOWN_STAB ("N_EINCL"); - abort (); #endif #ifdef N_EXCL case N_EXCL: UNKNOWN_STAB ("N_EXCL"); - abort (); #endif case N_LBRAC: UNKNOWN_STAB ("N_LBRAC"); - abort (); case N_RBRAC: UNKNOWN_STAB ("N_RBRAC"); - abort (); case N_BCOMM: return C_BCOMM; @@ -295,31 +268,32 @@ stab_to_sclass (stab) case N_LENG: UNKNOWN_STAB ("N_LENG"); - abort (); case N_PC: UNKNOWN_STAB ("N_PC"); - abort (); #ifdef N_M2C case N_M2C: UNKNOWN_STAB ("N_M2C"); - abort (); #endif #ifdef N_SCOPE case N_SCOPE: UNKNOWN_STAB ("N_SCOPE"); - abort (); #endif +#ifdef N_CATCH case N_CATCH: UNKNOWN_STAB ("N_CATCH"); - abort (); +#endif + +#ifdef N_OPT + case N_OPT: + UNKNOWN_STAB ("N_OPT"); +#endif default: - UNKNOWN_STAB ("default"); - abort (); + UNKNOWN_STAB ("?"); } } diff --git a/gcc/xcoffout.h b/gcc/xcoffout.h index 2fb8ab3fb4e..e1c3e89298a 100644 --- a/gcc/xcoffout.h +++ b/gcc/xcoffout.h @@ -172,6 +172,10 @@ extern const char *xcoff_lastfile; } \ } +/* .stabx has the type in a different place. */ +#define DBX_OUTPUT_GCC_MARKER(FILE) \ + fprintf ((FILE), "%s\"%s\",0,%d,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT) + /* Do not break .stabs pseudos into continuations. */ #define DBX_CONTIN_LENGTH 0 -- 2.11.4.GIT