https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119308
--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> --- So some AIX documentation specifies a language tag value (7) for Cobol in the traceback table: https://www.ibm.com/docs/en/aix/7.1?topic=ops-tbtag-pseudo-op ...so this fixes the ICE: diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc index 52f44b114b0..5377ad6cee6 100644 --- a/gcc/config/rs6000/rs6000-logue.cc +++ b/gcc/config/rs6000/rs6000-logue.cc @@ -5351,6 +5351,8 @@ rs6000_output_function_epilogue (FILE *file) i = 1; else if (! strcmp (language_string, "GNU Ada")) i = 3; + else if (! strcmp (language_string, "GCC COBOL")) + i = 7; else if (! strcmp (language_string, "GNU Modula-2")) i = 8; else if (lang_GNU_CXX () It's interesting the language string is "GCC COBOL" and not "GNU COBOL". That was intentional? That said, we now SEGV during runtime: bergner@kubota:COBOL$ cat hello.cob IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!" . bergner@kubota:COBOL$ gcobol -R/home/bergner/gcc/install/gcc-fsf-mainline-cobol-debug/lib64 -L/home/bergner/gcc/install/gcc-fsf-mainline-cobol-debug/lib64 hello.cob bergner@kubota:COBOL$ ./a.out Hello, world! Segmentation fault (core dumped)