Subject: CVS commit: pkgsrc/devel/lld
From: Adam Ciarcinski
Date: 2019-06-02 10:37:39
Message id: 20190602083739.96D25FBB7@cvs.NetBSD.org

Log Message:
lld: updated to 8.0.0

lld 8.0.0:

Non-comprehensive list of changes in this release

ELF Improvements
* lld now supports RISC-V. (r339364)
* Default image base address has changed from 65536 to 2 MiB for i386 and 4 MiB \ 
for AArch64 to make lld-generated executables work better with automatic \ 
superpage promotion. FreeBSD can promote contiguous non-superpages to a \ 
superpage if they are aligned to the superpage size. (r342746)
* lld now attempts to place a .note segment in the first page of a generated \ 
file, so that you can find some important information (.note.gnu.build-id in \ 
particular) in a core file even if a core file is truncated by ulimit. (r349524)
* lld now reports an error if _GLOBAL_OFFSET_TABLE_ symbol is defined by an \ 
input object file, as the symbol is supposed to be synthesized by the linker. \ 
(r347854)
* lld/Hexagon can now link Linux kernel and musl libc for Qualcomm Hexagon ISA.
* Initial MSP430 ISA support has landed.
* lld now uses the sigrie instruction as a trap instruction for MIPS targets.
* lld now creates a TLS segment for AArch64 with a slightly larger alignment \ 
requirement, so that the loader makes a few bytes room before each TLS segment \ 
at runtime. The aim of this change is to make room to accomodate nonstandard \ 
Android TLS slots while keeping the compatibility with the standard AArch64 ABI. \ 
(r350681)
* The following flags have been added: --call-graph-profile, \ 
--no-call-graph-profile, --warn-ifunc-textrel, -z interpose, -z global, -z \ 
nodefaultlib

COFF Improvements
* PDB GUID is set to hash of PDB contents instead to a random byte sequence for \ 
build reproducibility.
* /pdbsourcepath: is now also used to make "cwd", "exe", \ 
"pdb" in the env block of PDB outputs absolute if they are relative, \ 
and to make paths to obj files referenced in PDB outputs absolute if they are \ 
relative. Together with the previous item, this makes it possible to generate \ 
executables and PDBs that are fully deterministic and independent of the \ 
absolute path to the build directory, so that different machines building the \ 
same code in different directories can produce exactly the same output.
* The following flags have been added: /force:multiple
* lld now can link against import libraries produced by GNU tools.
* lld can create thunks for ARM and ARM64, to allow linking larger images (over \ 
16 MB for ARM and over 128 MB for ARM64)
* Several speed and memory usage improvements.
* lld now creates debug info for typedefs.
* lld can now link obj files produced by cl.exe /Z7 /Yc.
* lld now understands %_PDB% and %_EXT% in /pdbaltpath:.
* Undefined symbols are now printed in demangled form in addition to raw form.

MinGW Improvements
* lld can now automatically import data variables from DLLs without the use of \ 
the dllimport attribute.
* lld can now use existing normal MinGW sysroots with import libraries and CRT \ 
startup object files for GNU binutils. lld can handle most object files produced \ 
by GCC, and thus works as a drop-in replacement for ld.bfd in such environments. \ 
(There are known issues with linking crtend.o from GCC in setups with DWARF \ 
exceptions though, where object files are linked in a different order than with \ 
GNU ld, inserting a DWARF exception table terminator too early.)
* lld now supports COFF embedded directives for linking to nondefault libraries, \ 
just like for the normal COFF target.
* Actually generate a codeview build id signature, even if not creating a PDB. \ 
Previously, the --build-id option did not actually generate a build id unless \ 
--pdb was specified.

WebAssembly Improvements
* Add initial support for creating shared libraries (-shared). Note: The shared \ 
library format is still under active development and may undergo significant \ 
changes in future versions. See: \ 
https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md

Files:
RevisionActionfile
1.4modifypkgsrc/devel/lld/Makefile
1.2modifypkgsrc/devel/lld/buildlink3.mk
1.2modifypkgsrc/devel/lld/distinfo
1.2modifypkgsrc/devel/lld/patches/patch-ELF_Config.h
1.2modifypkgsrc/devel/lld/patches/patch-ELF_Driver.cpp
1.2modifypkgsrc/devel/lld/patches/patch-docs_ld.lld.1