Implement show | set may-call-functions [on|off]
[deliverable/binutils-gdb.git] / gdb / osabi.c
index 9f3fe3c9fac8456203fc8d1220e3fc219faa7ea5..5d4bbcdff84e8150a2319d7bbf1603ce4d0fc13c 100644 (file)
@@ -1,6 +1,6 @@
 /* OS ABI variant handling for GDB.
 
-   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -58,12 +58,13 @@ struct osabi_names
    them in sync.  */
 static const struct osabi_names gdb_osabi_names[] =
 {
+  { "unknown", NULL },
   { "none", NULL },
 
   { "SVR4", NULL },
   { "GNU/Hurd", NULL },
   { "Solaris", NULL },
-  { "GNU/Linux", "linux(-gnu)?" },
+  { "GNU/Linux", "linux(-gnu[^-]*)?" },
   { "FreeBSD", NULL },
   { "NetBSD", NULL },
   { "OpenBSD", NULL },
@@ -79,6 +80,7 @@ static const struct osabi_names gdb_osabi_names[] =
   { "LynxOS178", NULL },
   { "Newlib", NULL },
   { "SDE", NULL },
+  { "PikeOS", NULL },
 
   { "<invalid>", NULL }
 };
@@ -335,12 +337,7 @@ gdbarch_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   struct gdb_osabi_handler *handler;
 
-  if (info.osabi == GDB_OSABI_UNKNOWN)
-    {
-      /* Don't complain about an unknown OSABI.  Assume the user knows
-        what they are doing.  */
-      return;
-    }
+  gdb_assert (info.osabi != GDB_OSABI_UNKNOWN);
 
   for (handler = gdb_osabi_handler_list; handler != NULL;
        handler = handler->next)
@@ -375,6 +372,13 @@ gdbarch_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
        }
     }
 
+  if (info.osabi == GDB_OSABI_NONE)
+    {
+      /* Don't complain about no OSABI.  Assume the user knows
+        what they are doing.  */
+      return;
+    }
+
   warning
     ("A handler for the OS ABI \"%s\" is not built into this configuration\n"
      "of GDB.  Attempting to continue with the default %s settings.\n",
@@ -603,11 +607,6 @@ set_osabi (const char *args, int from_tty, struct cmd_list_element *c)
       user_selected_osabi = GDB_OSABI_DEFAULT;
       user_osabi_state = osabi_user;
     }
-  else if (strcmp (set_osabi_string, "none") == 0)
-    {
-      user_selected_osabi = GDB_OSABI_UNKNOWN;
-      user_osabi_state = osabi_user;
-    }
   else
     {
       int i;
This page took 0.031092 seconds and 4 git commands to generate.