/* This testcase is part of GDB, the GNU debugger.
- Copyright 2009 Free Software Foundation, Inc.
+ Copyright 2009-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
+#include <unistd.h>
+#include <assert.h>
+#include <stdio.h>
+#include <string.h>
+
+/* Force REL->RELA conversion on i386, see "Prelink", March 4, 2004. */
+volatile int v[2];
+volatile int *vptr = &v[1];
void
-libfunc (void)
+libfunc (const char *action)
{
- raise (SIGSEGV);
+ assert (action != NULL);
+
+ if (strcmp (action, "segv") == 0)
+ raise (SIGSEGV);
+
+ if (strcmp (action, "sleep") == 0)
+ {
+ puts ("sleeping");
+ fflush (stdout);
+
+ sleep (60);
+ }
+
+ assert (0);
}