arm - Add some comments about the versions of ARM ELF that define various e_flags values

Message ID 806c63e3-1f7b-954b-6a62-4de72c2a03a5@arm.com
State New
Headers show
Series
  • arm - Add some comments about the versions of ARM ELF that define various e_flags values
Related show

Commit Message

Richard Earnshaw (lists) Aug. 9, 2018, 3:54 p.m.
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.

I have 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.

Committed.

Patch

diff --git a/include/elf/arm.h b/include/elf/arm.h
index fb9c5f6..db1b991 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