Main motivation of this series was a bug that showed up when compiling with Clang 16 and binutils 2.40 (which has been reported in Fedora ELN, see https://bugzilla.redhat.com/show_bug.cgi?id=2216662). This is fixed in the fourth patch. I checked with "objdump" that the change is fine, indeed.
While working on this issue, I came accross some other issues which I address in the first three patches: - Indentation is a mixture between tabs and spaces in start.S (patch 1) - We do not set up a stack frame for the main() function, which could cause memory corruption (patch 2) - The stack is declared in multiple places, though it's only needed in start.S (patch 3) v2: - Use ".space" instead of ".lcomm" in the third patch to make sure that the alignment is really taken into consideration (thanks Richard) - Alignment of 8 should be enough in the third patch (thank Christian) - Added Reviewed-bys from v1 Thomas Huth (4): pc-bios/s390-ccw: Fix indentation in start.S pc-bios/s390-ccw: Provide space for initial stack frame in start.S pc-bios/s390-ccw: Move the stack array into start.S pc-bios/s390-ccw: Don't use __bss_start with the "larl" instruction pc-bios/s390-ccw/s390-ccw.h | 1 - pc-bios/s390-ccw/main.c | 1 - pc-bios/s390-ccw/netmain.c | 1 - pc-bios/s390-ccw/start.S | 144 +++++++++++++++++++----------------- 4 files changed, 76 insertions(+), 71 deletions(-) -- 2.39.3