diff options
Diffstat (limited to 'user')
-rw-r--r-- | user/jkoenig/java.mdwn | 91 |
1 files changed, 70 insertions, 21 deletions
diff --git a/user/jkoenig/java.mdwn b/user/jkoenig/java.mdwn index fad68f58..868dec2b 100644 --- a/user/jkoenig/java.mdwn +++ b/user/jkoenig/java.mdwn @@ -23,6 +23,14 @@ For details, see my original [[proposal]]. ## Current status +Feeling slightly behind schedule; but project is very ambitious, which has been +known from the beginning, and there is great progress, so there is no problem. +--[[tschwinge]], 2011-06-29. + +[[tschwinge]] will be on vacations in China starting July 26th, will have +Internet access intermittently, but not regularely. We'll have to figure out +some scheme. + ### Apt repository @@ -34,12 +42,9 @@ Modified Debian packages are available in this repository: ### Glibc signal code improvements -I have submitted -[preliminary patches](http://lists.gnu.org/archive/html/bug-hurd/2011-05/msg00182.html) -for global signal dispositions, -which I'm currently testing. -I have since fixed a few things and implemented `SA_SIGINFO` -(which is required by OpenJDK.) +2011-06-29: +Patches were submitted to `libc-alpha` +which implement global signal dispositions and `SA_SIGINFO`. My latest code is available on [github](http://github.com/jeremie-koenig/glibc/commits/master-beware-rebase), and modified Debian packages @@ -49,9 +54,10 @@ One question is how the new symbols introduced by my patches should be handled. Weak symbols turned out to be impractical, so I'm currently considering using a Debian-specific -symbol version in the interim period (`GLIBC_2.13_DEBIAN_7` so far). +symbol version in the interim period (`GLIBC_2.13_DEBIAN_8` so far). The ultimate symbol version to be used will depend on -the time at which the patches get integrated upstream, +the time at which the patches get integrated upstream +(most likely `GLIBC_2.15`), at which point we will alias the interim version to the new one in debian packages. @@ -72,10 +78,11 @@ see below. #### Plans -I will submit revised series for review later this week, -as well as matching Debian patches. -I expect only the last patch (implement global dispositions) will change, -and new ones will be added on top of it. +The patches are pending review and inclusion upstream. +As soon as we reach an agreement wrt. the new interfaces +(in particular wrt. the value of `SA_SIGINFO`), +the patches will be applied to the Debian libc packages +for broader testing. ##### Open Items @@ -83,14 +90,11 @@ and new ones will be added on top of it. * Test patches: in progress, [[jkoenig]], Svante. More volunteers welcome, of course. - > Current status: there's an issue with gdb, + > There's an issue with gdb, > namely signals lose their "untracedness" when they go > through the global sigstate's pending mask, > so gdb spins intercepting a signal and trying to deliver it. - > My current - > [patch](http://github.com/jeremie-koenig/glibc/commit/3ecb990e9d08d5f75adc40b738b35a1802cc0943) - > makes the system unstable. - > --[[jkoenig]] 2011-06-22 + > [Patch](http://github.com/jeremie-koenig/glibc/commit/3ecb990e9d08d5f75adc40b738b35a1802cc0943). * If [[jkoenig]] thinks it's mature enough: should ask [[Samuel|samuelthibault]] to test these patches on the buildds. @@ -100,19 +104,43 @@ and new ones will be added on top of it. > (in particular hurd) > --[[jkoenig]] 2011-06-22 + * Waiting on ABI finalization ([!] Roland). + + * Which numeric values to use for `SA_SIGINFO` (and `SA_NOCLDWAIT`)? + + > Staying in sync with BSD seems the most logical approach, + > so I have defined it to 0x40. --[[jkoenig]] 2011-06-29 + * Get patches reviewed (Roland?), and integrated into official sources: [!] [[tschwinge]]. - * Documentations bits (from [[proposal]] and elsewhere) should probably be + > In progress. --[[jkoenig]] 2011-06-29 + + * Documentations bits (from here, the initial [[proposal]], and elsewhere) + should probably be moved either into the appropriate glibc or Hurd documentation files/reference manuals, or to [[glibc/signal]]. - * `SA_SIGINFO` patche is based on [[Samuel|samuelthibault]]'s earlier work. + * `SA_SIGINFO` patch is based on [[Samuel|samuelthibault]]'s earlier work. Thus, have him review the new patch? - * Perhaps have a look at `SA_NOCLDWAIT`. + * `SA_SIGINFO` patch has a few TODOs w.r.t. protocol changes for missing + information, and for FPU state. Providing even incomplete information is + an improvement on the current status. The question is, whether + applications rely on this information in any hard way if `SA_SIGINFO` is + available? + + * We could possibly rename certain fields in `struct siginfo`, say + `si_pid_not_implemented`, to ensure compilation failures for programs + which use them. Or perhaps a linker warning is possible. - * Which numeric values to use for `SA_SIGINFO` (and `SA_NOCLDWAIT`)? + * The FPU state is not included in the `ucontext_t` passed to the signal + handler. On the other hand, `ucontext_t` is actually being somewhat + deprecated: the functions to restore it are no longer in POSIX. + `thread_get_state`() should return this information, in case we decide + to fill the gap, and there might be existing glibc wrappers, too. + + * Perhaps have a look at `SA_NOCLDWAIT`. ### Port OpenJDK @@ -157,6 +185,15 @@ although the current toolchain issues ([[toolchain/ELFOSABI_HURD]]) have so far prevented me from testing it. +> It turns out the build fails later on in `hotspot/agent` +> because Hurd lack a `libthread_db.so`. +> Also, a Shark version builds, but the result does not work so far. +> +> In other news, Damien Raude-Morvan is +> [working on a kFreeBSD version](http://lists.debian.org/debian-java/2011/06/msg00124.html), +> so I intend to merge my current patches with his. +> +> --[[jkoenig]] 2011-06-29 ##### Open Items @@ -168,10 +205,22 @@ have so far prevented me from testing it. * [!] [[Samuel|samuelthibault]]/[[tschwinge]]/[[jkoenig]]: [[toolchain/ELFOSABI_HURD]]. + * 2011-06-29: No progress. + + * `libthread_db.so` issue. Likely, the Serviceability Agent is used by jdb + and the like only, so for now the goal should be to lose some functionality + by removing/avoiding this dependency. + * They seem to have a rather heavy-weight process for such projects: confer <http://mail.openjdk.java.net/pipermail/announce/2011-January/000092.html>, for example. Do we need this, too? + > Probably not. + > My current approach (and Damien's wrt. the kFreeBSD patches) + > is to add preprocessor directives in the Linux code + > to make it more portable. + > --[[jkoenig]] 2011-06-29 + * Eclipse OK for testing -- but I'd very much hope that it *just works* as soon as we |