diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-12-15 09:16:13 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-12-15 09:16:13 +0000 |
commit | 0d60d7de5db10af7b1c1574520d3ab3c0f64d530 (patch) | |
tree | 55297be0fea4f11809c37ce1573cb7c564c22dcc /nptl | |
parent | 1b88b322d45419e79aff6b3b1fc2e59b78d6818d (diff) | |
download | glibc-0d60d7de5db10af7b1c1574520d3ab3c0f64d530.tar glibc-0d60d7de5db10af7b1c1574520d3ab3c0f64d530.tar.gz glibc-0d60d7de5db10af7b1c1574520d3ab3c0f64d530.tar.bz2 glibc-0d60d7de5db10af7b1c1574520d3ab3c0f64d530.zip |
Updated to fedora-glibc-20041215T0847
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 12 | ||||
-rw-r--r-- | nptl/sysdeps/powerpc/tcb-offsets.sym | 1 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S | 3 | ||||
-rw-r--r-- | nptl/tst-getpid1.c | 34 |
5 files changed, 38 insertions, 15 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 981781807b..7d9054481f 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,15 @@ +2004-12-15 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: New file. + +2004-12-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/powerpc/tcb-offsets.sym: Add TID. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: New file. + + * tst-getpid1.c: If child crashes, report this first. Print which + signal. + 2004-12-09 Ulrich Drepper <drepper@redhat.com> * init.c (__pthread_initialize_minimal_internal): Also unblock diff --git a/nptl/sysdeps/powerpc/tcb-offsets.sym b/nptl/sysdeps/powerpc/tcb-offsets.sym index fddd466f08..a9701fb5b7 100644 --- a/nptl/sysdeps/powerpc/tcb-offsets.sym +++ b/nptl/sysdeps/powerpc/tcb-offsets.sym @@ -12,3 +12,4 @@ MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) #endif PID thread_offsetof (pid) +TID thread_offsetof (tid) diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S new file mode 100644 index 0000000000..e19579e842 --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S @@ -0,0 +1,3 @@ +#define RESET_PID +#include <tcb-offsets.h> +#include <sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S> diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S new file mode 100644 index 0000000000..f87adf4737 --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S @@ -0,0 +1,3 @@ +#define RESET_PID +#include <tcb-offsets.h> +#include <sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S> diff --git a/nptl/tst-getpid1.c b/nptl/tst-getpid1.c index 061b48d735..497bebed56 100644 --- a/nptl/tst-getpid1.c +++ b/nptl/tst-getpid1.c @@ -1,5 +1,6 @@ #include <sched.h> #include <signal.h> +#include <string.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> @@ -66,20 +67,6 @@ do_test (void) } while (si.si_signo != sig || si.si_code != SI_QUEUE); - if (si.si_int != (int) p) - { - printf ("expected PID %d, got si_int %d\n", (int) p, si.si_int); - kill (p, SIGKILL); - return 1; - } - - if (si.si_pid != p) - { - printf ("expected PID %d, got si_pid %d\n", (int) p, (int) si.si_pid); - kill (p, SIGKILL); - return 1; - } - int e; if (waitpid (p, &e, __WCLONE) != p) { @@ -89,7 +76,10 @@ do_test (void) } if (!WIFEXITED (e)) { - puts ("did not terminate correctly"); + if (WIFSIGNALED (e)) + printf ("died from signal %s\n", strsignal (WTERMSIG (e))); + else + puts ("did not terminate correctly"); return 1; } if (WEXITSTATUS (e) != 0) @@ -98,6 +88,20 @@ do_test (void) return 1; } + if (si.si_int != (int) p) + { + printf ("expected PID %d, got si_int %d\n", (int) p, si.si_int); + kill (p, SIGKILL); + return 1; + } + + if (si.si_pid != p) + { + printf ("expected PID %d, got si_pid %d\n", (int) p, (int) si.si_pid); + kill (p, SIGKILL); + return 1; + } + if (getpid () != mypid) { puts ("my PID changed"); |