GNU Linux-libre 6.9.2-gnu
[releases.git] / include / uapi / linux / elf-fdpic.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /* elf-fdpic.h: FDPIC ELF load map
3  *
4  * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
5  * Written by David Howells (dhowells@redhat.com)
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version
10  * 2 of the License, or (at your option) any later version.
11  */
12
13 #ifndef _UAPI_LINUX_ELF_FDPIC_H
14 #define _UAPI_LINUX_ELF_FDPIC_H
15
16 #include <linux/elf.h>
17
18 #define PT_GNU_STACK    (PT_LOOS + 0x474e551)
19
20 /* segment mappings for ELF FDPIC libraries/executables/interpreters */
21 struct elf32_fdpic_loadseg {
22         Elf32_Addr      addr;           /* core address to which mapped */
23         Elf32_Addr      p_vaddr;        /* VMA recorded in file */
24         Elf32_Word      p_memsz;        /* allocation size recorded in file */
25 };
26
27 struct elf32_fdpic_loadmap {
28         Elf32_Half      version;        /* version of these structures, just in case... */
29         Elf32_Half      nsegs;          /* number of segments */
30         struct elf32_fdpic_loadseg segs[];
31 };
32
33 #define ELF32_FDPIC_LOADMAP_VERSION     0x0000
34
35 /* segment mappings for ELF FDPIC libraries/executables/interpreters */
36 struct elf64_fdpic_loadseg {
37         Elf64_Addr      addr;           /* core address to which mapped */
38         Elf64_Addr      p_vaddr;        /* VMA recorded in file */
39         Elf64_Word      p_memsz;        /* allocation size recorded in file */
40 };
41
42 struct elf64_fdpic_loadmap {
43         Elf64_Half      version;        /* version of these structures, just in case... */
44         Elf64_Half      nsegs;          /* number of segments */
45         struct elf64_fdpic_loadseg segs[];
46 };
47
48 #define ELF64_FDPIC_LOADMAP_VERSION     0x0000
49
50 #endif /* _UAPI_LINUX_ELF_FDPIC_H */