From 57285adece935b4c827d02eae10c6ae6d60c92fc Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Thu, 9 Aug 2018 16:51:09 +0100 Subject: [PATCH] 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. --- include/ChangeLog | 4 ++++ include/elf/arm.h | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index d75f11c944..4b3d5493d4 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2018-08-09 Richard Earnshaw + + * elf/arm.h: Updated comments for e_flags definitions. + 2018-08-06 Claudiu Zissulescu * elf/arc.h (Tag_ARC_ATR_version): New tag. diff --git a/include/elf/arm.h b/include/elf/arm.h index fdae08aed7..3b52cd05d1 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