diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in
index 26dec534c3a4bde83f5b6bf9b60480ae50ccf188..f585bb375bbc33fb0980d61dc0ea0c38e76bc7da 100644
--- a/gcc/cobol/Make-lang.in
+++ b/gcc/cobol/Make-lang.in
@@ -64,11 +64,9 @@ CPPFLAGS =					\
  -DEXEC_LIB=\"$(PREFIX)/$(libdir)\"		\
  $(END)
 
-BISON = bison
 YFLAGS = -Werror -Wmidrule-values -Wno-yacc \
 	--debug --verbose
 
-FLEX = flex
 LFLAGS = -d -Ca
 
 #
diff --git a/gcc/cobol/cobol1.cc b/gcc/cobol/cobol1.cc
index e5e1b9720c203fc600b88161b4b718c4ff8754e3..f46c3e21f38e5257a4bc7617b579a2248da74cb0 100644
--- a/gcc/cobol/cobol1.cc
+++ b/gcc/cobol/cobol1.cc
@@ -823,6 +823,14 @@ cobol_set_decl_assembler_name (tree decl)
     SET_DECL_ASSEMBLER_NAME (decl, id);
     }
 
+/* Get a value for the SARIF v2.1.0 "artifact.sourceLanguage" property,
+   based on the list in SARIF v2.1.0 Appendix J.  */
+
+const char *
+cobol_get_sarif_source_language(const char *)
+    {
+    return "cobol";
+    }
 
 #undef LANG_HOOKS_BUILTIN_FUNCTION
 #undef LANG_HOOKS_GETDECLS
@@ -837,6 +845,7 @@ cobol_set_decl_assembler_name (tree decl)
 #undef LANG_HOOKS_TYPE_FOR_MODE
 #undef LANG_HOOKS_TYPE_FOR_SIZE
 #undef LANG_HOOKS_SET_DECL_ASSEMBLER_NAME
+#undef LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE
 
 #define LANG_HOOKS_NAME "Cobol"
 
@@ -857,6 +866,8 @@ cobol_set_decl_assembler_name (tree decl)
 
 #define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME cobol_set_decl_assembler_name
 
+#define LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE cobol_get_sarif_source_language
+
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
 #include "gt-cobol-cobol1.h"
diff --git a/gcc/cobol/lang.opt.urls b/gcc/cobol/lang.opt.urls
index 40ee30e725e8b709bfaef2b161d25ae61e080dcf..a0e1f1944fe3402624bed69b4093fad95252ef18 100644
--- a/gcc/cobol/lang.opt.urls
+++ b/gcc/cobol/lang.opt.urls
@@ -1,30 +1,29 @@
-; Copied by Dubner from gcc/rust/ so that compilation could proceed
-; Autogenerated by regenerate-opt-urls.py from gcc/rust/lang.opt and generated HTML
+; Autogenerated by regenerate-opt-urls.py from gcc/cobol/lang.opt and generated HTML
 
-I
-UrlSuffix(gcc/Directory-Options.html#index-I) LangUrlSuffix_D(gdc/Directory-Options.html#index-I)
+D
+UrlSuffix(gcc/Preprocessor-Options.html#index-D-1)
 
-L
-UrlSuffix(gcc/Directory-Options.html#index-L) LangUrlSuffix_D(gdc/Directory-Options.html#index-L)
+; skipping UrlSuffix for 'E' due to multiple URLs:
+;   duplicate: 'gcc/Link-Options.html#index-E-1'
+;   duplicate: 'gcc/Overall-Options.html#index-E'
 
-; skipping UrlSuffix for 'Wall' due to multiple URLs:
-;   duplicate: 'gcc/Standard-Libraries.html#index-Wall-1'
-;   duplicate: 'gcc/Warning-Options.html#index-Wall'
-Wall
-LangUrlSuffix_D(gdc/Warnings.html#index-Wall)
+I
+UrlSuffix(gcc/Directory-Options.html#index-I) LangUrlSuffix_D(gdc/Directory-Options.html#index-I)
 
-Wunused-variable
-UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-variable)
+fsyntax-only
+UrlSuffix(gcc/Warning-Options.html#index-fsyntax-only) LangUrlSuffix_D(gdc/Warnings.html#index-fno-syntax-only)
 
-Wunused-const-variable
-UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-const-variable)
+fmax-errors
+UrlSuffix(gcc/Warning-Options.html#index-fmax-errors) LangUrlSuffix_D(gdc/Warnings.html#index-fmax-errors)
 
-Wunused-const-variable=
-UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-const-variable)
+iprefix
+UrlSuffix(gcc/Directory-Options.html#index-iprefix) LangUrlSuffix_D(gdc/Directory-Options.html#index-iprefix)
 
-Wunused-result
-UrlSuffix(gcc/Warning-Options.html#index-Wno-unused-result)
+include
+UrlSuffix(gcc/Preprocessor-Options.html#index-include)
 
-o
-UrlSuffix(gcc/Overall-Options.html#index-o)
+isysroot
+UrlSuffix(gcc/Directory-Options.html#index-isysroot)
 
+isystem
+UrlSuffix(gcc/Directory-Options.html#index-isystem)