head	1.6;
access;
symbols
	pkgsrc-2026Q1:1.5.0.30
	pkgsrc-2026Q1-base:1.5
	pkgsrc-2025Q4:1.5.0.28
	pkgsrc-2025Q4-base:1.5
	pkgsrc-2025Q3:1.5.0.26
	pkgsrc-2025Q3-base:1.5
	pkgsrc-2025Q2:1.5.0.24
	pkgsrc-2025Q2-base:1.5
	pkgsrc-2025Q1:1.5.0.22
	pkgsrc-2025Q1-base:1.5
	pkgsrc-2024Q4:1.5.0.20
	pkgsrc-2024Q4-base:1.5
	pkgsrc-2024Q3:1.5.0.18
	pkgsrc-2024Q3-base:1.5
	pkgsrc-2024Q2:1.5.0.16
	pkgsrc-2024Q2-base:1.5
	pkgsrc-2024Q1:1.5.0.14
	pkgsrc-2024Q1-base:1.5
	pkgsrc-2023Q4:1.5.0.12
	pkgsrc-2023Q4-base:1.5
	pkgsrc-2023Q3:1.5.0.10
	pkgsrc-2023Q3-base:1.5
	pkgsrc-2023Q2:1.5.0.8
	pkgsrc-2023Q2-base:1.5
	pkgsrc-2023Q1:1.5.0.6
	pkgsrc-2023Q1-base:1.5
	pkgsrc-2022Q4:1.5.0.4
	pkgsrc-2022Q4-base:1.5
	pkgsrc-2022Q3:1.5.0.2
	pkgsrc-2022Q3-base:1.5
	pkgsrc-2022Q2:1.4.0.22
	pkgsrc-2022Q2-base:1.4
	pkgsrc-2022Q1:1.4.0.20
	pkgsrc-2022Q1-base:1.4
	pkgsrc-2021Q4:1.4.0.18
	pkgsrc-2021Q4-base:1.4
	pkgsrc-2021Q3:1.4.0.16
	pkgsrc-2021Q3-base:1.4
	pkgsrc-2021Q2:1.4.0.14
	pkgsrc-2021Q2-base:1.4
	pkgsrc-2021Q1:1.4.0.12
	pkgsrc-2021Q1-base:1.4
	pkgsrc-2020Q4:1.4.0.10
	pkgsrc-2020Q4-base:1.4
	pkgsrc-2020Q3:1.4.0.8
	pkgsrc-2020Q3-base:1.4
	pkgsrc-2020Q2:1.4.0.6
	pkgsrc-2020Q2-base:1.4
	pkgsrc-2020Q1:1.4.0.2
	pkgsrc-2020Q1-base:1.4
	pkgsrc-2019Q4:1.4.0.4
	pkgsrc-2019Q4-base:1.4
	pkgsrc-2019Q3:1.3.0.4
	pkgsrc-2019Q3-base:1.3
	pkgsrc-2019Q2:1.3.0.2
	pkgsrc-2019Q2-base:1.3
	pkgsrc-2019Q1:1.2.0.22
	pkgsrc-2019Q1-base:1.2
	pkgsrc-2018Q4:1.2.0.20
	pkgsrc-2018Q4-base:1.2
	pkgsrc-2018Q3:1.2.0.18
	pkgsrc-2018Q3-base:1.2
	pkgsrc-2018Q2:1.2.0.16
	pkgsrc-2018Q2-base:1.2
	pkgsrc-2018Q1:1.2.0.14
	pkgsrc-2018Q1-base:1.2
	pkgsrc-2017Q4:1.2.0.12
	pkgsrc-2017Q4-base:1.2
	pkgsrc-2017Q3:1.2.0.10
	pkgsrc-2017Q3-base:1.2
	pkgsrc-2017Q2:1.2.0.6
	pkgsrc-2017Q2-base:1.2
	pkgsrc-2017Q1:1.2.0.4
	pkgsrc-2017Q1-base:1.2
	pkgsrc-2016Q4:1.2.0.2
	pkgsrc-2016Q4-base:1.2
	pkgsrc-2016Q3:1.1.0.6
	pkgsrc-2016Q3-base:1.1
	pkgsrc-2016Q2:1.1.0.4
	pkgsrc-2016Q2-base:1.1
	pkgsrc-2016Q1:1.1.0.2
	pkgsrc-2016Q1-base:1.1;
locks; strict;
comment	@# @;


1.6
date	2026.04.16.06.33.50;	author wiz;	state dead;
branches;
next	1.5;
commitid	i9b6qrM84IuOk9CG;

1.5
date	2022.08.12.08.54.31;	author pin;	state Exp;
branches;
next	1.4;
commitid	aZwtJgIJuqDJhzPD;

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

1.3
date	2019.06.02.08.35.55;	author adam;	state Exp;
branches;
next	1.2;
commitid	v3vyvzDLsYWRGApB;

1.2
date	2016.11.14.20.15.33;	author ryoon;	state Exp;
branches;
next	1.1;
commitid	QLKL3BrgVJGvs8uz;

1.1
date	2016.03.28.13.13.55;	author kamil;	state Exp;
branches;
next	;
commitid	AIERVmAyrkNOxp0z;


desc
@@


1.6
log
@*: update llvm and friends to 21.1.8
@
text
@$NetBSD: patch-cmake_modules_LLDBStandalone.cmake,v 1.5 2022/08/12 08:54:31 pin Exp $

--- cmake/modules/LLDBStandalone.cmake.orig	2022-06-22 16:46:24.000000000 +0000
+++ cmake/modules/LLDBStandalone.cmake
@@@@ -85,7 +85,6 @@@@ list(APPEND CMAKE_MODULE_PATH "${LLVM_DI
 include(AddLLVM)
 include(TableGen)
 include(HandleLLVMOptions)
-include(CheckAtomic)
 include(LLVMDistributionSupport)
 
 set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")
@


1.5
log
@devel/lldb: llvm update
@
text
@d1 1
a1 1
$NetBSD$
@


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: patch-cmake_modules_LLDBStandalone.cmake,v 1.3 2019/06/02 08:35:55 adam Exp $
d3 1
a3 1
--- cmake/modules/LLDBStandalone.cmake.orig	2019-07-17 19:36:20.000000000 +0000
d5 1
a5 1
@@@@ -74,7 +74,6 @@@@ list(APPEND CMAKE_MODULE_PATH "${LLVM_DI
@


1.3
log
@llvm: updated to 8.0.0

8.0.0:
Non-comprehensive list of changes in this release
* The llvm-cov tool can now export lcov trace files using the -format=lcov option of the export command.
* The add_llvm_loadable_module CMake macro has been removed. The add_llvm_library macro with the MODULE argument now provides the same functionality. See Writing an LLVM Pass.
* For MinGW, references to data variables that might need to be imported from a dll are accessed via a stub, to allow the linker to convert it to a dllimport if needed.
* Added support for labels as offsets in .reloc directive.
* Support for precise identification of X86 instructions with memory operands, by using debug information. This supports profile-driven cache prefetching. It is enabled with the -x86-discriminate-memops LLVM Flag.
* Support for profile-driven software cache prefetching on X86. This is part of a larger system, consisting of: an offline cache prefetches recommender, AutoFDO tooling, and LLVM. In this system, a binary compiled with -x86-discriminate-memops is run under the observation of the recommender. The recommender identifies certain memory access instructions by their binary file address, and recommends a prefetch of a specific type (NTA, T0, etc) be performed at a specified fixed offset from such an instruction’s memory operand. Next, this information needs to be converted to the AutoFDO syntax and the resulting profile may be passed back to the compiler with the LLVM flag -prefetch-hints-file, together with the exact same set of compilation parameters used for the original binary. More information is available in the RFC.
* Windows support for libFuzzer (x86_64).
@
text
@d1 1
a1 1
$NetBSD: patch-cmake_modules_LLDBStandalone.cmake,v 1.2 2016/11/14 20:15:33 ryoon Exp $
d3 1
a3 1
--- cmake/modules/LLDBStandalone.cmake.orig	2019-01-29 14:23:34.000000000 +0000
d5 6
a10 5
@@@@ -85,7 +85,6 @@@@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
   include(AddLLVM)
   include(TableGen)
   include(HandleLLVMOptions)
-  include(CheckAtomic)
d12 1
a12 2
   if (PYTHON_EXECUTABLE STREQUAL "")
     set(Python_ADDITIONAL_VERSIONS 3.5 3.4 3.3 3.2 3.1 3.0 2.7 2.6 2.5)
@


1.2
log
@Update llvm packages to 3.9.0

* Drop CppBackend. It is removed.

Changelog:
* GCC ABI Tag
* LLVM IR: new intrinsics etc.
* Change LLVM IPO model
* Support ThinLTO
* Improve the ARM targets, ARMv8.2-A support etc.
* Improve the MIPS targets
* Improve the PowerPC target, default optim O3 to O2
* Improve the X86 target, SKylake AVX-512 etc.
* Improve the AMDGPU, better support for Mesa 12
@
text
@d1 1
a1 1
$NetBSD$
d3 1
a3 1
--- cmake/modules/LLDBStandalone.cmake.orig	2016-07-15 22:46:15.000000000 +0000
d5 1
a5 2
@@@@ -86,7 +86,6 @@@@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
 
d7 1
@


1.1
log
@Import lldb-3.8.0 as devel/lldb

Next generation, high-performance debugger

Late import approved by <pkgsrc-pmc>
@
text
@d3 1
a3 1
--- cmake/modules/LLDBStandalone.cmake.orig	2015-11-10 18:09:14.000000000 +0000
d5 1
a5 117
@@@@ -6,57 +6,78 @@@@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
 
   option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
 
-  set(LLDB_PATH_TO_LLVM_SOURCE "" CACHE PATH
-    "Path to LLVM source code. Not necessary if using an installed LLVM.")
-  set(LLDB_PATH_TO_LLVM_BUILD "" CACHE PATH
-    "Path to the directory where LLVM was built or installed.")
-
-  set(LLDB_PATH_TO_CLANG_SOURCE "" CACHE PATH
-    "Path to Clang source code. Not necessary if using an installed Clang.")
-  set(LLDB_PATH_TO_CLANG_BUILD "" CACHE PATH
-    "Path to the directory where Clang was built or installed.")
-
-  if (LLDB_PATH_TO_LLVM_SOURCE)
-    if (NOT EXISTS "${LLDB_PATH_TO_LLVM_SOURCE}/cmake/config-ix.cmake")
-      message(FATAL_ERROR "Please set LLDB_PATH_TO_LLVM_SOURCE to the root "
-              "directory of LLVM source code.")
+  # Rely on llvm-config.
+  set(CONFIG_OUTPUT)
+  find_program(LLVM_CONFIG "llvm-config")
+  if(LLVM_CONFIG)
+    message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}")
+    set(CONFIG_COMMAND ${LLVM_CONFIG}
+      "--assertion-mode"
+      "--bindir"
+      "--libdir"
+      "--includedir"
+      "--prefix"
+      "--src-root")
+    execute_process(
+      COMMAND ${CONFIG_COMMAND}
+      RESULT_VARIABLE HAD_ERROR
+      OUTPUT_VARIABLE CONFIG_OUTPUT
+    )
+    if(NOT HAD_ERROR)
+      string(REGEX REPLACE
+        "[ \t]*[\r\n]+[ \t]*" ";"
+        CONFIG_OUTPUT ${CONFIG_OUTPUT})
+
     else()
-      get_filename_component(LLVM_MAIN_SRC_DIR ${LLDB_PATH_TO_LLVM_SOURCE}
-                             ABSOLUTE)
-      set(LLVM_MAIN_INCLUDE_DIR "${LLVM_MAIN_SRC_DIR}/include")
-      list(APPEND CMAKE_MODULE_PATH "${LLVM_MAIN_SRC_DIR}/cmake/modules")
+      string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}")
+      message(STATUS "${CONFIG_COMMAND_STR}")
+      message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
     endif()
-  endif()
-
-  if (LLDB_PATH_TO_CLANG_SOURCE)
-      get_filename_component(CLANG_MAIN_SRC_DIR ${LLDB_PATH_TO_CLANG_SOURCE}
-                             ABSOLUTE)
-      set(CLANG_MAIN_INCLUDE_DIR "${CLANG_MAIN_SRC_DIR}/include")
-  endif()
-
-  list(APPEND CMAKE_MODULE_PATH "${LLDB_PATH_TO_LLVM_BUILD}/share/llvm/cmake")
-
-  if (LLDB_PATH_TO_LLVM_BUILD)
-    get_filename_component(PATH_TO_LLVM_BUILD ${LLDB_PATH_TO_LLVM_BUILD}
-                           ABSOLUTE)
   else()
-    message(FATAL_ERROR "Please set LLDB_PATH_TO_LLVM_BUILD to the root "
-            "directory of LLVM build or install site.")
+    message(FATAL_ERROR "llvm-config not found -- ${LLVM_CONFIG}")
   endif()
 
-  if (LLDB_PATH_TO_CLANG_BUILD)
-    get_filename_component(PATH_TO_CLANG_BUILD ${LLDB_PATH_TO_CLANG_BUILD}
-                           ABSOLUTE)
+  list(GET CONFIG_OUTPUT 0 ENABLE_ASSERTIONS)
+  list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
+  list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
+  list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)
+  list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
+  list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)
+
+  if(NOT MSVC_IDE)
+    set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
+      CACHE BOOL "Enable assertions")
+    # Assertions should follow llvm-config's.
+    mark_as_advanced(LLVM_ENABLE_ASSERTIONS)
+  endif()
+
+  set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
+  set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+  set(LLVM_MAIN_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
+  set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
+  set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+
+  find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+    NO_DEFAULT_PATH)
+
+  set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/share/llvm/cmake") # this will change in 3.9.0
+  set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+  if(EXISTS ${LLVMCONFIG_FILE})
+    list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
+    include(${LLVMCONFIG_FILE})
   else()
-    message(FATAL_ERROR "Please set LLDB_PATH_TO_CLANG_BUILD to the root "
-            "directory of Clang build or install site.")
+    message(FATAL_ERROR "Not found: ${LLVMCONFIG_FILE}")
   endif()
 
-
-  # These variables are used by add_llvm_library.
+  # They are used as destination of target generators.
   set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
   set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-  set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+  if(WIN32 OR CYGWIN)
+    # DLL platform -- put DLLs into bin.
+    set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+  else()
+    set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+  endif()
d9 1
a9 25
@@@@ -73,23 +94,16 @@@@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
     message("-- Found PythonInterp: ${PYTHON_EXECUTABLE}")
   endif()
   # Import CMake library targets from LLVM and Clang.
-  include("${LLDB_PATH_TO_LLVM_BUILD}/share/llvm/cmake/LLVMConfig.cmake")
-  if (EXISTS "${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
-      include("${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
-  endif()
+  include("${LLVM_OBJ_ROOT}/share/llvm/cmake/LLVMConfig.cmake") # this will change in 3.9.0
+  include("${LLVM_OBJ_ROOT}/share/clang/cmake/ClangConfig.cmake") # this will change in 3.9.0
 
   set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")
 
   set(LLVM_BINARY_DIR ${CMAKE_BINARY_DIR})
 
   set(CMAKE_INCLUDE_CURRENT_DIR ON)
-  include_directories("${PATH_TO_LLVM_BUILD}/include"
-                      "${LLVM_MAIN_INCLUDE_DIR}"
-                      "${PATH_TO_CLANG_BUILD}/include"
-                      "${CLANG_MAIN_INCLUDE_DIR}"
-                      "${CMAKE_CURRENT_SOURCE_DIR}/source")
-  link_directories("${PATH_TO_LLVM_BUILD}/lib${LLVM_LIBDIR_SUFFIX}"
-                   "${PATH_TO_CLANG_BUILD}/lib${LLVM_LIBDIR_SUFFIX}")
+  include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}")
+  link_directories("${LLVM_LIBRARY_DIR}")
d11 2
a12 2
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
@

