View of xos/common/include/elf_ext.h


XOS | Parent Directory | View | Download

/* Copyright (C) 2008  Emmanuel Varoquaux
 
   This file is part of XOS.
 
   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, see <http://www.gnu.org/licenses/>. */
 
#ifndef _ELF_EXT_H
#define _ELF_EXT_H
 
#include <elf_sysv4.h>
 
#define SHT_INIT_ARRAY          14
#define SHT_FINI_ARRAY          15
#define SHT_PREINIT_ARRAY       16
#define SHT_GROUP               17
#define SHT_SYMTAB_SHNDX        18
 
#define SHF_MERGE               0x10
#define SHF_STRINGS             0x20
#define SHF_INFO_LINK           0x40
#define SHF_LINK_ORDER          0x80
#define SHF_OS_NONCONFORMING    0x100
#define SHF_GROUP               0x200
#define SHF_TLS                 0x400
 
#define STT_COMMON              5
#define STT_TLS                 6
 
#define STV_DEFAULT             0
#define STV_INTERNAL            1
#define STV_HIDDEN              2
#define STV_PROTECTED           3
 
#define PT_TLS                  7
 
#define DT_INIT_ARRAY           25
#define DT_FINI_ARRAY           26
#define DT_INIT_ARRAYSZ         27
#define DT_FINI_ARRAYSZ         28
#define DT_RUNPATH              29
#define DT_FLAGS                30
#define DT_PREINIT_ARRAY        32
#define DT_PREINIT_ARRAYSZ      33
 
#define DF_ORIGIN               0x00000001
#define DF_SYMBOLIC             0x00000002
#define DF_TEXTREL              0x00000004
#define DF_BIND_NOW             0x00000008
#define DF_STATIC_TLS           0x00000010
 
 
#define R_386_32PLT             11
#define R_386_TLS_TPOFF         14
#define R_386_TLS_IE            15
#define R_386_TLS_GOTIE         16
#define R_386_TLS_LE            17
#define R_386_TLS_GD            18
#define R_386_TLS_LDM           19
#define R_386_16                20
#define R_386_PC16              21
#define R_386_8                 22
#define R_386_PC8               23
#define R_386_TLS_GD_32         24
#define R_386_TLS_GD_PUSH       25
#define R_386_TLS_GD_CALL       26
#define R_386_TLS_GD_POP        27
#define R_386_TLS_LDM_32        28
#define R_386_TLS_LDM_PUSH      29
#define R_386_TLS_LDM_CALL      30
#define R_386_TLS_LDM_POP       31
#define R_386_TLS_LDO_32        32
#define R_386_TLS_IE_32         33
#define R_386_TLS_LE_32         34
#define R_386_TLS_DTPMOD32      35
#define R_386_TLS_DTPOFF32      36
#define R_386_TLS_TPOFF32       37
 
#endif