arm - Add some comments about the versions of ARM ELF that define various e_flags...
authorRichard Earnshaw <Richard.Earnshaw@arm.com>
Thu, 9 Aug 2018 15:51:09 +0000 (16:51 +0100)
committerRichard Earnshaw <Richard.Earnshaw@arm.com>
Thu, 9 Aug 2018 15:51:09 +0000 (16:51 +0100)
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.

include/ChangeLog
include/elf/arm.h

index d75f11c..4b3d549 100644 (file)
@@ -1,3 +1,7 @@
+2018-08-09  Richard Earnshaw  <rearnsha@arm.com>
+
+       * elf/arm.h: Updated comments for e_flags definitions.
+
 2018-08-06  Claudiu Zissulescu  <claziss@synopsys.com>
 
        * elf/arc.h (Tag_ARC_ATR_version): New tag.
index fdae08a..3b52cd0 100644 (file)
@@ -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
 /* 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