https://gcc.gnu.org/g:837fd98327f6261644c04727254f421844535cde

commit 837fd98327f6261644c04727254f421844535cde
Author: Michael Meissner <[email protected]>
Date:   Sat Oct 17 01:27:22 2026 -0400

    Add -mdebug=extra1 through -mdebug=extra5
    
    2026-10-17  Michael Meissner  <[email protected]>
    
            * common/config/rs6000/rs6000rcommon.cc (rs6000_handle_option): Add
            support for -mdebug=estra{1,2,3,4,5}.
            * config/rs6000/rs6000.h (MASK_DEBUG_*): Likewise.
            (TARGET_DEBUG_*): Likewise.

Diff:
---
 gcc/common/config/rs6000/rs6000-common.cc | 10 +++++++
 gcc/config/rs6000/rs6000.h                | 43 +++++++++++++++++++++----------
 2 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/gcc/common/config/rs6000/rs6000-common.cc 
b/gcc/common/config/rs6000/rs6000-common.cc
index 5be6fd804351..8a774ce91e54 100644
--- a/gcc/common/config/rs6000/rs6000-common.cc
+++ b/gcc/common/config/rs6000/rs6000-common.cc
@@ -171,6 +171,16 @@ rs6000_handle_option (struct gcc_options *opts, struct 
gcc_options *opts_set,
            mask = MASK_DEBUG_TARGET;
          else if (! strcmp (q, "builtin"))
            mask = MASK_DEBUG_BUILTIN;
+         else if (! strcmp (q, "extra1"))
+           mask = MASK_DEBUG_EXTRA1;
+         else if (! strcmp (q, "extra2"))
+           mask = MASK_DEBUG_EXTRA2;
+         else if (! strcmp (q, "extra3"))
+           mask = MASK_DEBUG_EXTRA3;
+         else if (! strcmp (q, "extra4"))
+           mask = MASK_DEBUG_EXTRA4;
+         else if (! strcmp (q, "extra5"))
+           mask = MASK_DEBUG_EXTRA5;
          else
            error_at (loc, "unknown %<-mdebug-%s%> switch", q);
 
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 9eb5ee802c79..b5721ea94a0b 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -295,20 +295,30 @@ extern const char *host_detect_local_cpu (int argc, const 
char **argv);
 #define ASSEMBLER_DIALECT 1
 
 /* Debug support */
-#define MASK_DEBUG_STACK       0x01    /* debug stack applications */
-#define        MASK_DEBUG_ARG          0x02    /* debug argument handling */
-#define MASK_DEBUG_REG         0x04    /* debug register handling */
-#define MASK_DEBUG_ADDR                0x08    /* debug memory addressing */
-#define MASK_DEBUG_COST                0x10    /* debug rtx codes */
-#define MASK_DEBUG_TARGET      0x20    /* debug target attribute/pragma */
-#define MASK_DEBUG_BUILTIN     0x40    /* debug builtins */
-#define MASK_DEBUG_ALL         (MASK_DEBUG_STACK \
-                                | MASK_DEBUG_ARG \
-                                | MASK_DEBUG_REG \
-                                | MASK_DEBUG_ADDR \
-                                | MASK_DEBUG_COST \
-                                | MASK_DEBUG_TARGET \
-                                | MASK_DEBUG_BUILTIN)
+#define MASK_DEBUG_STACK       0x001   /* debug stack applications */
+#define        MASK_DEBUG_ARG          0x002   /* debug argument handling */
+#define MASK_DEBUG_REG         0x004   /* debug register handling */
+#define MASK_DEBUG_ADDR                0x008   /* debug memory addressing */
+#define MASK_DEBUG_COST                0x010   /* debug rtx codes */
+#define MASK_DEBUG_TARGET      0x020   /* debug target attribute/pragma */
+#define MASK_DEBUG_BUILTIN     0x040   /* debug builtins */
+#define MASK_DEBUG_EXTRA1      0x080   /* random debug testing #1.  */
+#define MASK_DEBUG_EXTRA2      0x100   /* random debug testing #2.  */
+#define MASK_DEBUG_EXTRA3      0x200   /* random debug testing #3.  */
+#define MASK_DEBUG_EXTRA4      0x400   /* random debug testing #4.  */
+#define MASK_DEBUG_EXTRA5      0x800   /* random debug testing #5.  */
+#define MASK_DEBUG_ALL         (MASK_DEBUG_STACK                       \
+                                | MASK_DEBUG_ARG                       \
+                                | MASK_DEBUG_REG                       \
+                                | MASK_DEBUG_ADDR                      \
+                                | MASK_DEBUG_COST                      \
+                                | MASK_DEBUG_TARGET                    \
+                                | MASK_DEBUG_BUILTIN                   \
+                                | MASK_DEBUG_EXTRA1                    \
+                                | MASK_DEBUG_EXTRA2                    \
+                                | MASK_DEBUG_EXTRA3                    \
+                                | MASK_DEBUG_EXTRA4                    \
+                                | MASK_DEBUG_EXTRA5)
 
 #define        TARGET_DEBUG_STACK      (rs6000_debug & MASK_DEBUG_STACK)
 #define        TARGET_DEBUG_ARG        (rs6000_debug & MASK_DEBUG_ARG)
@@ -317,6 +327,11 @@ extern const char *host_detect_local_cpu (int argc, const 
char **argv);
 #define TARGET_DEBUG_COST      (rs6000_debug & MASK_DEBUG_COST)
 #define TARGET_DEBUG_TARGET    (rs6000_debug & MASK_DEBUG_TARGET)
 #define TARGET_DEBUG_BUILTIN   (rs6000_debug & MASK_DEBUG_BUILTIN)
+#define TARGET_DEBUG_EXTRA1    (rs6000_debug & MASK_DEBUG_EXTRA1)
+#define TARGET_DEBUG_EXTRA2    (rs6000_debug & MASK_DEBUG_EXTRA2)
+#define TARGET_DEBUG_EXTRA3    (rs6000_debug & MASK_DEBUG_EXTRA3)
+#define TARGET_DEBUG_EXTRA4    (rs6000_debug & MASK_DEBUG_EXTRA4)
+#define TARGET_DEBUG_EXTRA5    (rs6000_debug & MASK_DEBUG_EXTRA5)
 
 /* Helper macros for TFmode.  Quad floating point (TFmode) can be either IBM
    long double format that uses a pair of doubles, or IEEE 128-bit floating

Reply via email to