Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rwill:branches:Base:System
s390-tools
s390-tools-sles15sp5-07-zipl-boot-use-linker-sc...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles15sp5-07-zipl-boot-use-linker-scripts-for-all-bootloaders.patch of Package s390-tools
--- include/boot/loaders_layout.h | 3 +++ zipl/boot/Makefile | 24 ++++++++++-------------- zipl/boot/stage0.lds.S | 18 ++++++++++++++++++ zipl/boot/stage1.lds.S | 18 ++++++++++++++++++ zipl/boot/stage1b.lds.S | 18 ++++++++++++++++++ 5 files changed, 67 insertions(+), 14 deletions(-) --- a/include/boot/loaders_layout.h +++ b/include/boot/loaders_layout.h @@ -14,6 +14,9 @@ #include "lib/zt_common.h" #include "linux_layout.h" +#define STAGE0_LOAD_ADDRESS _AC(0x0, UL) + +#define STAGE1_LOAD_ADDRESS _AC(0x18, UL) #define STAGE1B_LOAD_ADDRESS _AC(0xe000, UL) #define STAGE2_DESC _AC(0x78, UL) --- a/zipl/boot/Makefile +++ b/zipl/boot/Makefile @@ -42,6 +42,15 @@ endif %.lds: %.lds.S $(CPP) -Wp,-MD,.$@.d,-MT,$@ $(INCLUDE_PARMS) -P -C -o $@ $< +fba0.exec eckd0_ldl.exec eckd0_cdl.exec tape0.exec: \ + stage0.lds + +eckd1.exec: \ + stage1.lds + +eckd1b.exec fba1b.exec: \ + stage1b.lds + eckd2dump_sv.exec: \ head.o stage2dump.o cio.o eckd2dump.o eckd2dump_sv.o \ libc.o ebcdic.o sclp.o entry.o stage2.lds @@ -62,20 +71,7 @@ stage3.exec: head.o stage3.o kdump3.o li sclp_stage3.o kdump.o entry.o stage3.lds %.exec: %.o - STAGE=$$( \ - echo $@ | awk ' \ - match($$0,/[0-9]+b*/){ \ - print substr($$0,RSTART,RLENGTH) \ - }' \ - ); \ - case $$STAGE in \ - 0) SFLAGS="-Wl,-Ttext,0";; \ - 1) SFLAGS="-Wl,-Ttext,0x18";; \ - 1b) SFLAGS="-Wl,-Ttext,0xE000";; \ - 2) SFLAGS="-Wl,-T,stage2.lds";; \ - 3) SFLAGS="-Wl,-T,stage3.lds";; \ - esac; \ - $(LINK) $$SFLAGS $(NO_PIE_LDFLAGS) $(NO_WARN_RWX_SEGMENTS_LDFLAGS) -Wl,--build-id=none -m64 -static -nostdlib $(filter %.o, $^) -o $@ + $(LINK) -Wl,-T,$(filter %.lds,$^) $(NO_PIE_LDFLAGS) $(NO_WARN_RWX_SEGMENTS_LDFLAGS) -Wl,--build-id=none -m64 -static -nostdlib $(filter %.o, $^) -o $@ %.bin: %.exec $(OBJCOPY) -O binary $< $@ --- /dev/null +++ b/zipl/boot/stage0.lds.S @@ -0,0 +1,18 @@ +#include "boot/loaders_layout.h" + +ENTRY(_start) + +SECTIONS +{ + . = STAGE0_LOAD_ADDRESS; + .text : { + *(.text .text.*) + } + + /* Sections to be discarded */ + /DISCARD/ : { + *(.eh_frame) + *(.interp) + *(.note.GNU-stack) + } +} --- /dev/null +++ b/zipl/boot/stage1.lds.S @@ -0,0 +1,18 @@ +#include "boot/loaders_layout.h" + +ENTRY(_start) + +SECTIONS +{ + . = STAGE1_LOAD_ADDRESS; + .text : { + *(.text .text.*) + } + + /* Sections to be discarded */ + /DISCARD/ : { + *(.eh_frame) + *(.interp) + *(.note.GNU-stack) + } +} --- /dev/null +++ b/zipl/boot/stage1b.lds.S @@ -0,0 +1,18 @@ +#include "boot/loaders_layout.h" + +ENTRY(_start) + +SECTIONS +{ + . = STAGE1B_LOAD_ADDRESS; + .text : { + *(.text .text.*) + } + + /* Sections to be discarded */ + /DISCARD/ : { + *(.eh_frame) + *(.interp) + *(.note.GNU-stack) + } +}
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor