summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.context/usymbols_lib.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2008-12-15 18:20:04 +0100
committerMark Wielaard <mjw@redhat.com>2008-12-15 18:20:04 +0100
commit6e44f060ffb5fff8d3987024d8facfb7997a3b25 (patch)
tree96c3ed3e16f8361cae3696498c97e177217497a7 /testsuite/systemtap.context/usymbols_lib.c
parent3a5153c5590a89d6c0b70fc2c13554190b8c3be8 (diff)
downloadsystemtap-steved-6e44f060ffb5fff8d3987024d8facfb7997a3b25.tar.gz
systemtap-steved-6e44f060ffb5fff8d3987024d8facfb7997a3b25.tar.xz
systemtap-steved-6e44f060ffb5fff8d3987024d8facfb7997a3b25.zip
Compile and use helper usymbols_lib.c library for usymbols.exp test.
Diffstat (limited to 'testsuite/systemtap.context/usymbols_lib.c')
-rw-r--r--testsuite/systemtap.context/usymbols_lib.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/testsuite/systemtap.context/usymbols_lib.c b/testsuite/systemtap.context/usymbols_lib.c
new file mode 100644
index 00000000..faccb39b
--- /dev/null
+++ b/testsuite/systemtap.context/usymbols_lib.c
@@ -0,0 +1,29 @@
+/* usymbol test case - library helper
+ * Copyright (C) 2008, Red Hat Inc.
+ *
+ * This file is part of systemtap, and is free software. You can
+ * redistribute it and/or modify it under the terms of the GNU General
+ * Public License (GPL); either version 2, or (at your option) any
+ * later version.
+ *
+ * Uses signal to tranfer user space addresses into the kernel where a
+ * probe on sigaction will extract them and produce the symbols. To
+ * poke into the executable we get the sa_handler set through signal
+ * from this library.
+ */
+
+#include <signal.h>
+typedef void (*sighandler_t)(int);
+
+void
+lib_handler (int signum)
+{
+ /* dummy handler, just used for the address... */
+}
+
+void
+lib_main ()
+{
+ // Use SIGFPE since we never expect that to be triggered.
+ signal(SIGFPE, lib_handler);
+}