Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libclc for openSUSE:Factory checked in at 2023-03-28 17:48:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libclc (Old) and /work/SRC/openSUSE:Factory/.libclc.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libclc" Tue Mar 28 17:48:45 2023 rev:24 rq:1073960 version:0.2.0+llvm16.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libclc/libclc.changes 2023-01-29 14:30:59.485621976 +0100 +++ /work/SRC/openSUSE:Factory/.libclc.new.31432/libclc.changes 2023-03-28 17:48:54.390842033 +0200 @@ -1,0 +2,8 @@ +Wed Mar 22 23:54:02 UTC 2023 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Update to version 16.0.0. +- Drop cmake-flags-concat.patch that landed upstream. +- Enable opaque pointers now that Mesa seems to support them. +- Add PGP signatures and keyring for source verification. + +------------------------------------------------------------------- Old: ---- cmake-flags-concat.patch libclc-15.0.0.src.tar.xz New: ---- libclc-16.0.0.src.tar.xz libclc-16.0.0.src.tar.xz.sig libclc.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libclc.spec ++++++ --- /var/tmp/diff_new_pack.9d0tR1/_old 2023-03-28 17:48:54.834844174 +0200 +++ /var/tmp/diff_new_pack.9d0tR1/_new 2023-03-28 17:48:54.838844194 +0200 @@ -16,7 +16,7 @@ # -%define _libclc_llvm_ver 15.0.0 +%define _libclc_llvm_ver 16.0.0 %define _version %_libclc_llvm_ver%{?_rc:rc%_rc} %define _tagver %_libclc_llvm_ver%{?_rc:-rc%_rc} @@ -28,9 +28,9 @@ Group: Development/Libraries/C and C++ URL: https://libclc.llvm.org/ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/%{name}-%{_version}.src.tar.xz -Source1: %{name}-rpmlintrc -# PATCH-FIX-UPSTREAM: CMAKE_<LANG>_FLAGS is a string and not a list. -Patch0: cmake-flags-concat.patch +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{_tagver}/%{name}-%{_version}.src.tar.xz.sig +Source100: %{name}-rpmlintrc +Source101: https://releases.llvm.org/release-keys.asc#/%{name}.keyring BuildRequires: cmake %if 0%{?suse_version} >= 1550 BuildRequires: clang-devel @@ -64,20 +64,14 @@ %prep %setup -q -n libclc-%{_version}.src -%patch0 -p1 %build # The libraries are bitcode files, so LTO is neither supported nor does it help. %define _lto_cflags %{nil} -# For now we turn off opaque pointers - Clang uses them by default, but Mesa doesn't support them yet. %cmake \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -%if %{_llvm_sonum} >= 15 - -DCMAKE_CLC_FLAGS="-Xclang -no-opaque-pointers" \ - -DCMAKE_LLAsm_FLAGS="-Xclang -no-opaque-pointers" \ -%endif %if 0%{?suse_version} < 1550 -DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn--amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl" \ %endif ++++++ libclc-15.0.0.src.tar.xz -> libclc-16.0.0.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-15.0.0.src/CMakeLists.txt new/libclc-16.0.0.src/CMakeLists.txt --- old/libclc-15.0.0.src/CMakeLists.txt 2022-09-05 11:48:03.000000000 +0200 +++ new/libclc-16.0.0.src/CMakeLists.txt 2023-03-17 13:26:07.000000000 +0100 @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 3.13.4) -project( libclc VERSION 0.2.0 LANGUAGES CXX ) +project( libclc VERSION 0.2.0 LANGUAGES CXX C) + +set(CMAKE_CXX_STANDARD 17) + include( GNUInstallDirs ) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS amdgcn-amdhsa/lib/SOURCES; @@ -40,20 +43,17 @@ option( ENABLE_RUNTIME_SUBNORMAL "Enable runtime linking of subnormal support." OFF ) -if( NOT LLVM_CONFIG ) - find_program( LLVM_CONFIG llvm-config ) -endif() -execute_process( COMMAND ${LLVM_CONFIG} "--version" - OUTPUT_VARIABLE LLVM_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE ) -message( "LLVM version: ${LLVM_VERSION}" ) +find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") +include(AddLLVM) -if( ${LLVM_VERSION} VERSION_LESS ${LIBCLC_MIN_LLVM} ) +message( "LLVM version: ${LLVM_PACKAGE_VERSION}" ) + +if( ${LLVM_PACKAGE_VERSION} VERSION_LESS ${LIBCLC_MIN_LLVM} ) message( FATAL_ERROR "libclc needs at least LLVM ${LIBCLC_MIN_LLVM}" ) endif() # mesa3d environment is only available since LLVM 4.0 -if( ${LLVM_VERSION} VERSION_GREATER "3.9.0" ) +if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "3.9.0" ) set( LIBCLC_TARGETS_ALL ${LIBCLC_TARGETS_ALL} amdgcn-mesa-mesa3d ) endif() @@ -61,45 +61,11 @@ set( LIBCLC_TARGETS_TO_BUILD ${LIBCLC_TARGETS_ALL} ) endif() -execute_process( COMMAND ${LLVM_CONFIG} "--system-libs" - OUTPUT_VARIABLE LLVM_SYSTEM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE ) -separate_arguments( LLVM_SYSTEM_LIBS ) -execute_process( COMMAND ${LLVM_CONFIG} "--libs" "core" "bitreader" "bitwriter" - OUTPUT_VARIABLE LLVM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE ) -separate_arguments( LLVM_LIBS ) -execute_process( COMMAND ${LLVM_CONFIG} "--libdir" - OUTPUT_VARIABLE LLVM_LIBDIR - OUTPUT_STRIP_TRAILING_WHITESPACE ) -execute_process( COMMAND ${LLVM_CONFIG} "--ldflags" - OUTPUT_VARIABLE LLVM_LD_FLAGS - OUTPUT_STRIP_TRAILING_WHITESPACE ) -execute_process( COMMAND ${LLVM_CONFIG} "--cxxflags" - OUTPUT_VARIABLE LLVM_CXX_FLAGS - OUTPUT_STRIP_TRAILING_WHITESPACE ) -separate_arguments( LLVM_CXX_FLAGS ) -execute_process( COMMAND ${LLVM_CONFIG} "--bindir" - OUTPUT_VARIABLE LLVM_BINDIR - OUTPUT_STRIP_TRAILING_WHITESPACE ) - -# These were not properly reported in early LLVM and we don't need them -list( APPEND LLVM_CXX_FLAGS -fno-rtti -fno-exceptions ) - -# Print LLVM variables -message( "LLVM system libs: ${LLVM_SYSTEM_LIBS}" ) -message( "LLVM libs: ${LLVM_LIBS}" ) -message( "LLVM libdir: ${LLVM_LIBDIR}" ) -message( "LLVM bindir: ${LLVM_BINDIR}" ) -message( "LLVM ld flags: ${LLVM_LD_FLAGS}" ) -message( "LLVM cxx flags: ${LLVM_CXX_FLAGS}" ) -message( "" ) - -find_program( LLVM_CLANG clang PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) -find_program( LLVM_AS llvm-as PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) -find_program( LLVM_LINK llvm-link PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) -find_program( LLVM_OPT opt PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) -find_program( LLVM_SPIRV llvm-spirv PATHS ${LLVM_BINDIR} NO_DEFAULT_PATH ) +find_program( LLVM_CLANG clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH ) +find_program( LLVM_AS llvm-as PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH ) +find_program( LLVM_LINK llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH ) +find_program( LLVM_OPT opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH ) +find_program( LLVM_SPIRV llvm-spirv PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH ) # Print toolchain message( "clang: ${LLVM_CLANG}" ) @@ -128,29 +94,32 @@ set( CMAKE_LLAsm_ARCHIVE ${LLVM_LINK} ) # Construct LLVM version define -string( REPLACE "." ";" LLVM_VERSION_LIST ${LLVM_VERSION} ) -list( GET LLVM_VERSION_LIST 0 LLVM_MAJOR ) -list( GET LLVM_VERSION_LIST 1 LLVM_MINOR ) -set( LLVM_VERSION_DEFINE "-DHAVE_LLVM=0x${LLVM_MAJOR}0${LLVM_MINOR}" ) +set( LLVM_VERSION_DEFINE "-DHAVE_LLVM=0x${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}" ) # LLVM 13 enables standard includes by default -if( ${LLVM_VERSION} VERSION_GREATER "12.99.99" ) - set( CMAKE_LLAsm_FLAGS ${CMAKE_LLAsm_FLAGS} -cl-no-stdinc ) - set( CMAKE_CLC_FLAGS ${CMAKE_CLC_FLAGS} -cl-no-stdinc ) +if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "12.99.99" ) + set( CMAKE_LLAsm_FLAGS "${CMAKE_LLAsm_FLAGS} -cl-no-stdinc") + set( CMAKE_CLC_FLAGS "${CMAKE_CLC_FLAGS} -cl-no-stdinc") endif() enable_language( CLC LLAsm ) - # This needs to be set before any target that needs it -link_directories( ${LLVM_LIBDIR} ) +# We need to use LLVM_INCLUDE_DIRS here, because if we are linking to an +# llvm build directory, this includes $src/llvm/include which is where all the +# headers are not $build/include/ which is what LLVM_INCLUDE_DIR is set to. +include_directories( ${LLVM_INCLUDE_DIRS} ) # Setup prepare_builtins tools -add_executable( prepare_builtins utils/prepare-builtins.cpp ) -target_compile_options( prepare_builtins PRIVATE ${LLVM_CXX_FLAGS} ) +set(LLVM_LINK_COMPONENTS + BitReader + BitWriter + Core +) +add_llvm_executable( prepare_builtins utils/prepare-builtins.cpp ) target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) -target_link_libraries( prepare_builtins PRIVATE ${LLVM_LIBS} ) -target_link_libraries( prepare_builtins PRIVATE ${LLVM_SYSTEM_LIBS} ) +# These were not properly reported in early LLVM and we don't need them +target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) # Setup arch devices set( r600--_devices cedar cypress barts cayman ) @@ -175,12 +144,12 @@ mullins tonga iceland carrizo fiji stoney polaris10 polaris11 ) # Support for gfx9 was added in LLVM 5.0 (r295554) -if( ${LLVM_VERSION} VERSION_GREATER "4.99.99" ) +if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "4.99.99" ) set( tahiti_aliases ${tahiti_aliases} gfx900 gfx902 ) endif() # Support for Vega12 and Vega20 was added in LLVM 7 (r331215) -if( ${LLVM_VERSION} VERSION_GREATER "6.99.99" ) +if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "6.99.99" ) set( tahiti_aliases ${tahiti_aliases} gfx904 gfx906 ) endif() @@ -369,10 +338,8 @@ # nvptx-- targets don't include workitem builtins if( NOT ${t} MATCHES ".*ptx.*--$" ) add_test( NAME external-calls-${obj_suffix} - COMMAND ./check_external_calls.sh ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} + COMMAND ./check_external_calls.sh ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} ${LLVM_TOOLS_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) - set_tests_properties( external-calls-${obj_suffix} - PROPERTIES ENVIRONMENT "LLVM_CONFIG=${LLVM_CONFIG}" ) endif() install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} DESTINATION "${CMAKE_INSTALL_DATADIR}/clc" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-15.0.0.src/check_external_calls.sh new/libclc-16.0.0.src/check_external_calls.sh --- old/libclc-15.0.0.src/check_external_calls.sh 2022-09-05 11:48:03.000000000 +0200 +++ new/libclc-16.0.0.src/check_external_calls.sh 2023-03-17 13:26:07.000000000 +0100 @@ -1,19 +1,13 @@ #!/bin/sh FILE=$1 +BIN_DIR=$2 if [ ! -f $FILE ]; then echo "ERROR: Not a file: $FILE" exit 3 fi ret=0 -if [ "x$LLVM_CONFIG" = "x" ]; then - LLVM_CONFIG=llvm-config - echo 'WARNING: $LLVM_CONFIG not set, falling back to $PATH llvm-config' - ret=2 -fi - -BIN_DIR=$($LLVM_CONFIG --bindir) DIS="$BIN_DIR/llvm-dis" if [ ! -x $DIS ]; then echo "ERROR: Disassembler '$DIS' is not executable" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-15.0.0.src/generic/lib/math/acosh.cl new/libclc-16.0.0.src/generic/lib/math/acosh.cl --- old/libclc-15.0.0.src/generic/lib/math/acosh.cl 2022-09-05 11:48:03.000000000 +0200 +++ new/libclc-16.0.0.src/generic/lib/math/acosh.cl 2023-03-17 13:26:07.000000000 +0100 @@ -117,7 +117,7 @@ ret = ux >= 0x7FF0000000000000 ? x : ret; ret = x == 1.0 ? 0.0 : ret; - ret = (ux & SIGNBIT_DP64) != 0UL | x < 1.0 ? as_double(QNANBITPATT_DP64) : ret; + ret = ((ux & SIGNBIT_DP64) != 0UL | x < 1.0) ? as_double(QNANBITPATT_DP64) : ret; return ret; }