⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 这个是LINUX下的GDB调度工具的源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define NT_FPREGS	12		/* Has a struct fpregset */#define NT_PSINFO	13		/* Has a struct psinfo */#define NT_LWPSTATUS	16		/* Has a struct lwpstatus_t */#define NT_LWPSINFO	17		/* Has a struct lwpsinfo_t */#define NT_WIN32PSTATUS	18		/* Has a struct win32_pstatus *//* Note segments for core files on NetBSD systems.  Note name   must start with "NetBSD-CORE".  */#define NT_NETBSDCORE_PROCINFO	1	/* Has a struct procinfo */#define NT_NETBSDCORE_FIRSTMACH	32	/* start of machdep note types *//* Values of note segment descriptor types for object files.  */#define NT_VERSION	1		/* Contains a version string.  */#define NT_ARCH		2		/* Contains an architecture string.  *//* Values for GNU .note.ABI-tag notes.  Note name is "GNU".  */#define NT_GNU_ABI_TAG		1#define GNU_ABI_TAG_LINUX	0#define GNU_ABI_TAG_HURD	1#define GNU_ABI_TAG_SOLARIS	2#define GNU_ABI_TAG_FREEBSD	3#define GNU_ABI_TAG_NETBSD	4/* Values for NetBSD .note.netbsd.ident notes.  Note name is "NetBSD".  */#define NT_NETBSD_IDENT		1/* Values for OpenBSD .note.openbsd.ident notes.  Note name is "OpenBSD".  */#define NT_OPENBSD_IDENT	1/* Values for FreeBSD .note.ABI-tag notes.  Note name is "FreeBSD".  */#define NT_FREEBSD_ABI_TAG	1/* These three macros disassemble and assemble a symbol table st_info field,   which contains the symbol binding and symbol type.  The STB_ and STT_   defines identify the binding and type.  */#define ELF_ST_BIND(val)		(((unsigned int)(val)) >> 4)#define ELF_ST_TYPE(val)		((val) & 0xF)#define ELF_ST_INFO(bind,type)		(((bind) << 4) + ((type) & 0xF))/* The 64bit and 32bit versions of these macros are identical, but   the ELF spec defines them, so here they are.  */#define ELF32_ST_BIND  ELF_ST_BIND#define ELF32_ST_TYPE  ELF_ST_TYPE#define ELF32_ST_INFO  ELF_ST_INFO#define ELF64_ST_BIND  ELF_ST_BIND#define ELF64_ST_TYPE  ELF_ST_TYPE#define ELF64_ST_INFO  ELF_ST_INFO/* This macro disassembles and assembles a symbol's visibility into   the st_other field.  The STV_ defines specificy the actual visibility.  */#define ELF_ST_VISIBILITY(v)		((v) & 0x3)/* The remaining bits in the st_other field are not currently used.   They should be set to zero.  */#define ELF32_ST_VISIBILITY  ELF_ST_VISIBILITY#define ELF64_ST_VISIBILITY  ELF_ST_VISIBILITY#define STN_UNDEF	0		/* Undefined symbol index */#define STB_LOCAL	0		/* Symbol not visible outside obj */#define STB_GLOBAL	1		/* Symbol visible outside obj */#define STB_WEAK	2		/* Like globals, lower precedence */#define STB_LOOS	10		/* OS-specific semantics */#define STB_HIOS	12		/* OS-specific semantics */#define STB_LOPROC	13		/* Application-specific semantics */#define STB_HIPROC	15		/* Application-specific semantics */#define STT_NOTYPE	0		/* Symbol type is unspecified */#define STT_OBJECT	1		/* Symbol is a data object */#define STT_FUNC	2		/* Symbol is a code object */#define STT_SECTION	3		/* Symbol associated with a section */#define STT_FILE	4		/* Symbol gives a file name */#define STT_COMMON	5		/* An uninitialised common block */#define STT_TLS		6		/* Thread local data object */#define STT_LOOS	10		/* OS-specific semantics */#define STT_HIOS	12		/* OS-specific semantics */#define STT_LOPROC	13		/* Application-specific semantics */#define STT_HIPROC	15		/* Application-specific semantics *//* Special section indices, which may show up in st_shndx fields, among   other places.  */#define SHN_UNDEF	0		/* Undefined section reference */#define SHN_LORESERVE	0xFF00		/* Begin range of reserved indices */#define SHN_LOPROC	0xFF00		/* Begin range of appl-specific */#define SHN_HIPROC	0xFF1F		/* End range of appl-specific */#define SHN_LOOS	0xFF20		/* OS specific semantics, lo */#define SHN_HIOS	0xFF3F		/* OS specific semantics, hi */#define SHN_ABS		0xFFF1		/* Associated symbol is absolute */#define SHN_COMMON	0xFFF2		/* Associated symbol is in common */#define SHN_XINDEX	0xFFFF		/* Section index is held elsewhere */#define SHN_HIRESERVE	0xFFFF		/* End range of reserved indices */#define SHN_BAD		((unsigned) -1) /* Used internally by bfd *//* The following constants control how a symbol may be accessed once it has   become part of an executable or shared library.  */#define STV_DEFAULT	0		/* Visibility is specified by binding type */#define STV_INTERNAL	1		/* OS specific version of STV_HIDDEN */#define STV_HIDDEN	2		/* Can only be seen inside currect component */#define STV_PROTECTED	3		/* Treat as STB_LOCAL inside current component *//* Relocation info handling macros.  */#define ELF32_R_SYM(i)		((i) >> 8)#define ELF32_R_TYPE(i)		((i) & 0xff)#define ELF32_R_INFO(s,t)	(((s) << 8) + ((t) & 0xff))#define ELF64_R_SYM(i)		((i) >> 32)#define ELF64_R_TYPE(i)		((i) & 0xffffffff)#define ELF64_R_INFO(s,t)	(((bfd_vma) (s) << 31 << 1) + (bfd_vma) (t))/* Dynamic section tags.  */#define DT_NULL		0#define DT_NEEDED	1#define DT_PLTRELSZ	2#define DT_PLTGOT	3#define DT_HASH		4#define DT_STRTAB	5#define DT_SYMTAB	6#define DT_RELA		7#define DT_RELASZ	8#define DT_RELAENT	9#define DT_STRSZ	10#define DT_SYMENT	11#define DT_INIT		12#define DT_FINI		13#define DT_SONAME	14#define DT_RPATH	15#define DT_SYMBOLIC	16#define DT_REL		17#define DT_RELSZ	18#define DT_RELENT	19#define DT_PLTREL	20#define DT_DEBUG	21#define DT_TEXTREL	22#define DT_JMPREL	23#define DT_BIND_NOW	24#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_ENCODING	31#define DT_PREINIT_ARRAY   32#define DT_PREINIT_ARRAYSZ 33/* Note, the Oct 4, 1999 draft of the ELF ABI changed the values   for DT_LOOS and DT_HIOS.  Some implementations however, use   values outside of the new range (see below).	 */#define OLD_DT_LOOS	0x60000000#define DT_LOOS		0x6000000d#define DT_HIOS		0x6ffff000#define OLD_DT_HIOS	0x6fffffff#define DT_LOPROC	0x70000000#define DT_HIPROC	0x7fffffff/* The next four dynamic tags are used on Solaris.  We support them   everywhere.	Note these values lie outside of the (new) range for   OS specific values.	This is a deliberate special case and we   maintain it for backwards compatability.  */#define DT_VALRNGLO	0x6ffffd00#define DT_GNU_PRELINKED 0x6ffffdf5#define DT_GNU_CONFLICTSZ 0x6ffffdf6#define DT_GNU_LIBLISTSZ 0x6ffffdf7#define DT_CHECKSUM	0x6ffffdf8#define DT_PLTPADSZ	0x6ffffdf9#define DT_MOVEENT	0x6ffffdfa#define DT_MOVESZ	0x6ffffdfb#define DT_FEATURE	0x6ffffdfc#define DT_POSFLAG_1	0x6ffffdfd#define DT_SYMINSZ	0x6ffffdfe#define DT_SYMINENT	0x6ffffdff#define DT_VALRNGHI	0x6ffffdff#define DT_ADDRRNGLO	0x6ffffe00#define DT_GNU_CONFLICT	0x6ffffef8#define DT_GNU_LIBLIST	0x6ffffef9#define DT_CONFIG	0x6ffffefa#define DT_DEPAUDIT	0x6ffffefb#define DT_AUDIT	0x6ffffefc#define DT_PLTPAD	0x6ffffefd#define DT_MOVETAB	0x6ffffefe#define DT_SYMINFO	0x6ffffeff#define DT_ADDRRNGHI	0x6ffffeff#define DT_RELACOUNT	0x6ffffff9#define DT_RELCOUNT	0x6ffffffa#define DT_FLAGS_1	0x6ffffffb#define DT_VERDEF	0x6ffffffc#define DT_VERDEFNUM	0x6ffffffd#define DT_VERNEED	0x6ffffffe#define DT_VERNEEDNUM	0x6fffffff/* This tag is a GNU extension to the Solaris version scheme.  */#define DT_VERSYM	0x6ffffff0#define DT_LOPROC	0x70000000#define DT_HIPROC	0x7fffffff/* These section tags are used on Solaris.  We support them   everywhere, and hope they do not conflict.  */#define DT_AUXILIARY	0x7ffffffd#define DT_USED		0x7ffffffe#define DT_FILTER	0x7fffffff/* Values used in DT_FEATURE .dynamic entry.  */#define DTF_1_PARINIT	0x00000001/* From   http://docs.sun.com:80/ab2/coll.45.13/LLM/@Ab2PageView/21165?Ab2Lang=C&Ab2Enc=iso-8859-1   DTF_1_CONFEXP is the same as DTF_1_PARINIT. It is a typo. The value   defined here is the same as the one in <sys/link.h> on Solaris 8.  */#define DTF_1_CONFEXP	0x00000002/* Flag values used in the DT_POSFLAG_1 .dynamic entry.	 */#define DF_P1_LAZYLOAD	0x00000001#define DF_P1_GROUPPERM	0x00000002/* Flag value in in the DT_FLAGS_1 .dynamic entry.  */#define DF_1_NOW	0x00000001#define DF_1_GLOBAL	0x00000002#define DF_1_GROUP	0x00000004#define DF_1_NODELETE	0x00000008#define DF_1_LOADFLTR	0x00000010#define DF_1_INITFIRST	0x00000020#define DF_1_NOOPEN	0x00000040#define DF_1_ORIGIN	0x00000080#define DF_1_DIRECT	0x00000100#define DF_1_TRANS	0x00000200#define DF_1_INTERPOSE	0x00000400#define DF_1_NODEFLIB	0x00000800#define DF_1_NODUMP	0x00001000#define DF_1_CONLFAT	0x00002000/* Flag values for the DT_FLAGS entry.	*/#define DF_ORIGIN	(1 << 0)#define DF_SYMBOLIC	(1 << 1)#define DF_TEXTREL	(1 << 2)#define DF_BIND_NOW	(1 << 3)#define DF_STATIC_TLS	(1 << 4)/* These constants are used for the version number of a Elf32_Verdef   structure.  */#define VER_DEF_NONE		0#define VER_DEF_CURRENT		1/* These constants appear in the vd_flags field of a Elf32_Verdef   structure.  */#define VER_FLG_BASE		0x1#define VER_FLG_WEAK		0x2/* These special constants can be found in an Elf32_Versym field.  */#define VER_NDX_LOCAL		0#define VER_NDX_GLOBAL		1/* These constants are used for the version number of a Elf32_Verneed   structure.  */#define VER_NEED_NONE		0#define VER_NEED_CURRENT	1/* This flag appears in a Versym structure.  It means that the symbol   is hidden, and is only visible with an explicit version number.   This is a GNU extension.  */#define VERSYM_HIDDEN		0x8000/* This is the mask for the rest of the Versym information.  */#define VERSYM_VERSION		0x7fff/* This is a special token which appears as part of a symbol name.  It   indictes that the rest of the name is actually the name of a   version node, and is not part of the actual name.  This is a GNU   extension.  For example, the symbol name `stat@ver2' is taken to   mean the symbol `stat' in version `ver2'.  */#define ELF_VER_CHR	'@'/* Possible values for si_boundto.  */#define SYMINFO_BT_SELF		0xffff	/* Symbol bound to self */#define SYMINFO_BT_PARENT	0xfffe	/* Symbol bound to parent */#define SYMINFO_BT_LOWRESERVE	0xff00	/* Beginning of reserved entries *//* Possible bitmasks for si_flags.  */#define SYMINFO_FLG_DIRECT	0x0001	/* Direct bound symbol */#define SYMINFO_FLG_PASSTHRU	0x0002	/* Pass-thru symbol for translator */#define SYMINFO_FLG_COPY	0x0004	/* Symbol is a copy-reloc */#define SYMINFO_FLG_LAZYLOAD	0x0008	/* Symbol bound to object to be lazy loaded *//* Syminfo version values.  */#define SYMINFO_NONE		0#define SYMINFO_CURRENT		1#define SYMINFO_NUM		2/* Section Group Flags.	 */#define GRP_COMDAT		0x1	/* A COMDAT group *//* Auxv a_type values.  */#define AT_NULL		0		/* End of vector */#define AT_IGNORE	1		/* Entry should be ignored */#define AT_EXECFD	2		/* File descriptor of program */#define AT_PHDR		3		/* Program headers for program */#define AT_PHENT	4		/* Size of program header entry */#define AT_PHNUM	5		/* Number of program headers */#define AT_PAGESZ	6		/* System page size */#define AT_BASE		7		/* Base address of interpreter */#define AT_FLAGS	8		/* Flags */#define AT_ENTRY	9		/* Entry point of program */#define AT_NOTELF	10		/* Program is not ELF */#define AT_UID		11		/* Real uid */#define AT_EUID		12		/* Effective uid */#define AT_GID		13		/* Real gid */#define AT_EGID		14		/* Effective gid */#define AT_CLKTCK	17		/* Frequency of times() */#define AT_PLATFORM	15		/* String identifying platform.  */#define AT_HWCAP	16		/* Machine dependent hints about					   processor capabilities.  */#define AT_FPUCW	18		/* Used FPU control word.  */#define AT_DCACHEBSIZE	19		/* Data cache block size.  */#define AT_ICACHEBSIZE	20		/* Instruction cache block size.  */#define AT_UCACHEBSIZE	21		/* Unified cache block size.  */#define AT_IGNOREPPC	22		/* Entry should be ignored */#define	AT_SECURE	23		/* Boolean, was exec setuid-like?  *//* Pointer to the global system page used for system calls and other   nice things.  */#define AT_SYSINFO	32#define AT_SYSINFO_EHDR	33 /* Pointer to ELF header of system-supplied DSO.  */#define AT_SUN_UID      2000    /* Effective user ID.  */#define AT_SUN_RUID     2001    /* Real user ID.  */#define AT_SUN_GID      2002    /* Effective group ID.  */#define AT_SUN_RGID     2003    /* Real group ID.  */#define AT_SUN_LDELF    2004    /* Dynamic linker's ELF header.  */#define AT_SUN_LDSHDR   2005    /* Dynamic linker's section headers.  */#define AT_SUN_LDNAME   2006    /* String giving name of dynamic linker.  */#define AT_SUN_LPAGESZ  2007    /* Large pagesize.   */#define AT_SUN_PLATFORM 2008    /* Platform name string.  */#define AT_SUN_HWCAP    2009	/* Machine dependent hints about				   processor capabilities.  */#define AT_SUN_IFLUSH   2010    /* Should flush icache? */#define AT_SUN_CPU      2011    /* CPU name string.  */#define AT_SUN_EMUL_ENTRY 2012	/* COFF entry point address.  */#define AT_SUN_EMUL_EXECFD 2013	/* COFF executable file descriptor.  */#define AT_SUN_EXECNAME 2014    /* Canonicalized file name given to execve.  */#define AT_SUN_MMU      2015    /* String for name of MMU module.   */#define AT_SUN_LDDATA   2016    /* Dynamic linker's data segment address.  */#endif /* _ELF_COMMON_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -