From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 89E433858C52 for ; Thu, 21 Sep 2023 06:47:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 89E433858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9a9cd066db5so73498666b.0 for ; Wed, 20 Sep 2023 23:47:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1695278829; x=1695883629; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=caWrN5wNDIq04j2xBiCHddYJoDpd9cpr5VbF9mx8YTM=; b=njrocxTXJheJhfNCqlNNwCP7TYguJzlA9B5yiNvWSTJs/JTedCZRlaKPZS2hzkL48b rv2EugO5dGcKejYALkpSu2p3TtRucDQp/skeTOINiN/SHx/La7pKjDAb26xOfNDMOezR w/c2Uc6RP5NsjKP3WKBb4laQ5Jge8UcQH6xsEwnC5WQ0sIlS5XJq9AmRFMTqrqTfo1W+ pWSPFMF70K4S4WZGU+NUbhV6nyQeiyDq8mW208oJFIpAxDxIHDvIitr787nF+gE4iRpE ZpgmoHSX8cQYCEhpMc1v2cKYMeiQ+2zAqgN/6zgIhMQCBW/BYOcusHnn2/NS20PWRaIy 2ZBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695278829; x=1695883629; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=caWrN5wNDIq04j2xBiCHddYJoDpd9cpr5VbF9mx8YTM=; b=mprAyUC4WqxCSZWlTq2i7PzUVLK0qMV64P7pfX21R+KrQMuXLD5b/3/pNFKu1njJmo 8nyJ8PbzkhsAOhOffbYzvsiFXcKS/Wu2IuzukO5iGjzWc/kijd6iI0Esujvm2eAFYDUP 69T+039yjwm1xiZH2Faksm4dTiQ/zqsL5dD2bpRQ+3mSw9r40yBgDfbiKmLJ8OkswyR/ 1Yrm9My+HA/RFTJhhYUEx0VczLgyxPX8hLP1PmkXLMZ8pJf2ljY2PlKSZCqWdrSSP1BR MBWgiG9QXD+AG+pozPcdB6wawWfXj5i0ASJ+R2SeNCs7b2qrl7959u+SLxlM2EgrXJfm bqVA== X-Gm-Message-State: AOJu0YyFj+rZz89xeraR3gu+zOOpiSD2uFb9p5NqB6uypMkvsqNRMMKD NXVxiTzT9jsc7DHCUx0dNRQIOgTGoAOINSW7mWI+UBZPZDc= X-Google-Smtp-Source: AGHT+IHDJ7cIVvPzEbUyWSiGxV9sQNkcwpbB9ULrnePdwM2uYYSZzvlAnqoZn4PcyCyX+65SNeMDQA== X-Received: by 2002:a17:906:76c2:b0:9ad:e3f1:130e with SMTP id q2-20020a17090676c200b009ade3f1130emr4308678ejn.21.1695278829045; Wed, 20 Sep 2023 23:47:09 -0700 (PDT) Received: from [172.20.43.239] (static-212-193-78-212.thenetworkfactory.nl. [212.78.193.212]) by smtp.gmail.com with ESMTPSA id d26-20020a1709064c5a00b009ad875d12d7sm565141ejw.210.2023.09.20.23.47.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Sep 2023 23:47:08 -0700 (PDT) Message-ID: Date: Thu, 21 Sep 2023 08:47:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v11 1/3] MIPS: Add ELF file header flags Content-Language: en-US To: Ying Huang , libc-alpha@sourceware.org References: <20230831032302.3736352-1-ying.huang@oss.cipunited.com> <20230831032302.3736352-2-ying.huang@oss.cipunited.com> From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: <20230831032302.3736352-2-ying.huang@oss.cipunited.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 31/08/23 00:22, Ying Huang wrote: > From: Ying Huang > > Now binutils use some E_MIPS_* macros and EF_MIPS_* macros, it is > difficult to decide which style macro we should use when we want > to add new ELF file header flags. > IRIX used to use EF_MIPS_* macros and in elf/elf.h there also has > comments "The following are unofficial names and should not be used". > So we should use EF_MIPS_* to keep same style with the beginning. It does not trigger any build/check regression and it seems to be in sync with binutils, so it should be ok. > --- > elf/elf.h | 48 +++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 47 insertions(+), 1 deletion(-) > > diff --git a/elf/elf.h b/elf/elf.h > index 9c51073f75..43657f6b46 100644 > --- a/elf/elf.h > +++ b/elf/elf.h > @@ -1685,11 +1685,25 @@ typedef struct > #define EF_MIPS_PIC 2 /* Contains PIC code. */ > #define EF_MIPS_CPIC 4 /* Uses PIC calling sequence. */ > #define EF_MIPS_XGOT 8 > -#define EF_MIPS_64BIT_WHIRL 16 > +#define EF_MIPS_UCODE 16 > #define EF_MIPS_ABI2 32 > #define EF_MIPS_ABI_ON32 64 > +#define EF_MIPS_OPTIONS_FIRST 0x00000080 /* Process the .MIPS.options > + section first by ld. */ > +#define EF_MIPS_32BITMODE 0x00000100 /* Indicates code compiled for > + a 64-bit machine in 32-bit > + mode (regs are 32-bits > + wide). */ > #define EF_MIPS_FP64 512 /* Uses FP64 (12 callee-saved). */ > #define EF_MIPS_NAN2008 1024 /* Uses IEEE 754-2008 NaN encoding. */ > +#define EF_MIPS_ARCH_ASE 0x0f000000 /* Architectural Extensions > + used by this file. */ > +#define EF_MIPS_ARCH_ASE_MDMX 0x08000000 /* Use MDMX multimedia > + extensions. */ > +#define EF_MIPS_ARCH_ASE_M16 0x04000000 /* Use MIPS-16 ISA > + extensions. */ > +#define EF_MIPS_ARCH_ASE_MICROMIPS 0x02000000 /* Use MICROMIPS ISA > + extensions. */ > #define EF_MIPS_ARCH 0xf0000000 /* MIPS architecture level. */ > > /* Legal values for MIPS architecture level. */ > @@ -1703,6 +1717,38 @@ typedef struct > #define EF_MIPS_ARCH_64 0x60000000 /* MIPS64 code. */ > #define EF_MIPS_ARCH_32R2 0x70000000 /* MIPS32r2 code. */ > #define EF_MIPS_ARCH_64R2 0x80000000 /* MIPS64r2 code. */ > +#define EF_MIPS_ARCH_32R6 0x90000000 /* MIPS32r6 code. */ > +#define EF_MIPS_ARCH_64R6 0xa0000000 /* MIPS64r6 code. */ > +#define EF_MIPS_ABI 0x0000F000 /* The ABI of the file. Also > + see EF_MIPS_ABI2 above. */ > +#define EF_MIPS_ABI_O32 0x00001000 /* The original o32 abi. */ > +#define EF_MIPS_ABI_O64 0x00002000 /* O32 extended to work on > + 64 bit architectures. */ > +#define EF_MIPS_ABI_EABI32 0x00003000 /* EABI in 32 bit mode. */ > +#define EF_MIPS_ABI_EABI64 0x00004000 /* EABI in 64 bit mode. */ > +#define EF_MIPS_MACH 0x00FF0000 > +#define EF_MIPS_MACH_3900 0x00810000 > +#define EF_MIPS_MACH_4010 0x00820000 > +#define EF_MIPS_MACH_4100 0x00830000 > +#define EF_MIPS_MACH_ALLEGREX 0x00840000 > +#define EF_MIPS_MACH_4650 0x00850000 > +#define EF_MIPS_MACH_4120 0x00870000 > +#define EF_MIPS_MACH_4111 0x00880000 > +#define EF_MIPS_MACH_SB1 0x008a0000 > +#define EF_MIPS_MACH_OCTEON 0x008b0000 > +#define EF_MIPS_MACH_XLR 0x008c0000 > +#define EF_MIPS_MACH_OCTEON2 0x008d0000 > +#define EF_MIPS_MACH_OCTEON3 0x008e0000 > +#define EF_MIPS_MACH_5400 0x00910000 > +#define EF_MIPS_MACH_5900 0x00920000 > +#define EF_MIPS_MACH_IAMR2 0x00930000 > +#define EF_MIPS_MACH_5500 0x00980000 > +#define EF_MIPS_MACH_9000 0x00990000 > +#define EF_MIPS_MACH_LS2E 0x00A00000 > +#define EF_MIPS_MACH_LS2F 0x00A10000 > +#define EF_MIPS_MACH_GS464 0x00A20000 > +#define EF_MIPS_MACH_GS464E 0x00A30000 > +#define EF_MIPS_MACH_GS264E 0x00A40000 > > /* The following are unofficial names and should not be used. */ >