aboutsummaryrefslogtreecommitdiff
path: root/memcheck/tests/solaris/scalar_lwp_name.c
diff options
context:
space:
mode:
Diffstat (limited to 'memcheck/tests/solaris/scalar_lwp_name.c')
-rw-r--r--memcheck/tests/solaris/scalar_lwp_name.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/memcheck/tests/solaris/scalar_lwp_name.c b/memcheck/tests/solaris/scalar_lwp_name.c
new file mode 100644
index 000000000..54ec2c226
--- /dev/null
+++ b/memcheck/tests/solaris/scalar_lwp_name.c
@@ -0,0 +1,31 @@
+/* Test for lwp_name syscall which is available on newer Solaris. */
+
+#include "scalar.h"
+
+__attribute__((noinline))
+static void sys_lwp_name(void)
+{
+ GO(SYS_lwp_name, "(lwp_setname) 3s 1m");
+ SY(SYS_lwp_name, x0 + 0, x0, x0 + 1); FAIL;
+}
+
+__attribute__((noinline))
+static void sys_lwp_name2(void)
+{
+ GO(SYS_lwp_name, "(lwp_getname) 4s 1m");
+ SY(SYS_lwp_name, x0 + 1, x0, x0 + 1, x0 + 2); FAIL;
+}
+
+int main(void)
+{
+ /* Uninitialised, but we know px[0] is 0x0. */
+ long *px = malloc(sizeof(long));
+ x0 = px[0];
+
+ /* SYS_lwp_name 79 */
+ sys_lwp_name();
+ sys_lwp_name2();
+
+ return 0;
+}
+