summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2014-10-21 17:56:06 +0000
committerngie <ngie@FreeBSD.org>2014-10-21 17:56:06 +0000
commit075f560f0cbde569d4ef823d41c5bc56833ff4e8 (patch)
tree1aa59b87838876260b65e3c9694cf90a9a9be677 /contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
parenta117725fc572411c7674d3202c0976d78ae32de3 (diff)
downloadFreeBSD-src-075f560f0cbde569d4ef823d41c5bc56833ff4e8.zip
FreeBSD-src-075f560f0cbde569d4ef823d41c5bc56833ff4e8.tar.gz
Port lib/libc/gen/t_siginfo to FreeBSD
- mcontext_t on FreeBSD doesn't have a __gregs field (it's split out on FreeBSD into separate fields). In order to avoid muddying the test code with MD code, the debugging trace info has not been implemented - FreeBSD does not implement the si_stime and si_utime fields in siginfo_t, so omit the debugging code that dumps the values - sys/inttypes.h doesn't exist on FreeBSD Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'contrib/netbsd-tests/lib/libc/gen/t_siginfo.c')
-rw-r--r--contrib/netbsd-tests/lib/libc/gen/t_siginfo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c b/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
index 2fb53e4..e802621 100644
--- a/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
+++ b/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
@@ -29,7 +29,9 @@
#include <atf-c.h>
#include <atf-c/config.h>
+#if defined(__NetBSD__)
#include <sys/inttypes.h>
+#endif
#include <sys/resource.h>
#include <sys/sysctl.h>
#include <sys/time.h>
@@ -86,9 +88,11 @@ sig_debug(int signo, siginfo_t *info, ucontext_t *ctx)
printf("uc_stack %p %lu 0x%x\n", ctx->uc_stack.ss_sp,
(unsigned long)ctx->uc_stack.ss_size,
ctx->uc_stack.ss_flags);
+#if defined(__NetBSD__)
for (i = 0; i < __arraycount(ctx->uc_mcontext.__gregs); i++)
printf("uc_mcontext.greg[%d] 0x%lx\n", i,
(long)ctx->uc_mcontext.__gregs[i]);
+#endif
}
}
@@ -141,8 +145,10 @@ sigchild_action(int signo, siginfo_t *info, void *ptr)
printf("si_uid=%d\n", info->si_uid);
printf("si_pid=%d\n", info->si_pid);
printf("si_status=%d\n", info->si_status);
+#if defined(__NetBSD__)
printf("si_utime=%lu\n", (unsigned long int)info->si_utime);
printf("si_stime=%lu\n", (unsigned long int)info->si_stime);
+#endif
}
ATF_REQUIRE_EQ(info->si_code, code);
ATF_REQUIRE_EQ(info->si_signo, SIGCHLD);
OpenPOWER on IntegriCloud