Here is for gcj-4.2 a patch to be appended to the previously posted libjava-hurdfix.dpatch for gcj-4.1.
Samuel
Index: libjava/java/lang/natPosixProcess.cc =================================================================== --- libjava/java/lang/natPosixProcess.cc (révision 127274) +++ libjava/java/lang/natPosixProcess.cc (copie de travail) @@ -110,7 +110,11 @@ // sigwait() on SIGCHLD. The information passed is ignored as it // will be recovered by the waitpid() call. static void +#ifdef SA_SIGINFO sigchld_handler (int sig, siginfo_t *si, void *third) +#else +sigchld_handler (int sig) +#endif { if (PosixProcess$ProcessManager::nativeData != NULL) { @@ -121,9 +125,11 @@ if (pmi->old_sigaction.sa_handler != SIG_DFL && pmi->old_sigaction.sa_handler != SIG_IGN) { +#ifdef SA_SIGINFO if ((pmi->old_sigaction.sa_flags & SA_SIGINFO) != 0) pmi->old_sigaction.sa_sigaction(sig, si, third); else +#endif (*pmi->old_sigaction.sa_handler)(sig); } } @@ -156,9 +162,15 @@ struct sigaction sa; memset (&sa, 0, sizeof (sa)); +#ifdef SA_SIGINFO sa.sa_sigaction = sigchld_handler; // We only want signals when the things exit. sa.sa_flags = SA_NOCLDSTOP | SA_SIGINFO; +#else + sa.sa_handler = sigchld_handler; + // We only want signals when the things exit. + sa.sa_flags = SA_NOCLDSTOP; +#endif if (-1 == sigaction (SIGCHLD, &sa, &pmi->old_sigaction)) goto error;