Omar Polo <o...@omarpolo.com> wrote:
> taisei 1.4 was released yerstady.  It's a major release with lots of
> things changed.  lot of good stuff :-)
> 
> it needs two new LDEP that i've mailed separateadly: graphics/shaderc
> and spirv-cross.
> 
> I had to patch koishi (their coroutine library) to use MAP_STACK,
> otherwise it crashes at the start of the first stage.  I've sent the
> diff upstream too.
> 
> I'm in doubt regarding adding DEBUG_PACKAGES, but was useful to
> understand the MAP_STACK issue so...
> 
> one thing i'm not sure about is the WANTLIB: now they contain C++,
> should I change it to ${COMPILER_LIBCXX}?  As far as I can see, taisei
> is written only in C, so I'm not sure.  (also why I haven't changed
> COMPILER yet)
> 
> Otherwise, the game runs fine.  I still suck at it, but I've played
> for a bit all the characters and haven't encountered any issue.

I got completely bashed in the first level, changed a lot since previous
version.

I had to add USE_NOBTCFI=Yes in my 11th gen Intel, otherwise I'll run
into a SIGILL from the coroutine lib. That lib comes from boost's
context so I did try to add some _CET_ENDBR in the same places that
boost uses it (at the beginning of each function in
subprojects/koishi/src/fcontext/asm/make_x86_64_sysv_elf_gas.S to be
precise), but ended up running into the following trace

Program terminated with signal SIGILL, Illegal instruction.
#0  koishi_fiber_swap (from=<optimized out>, to=<optimized out>) at 
../taisei-1.4/subprojects/koishi/src/fcontext/fcontext.c:43
43              from->fctx = tf.fctx;
--Type <RET> for more, q to quit, c to continue without paging--
[Current thread is 1 (process 270966)]
(gdb) bt
#0  koishi_fiber_swap (from=<optimized out>, to=<optimized out>) at 
../taisei-1.4/subprojects/koishi/src/fcontext/fcontext.c:43
#1  koishi_swap_coroutine (from=<optimized out>, to=<optimized out>, state=3) 
at ../taisei-1.4/subprojects/koishi/src/fcontext/../fiber.h:46
#2  koishi_resume (co=<optimized out>, arg=<optimized out>) at 
../taisei-1.4/subprojects/koishi/src/fcontext/../fiber.h:90
#3  cotask_resume_internal (task=0x23f89a860e0, arg=<optimized out>) at 
../taisei-1.4/src/coroutine/cotask.c:237
#4  _cosched_new_task (sched=<optimized out>, func=<optimized out>, 
arg=<optimized out>, arg_size=<optimized out>, is_subtask=<optimized out>, 
debug=...)
    at ../taisei-1.4/src/coroutine/cosched.c:39
#5  0x0000023d66f98876 in stage1_bg_init_fullstage () at 
../taisei-1.4/src/stages/stage1/background_anim.c:72
#6  stage1_start () at ../taisei-1.4/src/stages/stage1/stage1.c:71
#7  0x0000023d66ed8a2a in COTASK_stage_comain (_cotask_args=<optimized out>) at 
../taisei-1.4/src/stage.c:1018
#8  0x0000023d66ed60cc in COTASKTHUNK_stage_comain (arg=<optimized out>, 
arg_size=<optimized out>) at ../taisei-1.4/src/stage.c:1014
#9  0x0000023d66ef6a1b in cotask_entry (varg=0x723cefc249b0) at 
../taisei-1.4/src/coroutine/cotask.c:371
#10 0x0000023d67048207 in koishi_entry (co=0x23fb5d59160) at 
../taisei-1.4/subprojects/koishi/src/fcontext/../fiber.h:68
#11 0x0000023d670481ea in co_entry (tf=...) at 
../taisei-1.4/subprojects/koishi/src/fcontext/fcontext.c:50
#12 0x0000023d66ea0dd7 in make_fcontext () at 
../taisei-1.4/subprojects/koishi/src/fcontext/asm/make_x86_64_sysv_elf_gas.S:78
Backtrace stopped: Cannot access memory at address 0x23ffc717000

I opened an issue upstream: https://github.com/taisei-project/koishi/issues/6

        Lucas

Reply via email to