Closed vapier closed 3 years ago
Hi @vapier, sorry for the very late reply! I was not aware of this issue for a long time. Can you please list the version of the cross compiler(s) used? e.g. s390x-linux-gnu-gcc --version
and s390x-linux-gnu-as --version
. Thanks in advance.
The build issue is fixed via https://github.com/ibm-s390-tools/s390-tools/commit/6db7fbe0187042f44a63a5c7dbeb9f116909d02e
FWIW, lgfi was added with the extended immediate facility (z990). The problem is probably that on gentoo there is no architecture level set to anything newer than z900 for gcc. The binutils will reject mnemonics that are newer than the architecture level. So The fix would be to compile this file with march=z990 or newer or - which is better - to change the code to not use lgfi.
@vapier Does something like the following work for you (replace llill with lgfi)
in genprotimg/boot/head.S This line lgfi %r15, STACK_ADDRESS + STACK_SIZE - STACK_FRAME_OVERHEAD to llill %r15, STACK_ADDRESS + STACK_SIZE - STACK_FRAME_OVERHEAD
Just checked. It looks like stage3a_init.S also needs a change.
the new genprotimg doesn't compile with recent tools, and when it fails, it doesn't correctly abort the build.
snippet: