summary refs log tree commit diff
path: root/elf/elf.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-04-12 09:05:16 +0000
committerUlrich Drepper <drepper@redhat.com>1999-04-12 09:05:16 +0000
commita64e578b6fdb18c530d142a68a7e57eb04038b5d (patch)
tree213705ce4ff6c43f4eb189e1d422c1984ee10d3b /elf/elf.h
parenteb822fcf6fee6bbd4220658299ec1970e52f105d (diff)
downloadglibc-a64e578b6fdb18c530d142a68a7e57eb04038b5d.tar.gz
glibc-a64e578b6fdb18c530d142a68a7e57eb04038b5d.tar.xz
glibc-a64e578b6fdb18c530d142a68a7e57eb04038b5d.zip
Update.
1999-04-12  Philip Blundell  <philb@gnu.org>

	* elf/elf.h: Update ARM definitions to match current gas2.

	* sysdeps/arm/bits/endian.h: Support big endian operation.

	* sysdeps/unix/sysv/linux/arm/ioperm.c (_outw, _outb, _outl):
	Don't bother range checking the port number.

	* sysdeps/unix/sysv/linux/arm/vfork.S: New file.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Include
	the syscall name in assembler output for ease of debugging.

	* sysdeps/unix/sysv/linux/arm/sigaction.c: Don't rely on undefined
	compiler behaviour.
	* sysdeps/unix/sysv/linux/arm/sigrestorer.S: New file.
	* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = signal]
	(sysdep_routines): Add sigrestorer.

	* string/tester.c (test_strcpy): Add new tests for unaligned
	arguments.
	* sysdeps/arm/bits/string.h: Delete inline implementations of
	strcpy and stpcpy.
Diffstat (limited to 'elf/elf.h')
-rw-r--r--elf/elf.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/elf/elf.h b/elf/elf.h
index 0eb6c56e13..9b368bb44d 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1523,6 +1523,9 @@ typedef Elf32_Addr Elf32_Conflict;
 #define EF_ARM_APCS_26     0x08
 #define EF_ARM_APCS_FLOAT  0x10
 #define EF_ARM_PIC         0x20
+#define EF_ALIGN8          0x40		/* 8-bit structure alignment is in use */
+#define EF_NEW_ABI         0x80
+#define EF_OLD_ABI         0x100
 
 /* Additional symbol types for Thumb */
 #define STT_ARM_TFUNC      0xd
@@ -1541,17 +1544,19 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_PC24		1	/* PC relative 26 bit branch */
 #define R_ARM_ABS32		2	/* Direct 32 bit  */
 #define R_ARM_REL32		3	/* PC relative 32 bit */
-#define R_ARM_ABS8		4	/* Direct 8 bit */
+#define R_ARM_PC13		4
 #define R_ARM_ABS16		5	/* Direct 16 bit */
 #define R_ARM_ABS12		6	/* Direct 12 bit */
 #define R_ARM_THM_ABS5		7
-#define R_ARM_THM_PC22		8
+#define R_ARM_ABS8		8	/* Direct 8 bit */
 #define R_ARM_SBREL32		9
-#define R_ARM_AMP_VCALL9	10
-#define R_ARM_THM_PC11		11	/* Thumb unconditional branch */
-#define R_ARM_THM_PC9		12	/* Thumb conditional branch */
-#define R_ARM_GNU_VTINHERIT	13
-#define R_ARM_GNU_VTENTRY	14
+#define R_ARM_THM_PC22		10
+#define R_ARM_THM_PC8		11
+#define R_ARM_AMP_VCALL9	12
+#define R_ARM_SWI24		13
+#define R_ARM_THM_SWI8		14
+#define R_ARM_XPC25		15
+#define R_ARM_THM_XPC22		16
 #define R_ARM_COPY		20	/* Copy symbol at runtime */
 #define R_ARM_GLOB_DAT		21	/* Create GOT entry */
 #define R_ARM_JUMP_SLOT		22	/* Create PLT entry */
@@ -1560,6 +1565,11 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_GOTPC		25	/* 32 bit PC relative offset to GOT */
 #define R_ARM_GOT32		26	/* 32 bit GOT entry */
 #define R_ARM_PLT32		27	/* 32 bit PLT address */
+#define R_ARM_GNU_VTENTRY	100
+#define R_ARM_GNU_VTINHERIT	101
+#define R_ARM_THM_PC11		102	/* thumb unconditional branch */
+#define R_ARM_THM_PC9		103	/* thumb conditional branch */
+#define R_ARM_RXPC25		249
 #define R_ARM_RSBREL32		250
 #define R_ARM_THM_RPC22		251
 #define R_ARM_RREL32		252