Let's just define all of the needed things so we can link libcflat. A significant portion of the lib won't work, like printing and allocation but we can still use things like memset() which already improves our lives significantly. Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> --- s390x/snippets/c/cstart.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/s390x/snippets/c/cstart.S b/s390x/snippets/c/cstart.S index 031a6b83..2d397669 100644 --- a/s390x/snippets/c/cstart.S +++ b/s390x/snippets/c/cstart.S @@ -20,6 +20,20 @@ start: lghi %r15, stackptr sam64 brasl %r14, main +/* + * Defining things that the linker needs to link in libcflat and make + * them result in sigp stop if called. + */ +.globl sie_exit +.globl sie_entry +.globl smp_cpu_setup_state +.globl ipl_args +.globl auxinfo +sie_exit: +sie_entry: +smp_cpu_setup_state: +ipl_args: +auxinfo: /* For now let's only use cpu 0 in snippets so this will always work. */ xgr %r0, %r0 sigp %r2, %r0, SIGP_STOP -- 2.30.2