OK, so I was able to fix some of the stack alignment issues in Cacao on Intel OS X. Now things seem to work if I use soft null pointer checking. It looks like there are still alignment issues with hardware NPE handling, but because GDB sucks so hard I can’t investigate this any further (in OS X GDB, you get Mach traps instead of signals for things like null pointer accesses, and you can’t skip over them when they get signaled).
Edit: I think I’ve worked out some of the kinks (and, a newer GDB actually sucks less, and lets you handle EXC_BAD_ACCESS nostop noprint), so now Cacao works most of the time with hardware NPE support. It still occasionally barfs up a SIGILL when running Mauve, but this is a nice step forward. I’m running it now in GDB to see if it’s still a stack alignment issue.

Loading...
Post a Comment