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.
This commit is contained in:
Richard Earnshaw 2018-08-09 16:51:09 +01:00
parent 6404ab9937
commit 57285adece
2 changed files with 9 additions and 3 deletions

View 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.

View 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
@ -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