diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-06-08 17:24:50 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-06-23 08:00:46 +0200 |
commit | b4cbbe8f7294070cc93a71ace78f134965ddad82 (patch) | |
tree | 1780b64a6f43485b4b815456f855e76d9852af7f /bfd/elf-s390.h | |
parent | 790ba5c89893f31dabb6d8e85c8d4be61c52ad99 (diff) | |
download | gdb-b4cbbe8f7294070cc93a71ace78f134965ddad82.zip gdb-b4cbbe8f7294070cc93a71ace78f134965ddad82.tar.gz gdb-b4cbbe8f7294070cc93a71ace78f134965ddad82.tar.bz2 |
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.
Diffstat (limited to 'bfd/elf-s390.h')
-rw-r--r-- | bfd/elf-s390.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/bfd/elf-s390.h b/bfd/elf-s390.h new file mode 100644 index 0000000..b37ec18 --- /dev/null +++ b/bfd/elf-s390.h @@ -0,0 +1,29 @@ +/* S/390-specific support for ELF. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +/* Used to pass info between ld and bfd. */ +struct s390_elf_params +{ + /* Tell the kernel to allocate 4k page tables. */ + int pgste; +}; + +bfd_boolean bfd_elf_s390_set_options (struct bfd_link_info *info, + struct s390_elf_params *params); |