about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--elf/elf.h41
2 files changed, 44 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5dd30e6129..8b9f6de6ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1999-02-24  Ulrich Drepper  <drepper@cygnus.com>
+
+	* elf/elf.h: Add 32bit HPPA definitions.
+
 1999-02-23  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
 	* malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a
diff --git a/elf/elf.h b/elf/elf.h
index cba83aa539..0eb6c56e13 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ian Lance Taylor <ian@cygnus.com>.
 
@@ -1323,6 +1323,18 @@ typedef Elf32_Addr Elf32_Conflict;
 
 /* HPPA specific definitions.  */
 
+/* Legal values for e_flags field of Elf32_Ehdr.  */
+
+#define EF_PARISC_TRAPNL	1	/* Trap nil pointer dereference.  */
+#define EF_PARISC_EXT		2	/* Program uses arch. extensions.  */
+#define EF_PARISC_ARCH		0xffff0000 /* Architecture version.  */
+/* Defined values are:
+				0x020b	PA-RISC 1.0 big-endian
+				0x0210	PA-RISC 1.1 big-endian
+				0x028b	PA-RISC 1.0 little-endian
+				0x0290	PA-RISC 1.1 little-endian
+*/
+
 /* Legal values for sh_type field of Elf32_Shdr.  */
 
 #define SHT_PARISC_GOT		0x70000000 /* GOT for external data.  */
@@ -1338,12 +1350,39 @@ typedef Elf32_Addr Elf32_Conflict;
 
 /* Legal values for sh_flags field of Elf32_Shdr.  */
 
+#define SHF_PARISC_GLOBAL	0x10000000 /* Section defines dp.  */
 #define SHF_PARISC_SHORT	0x20000000 /* Section with short addressing. */
 
 /* Legal values for ST_TYPE subfield of st_info (symbol type).  */
 
 #define STT_PARISC_MILLICODE	13	/* Millicode function entry point.  */
 
+/* HPPA relocs.  */
+
+#define R_PARISC_NONE		0	/* No reloc.  */
+#define R_PARISC_DIR32		1	/* Direct 32-bit reference.  */
+#define R_PARISC_DIR21L		2	/* Left 21 bits of eff. address.  */
+#define R_PARISC_DIR17R		3	/* Right 17 bits of eff. address.  */
+#define R_PARISC_DIR14R		4	/* Right 14 bits of eff. address.  */
+#define R_PARISC_PCREL21L	5	/* PC-relative, left 21 bits.  */
+#define R_PARISC_PCREL14R	6	/* PC-relative, right 14 bits.  */
+#define R_PARISC_PCREL17C	7	/* Conditional PC-relative, ignore
+					   if displacement > 17bits.  */
+#define R_PARISC_PCREL17F	8	/* Conditional PC-relative, must
+					   fit in 17bits.  */
+#define R_PARISC_DPREL21L	9	/* DP-relative, left 21 bits.  */
+#define R_PARISC_DPREL14R	10	/* DP-relative, right 14 bits.  */
+#define R_PARISC_DPREL14F	11	/* DP-relative, must bit in 14 bits. */
+#define R_PARISC_DLTREL21L	12	/* DLT-relative, left 21 bits.  */
+#define R_PARISC_DLTREL14R	13	/* DLT-relative, right 14 bits.  */
+#define R_PARISC_DLTREL14F	14	/* DLT-relative, must fit in 14 bits.*/
+#define R_PARISC_DLTIND21L	15	/* DLT-relative indirect, left
+					   21 bits.  */
+#define R_PARISC_DLTIND14R	16	/* DLT-relative indirect, right
+					   14 bits.  */
+#define R_PARISC_DLTIND14F	17	/* DLT-relative indirect, must fit
+					   int 14 bits.  */
+#define R_PARISC_PLABEL32	18	/* Direct 32-bit reference to proc.  */
 
 /* Alpha specific definitions.  */