This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH 1/9] binutils,gas,opcodes.elf: remove never used SPARC features and upgrade hwcaps.
- From: David Miller <davem at davemloft dot net>
- To: jose dot marchesi at oracle dot com
- Cc: binutils at sourceware dot org
- Date: Sun, 05 Oct 2014 16:45:05 -0400 (EDT)
- Subject: Re: [PATCH 1/9] binutils,gas,opcodes.elf: remove never used SPARC features and upgrade hwcaps.
- Authentication-results: sourceware.org; auth=none
- References: <1412266782-14873-2-git-send-email-jose dot marchesi at oracle dot com> <20141004 dot 201231 dot 1670791506145168102 dot davem at davemloft dot net> <87ppe64rs9 dot fsf at oracle dot com>
From: firstname.lastname@example.org (Jose E. Marchesi)
Date: Sun, 05 Oct 2014 14:36:38 +0200
> > This patch removes support from GNU binutils for the following SPARC
> > features, which were never released to the public or implemented:
> > - The transactional memory instructions of the cancelled Rock
> > processor (UltraSPARC-AT10): CHKPT and COMMIT.
> > - The %cps ancillary state register, also introduced in the
> > UltraSPARC-AT10, along with the associated rd/wr instructions.
> > - The RANDOM instruction.
> These hw capability ELF flags are encoded into binaries and you
> therefore cannot just repurpose them however you like. You will
> therefore have to allocate new capability flag values for these
> I agree in that it is funny to redefine bits like that in a public
> interface, but allocating other bits for the JF* caps would imply to
> diverge from Solaris. Is that what you want?
The problem is that if readelf sees the bits set in the binary (and
I know for a fact there are binaries out there with them set) it will
report the wrong value.
So yes that means we must not repeat what Solaris's has done.
> Furthermore, even though full transactional memory support never got
> into a publicly released processor, recent chips do implement the %cps
> register and implement the chkpt instruction as an unconditional
> Huh, which recent chips?. Every of the following specs document
> %asr28 as reserved, and %cps is not mentioned at all:
My bad, I misremembered this one.
> Likewise, to my knowledge the chkpt instruction is not documented on any
> of the Sun, Oracle or Fujitsu published specs.
It's a specially coded branch, which older chips interpret as a branch