public inbox for
 help / color / mirror / Atom feed
From: "Ying Huang" <>
To: "Maciej W. Rozycki" <>,
	 "Florian Weimer" <>
Cc: "Richard Sandiford" <>,
	 "libc-alpha" <>,
	 <>, <>
Subject: Re: [PATCH v7] MIPS: Sync elf.h from binutils
Date: Wed, 16 Aug 2023 14:15:33 +0800	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

[-- Attachment #1: Type: text/plain, Size: 2682 bytes --]

Hi Maciej,

在 2023/8/12 01:43, Maciej W. Rozycki 写道:
> Hi Florian,
>  Cc-ing binutils now, to get a record of this discussion there.
>>>  The EF_* definitions were added on top of preexisting E_* macros back in 
>>> 1998 by Ulrich Drepper with commit c3966b88eeb ("Update.") and only this:
>>> 	* elf/elf.h: Add lots of new symbols from Irix and Solaris.
>> My concern was adding EF_* constants to glibc that duplicate E_*
>> constants that are used in binutils.  I think we should either change
>> binutils to use the EF_* constants, too, or for these legacy constants,
>> use the E_* prefix in glibc as well.
>  It's not a problem: as long as we reach consensus I can update binutils 
> accordingly, and we can discard E_* constants from there at any time if 
> needed as they are for BFD use only and we don't offer any stable BFD API.

  Thanks for your detailed investigation.  If we use EF_MIPS_* in glibc and update binutils, the places

where all E_MIPS_* used would also be changed to EF_MIPS_*?



>> Not sure if this a reasonable position, though.
>  So I did a little more research on this topic and came across this thread 
> of mine from decades ago, and specifically this message coming from the 
> lost world: <>. 
> Clearly IRIX used to use EF_* macros, just as I thought and just as has 
> used the Linux kernel (and MTI never came to finishing their promised 
> psABI spec, where it only says "To be supplied" in the relevant part[1]).
>  So while we may have to keep the few already existing in <elf.h>, just 
> because we were unfortunate enough to make them a part of our API back in 
> 1996:
> 	* elf/elf.h: Add some new constants from recent Cygnus ELF
> 	header files.
> having likely taken them as a Cygnus invention without due consideration, 
> I think we ought to refrain from adding new E_* macros and stick to EF_* 
> instead.
>  NB the whole thread referred above might be worth reviewing for anyone 
> interested in these matters.  Here's a reference for the earlier part:
> <>
> as the discussion started on the old MIPS/Linux mailing lists first and 
> then was carried over to binutils as well.
> References:
> [1] "MIPS ABIs Described", MIPS Technologies, Inc., Document Number: 
>     MD00305, Revision 1.3, 2002/12/02, Chapter 7. "ELF object code", p. 24
>     <>
>   Maciej

  reply	other threads:[~2023-08-16  6:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <>
     [not found] ` <>
     [not found]   ` <>
     [not found]     ` <>
     [not found]       ` <>
     [not found]         ` <>
     [not found]           ` <>
     [not found]             ` <>
2023-08-11 17:43               ` Maciej W. Rozycki
2023-08-16  6:15                 ` Ying Huang [this message]
2023-08-18 10:10                 ` 黄莺
2023-08-21  6:27                   ` Ying Huang
2023-08-21 11:14                     ` Maciej W. Rozycki
2023-08-22  8:55                       ` Ying Huang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).