[Uim] uim 1.5.0 TODO list

Etsushi Kato ek.kato at gmail.com
Sat Jan 27 07:03:52 EET 2007


On 1/27/07, YAMAMOTO Kengo / YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> At Sat, 27 Jan 2007 12:15:41 +0900,
> ek.kato at gmail.com wrote:
> >
> > On 1/26/07, Etsushi Kato <ek.kato at gmail.com> wrote:
> > > I've just updated to r4447 on libgcroots, sigscheme, and uim.  With
> > > Mac OS X 10.3, I got EXC_BAD_INSTRUCTION while making scm/ directory.
> > >
> > > Here is the gdb backtrace with uim-module-manager.
> > >
> > > Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.
> > > 0xbfffd190 in ?? ()
> > > (gdb) where
> > > #0  0xbfffd190 in ?? ()
> > > #1  0x0000ba80 in GCROOTS_with_callee_saves_pushed (fn=0x300910,
> > > arg=0x0) at mach_dep.c:222
> > > #2  0x0006c8e8 in gc_mark_and_sweep () at ../sigscheme/src/storage-gc.c:371
> >
> > As far as I can tell, GCROOTS_with_callee_saves_pushed() in
> > gc7.0alpha7 sometimes doesn't work with Mac OS X 10.3 ppc for some
> > reason.  If I use push_regs() in asm code from gc6.8, it seems to work
> > fine.  Can I commit the attached patch?
>
> It has realized that I had mis-modified Darwin-related
> conditional compilation around getcontext() to get work on old
> Darwin. Thank you.
>
> Doesn't the patch attached work?

Nope, it not the problem.  Your patch doesn't change anything the
output of preprocess and causes illegal hardware instruction.

The problem here is calling __builtin_unwind_init() causes weird
behavior sometimes.  In gc6.8, DARWIN doesn't use
GC_generic_push_regs(), so __builtin_unwind_init() is never called.

Cheers,
-- 
Etsushi Kato
ek.kato at gmail.com



More information about the uim mailing list