head 1.22; access; symbols pkgsrc-2023Q4:1.22.0.2 pkgsrc-2023Q4-base:1.22 pkgsrc-2023Q3:1.21.0.6 pkgsrc-2023Q3-base:1.21 pkgsrc-2023Q2:1.21.0.4 pkgsrc-2023Q2-base:1.21 pkgsrc-2023Q1:1.21.0.2 pkgsrc-2023Q1-base:1.21 pkgsrc-2022Q4:1.20.0.2 pkgsrc-2022Q4-base:1.20 pkgsrc-2022Q3:1.17.0.2 pkgsrc-2022Q3-base:1.17 pkgsrc-2022Q2:1.16.0.4 pkgsrc-2022Q2-base:1.16 pkgsrc-2022Q1:1.16.0.2 pkgsrc-2022Q1-base:1.16 pkgsrc-2021Q4:1.15.0.2 pkgsrc-2021Q4-base:1.15 pkgsrc-2021Q3:1.12.0.2 pkgsrc-2021Q3-base:1.12 pkgsrc-2021Q2:1.11.0.8 pkgsrc-2021Q2-base:1.11 pkgsrc-2021Q1:1.11.0.6 pkgsrc-2021Q1-base:1.11 pkgsrc-2020Q4:1.11.0.4 pkgsrc-2020Q4-base:1.11 pkgsrc-2020Q3:1.11.0.2 pkgsrc-2020Q3-base:1.11 pkgsrc-2020Q2:1.10.0.2 pkgsrc-2020Q2-base:1.10 pkgsrc-2020Q1:1.9.0.2 pkgsrc-2020Q1-base:1.9 pkgsrc-2019Q4:1.8.0.4 pkgsrc-2019Q4-base:1.8 pkgsrc-2019Q3:1.4.0.2 pkgsrc-2019Q3-base:1.4 pkgsrc-2019Q2:1.2.0.2 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.1.0.2 pkgsrc-2019Q1-base:1.1; locks; strict; comment @# @; 1.22 date 2023.10.06.19.15.19; author adam; state Exp; branches; next 1.21; commitid AfeawfMstncfdBHE; 1.21 date 2023.01.12.19.32.53; author adam; state Exp; branches; next 1.20; commitid 2RvwSYosYKyNTh9E; 1.20 date 2022.11.30.19.54.59; author adam; state Exp; branches; next 1.19; commitid FkUfhZM3QnG4pL3E; 1.19 date 2022.11.16.20.53.58; author adam; state Exp; branches; next 1.18; commitid Dz5Bt4ugn9y9bY1E; 1.18 date 2022.11.14.18.44.05; author adam; state Exp; branches; next 1.17; commitid D4GB0JeiCAn4wH1E; 1.17 date 2022.08.12.08.52.51; author pin; state Exp; branches; next 1.16; commitid jh5SsA1XqGGahzPD; 1.16 date 2022.02.03.20.38.40; author adam; state Exp; branches; next 1.15; commitid j9RMqawCfkmUhdrD; 1.15 date 2021.11.23.20.55.42; author wiz; state Exp; branches; next 1.14; commitid 1fDG4kXskvkoGXhD; 1.14 date 2021.10.26.10.15.31; author nia; state Exp; branches; next 1.13; commitid XMBRkrafc79x2jeD; 1.13 date 2021.10.07.13.40.12; author nia; state Exp; branches; next 1.12; commitid TK9Y8OXA04EYMSbD; 1.12 date 2021.07.12.18.47.15; author adam; state Exp; branches; next 1.11; commitid 7eASzeZNvc8ciJ0D; 1.11 date 2020.07.26.19.20.12; author adam; state Exp; branches; next 1.10; commitid ZQ28dCdRPBkZKChC; 1.10 date 2020.04.18.08.00.49; author adam; state Exp; branches; next 1.9; commitid Xx94EFaiCx28bQ4C; 1.9 date 2019.12.29.15.31.21; author adam; state Exp; branches; next 1.8; commitid kHfM83YmbIyZeCQB; 1.8 date 2019.11.03.12.40.40; author kamil; state Exp; branches; next 1.7; commitid L4baR9ndRQ836pJB; 1.7 date 2019.11.03.12.10.29; author kamil; state Exp; branches; next 1.6; commitid pSAz7RMpuekaVoJB; 1.6 date 2019.10.21.22.07.58; author rjs; state Exp; branches; next 1.5; commitid Ygr4vZyn5JnEEMHB; 1.5 date 2019.10.19.14.01.36; author adam; state Exp; branches; next 1.4; commitid PUWUrQsEv5wu1uHB; 1.4 date 2019.09.08.20.49.11; author rjs; state Exp; branches; next 1.3; commitid C5zhokRaM6DjBfCB; 1.3 date 2019.08.05.19.06.50; author adam; state Exp; branches; next 1.2; commitid Te8YYre57VhQ7SxB; 1.2 date 2019.06.02.08.37.39; author adam; state Exp; branches; next 1.1; commitid filMzNk3Kc2lHApB; 1.1 date 2019.02.01.16.30.00; author mgorny; state Exp; branches; next ; commitid D1ojZ6HAiRdVc5aB; desc @@ 1.22 log @llvm: updated to 16.0.6 https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/16.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://releases.llvm.org/16.0.0/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/16.0.0/projects/libcxx/docs/ReleaseNotes.html @ text @$NetBSD: distinfo,v 1.21 2023/01/12 19:32:53 adam Exp $ BLAKE2s (cmake-16.0.6.src.tar.xz) = a967225f31bcd98484d632a2d530c498131b0035f18b15e27915663b915dc6ba SHA512 (cmake-16.0.6.src.tar.xz) = 52ecd941d2d85a5b668caa5d0d40480cb6a97b3bf1174e634c2a93e9ef6d03670ca7e96abb0a60cb33ba537b93d5788754dab1f2f45c1f623f788162717d088b Size (cmake-16.0.6.src.tar.xz) = 9008 bytes BLAKE2s (lld-16.0.6.src.tar.xz) = b2c825a96aedf7a14033019ed7ddaf73fb5a50610ce650dd59a72448f0ab9caf SHA512 (lld-16.0.6.src.tar.xz) = 8df248785cd77e683f3daf9cab76a4a230305b881a7a844ef644b6a55fee366d5fcca23593ca09945ba8ddae0ae119042afe3f43547c106571e98004dbc7f1e6 Size (lld-16.0.6.src.tar.xz) = 1455688 bytes SHA1 (patch-CMakeLists.txt) = afcd342966b989026b39445645807e6a541b351e SHA1 (patch-ELF_Config.h) = 50861ef74c2ff9a9091afcbc8d076e379d9531e5 SHA1 (patch-ELF_Options.td) = c81907d6e5e099ed2c26de972c6744b7197de3d3 @ 1.21 log @llvm: updated to 15.0.7 LLVM 15.0.7 is now available. This release is a bug-fix release and is API and ABI compatible with 15.0.0. If there are no major issues found with this release, then it will be the last 15.0.x release. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.20 2022/11/30 19:54:59 adam Exp $ d3 7 a9 7 BLAKE2s (cmake-15.0.7.src.tar.xz) = 2c299f2c58800bcb0c5930562d24baed0e94806df8b8d5295c0866ffeaaf233f SHA512 (cmake-15.0.7.src.tar.xz) = 85097a6eaee0df004567905f7e5ce8ca02e3b46c6fc66fa552fe99734642e6ee61685de4e5e6e8b505963334d7b91d98ecd9c5870e6bdd3f0018ee5b963ffa96 Size (cmake-15.0.7.src.tar.xz) = 6972 bytes BLAKE2s (lld-15.0.7.src.tar.xz) = 431fff6f4c88c2ee715d1f388abd4222a2c65d297d6d6255cff55a5799defd0b SHA512 (lld-15.0.7.src.tar.xz) = 5dc0690c1eb3c37ee29c4add65a08f7b93ce1363cf9099243c9dc1124d1ca77fe19bbf24dad3984de4553eda716f706d49dff63461b709bec6645272e67f0178 Size (lld-15.0.7.src.tar.xz) = 1407476 bytes SHA1 (patch-CMakeLists.txt) = 082e24d9c155f69a8256fcde486c427a7354cb69 @ 1.20 log @llvm: updated to 15.0.6 15.0.6 Bug fixes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.19 2022/11/16 20:53:58 adam Exp $ d3 6 a8 6 BLAKE2s (cmake-15.0.6.src.tar.xz) = 6d91c537ea78e56d2621d703d6d20d9b4f52281b80520e5003bb8ea402ad8236 SHA512 (cmake-15.0.6.src.tar.xz) = a078b9b426515414dae41c8732d7cd955e8ddc9638b4ba9c7dd0925db68e5ea760096f08fd7e1cb9d55b6d73da75f9b4318a2fac36d7aa64f47536ac383b3edc Size (cmake-15.0.6.src.tar.xz) = 6972 bytes BLAKE2s (lld-15.0.6.src.tar.xz) = 5625ed1dbf81242179c28ec3fe1c27939471c027d670cdc7676e5c6fa174718f SHA512 (lld-15.0.6.src.tar.xz) = bde852166567444caf366a26d3c0c78d4dff81d1c1c248c5add3f850f8a3cf2b3a634988eb253dd3c502f4248952fc9a890b369b17cc4b461a50e5e320012aca Size (lld-15.0.6.src.tar.xz) = 1407396 bytes @ 1.19 log @llvm: updated to 15.0.5 LLVM 15.0.5 is now available. This release is a bug-fix release and is API and ABI compatible with 15.0.0. If there are no major issues found with this release, then it will be the last 15.0.x release. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.18 2022/11/14 18:44:05 adam Exp $ d3 6 a8 6 BLAKE2s (cmake-15.0.5.src.tar.xz) = 5f8beedf1c9349c13dba2f4a5fcfb9d482c96df32c34c284cfe682a681669f35 SHA512 (cmake-15.0.5.src.tar.xz) = 493825f1b64abef6d56502d28e30056320bdda5a46a478fc85eec3a631c541da2d318fb9c3e3d3e6234f538121b7a1c60d34cba498fd6b7938d3558d24684fed Size (cmake-15.0.5.src.tar.xz) = 6976 bytes BLAKE2s (lld-15.0.5.src.tar.xz) = e12126c8c5c3e31800e2cb67a8ebf678947e0746763fa3da82ce2562afedd867 SHA512 (lld-15.0.5.src.tar.xz) = 9f579e315a271f757da6d8c77409dd20197597b05394561a54261882220b734cf9fa3a3c883ce15d468822e5087c20059e9d2b0922959fd55f995de6875c6db9 Size (lld-15.0.5.src.tar.xz) = 1407308 bytes @ 1.18 log @llvm: updated to 15.0.4 LLVM 15.0.4 Changes to the LLVM IR LLVM now uses opaque pointers. This means that different pointer types like i8*, i32* or void()** are now represented as a single ptr type. See the linked document for migration instructions. Renamed llvm.experimental.vector.extract intrinsic to llvm.vector.extract. Renamed llvm.experimental.vector.insert intrinsic to llvm.vector.insert. The constant expression variants of the following instructions have been removed: extractvalue insertvalue udiv sdiv urem srem fadd fsub fmul fdiv frem Added the support for fmax and fmin in atomicrmw instruction. The comparison is expected to match the behavior of llvm.maxnum.* and llvm.minnum.* respectively. callbr instructions no longer use blockaddress arguments for labels. Instead, label constraints starting with ! refer directly to entries in the callbr indirect destination list. Changes to building LLVM Omitting CMAKE_BUILD_TYPE when using a single configuration generator is now an error. You now have to pass -DCMAKE_BUILD_TYPE= in order to configure LLVM. This is done to help new users of LLVM select the correct type: since building LLVM in Debug mode is very resource intensive, we want to make sure that new users make the choice that lines up with their usage. We have also improved documentation around this setting that should help new users. You can find this documentation here. Changes to Loop Optimizations Loop interchange legality and cost model improvements Changes to the AMDGPU Backend 8 and 16-bit atomic loads and stores are now supported Changes to the ARM Backend Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures. Added support for the Armv8.1-M PACBTI-M extension. Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures. Added support for the Armv8.1-M PACBTI-M extension. Removed the deprecation of ARMv8-A T32 Complex IT blocks. No deprecation warnings will be generated and -mrestrict-it is now always off by default. Previously it was on by default for Armv8 and off for all other architecture versions. Added a pass to workaround Cortex-A57 Erratum 1742098 and Cortex-A72 Erratum 1655431. This is enabled by default when targeting either CPU. Implemented generation of Windows SEH unwind information. Switched the MinGW target to use SEH instead of DWARF for unwind information. Added support for the Cortex-M85 CPU. Added support for a new -mframe-chain=(none|aapcs|aapcs+leaf) command-line option, which controls the generation of AAPCS-compliant Frame Records. Changes to the DirectX Backend DirectX has been added as an experimental target. Specify -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectX in your CMake configuration to enable it. The target is not packaged in pre-built binaries. The DirectX backend supports the dxil architecture which is based on LLVM 3.6 IR encoded as bitcode and is the format used for DirectX GPU Shader programs. Changes to the PowerPC Backend Common PowerPC improvements: * Add a new post instruction selection pass to generate CTR loops. * Add SSE4 and BMI compatible intrinsics implementation. * Supported 16-byte lock free atomics on PowerPC8 and up. * Supported atomic load/store for pointer types. * Supported stack size larger than 2G * Add __builtin_min/__builtin_max/__abs builtins. * Code generation improvements for splat load/vector shuffle/mulli, etc. * Emit VSX instructions for vector loads and stores regardless of alignment. * The mcpu=future has its own ISA now (FutureISA). * Added the ppc-set-dscr option to set the Data Stream Control Register (DSCR). * Bug fixes. AIX improvements: * Supported 64 bit XCOFF for integrated-as path. * Supported X86-compatible vector intrinsics. * Program code csect default alignment now is 32-byte. * Supported auxiliary header in integrated-as path. * Improved alias symbol handling. Changes to the RISC-V Backend A RISCVRedundantCopyElimination pass was added to remove unnecessary zero copies. A RISC-V specific CodeGenPrepare pass was added. The machine outliner was enabled by default for RISC-V at -Oz. Additionally, the newly introduced RISCVMakeCompressible pass will make modify instructions prior to emission at -Oz in order to increase opportunities for the compression with the RISC-V C extension. Various bug fixes and improvements to code generation for the RISC-V vector extensions. Various improvements were made to RISC-V specific optimisation passes such as RISCVSExtWRemoval and RISCVMergeBaseOffset. llc now computes the target ABI based on the target architecture using the same logic as Clang if not explicit ABI is given. generic is now recognized as a valid CPU name and is mapped to generic-rv32 or generic-rv64 depending on the target triple. Support for the experimental Zvfh extension was added, enabling half-precision floating point in vectors. Support for the Zihintpause (Pause Hint) extension. Assembler and disassembler support for the Zfinx and Zdinx (float / double in integer register) extensions. Assembler and disassembler support for the Zicbom, Zicboz, and Zicbop cache management operation extensions. Support for the Zmmul extension (a subextension of the M extension, adding multiplication instructions only). Assembler and disassembler support for the hypervisor extension and for the Sinval supervisor memory-management extension. Changes to the X86 Backend Support half type on SSE2 and above targets following X86 psABI. Support rdpru instruction on Zen2 and above targets. During this release, half type has an ABI breaking change to provide the support for the ABI of _Float16 type on SSE2 and above following X86 psABI. (D107082) The change may affect the current use of half includes (but is not limited to): Frontends generating half type in function passing and/or returning arguments. Downstream runtimes providing any half conversion builtins assuming the old ABI. Projects built with LLVM 15.0 but using early versions of compiler-rt. When you find failures with half type, check the calling conversion of the code and switch it to the new ABI. Changes to the LLVM tools (Experimental) llvm-symbolizer now has --filter-markup to filter Symbolizer Markup into human-readable form. llvm-objcopy has removed support for the legacy zlib-gnu format. llvm-objcopy now allows --set-section-flags src=... --rename-section src=tst. --add-section=.foo1=... --rename-section=.foo1=.foo2 now adds .foo1 instead of .foo2. New features supported on AIX for llvm-ar: AIX big-format archive write operation (D123949) A new object mode option, -X , to specify the type of object file llvm-ar should operate upon (D127864) Read global symbols of AIX big archive (D124865) New options supported for llvm-nm: -X, to specify the type of object file that llvm-nm should examine (D118193) --export-symbols, to create a list of symbols to export (D112735) The LLVM gold plugin now ignores bitcode from the .llvmbc section of ELF files when doing LTO. https://github.com/llvm/llvm-project/issues/47216 llvm-objcopy now supports 32 bit XCOFF. llvm-objdump: improved assembly printing for XCOFF. llc now parses code-model attribute from input file. Changes to LLDB The “memory region” command now has a “–all” option to list all memory regions (including unmapped ranges). This is the equivalent of using address 0 then repeating the command until all regions have been listed. Added “–show-tags” option to the “memory find” command. This is off by default. When enabled, if the target value is found in tagged memory, the tags for that memory will be shown inline with the memory contents. Various memory related parts of LLDB have been updated to handle non-address bits (such as AArch64 pointer signatures): “memory read”, “memory write” and “memory find” can now be used with addresses with non-address bits. All the read and write memory methods on SBProccess and SBTarget can be used with addreses with non-address bits. When printing a pointer expression, LLDB can now dereference the result even if it has non-address bits. The memory cache now ignores non-address bits when looking up memory locations. This prevents us reading locations multiple times, or not writing out new values if the addresses have different non-address bits. LLDB now supports reading memory tags from AArch64 Linux core files. LLDB now supports the gnu debuglink section for reading debug information from a separate file on Windows LLDB now allows selecting the C++ ABI to use on Windows (between Itanium, used for MingW, and MSVC) via the plugin.object-file.pe-coff.abi setting. In Windows builds of LLDB, this defaults to the style used for LLVM’s default target. Other Changes The code for the LLVM Visual Studio integration has been removed. This had been obsolete and abandoned since Visual Studio started including an integration by default in 2019. Added the unwinder, personality, and helper functions for exception handling on AIX. (D100132) (D100504) PGO on AIX: A new implementation that requires linker support (__start_SECTION/__stop_SECTION symbols) available on AIX 7.2 TL5 SP4 and AIX 7.3 TL0 SP2. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.17 2022/08/12 08:52:51 pin Exp $ d3 6 a8 6 BLAKE2s (cmake-15.0.4.src.tar.xz) = 7b5f8ecd490470c57f456046717afccf5a9fe0d62234f7062553d0760c964d4f SHA512 (cmake-15.0.4.src.tar.xz) = c983deefbdf128bf47d009a4eed0628f69462146c33e7e670bc43f80aea3dacf9c1367d81afea9512126d15543156b11c7d9eca7944f4b8e4c5c31479c549734 Size (cmake-15.0.4.src.tar.xz) = 6972 bytes BLAKE2s (lld-15.0.4.src.tar.xz) = f35c610cbe5b7b87ca67e1135c7c0f445091dbe3fb78799cfa5000c625d60b8e SHA512 (lld-15.0.4.src.tar.xz) = caa5b7a20cfc803106eb344b7885a17f987a4669111bc5c354e40a880be1e73e804c846d53b32754de3052ae3c1e7706c8d68fac7377dc8d01ffc988c24605b0 Size (lld-15.0.4.src.tar.xz) = 1407444 bytes @ 1.17 log @devel/lld: llvm update @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.16 2022/02/03 20:38:40 adam Exp $ d3 6 a8 3 BLAKE2s (lld-14.0.6.src.tar.xz) = 2fc265b616bbdbaeecc8385fda204dbc28b1d871d98f4b3b3cd5183c4d6eefc8 SHA512 (lld-14.0.6.src.tar.xz) = fad97b441f9642b73edd240af2c026259de0951d5ace42779e9e0fcf5e417252a1d744e2fc51e754a45016621ba0c70088177f88695af1c6ce290dd26873b094 Size (lld-14.0.6.src.tar.xz) = 1366180 bytes @ 1.16 log @llvm: updated to 13.0.1 13.0.1: Bug-fix release. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.15 2021/11/23 20:55:42 wiz Exp $ d3 6 a8 6 BLAKE2s (lld-13.0.1.src.tar.xz) = 2231bc19e5b7b30db7e765b900ed2e4388b162d36140d09c0c12d76512b8d8dd SHA512 (lld-13.0.1.src.tar.xz) = cc0b401e741b9d3d283d9d41969354be55791f74ab80d3d3ac50bb653c4b5826d9ce11e7fdd38517c98e0abceaa21cf0407fc8e418f9db1a30f2f3587e0f0db0 Size (lld-13.0.1.src.tar.xz) = 1473868 bytes SHA1 (patch-CMakeLists.txt) = 32163a5bcd7d9456065e48ef6e6f0e2c3380a820 SHA1 (patch-ELF_Config.h) = c449bf971088da671df5da507347fe8dc8c9da82 SHA1 (patch-ELF_Options.td) = 22a1f293681b86a9aac87624efcfeeb20a4ba51c @ 1.15 log @llvm: update llvm and friends to 13.0.0 Tested on NetBSD-current and 9.1/amd64. Also update packages tightly coupled to llvm, if new versions are available. Mark creduce, include-what-you-use, and zig broken (waiting for a new release). Changes: Non-comprehensive list of changes in this release Windows Control-flow Enforcement Technology: the -ehcontguard option now emits valid unwind entrypoints which are validated when the context is being set during exception handling. Flang is now included in the binary packages released by LLVM. The debuginfo-test project has been renamed cross-project-tests and is now intended for testing components from multiple projects, not just debug information. The new “cross-project-tests” name replaces “debuginfo-test” in LLVM_ENABLE_PROJECTS, and a new check-cross-project-tests target has been added for running all tests in the project. The pre-existing check-debuginfo- test target remains for running just the debug information tests. (D95339 and D96513) Changes to the LLVM IR The inalloca attribute now has a mandatory type field, similar to byval and sret. The opaque pointer type ptr has been introduced. It is still in the process of being worked on and should not be used yet. Using the legacy pass manager for the optimization pipeline is deprecated and will be removed after LLVM 14. In the meantime, only minimal effort will be made to maintain the legacy pass manager for the optimization pipeline. Changes to building LLVM The build system now supports building multiple distributions, so that you can e.g. have one distribution containing just tools and another for libraries (to enable development). See Multi-distribution configurations for details. Changes to the AArch64 Backend Introduced assembly support for Armv9-A’s Realm Management Extension (RME) and Scalable Matrix Extension (SME). Produce proper cross-section relative relocations on COFF Fixed the calling convention on Windows for variadic functions involving floats in the fixed arguments Changes to the ARM Backend Produce proper cross-section relative relocations on COFF Changes to the Hexagon Target The Hexagon target now supports V68/HVX ISA. Changes to the C API The C API functions LLVMGetAlignment and LLVMSetAlignment now allow changing alignment on atomicrmw and cmpxchg instructions A new entry LLVMDIArgListMetadataKind was added to the LLVMMetadataKind enum, representing DIArgLists (D88175) Type attributes have been added to LLVM-C, introducing LLVMCreateTypeAttribute, LLVMGetTypeAttributeValue and LLVMIsTypeAttribute. (D977763’) The LTO_API_VERSION was bumped to 28, introducing a new function lto_set_debug_options for parsing LTO debug options (D92611) LLVMJITTargetSymbolFlags was renamed to LLVMJITSymbolTargetFlags (rG8d718a0bff73af066675a6258c01307937c33cf9) The C API received support for creating custom ORCv2 MaterializationUnits and APIs to retrieve an LLJIT instance’s linking layers. An ABI breaking change for LLVMOrcAbsoluteSymbols was introduced to make it consistent with LLVMOrcCreateCustomMaterializationUnit. (rGc8fc5e3ba942057d6c4cdcd1faeae69a28e7b671) The C API received support for adding ORCv2 object buffers directly to an object layer. (rG7b73cd684a8d5fb44d34064200f10e2723085c33) A breaking change to LLVMGetInlineAsm was introduced, adding a ninth argument LLVMBool CanThrow (D95745) The C API received support for calling into the new pass manager. (D102136) The C API function LLVMIntrinsicCopyOverloadedName has been deprecated. Please migrate to LLVMIntrinsicCopyOverloadedName2 which takes an extra module argument and which also handles unnamed types. (D99173) The C API received support for dumping objects from ORCv2 (rGcec8e69f01c3374cb38c6683058381b96fab8f89) A breaking change to LLVMOrcObjectTransformLayerTransformFunction was introduced, changing the order of the function pointer’s arguments. (rG8962c68ad007a525f9daa987c99eda57e0d0069a) The C API received support for accessing utilities from the LLJIT IRTransformLayer and ThreadSafeModule classes. (D103855) The C API received support for creating lazy-export MaterializationUnits (D104672) The C API function LLVMPassBuilderOptionsSetCoroutines was removed because couroutine passes have been enabled by default. (D105877) comdat noduplicates was renamed to comdat nodeduplicate and as a result, LLVMNoDuplicatesComdatSelectionKind was renamed to LLVMNoDeduplicateComdatSelectionKind. (D106319) Changes to the FastISel infrastructure FastISel no longer tracks killed registers, and instead leaves this to the register allocator. This means that hasTrivialKill() is removed, as well as the OpNIsKill parameters to the fastEmit_*() family of functions. Changes to the LLVM tools The options --build-id-link-{dir,input,output} have been deleted. (D96310) Support for in-order processors has been added to llvm-mca. (D94928) llvm-objdump supports -M {att,intel} now. --x86-asm-syntax is a deprecated internal option which will be removed in LLVM 14.0.0. (D101695) The llvm-readobj short aliases -s (previously --sections) and -t (previously --syms) have been changed to --syms and --section-details respectively, to match llvm-readelf. (D105055) The llvm-nm short aliases -M (--print-armap), -U (--defined-only), and -W (--no-weak) are now deprecated. Use the long form versions instead. The alias --just-symbol-name is now deprecated in favor of --format=just-symbols and -j. (D105330) In lli the default JIT engine switched from MCJIT (-jit-kind=mcjit) to ORC (-jit-kind=orc). (D98931) llvm-rc got support for invoking Clang to preprocess its input. (D100755) llvm-rc got a GNU windres compatible frontend, llvm-windres. (D100756) llvm-ml has improved compatibility with MS ml.exe, managing to assemble more asm files. Changes to LLDB LLDB executable is now included in pre-built LLVM binaries. LLDB now includes full featured support for AArch64 SVE register access. LLDB now supports AArch64 Pointer Authentication, allowing stack unwind with signed return address. LLDB now supports debugging programs on AArch64 Linux that use memory tagging (MTE). Added memory tag read and memory tag write commands. The memory region command will note when a region has memory tagging enabled. Synchronous and asynchronous tag faults are recognised. Synchronous tag faults have memory tag annotations in addition to the usual fault address. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.14 2021/10/26 10:15:31 nia Exp $ d3 3 a5 3 BLAKE2s (lld-13.0.0.src.tar.xz) = 6b5bc74bd7873eba4da52b895740e406cac305cd647bdd07428b8578b10052fc SHA512 (lld-13.0.0.src.tar.xz) = bec719dd7349eb5e9d2d5f2dcbb3f63c4756b0ee82aef228f9fa2bf4e6913596aacb4a0dd8d66146b7e81432c51d811ec8cf211fe67d2de74747938d3543d54d Size (lld-13.0.0.src.tar.xz) = 1472476 bytes @ 1.14 log @archivers: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes Could not be committed due to merge conflict: devel/py-traitlets/distinfo The following distfiles were unfetchable (note: some may be only fetched conditionally): ./devel/pvs/distinfo pvs-3.2-solaris.tgz ./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.13 2021/10/07 13:40:12 nia Exp $ d3 3 a5 3 BLAKE2s (lld-12.0.1.src.tar.xz) = 053b3f43cdd958fbac2d06391c460818b379239bca55238a24aec4540fb895e7 SHA512 (lld-12.0.1.src.tar.xz) = 4292e45c54f61b8bf8b0a412f1423e062fb7c88ab3d143de3bccf010ea84fcf672ec432068a6adc461f605993d5c4e7e720e9b719d7bf8cbe670115f75e1fb2a Size (lld-12.0.1.src.tar.xz) = 1351580 bytes a7 1 SHA1 (patch-ELF_Driver.cpp) = 7de88cf37fb7045fb2af73faaeac79d6880ddb52 @ 1.13 log @devel: Remove SHA1 hashes for distfiles @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.12 2021/07/12 18:47:15 adam Exp $ d3 1 a3 1 RMD160 (lld-12.0.1.src.tar.xz) = 35904df314f41d6e8c3052fbf7f3c2677e0c62b6 @ 1.12 log @lld lldb: updated to 12.0.1 12.0.1 Non-comprehensive list of changes in this release ELF Improvements --dependency-file has been added. (Similar to cc -M -MF.) (D82437) --error-handling-script has been added to allow for user-defined handlers upon missing libraries. (D87758) --exclude-libs can now localize defined version symbols and bitcode referenced libcall symbols. (D94280) --gdb-index now works with DWARF v5 and --icf={safe,all}. (D85579) (D89751) --gdb-index --emit-relocs can now be used together. (D94354) --icf={safe,all} conservatively no longer fold text sections with LSDA. Previously ICF on -fexceptions code could be unsafe. (D84610) --icf={safe,all} can now fold two sections with relocations referencing aliased symbols. (D88830) --lto-pseudo-probe-for-profiling has been added. (D95056) --no-lto-whole-program-visibility has been added. (D92060) --oformat-binary has been fixed to respect LMA. (D85086) --reproduce includes --lto-sample-profile, --just-symbols, --call-graph-ordering-file, --retain-symbols-file files. -r --gc-sections is now supported. (D84131) A -u specified symbol will no longer change the binding to STB_WEAK. (D88945) --wrap support has been improved. + If foo is not referenced, there is no longer an undefined symbol __wrap_foo. + If __real_foo is not referenced, there is no longer an undefined symbol foo. SHF_LINK_ORDER sections can now have zero sh_link values. SHF_LINK_ORDER and non-SHF_LINK_ORDER sections can now be mixed within an input section description. (D84001) LOG2CEIL is now supported in linker scripts. (D84054) DEFINED has been fixed to check whether the symbol is defined. (D83758) An input section description may now have multiple SORT_*. The matched sections are ordered by radix sort with the keys being (SORT*, --sort-section, input order). (D91127) Users can now provide a GNU style linker script to convert .ctors into .init_array. (D91187) An empty output section can now be discarded even if it is assigned to a program header. (D92301) Non-SHF_ALLOC sections now have larger file offsets than SHF_ALLOC sections. (D85867) Some symbol versioning improvements. + Defined foo@@@@v1 now resolve undefined foo@@v1 (D92259) + Undefined foo@@v1 now gets an error (D92260) The AArch64 port now has support for STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS. (D93045) The AArch64 port now has support for R_AARCH64_LD64_GOTPAGE_LO15. The PowerPC64 port now detects missing R_PPC64_TLSGD/R_PPC64_TLSLD and disables TLS relaxation. This allows linking with object files produced by very old IBM XL compilers. (D92959) Many PowerPC PC-relative relocations are now supported. R_PPC_ADDR24 and R_PPC64_ADDR16_HIGH are now supported. powerpcle is now supported. Tested with FreeBSD loader and freestanding. (D93917) RISC-V: the first SHT_RISCV_ATTRIBUTES section is now retained. (D86309) LTO pipeline now defaults to the new PM if the CMake variable ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER is on. (D92885) @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2020/07/26 19:20:12 adam Exp $ a2 1 SHA1 (lld-12.0.1.src.tar.xz) = 3b7e4908f6cf3a51590e37b4194180582cc1c32c @ 1.11 log @llvm: updated to 10.0.1 10.0.1: Bug fix release @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2020/04/18 08:00:49 adam Exp $ d3 7 a9 7 SHA1 (lld-10.0.1.src.tar.xz) = 8581337dba00041c2633f61bfb5be778df83cff7 RMD160 (lld-10.0.1.src.tar.xz) = e445e5a1a81dfce3428d3c05a2afcb3a31ec02f7 SHA512 (lld-10.0.1.src.tar.xz) = cc0d206739db4c3876eb4718690e11b3eb1a2278e0d4a17a9576eef2320a2e25e1f548768f74f0877e4d00ef50471af1ce179eae9e514d41a0d93285c537941a Size (lld-10.0.1.src.tar.xz) = 1134580 bytes SHA1 (patch-CMakeLists.txt) = 87d32f66488541ba68e219f5fa83646b48bf9c71 SHA1 (patch-ELF_Config.h) = 3f2a310bc2c8f625493b0b73702feaac22769c9c SHA1 (patch-ELF_Driver.cpp) = d1bd9821f2d952dfa86d4f0cf3afc4e7fb477001 a10 4 SHA1 (patch-tools_lld_lld.cpp) = c8b0c166cb15b045fc1651985004fc9694264d0f SHA1 (patch-tools_nb.lld_CMakeLists.txt) = 231ed112512d23001a8e9d1d1821838a483c2e37 SHA1 (patch-tools_nb.lld_Options.td) = d56ff977f24d97eda30f10aae5818c618b3c7915 SHA1 (patch-tools_nb.lld_nb.lld.cpp) = 2425426beb2f4d80f96781977e3a4019eed601fc @ 1.10 log @lld: updated to 10.0.0 Non-comprehensive list of changes in this release ELF Improvements Glob pattern, which you can use in linker scripts or version scripts, now supports ` and `[!…]. Except character classes New elf32btsmipn32_fbsd and elf32ltsmipn32_fbsd emulations are supported. Relax MIPS jalr and jr instructions marked by the R_MIPS_JALR relocation. For certain “undefined symbol” errors, a definition with a close spelling will be suggested. extern "C" is suggested if an undefined reference is mangled(unmangled) while there is a likely unmangled(mangled) definition. New -z noseparate-code, -z separate-code and -z separate-loadable-segments. -z noseparate-code is the default, which can reduce sizes of linked binaries by up to 3 times maxpagesize. -z force-bti and -z pac-plt are added for AArch64 Branch Target Identification and Pointer Authentication. --fix-cortex-a8 is added to fix erratum 657417. -z force-ibt and -z shstk are added for Intel Control-flow Enforcement Technology. PT_GNU_PROPERTY is added to help loaders locate the .note.gnu.property section. It may be used by a future Linux kernel. For --compress-debug-sections=zlib, -O0 and -O1 enable compression level 1 while -O2 enables compression level 6. -O1 Range extension thunks with addends are implemented for AArch64, PowerPC32 and PowerPC64. R_RISCV_ALIGN will be errored because linker relaxation for RISC-V is not supported. Pass -mno-relax to disable R_RISCV_ALIGN. The ARM port will no longer insert interworking thunks for non STT_FUNC symbols. The quality of PowerPC32 port has been greatly improved The PowerPC64 port supports non-preemptible IFUNC. lld creates a RO PT_LOAD and a RX PT_LOAD without a linker script. lld creates a unified RX PT_LOAD with a linker script. A future release will eliminate this difference and use a RO PT_LOAD and a RX PT_LOAD by default. The linker script case will require --no-rosegment to restore the current behavior. GNU style compressed debug sections .zdebug Breaking changes -Ttext=$base -Ttext-segment is no longer supported. Its meaning was different from GNU ld’s and could cause subtle bugs. MinGW Improvements Allow using custom .edata sections from input object files Don’t implicitly create import libraries unless requested Support merging multiple resource object files Demangle itanium symbol names in warnings/error messages Print source locations for undefined references and duplicate symbols, if possible Look for more filename patterns when resolving -l options Don’t error out on duplicate absolute symbols with the same value WebAssembly Improvements __data_end and __heap_base are no longer exported by default, as it’s best to keep them internal when possible. They can be explicitly exported with –export=__data_end and –export=__heap_base, respectively. wasm-ld now elides .bss sections when the memory is not imported @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2019/12/29 15:31:21 adam Exp $ d3 4 a6 4 SHA1 (lld-10.0.0.src.tar.xz) = ed8dc4f73847e084b65f4ad5d2f6670f6f38a8eb RMD160 (lld-10.0.0.src.tar.xz) = d0cf312b30a8d726555a4aeb1a1ea822a600ca02 SHA512 (lld-10.0.0.src.tar.xz) = 3457b4a4be2cc9f1e6f1a74dff74e142e7590f1aafffa9623f46af0e2e8822aea264a6cf79287849ae4944505ddbbfb99efa380ac860d5a7eb791984ac4ca59f Size (lld-10.0.0.src.tar.xz) = 1143340 bytes @ 1.9 log @llvm: updated to 9.0.1 9.0.1 is a bug-fix release. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2019/11/03 12:40:40 kamil Exp $ d3 4 a6 4 SHA1 (lld-9.0.1.src.tar.xz) = ef5f529adfb9b57b33c394641d7d5e2d1f1b5ff6 RMD160 (lld-9.0.1.src.tar.xz) = 541e85668c222755cb94f8f037b085d7ae9cb3e4 SHA512 (lld-9.0.1.src.tar.xz) = ca57d1a5fc2e39c002e061dc8278a721df8493d4c05c2275fe32b626258362563b82113b51bbaa454815d8ac0440078803f866444a8788aaca4816d7463ed430 Size (lld-9.0.1.src.tar.xz) = 1088260 bytes d8 2 a9 2 SHA1 (patch-ELF_Config.h) = f5663189adf47a13d2fa0a152ea5df04a3ed247d SHA1 (patch-ELF_Driver.cpp) = 4b08b50e75eb90a8703a331efaf4a950098d5a4d d11 1 a11 4 SHA1 (patch-ELF_Writer.cpp) = b5b995b2566999579a35146a271d099908eb44c3 SHA1 (patch-docs_ld.lld.1) = 8492f459425a6774d4b3e21c6f0f5d40d7044a1b SHA1 (patch-test_ELF_gnustack.s) = d2619221f09d6b40daa9c2206c993cd8342982a5 SHA1 (patch-tools_lld_lld.cpp) = bc3662191bf6e50c808d188707c9abfdb4786dbf @ 1.8 log @lld: Disable gnustack on NetBSD Fix corrupted text in description of cherry-picked patch for gnustack. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2019/11/03 12:10:29 kamil Exp $ d3 4 a6 4 SHA1 (lld-9.0.0.src.tar.xz) = 021a8c38cf27d63db37d939c7cdec46ffd627be2 RMD160 (lld-9.0.0.src.tar.xz) = d46b068f4de55d174be71e061aa38f7d4d1499dc SHA512 (lld-9.0.0.src.tar.xz) = bc4812232840ef5edbd8edf1d1a329e85a4bfd3a7859fe322e11dd053435e722c6f1140a718fd2b3524ee9783a357178d2ba30d12519847bd3acc294698007f3 Size (lld-9.0.0.src.tar.xz) = 1100608 bytes @ 1.7 log @lld: Sync local patches with merged and pending patches upstream Cherry-pick upstream patch commit 2a0fcae3d4d1fd85d6ae8378d7c6f12430c0087d [lld] [ELF] Add '-z nognustack' opt to suppress emitting PT_GNU_STAC dummy option for an AArch64 erratum. [LLD] Add NetBSD support as a new flavor of LLD (nb.lld) https://reviews.llvm.org/D69755 Clang >=clang-9.0.0nb3 is required. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2019/10/21 22:07:58 rjs Exp $ d8 2 a9 2 SHA1 (patch-ELF_Config.h) = 6ad0642b602f1bdfead45e3e3d71e9718fdd80b5 SHA1 (patch-ELF_Driver.cpp) = 113705d763af35635ee69e127c9c757c9d0c2597 d11 3 a13 3 SHA1 (patch-ELF_Writer.cpp) = 8c2d794885826a153b3ec6fa3149093036b98750 SHA1 (patch-docs_ld.lld.1) = c2d156d3d7af6de195f9c2f3eceb978d65c8d883 SHA1 (patch-test_ELF_gnustack.s) = 58eb43e952a85bb8f2cb7a665a625164ee564dd2 d17 1 a17 1 SHA1 (patch-tools_nb.lld_nb.lld.cpp) = 11a69572b0ec28b9de576249bf3217acdcebee22 @ 1.6 log @Restore NetBSD patches. Set correct link address for NetBSD/aarch64. Add a dummy option for an aarch64 erratum for gcc compatibility. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2019/10/19 14:01:36 adam Exp $ d7 11 a17 8 SHA1 (patch-CMakeLists.txt) = df8e32f5f23bf2f2615a891177f61dc65359e955 SHA1 (patch-ELF_Arch_AArch64.cpp) = 45eb8f69b92f8ba764372993363dbce88b50a310 SHA1 (patch-ELF_Config.h) = 760658ef2d90e8d44ae6c1ef76a183613f445264 SHA1 (patch-ELF_Driver.cpp) = eaf5a3cd01a82421205831dce86db92bfb4001bc SHA1 (patch-ELF_Options.td) = 8e228dee43511efc7fd6107e817288067c393145 SHA1 (patch-ELF_Writer.cpp) = 210b0a8b60885456cb037d9925c504874efd0e35 SHA1 (patch-docs_ld.lld.1) = a6865d0099216094422aede3d65f43ee6fee22fe SHA1 (patch-test_ELF_gnustack.s) = 22f5eb19e588cc0c1055fd932d7a7b22ecd70e20 @ 1.5 log @lld: updated to 9.0.0 9.0.0: Non-comprehensive list of changes in this release ELF Improvements ld.lld now has typo suggestions for flags: $ ld.lld --call-shared now prints unknown argument '--call-shared', did you mean '--call_shared'. --allow-shlib-undefined and --no-allow-shlib-undefined options are added. --no-allow-shlib-undefined is the default for executables. -nmagic and -omagic options are fully supported. Segment layout has changed. PT_GNU_RELRO, which was previously placed in the middle of readable/writable PT_LOAD segments, is now placed at the beginning of them. This change permits lld-produced ELF files to be read correctly by GNU strip older than 2.31, which has a bug to discard a PT_GNU_RELRO in the former layout. -z common-page-size is supported. Diagnostics messages have improved. A new flag --vs-diagnostics alters the format of diagnostic output to enable source hyperlinks in Microsoft Visual Studio IDE. Linker script compatibility with GNU BFD linker has generally improved. The clang --dependent-library form of autolinking is supported. This feature is added to implement the Windows-style autolinking for Unix. On Unix, in order to use a library, you usually have to include a header file provided by the library and then explicitly link the library with the linker -l option. On Windows, header files usually contain pragmas that list needed libraries. Compilers copy that information to object files, so that linkers can automatically link needed libraries. --dependent-library is added for implementing that Windows semantics on Unix. AArch64 BTI and PAC are supported. lld now supports replacing JAL with JALX instructions in case of MIPS-microMIPS cross-mode jumps. lld now creates LA25 thunks for MIPS R6 code. Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections into corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS segments. The quality of RISC-V and PowerPC ports have greatly improved. Many applications can now be linked by lld. PowerPC64 is now almost production ready. The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be linked by lld. x86-64 TLSDESC is supported. DF_STATIC_TLS flag is set for i386 and x86-64 when needed. The experimental partitioning feature is added to allow a program to be split into multiple pieces. The feature allows you to semi-automatically split a single program into multiple ELF files called “partitions”. Since all partitions share the same memory address space and don’t use PLT/GOT, split programs run as fast as regular programs. With the mechanism, you can start a program only with a “main” partition and load remaining partitions on-demand. For example, you can split a web browser into a main partition and a PDF reader sub-partition and load the PDF reader partition only when a user tries to open a PDF file. See the documentation for more information. If “-” is given as an output filename, lld writes the final result to the standard output. Previously, it created a file “-” in the current directory. -z ifunc-noplt option is added to reduce IFunc function call overhead in a freestanding environment such as the OS kernel. Functions resolved by the IFunc mechanism are usually dispatched via PLT and thus slower than regular functions because of the cost of indirection. With -z ifunc-noplt, you can eliminate it by doing text relocations at load-time. You need a special loader to utilize this feature. This feature is added for the FreeBSD kernel but can be used by any operating systems. --undefined-glob option is added. The new option is an extension to --undefined to take a glob pattern instead of a single symbol name. COFF Improvements Like the ELF driver, lld-link now has typo suggestions for flags. lld-link now correctly reports duplicate symbol errors for object files that were compiled with /Gy. lld-link now correctly reports duplicate symbol errors when several resource (.res) input files define resources with the same type, name and language. This can be demoted to a warning using /force:multipleres. lld-link now rejects more than one resource object input files, matching link.exe. Previously, lld-link would silently ignore all but one. If you hit this: Don’t pass resource object files to the linker, instead pass res files to the linker directly. Don’t put resource files in static libraries, pass them on the command line. Having more than two /natvis: now works correctly; it used to not work for larger binaries before. Undefined symbols are now printed only in demangled form. Pass /demangle:no to see raw symbol names instead. Several speed and memory usage improvements. lld-link now supports resource object files created by GNU windres and MS cvtres, not only llvm-cvtres. The generated thunks for delayimports now share the majority of code among thunks, significantly reducing the overhead of using delayimport. IMAGE_REL_ARM{,64}_REL32 relocations are supported. Range extension thunks for AArch64 are now supported, so lld can create large executables for Windows/ARM64. The following flags have been added: /functionpadmin WebAssembly Improvements Imports from custom module names are supported. Symbols that are in llvm.used are now exported by default. Initial support for PIC and dynamic linking has landed. wasm-ld now add __start_/__stop_ symbols for data sections. wasm-ld now doesn’t report an error on archives without a symbol index. The following flags have been added: --emit-relocs MinGW Improvements lld now correctly links crtend.o as the last object file, handling terminators for the sections such as .eh_frame properly, fixing DWARF exception handling with libgcc and gcc’s crtend.o. lld now also handles DWARF unwind info generated by GCC, when linking with libgcc. PDB output can be requested without manually specifying the PDB file name, with the new option -pdb= with an empty value to the option. (The old existing syntax -pdb was more cumbersome to use with an empty parameter value.) --no-insert-timestamp option is added as an alias to /timestamp:0. Many more GNU ld options are now supported, which e.g. allows the lld MinGW frontend to be called by GCC. The following options are added: --exclude-all-symbols, --appcontainer, --undefined @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2019/09/08 20:49:11 rjs Exp $ d8 7 @ 1.4 log @Fix setting configuration. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2019/08/05 19:06:50 adam Exp $ d3 4 a6 4 SHA1 (lld-8.0.1.src.tar.xz) = 67d84c054c8b858d29389aa8ad47a25f632e4a3a RMD160 (lld-8.0.1.src.tar.xz) = eb28179fe500862f1ccffe1633b6b1af7239d190 SHA512 (lld-8.0.1.src.tar.xz) = 646418d4a4ce922d1a69e9bf2e472f5d758f25ec21b80a2c66dfe5effc59c9c312fb167cf64ee2d8a2ced986e7474ed3d2996a38be66fbf63c574229d28e0900 Size (lld-8.0.1.src.tar.xz) = 996440 bytes a7 7 SHA1 (patch-ELF_Config.h) = de2578f6c447aade843c59f78189da4f1d79b29a SHA1 (patch-ELF_Driver.cpp) = 4ea55eb73e29dd90d369487528899d7e5930f2af SHA1 (patch-ELF_Driver.h) = e100fb0c86cc7d20b0f64919e73888a81a4836df SHA1 (patch-ELF_Options.td) = c8107a2c599b2444e52bdefe5f2dc539d277a092 SHA1 (patch-ELF_Writer.cpp) = ab4ca25f832f20a5b4c80fe0f5f28822c09fb4ee SHA1 (patch-docs_ld.lld.1) = a6865d0099216094422aede3d65f43ee6fee22fe SHA1 (patch-test_ELF_gnustack.s) = b3827436dcfc67d51b8d293b11538808537ddeec @ 1.3 log @llvm: updated to 8.0.1 LLVM 8.0.1 is now available! Download it now, or read the release notes. This release contains bug-fixes for the LLVM 8.0.0 release. This release is API and ABI compatible with 8.0.0. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2019/06/02 08:37:39 adam Exp $ d9 1 a9 1 SHA1 (patch-ELF_Driver.cpp) = abb0cf1fb577cc6df04f5ca7d7edab17d27e3217 @ 1.2 log @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 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1 2019/02/01 16:30:00 mgorny Exp $ d3 4 a6 4 SHA1 (lld-8.0.0.src.tar.xz) = b9062249ef61316e3450fc26e7238432673036bb RMD160 (lld-8.0.0.src.tar.xz) = bf3932f1b8d6e610bc1692cbbefec047a1a9a19b SHA512 (lld-8.0.0.src.tar.xz) = 43b671546f26a2293c27496584fcae43a99caabfffdbc7f72e06689e489005215b9a8607a4dc66a5469b3139d362486a46d1fbbdc2c657195fd3d3f1a72d2fa0 Size (lld-8.0.0.src.tar.xz) = 999864 bytes @ 1.1 log @devel/lld: import lld-7.0.1 LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them. It also provides features that are useful for toolchain developers. @ text @d1 1 a1 1 $NetBSD$ d3 4 a6 8 SHA1 (lld-7.0.1.src.tar.xz) = 3b69e107f27d466488838d5fa65bdfd77b885007 RMD160 (lld-7.0.1.src.tar.xz) = 44e0e851b957fef86352ebe6c2a37096f8595dcb SHA512 (lld-7.0.1.src.tar.xz) = e5d3ed280d8ac6014cd6bbe080b11e2c4ebbae81dc14b637e779ec027d818dbae91c6f0de9e94bcecd6bdaa37f12c35141b5d81f0a15251d27932aa9bebd4047 Size (lld-7.0.1.src.tar.xz) = 912812 bytes SHA1 (llvm-7.0.1.src.tar.xz) = f97632fcc3186eb0d396492ef8acfc807648580f RMD160 (llvm-7.0.1.src.tar.xz) = dae96c6f85afb60e73564dc40d02171d01ffdb8f SHA512 (llvm-7.0.1.src.tar.xz) = ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df Size (llvm-7.0.1.src.tar.xz) = 28311056 bytes d8 2 a9 2 SHA1 (patch-ELF_Config.h) = 767eebd5787ae5351e3275f7d6666cd905f34f05 SHA1 (patch-ELF_Driver.cpp) = d3ba099bf4a72a90cb126a6da4af9bdc7b97ba70 d13 1 a13 1 SHA1 (patch-docs_ld.lld.1) = d61a228b5eb760a0ac4f691b9001d5505ebfe6ed @