lld 15.0.0git Release Notes

Warning

These are in-progress notes for the upcoming LLVM 15.0.0git release. Release notes for previous releases can be found on the Download Page.

Introduction

This document contains the release notes for the lld linker, release 15.0.0git. Here we describe the status of lld, including major improvements from the previous release. All lld releases may be downloaded from the LLVM releases web site.

Non-comprehensive list of changes in this release

ELF Improvements

  • -z pack-relative-relocs is now available to support DT_RELR for glibc 2.36+. (D120701)
  • --no-fortran-common (pre 12.0.0 behavior) is now the default.

Breaking changes

  • The GNU ld incompatible --no-define-common has been removed.
  • The obscure -dc/-dp options have been removed.
  • -d is now ignored.
  • If a prevailing COMDAT group defines STB_WEAK symbol, having a STB_GLOBAL symbol in a non-prevailing group is now rejected with a diagnostic. (D120626)

COFF Improvements

  • Added autodetection of MSVC toolchain, a la clang-cl. Also added /winsysroot: support for explicit specification of MSVC toolchain location, similar to clang-cl’s /winsysroot. For now, /winsysroot: requires also passing in an explicit /machine: flag. (D118070)