Omar Polo <[email protected]> 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