The patch fixes the crash on non-Linux platforms when os_rx is a null pointer and converted to C++ std::string. --- gdb-8.3/gdb/osabi.c 2019-08-19 11:15:04.176948730 +0000 +++ gdb-8.3/gdb/osabi.c 2019-08-19 11:13:43.202284584 +0000 @@ -63,7 +63,7 @@ static const struct osabi_names gdb_osab { "SVR4", NULL }, { "GNU/Hurd", NULL }, - { "Solaris", NULL }, + { "Solaris", "solaris[2-9]\.[0-9][0-9]" }, { "GNU/Linux", "linux(-gnu[^-]*)?" }, { "FreeBSD", NULL }, { "NetBSD", NULL }, --- gdb-8.3/gdb/compile/compile.c 2019-08-19 13:07:57.669785758 +0000 +++ gdb-8.3/gdb/compile/compile.c 2019-08-19 13:07:33.865626973 +0000 @@ -697,7 +697,7 @@ compile_to_object (struct command_line * const char *arch_rx = gdbarch_gnu_triplet_regexp (gdbarch); /* Allow triplets with or without vendor set. */ - triplet_rx = std::string (arch_rx) + "(-[^-]*)?-" + os_rx; + triplet_rx = std::string (arch_rx) + "(-[^-]*)?-" + (os_rx ? : ""); compiler->set_triplet_regexp (triplet_rx.c_str ()); }