From patchwork Thu Aug 9 15:54:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Richard Earnshaw (lists)" X-Patchwork-Id: 28815 Received: (qmail 119828 invoked by alias); 9 Aug 2018 15:54:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 119804 invoked by uid 89); 9 Aug 2018 15:54:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=ubiquitous X-HELO: foss.arm.com Received: from usa-sjc-mx-foss1.foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 09 Aug 2018 15:54:45 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A4DA67A9; Thu, 9 Aug 2018 08:54:43 -0700 (PDT) Received: from e120077-lin.cambridge.arm.com (e120077-lin.cambridge.arm.com [10.2.207.74]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0BAC53F5B3; Thu, 9 Aug 2018 08:54:42 -0700 (PDT) To: binutils@sourceware.org, gdb-patches@sourceware.org From: "Richard Earnshaw (lists)" Subject: arm - Add some comments about the versions of ARM ELF that define various e_flags values Openpgp: preference=signencrypt Message-ID: <806c63e3-1f7b-954b-6a62-4de72c2a03a5@arm.com> Date: Thu, 9 Aug 2018 16:54:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 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. 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