head	1.25;
access;
symbols
	pkgsrc-2026Q1:1.24.0.8
	pkgsrc-2026Q1-base:1.24
	pkgsrc-2025Q4:1.24.0.6
	pkgsrc-2025Q4-base:1.24
	pkgsrc-2025Q3:1.24.0.4
	pkgsrc-2025Q3-base:1.24
	pkgsrc-2025Q2:1.24.0.2
	pkgsrc-2025Q2-base:1.24
	pkgsrc-2025Q1:1.22.0.4
	pkgsrc-2025Q1-base:1.22
	pkgsrc-2024Q4:1.22.0.2
	pkgsrc-2024Q4-base:1.22
	pkgsrc-2024Q3:1.21.0.2
	pkgsrc-2024Q3-base:1.21
	pkgsrc-2024Q2:1.19.0.2
	pkgsrc-2024Q2-base:1.19
	pkgsrc-2024Q1:1.18.0.4
	pkgsrc-2024Q1-base:1.18
	pkgsrc-2023Q4:1.18.0.2
	pkgsrc-2023Q4-base:1.18
	pkgsrc-2023Q3:1.17.0.2
	pkgsrc-2023Q3-base:1.17
	pkgsrc-2023Q2:1.15.0.6
	pkgsrc-2023Q2-base:1.15
	pkgsrc-2023Q1:1.15.0.4
	pkgsrc-2023Q1-base:1.15
	pkgsrc-2022Q4:1.15.0.2
	pkgsrc-2022Q4-base:1.15
	pkgsrc-2022Q3:1.14.0.2
	pkgsrc-2022Q3-base:1.14
	pkgsrc-2022Q2:1.11.0.8
	pkgsrc-2022Q2-base:1.11
	pkgsrc-2022Q1:1.11.0.6
	pkgsrc-2022Q1-base:1.11
	pkgsrc-2021Q4:1.11.0.4
	pkgsrc-2021Q4-base:1.11
	pkgsrc-2021Q3:1.11.0.2
	pkgsrc-2021Q3-base:1.11
	pkgsrc-2021Q2:1.10.0.2
	pkgsrc-2021Q2-base:1.10
	pkgsrc-2021Q1:1.9.0.6
	pkgsrc-2021Q1-base:1.9
	pkgsrc-2020Q4:1.9.0.4
	pkgsrc-2020Q4-base:1.9
	pkgsrc-2020Q3:1.9.0.2
	pkgsrc-2020Q3-base:1.9
	pkgsrc-2020Q2:1.8.0.2
	pkgsrc-2020Q2-base:1.8
	pkgsrc-2020Q1:1.7.0.2
	pkgsrc-2020Q1-base:1.7
	pkgsrc-2019Q4:1.5.0.4
	pkgsrc-2019Q4-base:1.5
	pkgsrc-2019Q3:1.3.0.2
	pkgsrc-2019Q3-base:1.3
	pkgsrc-2019Q2:1.1.0.2
	pkgsrc-2019Q2-base:1.1;
locks; strict;
comment	@# @;


1.25
date	2026.03.25.23.06.03;	author wiz;	state Exp;
branches;
next	1.24;
commitid	jmMWuT6BdQTgxpzG;

1.24
date	2025.05.09.19.37.14;	author wiz;	state Exp;
branches;
next	1.23;
commitid	WCR78K3U9f0aFgUF;

1.23
date	2025.05.09.05.51.26;	author adam;	state Exp;
branches;
next	1.22;
commitid	gd9WBpmGiiwY5cUF;

1.22
date	2024.11.11.12.29.36;	author bacon;	state Exp;
branches;
next	1.21;
commitid	71TLcPELjYhP2exF;

1.21
date	2024.08.25.06.19.09;	author wiz;	state Exp;
branches;
next	1.20;
commitid	BcrSL94SO85mvanF;

1.20
date	2024.07.06.15.45.08;	author adam;	state Exp;
branches;
next	1.19;
commitid	9KpFpYTi5zNpfNgF;

1.19
date	2024.04.22.07.25.56;	author adam;	state Exp;
branches;
next	1.18;
commitid	nK5sAHh3Q2oJT67F;

1.18
date	2023.10.06.19.15.21;	author adam;	state Exp;
branches;
next	1.17;
commitid	AfeawfMstncfdBHE;

1.17
date	2023.08.02.19.27.31;	author nia;	state Exp;
branches;
next	1.16;
commitid	GQAD99AMOmQinfzE;

1.16
date	2023.07.18.18.39.06;	author nia;	state Exp;
branches;
next	1.15;
commitid	US6cM8sFqFzHAjxE;

1.15
date	2022.11.14.18.44.07;	author adam;	state Exp;
branches;
next	1.14;
commitid	D4GB0JeiCAn4wH1E;

1.14
date	2022.08.12.08.49.20;	author pin;	state Exp;
branches;
next	1.13;
commitid	EZSPNUou8bHXfzPD;

1.13
date	2022.07.24.07.48.09;	author nia;	state Exp;
branches;
next	1.12;
commitid	y6crEYtWENiPw7ND;

1.12
date	2022.06.28.11.35.24;	author wiz;	state Exp;
branches;
next	1.11;
commitid	D2UoJrTHpoHEANJD;

1.11
date	2021.07.12.18.48.27;	author adam;	state Exp;
branches;
next	1.10;
commitid	hSrP0k4E561HiJ0D;

1.10
date	2021.05.24.19.53.41;	author wiz;	state Exp;
branches;
next	1.9;
commitid	qokaiStTApGMcrUC;

1.9
date	2020.08.31.18.10.57;	author wiz;	state Exp;
branches;
next	1.8;
commitid	7zxRbfOkDOoxbfmC;

1.8
date	2020.04.18.08.05.11;	author adam;	state Exp;
branches;
next	1.7;
commitid	FPmIUca9ng0NcQ4C;

1.7
date	2020.01.26.17.31.59;	author rillig;	state Exp;
branches;
next	1.6;
commitid	4fBBvoSLJaGd0eUB;

1.6
date	2019.12.29.15.31.23;	author adam;	state Exp;
branches;
next	1.5;
commitid	kHfM83YmbIyZeCQB;

1.5
date	2019.10.24.11.52.21;	author tnn;	state Exp;
branches;
next	1.4;
commitid	OGyNSGW9nfCv97IB;

1.4
date	2019.10.19.14.01.37;	author adam;	state Exp;
branches;
next	1.3;
commitid	PUWUrQsEv5wu1uHB;

1.3
date	2019.08.11.13.22.34;	author wiz;	state Exp;
branches;
next	1.2;
commitid	Ifet9Pg6Qt99ZByB;

1.2
date	2019.08.05.19.06.49;	author adam;	state Exp;
branches;
next	1.1;
commitid	Te8YYre57VhQ7SxB;

1.1
date	2019.06.17.16.35.44;	author adam;	state Exp;
branches;
next	;
commitid	FoRofHLK8lgFRyrB;


desc
@@


1.25
log
@openmp: update to 20.1.8.

Part of the llvm update.
@
text
@# $NetBSD: Makefile,v 1.15 2022/11/14 18:44:07 adam Exp $

.include "../../lang/llvm/version.mk"

PKGNAME=	openmp-${LLVM_VERSION}
CATEGORIES=	parallel

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://openmp.llvm.org/
COMMENT=	Support for the OpenMP language
LICENSE=	apache-2.0

USE_CXX_FEATURES=	c++17
USE_LANGUAGES=		c gnu++17
USE_TOOLS+=		perl pkg-config
GCC_REQD+=		7	# Not supported by ancient GCCs

CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
CMAKE_CONFIGURE_ARGS+=	-DOPENMP_ENABLE_LIBOMPTARGET=OFF
CMAKE_CONFIGURE_ARGS+=	-DOPENMP_ENABLE_OMPT_TOOLS=OFF

BUILDLINK_TRANSFORM.NetBSD+=	opt:-std=c++17:-std=gnu++17 # alloca

.include "../../devel/cmake/build.mk"
.include "../../lang/python/application.mk"
.include "../../lang/llvm/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.24
log
@*: bump for llvm 19 (shlib major changed)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2025/05/09 05:51:26 adam Exp $
a2 1
PKGREVISION= 1
d5 1
a5 2
DISTNAME=	openmp-${LLVM_VERSION}.src
PKGNAME=	${DISTNAME:S/.src//}
@


1.23
log
@llvm: updated to 19.1.7

19.1.7
https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2024/11/11 12:29:36 bacon Exp $
d3 1
@


1.22
log
@parallel/openmp: Fix build on Alma 8

Add python/application.mk and PLIST.Linux
Untested on other Linux distros, but no response to call for
testing to pkgsrc-users@@ on 9/30
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2024/08/25 06:19:09 wiz Exp $
a5 1
PKGREVISION=	1
@


1.21
log
@*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2024/07/06 15:45:08 adam Exp $
d6 1
d18 1
a18 1
GCC_REQD+=		7
d27 1
@


1.20
log
@llvm: updated to 18.1.8

https://releases.llvm.org
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2022/11/14 18:44:07 adam Exp $
d19 3
a21 3
CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+=	-DOPENMP_ENABLE_LIBOMPTARGET=OFF
CMAKE_ARGS+=	-DOPENMP_ENABLE_OMPT_TOOLS=OFF
@


1.19
log
@polly openmp: updated to 17.0.6

17.0.6
https://releases.llvm.org/17.0.1/tools/polly/docs/ReleaseNotes.html
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2023/10/06 19:15:21 adam Exp $
@


1.18
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
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2022/11/14 18:44:07 adam Exp $
d14 2
a15 1
USE_LANGUAGES=		c gnu++14
d17 1
a17 1
GCC_REQD+=		4.8
d23 1
a23 1
BUILDLINK_TRANSFORM.NetBSD+=	opt:-std=c++14:-std=gnu++14 # alloca
@


1.17
log
@*: Instead of using BUILDLINK_TRANSFORM to force a "gnu" language
variant when a package is using GNU extensions without setting
-std=gnuXX, use FORCE_(C|CXX)_STD.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2023/07/18 18:39:06 nia Exp $
d14 1
a14 5
CONFIGURE_DIRS=		${WRKDIR}/build
CMAKE_ARG_PATH=		${WRKSRC}

USE_LANGUAGES=		c c++
USE_CMAKE=		yes
d16 1
a16 5

USE_CXX_FEATURES+=	c++14

# Uses alloca, cannot use standard C++ on NetBSD.
FORCE_CXX_STD=		gnu++14
d22 1
a22 2
post-extract:
	${MKDIR} ${WRKDIR}/build
d24 1
@


1.16
log
@parallel: Adapt packages (where possible) to USE_(CC|CXX)_FEATURES
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2022/11/14 18:44:07 adam Exp $
d23 3
a29 2
BUILDLINK_TRANSFORM.NetBSD+=	opt:-std=c++14:-std=gnu++14 # alloca

@


1.15
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=<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: Makefile,v 1.14 2022/08/12 08:49:20 pin Exp $
d17 1
a17 1
USE_LANGUAGES=		c gnu++14
d20 2
a21 1
GCC_REQD+=		4.8
@


1.14
log
@parallel/openmp: llvm update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2022/07/24 07:48:09 nia Exp $
a22 2
CMAKE_ARGS+=	-DCMAKE_C_COMPILER=${CC:Q}
CMAKE_ARGS+=	-DCMAKE_CXX_COMPILER=${CXX:Q}
@


1.13
log
@openmp: Ensure proper alloca definition is found on NetBSD.

Reported by Mayuresh.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2022/06/28 11:35:24 wiz Exp $
a2 1
PKGREVISION= 2
@


1.12
log
@*: recursive bump for perl 5.36
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2021/07/12 18:48:27 adam Exp $
d3 1
a3 1
PKGREVISION= 1
d18 1
a18 1
USE_LANGUAGES=		c c++14
d29 2
@


1.11
log
@openmp: updated to 12.0.1

12.0.1:
Unknown changes
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2021/05/24 19:53:41 wiz Exp $
d3 1
@


1.10
log
@*: recursive bump for perl 5.34
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2020/08/31 18:10:57 wiz Exp $
a2 1
PKGREVISION= 2
@


1.9
log
@*: bump PKGREVISION for perl-5.32.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2020/04/18 08:05:11 adam Exp $
d3 1
a3 1
PKGREVISION= 1
@


1.8
log
@openmp: updated to 10.0.0

10.0.0:
Unknown changes
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2020/01/26 17:31:59 rillig Exp $
d3 1
@


1.7
log
@all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2019/12/29 15:31:23 adam Exp $
d17 1
a17 1
USE_LANGUAGES=		c c++11
d26 1
@


1.6
log
@llvm: updated to 9.0.1

9.0.1 is a bug-fix release.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2019/10/24 11:52:21 tnn Exp $
d10 1
a10 1
HOMEPAGE=	http://openmp.llvm.org/
@


1.5
log
@more packages with wrong LICENSE tag
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2019/10/19 14:01:37 adam Exp $
d3 3
a5 2
DISTNAME=	openmp-9.0.0.src
PKGREVISION=	1
d7 1
a7 3
CATEGORIES=	devel
MASTER_SITES=	http://releases.llvm.org/${PKGVERSION_NOREV}/
EXTRACT_SUFX=	.tar.xz
@


1.4
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 <filename> 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: Makefile,v 1.3 2019/08/11 13:22:34 wiz Exp $
d4 1
d13 1
a13 1
LICENSE=	modified-bsd
@


1.3
log
@Bump PKGREVISIONs for perl 5.30.0
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2019/08/05 19:06:49 adam Exp $
d3 1
a3 1
DISTNAME=	openmp-8.0.1.src
a4 1
PKGREVISION=	1
d6 1
a6 3
MASTER_SITES=	${MASTER_SITE_GITHUB:=llvm/}
GITHUB_PROJECT=	llvm-project
GITHUB_RELEASE=	llvmorg-${PKGVERSION_NOREV}
@


1.2
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: Makefile,v 1.1 2019/06/17 16:35:44 adam Exp $
d5 1
@


1.1
log
@openmp: added version 8.0.0

The OpenMP subproject of LLVM contains the components required to build an
executable OpenMP program that are outside the compiler itself.

Here you can find the code for the runtime library against which code compiled
by clang -fopenmp must be linked before it can run.
@
text
@d1 1
a1 1
# $NetBSD$
d3 1
a3 1
DISTNAME=	openmp-8.0.0.src
d6 3
a8 1
MASTER_SITES=	http://llvm.org/releases/${PKGVERSION_NOREV}/
a15 2
DEPENDS+=	llvm-${PKGVERSION_NOREV}{,nb*}:../../lang/llvm

@

