[PATCH] Remove NaCl target support

Fangrui Song i@maskray.me
Sat Jul 19 03:39:37 GMT 2025


On Wed, Jul 16, 2025 at 1:37 PM Andrew Pinski <pinskia@gmail.com> wrote:
>
> On Wed, Jul 16, 2025 at 1:15 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Wed, Jul 16, 2025 at 12:59 PM Andrew Pinski <pinskia@gmail.com> wrote:
> > >
> > >
> > >
> > > On Mon, Jun 29, 2020, 5:07 AM H.J. Lu via Binutils <binutils@sourceware.org> wrote:
> > >>
> > >> On Sun, Jun 28, 2020 at 9:02 PM Alan Modra <amodra@gmail.com> wrote:
> > >> >
> > >> > On Sun, Jun 28, 2020 at 08:01:54PM -0700, H.J. Lu wrote:
> > >> > > On Sun, Jun 28, 2020 at 5:50 PM Alan Modra <amodra@gmail.com> wrote:
> > >> > > >
> > >> > > > On Sun, Jun 28, 2020 at 02:17:38PM -0700, H.J. Lu via Binutils wrote:
> > >> > > > > On Sat, Jun 27, 2020 at 10:08:45PM -0700, Roland McGrath wrote:
> > >> > > > > > Nobody has used those targets in a long time.  They can be removed any time.
> > >> > > > >
> > >> > > > > Here is a patch to remove NaCl target support from bfd, binutils, gas and
> > >> > > > > ld.
> > >> > > > >
> > >> > > > > OK for master branch?
> > >> > > >
> > >> > > > You don't want to mark the target support as obsolete for one release?
> > >> > > > I think you probably should do that, delaying this patch until after
> > >> > > > 2.35 branches in a week or so.
> > >> > > >
> > >> > >
> > >> > > I don't think anyone will miss these targets.
> > >> >
> > >> > I don't question that, just the hurry to remove them.  Is there
> > >> > something so fundamentally wrong with the current nacl support that
> > >> > potential users should be more than just warned off them with a
> > >> > message saying the target is obsolete?  Current testsuite results
> > >> > seem to say the x86_64-nacl target is in good shape.
> > >> >
> > >>
> > >> I wanted to remove NaCl support when CET support was added a few
> > >> years ago since there is no way to support any new hardware features
> > >> in NaCl.  Since no one is using it, we shouldn't keep it any longer.
> > >
> > >
> > >
> > > Did NaCl ever got removed from Binutils? It is now in the process of being removed from llvm(https://github.com/llvm/llvm-project/pull/133661), it would be a good time to do it for binutils and the rest of the gnu toolchain too
> > >
> > >
> >
> > ARM still has NaCl support:
> >
> > ./ld/testsuite/ld-arm/farcall-arm-nacl-pic.d
> > ./ld/testsuite/ld-arm/farcall-arm-nacl.d
> > ./ld/testsuite/ld-arm/farcall-data-nacl.d
> > ./ld/emulparams/armelf_nacl.sh
> > ./ld/emulparams/armelfb_nacl.sh
> > ./ld/emulparams/elf_nacl.sh
> > ./gas/config/te-nacl.h
> > ./gold/nacl.cc
> > ./gold/nacl.h
> > ./bfd/elf-nacl.h
> > ./bfd/elf-nacl.c
>
> I looked and gold still has support for i386 nacl also but gold being
> deprecated/unmaintained maybe it should not be touched.
>
> Thanks,
> Andrew
>
> >
> >
> > --
> > H.J.

I've advocated for removing NaCl from LLVM since 2020. Chrome has
finally discontinued NaCl, and LLVM has followed suit by removing it.
In LLVM, the integrated assembler, introduced in 2009, was initially
inefficient and poorly designed.
The addition of bundle align mode in 2012 further degraded the
performance of generic code and complicated maintenance.

I hope binutils will also phase out NaCl support soon.


More information about the Binutils mailing list