S/390: Add support for pgste marker
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Thu, 8 Jun 2017 15:24:50 +0000 (17:24 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 23 Jun 2017 06:00:46 +0000 (08:00 +0200)
commitb4cbbe8f7294070cc93a71ace78f134965ddad82
tree1780b64a6f43485b4b815456f855e76d9852af7f
parent790ba5c89893f31dabb6d8e85c8d4be61c52ad99
S/390: Add support for pgste marker

This patch adds a new S/390 specific segment type: PT_S390_PGSTE.  For
binaries marked with that segment the kernel will allocate 4k page
tables.  The only user so far will be qemu.

ld/ChangeLog:

2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* Makefile.in: Add s390.em as build dependency.
* emulparams/elf64_s390.sh (EXTRA_EM_FILE): Add s390.em.
* emultempl/s390.em: New file.
* gen-doc.texi: Add documentation for --s390-pgste option.
* ld.texinfo: Likewise.

include/ChangeLog:

2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* elf/s390.h (PT_S390_PGSTE): Define macro.

binutils/ChangeLog:

2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* readelf.c (get_s390_segment_type): Add support for the new
segment type PT_S390_PGSTE.
(get_segment_type): Call get_s390_segment_type.

elfcpp/ChangeLog:

2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* elfcpp.h (enum PT): Add PT_S390_PGSTE to enum.

bfd/ChangeLog:

2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* elf-s390.h: New file.
* elf64-s390.c (struct elf_s390_link_hash_table): Add params
field.
(elf_s390_additional_program_headers): New function.
(elf_s390_modify_segment_map): New function.
(bfd_elf_s390_set_options): New function.
(elf_backend_additional_program_headers)
(elf_backend_modify_segment_map): Add macro definitions.
bfd/elf-s390.h [new file with mode: 0644]
bfd/elf64-s390.c
binutils/readelf.c
elfcpp/elfcpp.h
include/elf/s390.h
ld/Makefile.in
ld/emulparams/elf64_s390.sh
ld/emultempl/s390.em [new file with mode: 0644]
ld/gen-doc.texi
ld/ld.texinfo