aboutsummaryrefslogtreecommitdiff
path: root/include/elf
diff options
context:
space:
mode:
authorRichard Earnshaw <Richard.Earnshaw@arm.com>2018-08-09 16:51:09 +0100
committerRichard Earnshaw <Richard.Earnshaw@arm.com>2018-08-09 16:51:09 +0100
commit57285adece935b4c827d02eae10c6ae6d60c92fc (patch)
treedb366693692f5e03e835b054c588a81460a8d7f9 /include/elf
parent6404ab993797d1d6cd3d9e97cc281e3cb6226c12 (diff)
downloadgdb-57285adece935b4c827d02eae10c6ae6d60c92fc.zip
gdb-57285adece935b4c827d02eae10c6ae6d60c92fc.tar.gz
gdb-57285adece935b4c827d02eae10c6ae6d60c92fc.tar.bz2
arm - Add some comments about the versions of ARM ELF that define various e_flags values
This patch adds a few comments to include/elf/arm.h to clarify which versions of the ARM ELF specification defined which headers. Given that the EABI is pretty ubiquitous these days, I've marked anything not based on that as deprecated. There are no plans to remove any deprecated definitions at this time, but any new development shouldn't be building upon support for deprecated definitions remaining in the long term. * elf/arm.h: Updated comments for e_flags definitions.
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/arm.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/elf/arm.h b/include/elf/arm.h
index fdae08a..3b52cd0 100644
--- a/include/elf/arm.h
+++ b/include/elf/arm.h
@@ -23,6 +23,8 @@
#include "elf/reloc-macros.h"
/* Processor specific flags for the ELF header e_flags field. */
+
+/* Old ABI (ie GNU pre EABI). These are deprecated. */
#define EF_ARM_RELEXEC 0x01
#define EF_ARM_INTERWORK 0x04
#define EF_ARM_APCS_26 0x08
@@ -38,13 +40,12 @@
/* Frame unwind information */
#define PT_ARM_EXIDX (PT_LOPROC + 1)
-/* Other constants defined in the ARM ELF spec. version B-01. */
+/* Old ARM ELF spec. version B-01. Mostly deprecated. */
#define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK. */
#define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26. */
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT. */
-#define EF_ARM_EABIMASK 0xFF000000
-/* New constants defined in the ARM ELF spec. version XXX.
+/* New constants defined in the ARM ELF spec. version XXX (AAELF).
Only valid in conjunction with EF_ARM_EABI_VER5. */
#define EF_ARM_ABI_FLOAT_SOFT 0x200 /* NB conflicts with EF_ARM_SOFT_FLOAT. */
#define EF_ARM_ABI_FLOAT_HARD 0x400 /* NB conflicts with EF_ARM_VFP_FLOAT. */
@@ -53,6 +54,7 @@
#define EF_ARM_BE8 0x00800000
#define EF_ARM_LE8 0x00400000
+#define EF_ARM_EABIMASK 0xFF000000
#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
#define EF_ARM_EABI_UNKNOWN 0x00000000
#define EF_ARM_EABI_VER1 0x01000000