LLD release note

I’m compiling a release note for LLD, and I’d like to get you guy’s input about the status of the following subsystems.

  • Current MIPS support
  • Current AArch64 support
  • LTO

I think AArch64 and LTO are added after the last release, so everything we’ve made so far should be in the next release note. MIPS’s situation is different though.

Rui

Hi Rui,

We’ve added some lld notes to the main release notes, please reuse them.

Cheers,
Renato

I added some notes to release_39/docs/ReleaseNotes.rst at r277807.
They describes new features implemented in LLD 3.9.

In general LLD now supports both O32 and N64 MIPS ABIs. The most
significant missed feature in both ABIs is multi-GOT support.

I'm compiling a release note for LLD, and I'd like to get you guy's input
about the status of the following subsystems.

- Current MIPS support
- Current AArch64 support

There's enough AArch64 to allow lld to self-host and to finish a build
of the base system on FreeBSD. Last we (I and Rafael) checked, it was
mid-june timeframe, but nothing changed since then.

- LTO

There have been several (many?) fixes for LTO in the last 6 months.
For full LTO, I'd say that the infrastructure is complete (modulo bugs
we discover from time to time). There are plans to implement Thin, but
that will require some work.

Not strictly within the list of topics you're asking for, but just in
case it is useful. The ARM support is probably best described as
experimental right now, it is missing exceptions support which will
rule out a large subset of the programs we'd want to link and static
linking. I'll hopefully be starting work on this in a week or so's
time.

I've not got anything else to add to the other replies with respect of
the main topics.

Peter

FYI when trying to link the FreeBSD/arm64 kernel now I receive tens of
thousands of "relocation R_AARCH64_ADR_PREL_PG_HI21 out of range". Did
you try building the kernel as well, or just userland?

make buildworld as there was no linker script support for the kernel at the time. I dont exclude things regressed since then.

If you have a --reproduce you can upload somewhere, it will be helpful.

I doubt it regressed, probably just wasn't tried before. I'll collect
a --reproduce and upload it somewhere in a bit.

Thanks, guys! Submitted r279018 to update the release note.