[PATCH] Fix for parisc-hpux (Was: Re: [kaffe] HP-UX and IPv6 still
fail)
Dalibor Topic
robilad at kaffe.org
Thu Oct 2 04:20:04 PDT 2003
Dalibor Topic wrote:
> so if someone feels like tackling any of them, go for it, don't wait for
> me ;) The crash in the shell is particularly worrisome in my opinion.
The crash in the shell was due to kaffe crashing during the compilation
of a java file using kjc.
There is still a couple of warnings left, though I'll leave them for
later, given that we're in release freeze and all that ;)
> In order to get there, you'll need binutils 2.14 and gcc 3.3.1. I'm
> using gnu make to build kaffe, and a 'distrubution' of kaffe created on
> a linux box from current CVS by running 'make dist'. One can;t build
> shared libs on HPUX for some reason, so you need to configure kaffe with
> --disable-shared.
I haven't looked further into this.
> I'd be particularly glad to see the type-punning warnings fixed, as I
> have no idea what they are about. Jim, you've fixed some type-punning
> warnings before, could you take a look at those?
I've factored out the type-punning warning producing code into its own
function, so it should be easier to fix. I'm not sure what the proper
fix is though. Later, after the release ;)
> Once the warnings are gone, I hope kaffe will run happily on parisc-hpux
> again, and on parisc-linux, too ;)
parisc-hpux works mostly for me, it fails 24 regressions tests with the
attached patch.
I'll wait for a day before I check it in, as I'd like to hear some comments:
the patch removes the use of mprotect in debugging mode to 'harden'
memory areas in the gc. Accoding to hp-ux man pages, mprotect can only
be used in conjuction with mmapped files. So I wrote a wrapper function
for gc for mprotect on hp-ux and there were illegal access errors,
leading to kaffe crashing a little bit later. So my patch removes
mprotect usage completely. Is everyone o.k. with that?
cheers,
dalibor topic
-------------- next part --------------
Dalibor Topic <robilad at kaffe.org>
* configure.in:
Don't check for mprotect.
* configure, config/config.h.in:
Regenerated.
* config/Makefile.am:
(EXTRA_DIST) Removed unused files parisc/hpux/md.c and parisc/linux/md.c
* config/Makefile.in:
Regenerated.
* kaffe/kaffevm/mem/gc-mem.c:
Don't include <sys/mman.h> as we no longer use mprotect.
[PROT_NONE, HAVE_MPROTECT] Sections removed.
(gc_block_add, gc_block_rm, gc_block_alloc) Don't use mprotect on memory allocated by sbrk. It breaks on HP-UX.
* kaffe/kaffevm/systems/unix-jthreads/jthread.c:
(jthreadedFileDescriptor) check if either hpux or __hpux__ is defined. Gcc automatically defines one or the other depending on some internals of hp-ux that don't matter in this case.
* libraries/javalib/Makefile.am, libraries/javalib/Makefile.in:
Regenerated.
Helmer Kraemer <hkraemer at kaffe.org>
* config/parisc/hpux/md.h:
Include siginfo.h and ucontext.h.
(SIGNAL_ARGS, SIGNAL_CONTEXT_POINTER, GET_SIGNAL_CONTEXT_POINTER, SIGNAL_PC) New macros.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parisc-hpux-fix.diff.gz
Type: application/gzip
Size: 19974 bytes
Desc: not available
Url : http://pogo.kaffe.org/pipermail/kaffe/attachments/20031002/38a7f8fa/parisc-hpux-fix.diff.bin
More information about the kaffe
mailing list