zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

elf-fdpic.h (1620B) - Raw


      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 _LINUX_ELF_FDPIC_H
     14 #define _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 /* _LINUX_ELF_FDPIC_H */