public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "Maciej W. Rozycki" <macro@orcam.me.uk>
To: Florian Weimer <fweimer@redhat.com>
Cc: Richard Sandiford <richard.sandiford@arm.com>,
	 Ying Huang <ying.huang@oss.cipunited.com>,
	 libc-alpha <libc-alpha@sourceware.org>,
	yunqiang.su@oss.cipunited.com,  binutils@sourceware.org
Subject: Re: [PATCH v7] MIPS: Sync elf.h from binutils
Date: Fri, 11 Aug 2023 18:43:01 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.21.2308111744440.8596@angie.orcam.me.uk> (raw)
In-Reply-To: <87il9oywuh.fsf@oldenburg.str.redhat.com>

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.

> 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: <https://sourceware.org/ml/binutils/2002-07/msg00681.html>. 
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:
<https://lore.kernel.org/r/Pine.GSO.3.96.1020724182704.27732L-100000@delta.ds2.pg.gda.pl/>
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
    <https://web.archive.org/web/20140911162016/https://dmz-portal.mips.com/mw/images/f/fe/MD00305-2B-ABIDESC-SPC-01.03.pdf>

  Maciej

       reply	other threads:[~2023-08-11 17:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230807020524.2031213-1-ying.huang@oss.cipunited.com>
     [not found] ` <87leemerwd.fsf@oldenburg.str.redhat.com>
     [not found]   ` <4d3d1518-364c-8374-9d3d-86d1afe25d62@oss.cipunited.com>
     [not found]     ` <87r0odeust.fsf@oldenburg.str.redhat.com>
     [not found]       ` <3d7f6d51-7d7f-cc7c-31b9-744dc06010fa@oss.cipunited.com>
     [not found]         ` <87cyzxfugb.fsf@oldenburg.str.redhat.com>
     [not found]           ` <alpine.DEB.2.21.2308091654110.25915@angie.orcam.me.uk>
     [not found]             ` <87il9oywuh.fsf@oldenburg.str.redhat.com>
2023-08-11 17:43               ` Maciej W. Rozycki [this message]
2023-08-16  6:15                 ` Ying Huang
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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2308111744440.8596@angie.orcam.me.uk \
    --to=macro@orcam.me.uk \
    --cc=binutils@sourceware.org \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=richard.sandiford@arm.com \
    --cc=ying.huang@oss.cipunited.com \
    --cc=yunqiang.su@oss.cipunited.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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).