2003-05-15 Roland McGrath <roland@redhat.com>

* common.h (NT_AUXV, AT_*): New macros.
	* external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
	* internal.h (Elf_Internal_Auxv): New type.
This commit is contained in:
Roland McGrath 2003-05-21 00:55:15 +00:00
parent 00b5e06003
commit 98e6de0772
3 changed files with 56 additions and 2 deletions

View File

@ -253,7 +253,7 @@
#define EM_CYGNUS_FRV 0x5441
/* Ubicom IP2xxx; no ABI */
#define EM_IP2K_OLD 0x8217
#define EM_IP2K_OLD 0x8217
/* MSP430 magic number
Written in the absense everything. */
@ -364,6 +364,7 @@
#define NT_FPREGSET 2 /* Contains copy of fpregset struct */
#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */
#define NT_TASKSTRUCT 4 /* Contains copy of task struct */
#define NT_AUXV 6 /* Contains copy of Elfxx_auxv_t */
#define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */
/* note name must be "LINUX". */
@ -471,7 +472,7 @@
/* 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 */
@ -687,4 +688,35 @@
#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 */
/* Pointer to the global system page used for system calls and other
nice things. */
#define AT_SYSINFO 32
#define AT_SYSINFO_EHDR 33
#endif /* _ELF_COMMON_H */

View File

@ -258,4 +258,19 @@ typedef struct
unsigned char si_flags[2];
} Elf_External_Syminfo;
/* This structure appears on the stack and in NT_AUXV core file notes. */
typedef struct
{
unsigned char a_type[4];
unsigned char a_val[4];
} Elf32_External_Auxv;
typedef struct
{
unsigned char a_type[8];
unsigned char a_val[8];
} Elf64_External_Auxv;
#endif /* _ELF_EXTERNAL_H */

View File

@ -214,6 +214,13 @@ typedef struct
unsigned short int si_flags;
} Elf_Internal_Syminfo;
/* This structure appears on the stack and in NT_AUXV core file notes. */
typedef struct
{
bfd_vma a_type;
bfd_vma a_val;
} Elf_Internal_Auxv;
/* This structure is used to describe how sections should be assigned
to program segments. */