Sedat Dilek via llvm-dev
2020-May-21 04:35 UTC
[llvm-dev] 10.0.1-rc1 release has been tagged
On Wed, May 20, 2020 at 11:12 PM Tom Stellard <tstellar at redhat.com> wrote:> > On 05/20/2020 09:53 AM, Sedat Dilek wrote: > > On Wed, May 20, 2020 at 5:06 PM Tom Stellard <tstellar at redhat.com> wrote: > >> > >> On 05/19/2020 09:05 PM, Sedat Dilek wrote: > >>> Hi Tom, > >>> > >>> thanks and congrats for LLVM 10.0.1-rc1 release. > >>> > >>> [1] shows 2 assets. > >>> 10.0.0 RCs had a lot of more assets. > >>> I am missing the llvm-project-10.0.1rc1.tar.xz tarball. > >>> > >>> Will you provide them later or is there a new development/workflow > >>> decision I do not know of? > >>> > >> > >> I've uploaded all the tarballs now. > >> > > > > I have build from the below tarball. > > > > But the version-strings look odd. > > > > You shouldn't have to make any changes to the source, did you > try running the test-release.sh script? >I tried... $ ./llvm/utils/release/test-release.sh -release 10.0.1 -rc 1 -triple x86_64-linux-gnu # Using git ref: llvmorg-10.0.1-rc1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 137 100 137 0 0 345 0 --:--:-- --:--:-- --:--:-- 345 100 25.7M 0 25.7M 0 0 2263k 0 --:--:-- 0:00:11 --:--:-- 2530k^C I have already built from this git-ref "llvmorg-10.0.1-rc1" successfully. $ which clang-10 /home/dileks/src/llvm-toolchain/install/bin/clang-10 $ clang-10 --version ClangBuiltLinux clang version 10.0.1 (https://github.com/llvm/llvm-project f79cd71e145c6fd005ba4dd1238128dfa0dc2cb6) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/dileks/src/llvm-toolchain/install/bin BTW, I use tc-build script from ClangBuiltLinux to build my llvm-toolchain consisting of projects "clang" and "lld". LINK: https://github.com/ClangBuiltLinux/tc-build With my modifications: dileks at iniza:~/src/llvm-toolchain$ ln -sf install.dileks install $ which clang-10 /home/dileks/src/llvm-toolchain/install/bin/clang-10 $ clang-10 --version ClangBuiltLinux clang version 10.0.1rc1 Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/dileks/src/llvm-toolchain/install/bin $ which ld.lld /home/dileks/src/llvm-toolchain/install/bin/ld.lld $ ld.lld --version LLD 10.0.1rc1 (compatible with GNU linkers) My goal is to use the official tarballs and the generated binaries should show me as a version-string "10.0.1rc1" (see above). In the past this was the case - but what is with today :-)? IMHO this is only possible with changing LLVM_VERSION_SUFFIX. But I may be wrong or missing something. - Sedat -> -Tom > > > First I added... > > > > --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 > > 21:16:37.000000000 +0200 > > +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 > > @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) > > set(LLVM_VERSION_PATCH 1) > > endif() > > if(NOT DEFINED LLVM_VERSION_SUFFIX) > > - set(LLVM_VERSION_SUFFIX "") > > + set(LLVM_VERSION_SUFFIX "rc1") > > endif() > > > > That lead to strange so-lib-names like *.so.10rc1 which is not wanted. > > > > I hacked around LLVM_VERSION_SUFFIX stuff. > > > > Here is the diff: > > > > diff -uprN llvm-project-10.0.1rc1/clang/CMakeLists.txt > > llvm-project/clang/CMakeLists.txt > > --- llvm-project-10.0.1rc1/clang/CMakeLists.txt 2020-05-19 > > 21:16:37.000000000 +0200 > > +++ llvm-project/clang/CMakeLists.txt 2020-05-20 18:36:57.621341162 +0200 > > @@ -358,8 +358,11 @@ endif() > > if(NOT DEFINED CLANG_VERSION_PATCHLEVEL) > > set(CLANG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) > > endif() > > -# Unlike PACKAGE_VERSION, CLANG_VERSION does not include LLVM_VERSION_SUFFIX. > > -set(CLANG_VERSION > > "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}") > > +if(NOT DEFINED CLANG_VERSION_SUFFIX) > > + set(CLANG_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) > > +endif() > > +# Explicitly include CLANG_VERSION_SUFFIX in CLANG_VERSION. > > +set(CLANG_VERSION > > "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}${CLANG_VERSION_SUFFIX}") > > message(STATUS "Clang version: ${CLANG_VERSION}") > > > > # Configure the Version.inc file. > > @@ -687,6 +690,7 @@ if (CLANG_ENABLE_BOOTSTRAP) > > CLANG_VERSION_MINOR > > CLANG_VERSION_PATCHLEVEL > > LLVM_VERSION_SUFFIX > > + CLANG_VERSION_SUFFIX > > LLVM_BINUTILS_INCDIR > > CLANG_REPOSITORY_STRING > > CMAKE_C_COMPILER_LAUNCHER > > Binärdateien llvm-project-10.0.1rc1/clang/test/Analysis/analyzer_test.pyc > > und llvm-project/clang/test/Analysis/analyzer_test.pyc sind > > verschieden. > > diff -uprN llvm-project-10.0.1rc1/lld/CMakeLists.txt > > llvm-project/lld/CMakeLists.txt > > --- llvm-project-10.0.1rc1/lld/CMakeLists.txt 2020-05-19 > > 21:16:37.000000000 +0200 > > +++ llvm-project/lld/CMakeLists.txt 2020-05-20 18:40:07.817924825 +0200 > > @@ -120,16 +120,23 @@ set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURC > > set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include ) > > set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) > > > > -# Compute the LLD version from the LLVM version. > > -string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLD_VERSION > > - ${PACKAGE_VERSION}) > > +# If LLD_VERSION_* is specified, use it, if not use LLVM_VERSION_*. > > +if(NOT DEFINED LLD_VERSION_MAJOR) > > + set(LLD_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) > > +endif() > > +if(NOT DEFINED LLD_VERSION_MINOR) > > + set(LLD_VERSION_MINOR ${LLVM_VERSION_MINOR}) > > +endif() > > +if(NOT DEFINED LLD_VERSION_PATCHLEVEL) > > + set(LLD_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) > > +endif() > > +if(NOT DEFINED LLD_VERSION_SUFFIX) > > + set(LLD_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) > > +endif() > > +# Explicitly include LLD_VERSION_SUFFIX in LLD_VERSION. > > +set(LLD_VERSION > > "${LLD_VERSION_MAJOR}.${LLD_VERSION_MINOR}.${LLD_VERSION_PATCHLEVEL}${LLD_VERSION_SUFFIX}") > > message(STATUS "LLD version: ${LLD_VERSION}") > > > > -string(REGEX REPLACE "([0-9]+)\\.[0-9]+(\\.[0-9]+)?" "\\1" LLD_VERSION_MAJOR > > - ${LLD_VERSION}) > > -string(REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" LLD_VERSION_MINOR > > - ${LLD_VERSION}) > > - > > # Determine LLD revision and repository. > > # TODO: Figure out a way to get the revision and the repository on windows. > > if ( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) > > diff -uprN llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake > > llvm-project/llvm/cmake/modules/AddLLVM.cmake > > --- llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake > > 2020-05-19 21:16:37.000000000 +0200 > > +++ llvm-project/llvm/cmake/modules/AddLLVM.cmake 2020-05-20 > > 18:29:09.272548995 +0200 > > @@ -544,8 +544,8 @@ function(llvm_add_library name) > > set_target_properties(${name} > > PROPERTIES > > # Since 4.0.0, the ABI version is indicated by the major version > > - SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} > > - VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) > > + SOVERSION ${LLVM_VERSION_MAJOR} > > + VERSION ${LLVM_VERSION_MAJOR}) > > endif() > > endif() > > > > @@ -567,7 +567,7 @@ function(llvm_add_library name) > > if(${output_name} STREQUAL "output_name-NOTFOUND") > > set(output_name ${name}) > > endif() > > - set(library_name > > ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) > > + set(library_name ${output_name}-${LLVM_VERSION_MAJOR}) > > set(api_name > > ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) > > set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) > > llvm_install_library_symlink(${api_name} ${library_name} SHARED > > diff -uprN llvm-project-10.0.1rc1/llvm/CMakeLists.txt > > llvm-project/llvm/CMakeLists.txt > > --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 > > 21:16:37.000000000 +0200 > > +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 > > @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) > > set(LLVM_VERSION_PATCH 1) > > endif() > > if(NOT DEFINED LLVM_VERSION_SUFFIX) > > - set(LLVM_VERSION_SUFFIX "") > > + set(LLVM_VERSION_SUFFIX "rc1") > > endif() > > > > if (NOT PACKAGE_VERSION) > > diff -uprN llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt > > llvm-project/llvm/tools/llvm-config/CMakeLists.txt > > --- llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt > > 2020-05-19 21:16:37.000000000 +0200 > > +++ llvm-project/llvm/tools/llvm-config/CMakeLists.txt 2020-05-20 > > 18:28:03.793999462 +0200 > > @@ -49,7 +49,7 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LL > > set(LLVM_CXXFLAGS > > "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} > > ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") > > set(LLVM_BUILD_SYSTEM cmake) > > set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) > > -set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") > > +set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}") > > set(LLVM_HAS_GLOBAL_ISEL "ON") > > > > # Use the C++ link flags, since they should be a superset of C link flags. > > - End Of DIFF - > > > > With this I now get: > > > > $ ./bin/clang-10 -v > > ClangBuiltLinux clang version 10.0.1rc1 > > Target: x86_64-unknown-linux-gnu > > Thread model: posix > > InstalledDir: /home/dileks/src/llvm-toolchain/build/stage1/./bin > > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 > > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 > > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 > > Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 > > Candidate multilib: .;@m64 > > Candidate multilib: 32;@m32 > > Candidate multilib: x32;@mx32 > > Selected multilib: .;@m64 > > > > $ ./bin/ld.lld -v > > LLD 10.0.1rc1 (compatible with GNU linkers) > > > > $ find ./ -name '*.so*' | sort > > ./lib/BugpointPasses.so > > ./lib/libclang-cpp.so > > ./lib/libclang-cpp.so.10 > > ./lib/libclang.so > > ./lib/libclang.so.10 > > ./lib/libLTO.so > > ./lib/libLTO.so.10 > > ./lib/libRemarks.so > > ./lib/libRemarks.so.10 > > ./lib/LLVMgold.so > > ./lib/LLVMHello.so > > > > Looks that sane to you? > > > > Regards, > > - Sedat - > > > > [1] https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1-rc1/llvm-project-10.0.1rc1.tar.xz > > > > > >> -Tom > >> > >>> BTW, the source zip and tar.gz tarballs show no sizes. > >>> I am using Mobile LTE/UMTS to download stuff from the Internet. > >>> > >>> For now I used the "llvmorg-10.0.1-rc1" Git tag to build my > >>> llvm-toolchain on Debian/testin8g AMD64. > >>> > >>> Thanks. > >>> > >>> Regards, > >>> - Sedat - > >>> > >>> [1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1-rc1 > >>> > >> >
Neil Nelson via llvm-dev
2020-May-21 07:24 UTC
[llvm-dev] 10.0.1-rc1 release has been tagged
Sedat, For building the release according to the subject line of this email on Xubuntu Linux I use cd ~/Documents/llvm-project/llvm/utils/release ./test-release.sh \ -release 10.0.1 \ -rc 1 \ -test-asserts \ -no-compare-files \ -triple x86_64-pc-linux-gnu \ -configure-flags "-DLLVM_ENABLE_LIBPFM=OFF -DRUN_HAVE_GNU_POSIX_REGEX=0 -DRUN_HAVE_THREAD_SAFETY_ATTRIBUTES=0" \ &> ~/Documents/test-release.sh.log Looks like your triple is /x86_64-unknown-linux-gnu/ that I have seen on several release notification emails. The configure-flags may or may not work for you. The disk usage is just under 90 gigabytes on a dedicated GUI VM for this purpose. Built and installed the latest clang-llvm before the release run. From the release directory, cd to rc1/logs. The primary log is testing.10.0.1-rc1.log. deferred_errors.log may also be useful. Use grep -n 'Expected Passes' testing.10.0.1-rc1.log to see where all the pass summaries are with their line numbers. Use sed -n line-number-begin,line-number-endp testing.10.0.1-rc1.log as in sed -n 187562,187582p testing.10.0.1-rc1.log to see the full counts list. Use grep -n 'Unexpected Failures' testing.10.0.1-rc1.log to see sections that need a closer look. Those sections will have 'fail' in them to check out and possibly report. Go up a directory to rc1. sha256sum clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz Copy the sha256sum hex value in the notification email to the list. Upload the xz file using scp -i ~/.ssh/id_rsa_llvm.pub clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz testers at releases-origin.llvm.org:/home/testers after providing your public key to llvm. Need to find out who to email the public key to. Neil Nelson On 5/20/20 10:35 PM, Sedat Dilek via llvm-dev wrote:> On Wed, May 20, 2020 at 11:12 PM Tom Stellard <tstellar at redhat.com> wrote: >> On 05/20/2020 09:53 AM, Sedat Dilek wrote: >>> On Wed, May 20, 2020 at 5:06 PM Tom Stellard <tstellar at redhat.com> wrote: >>>> On 05/19/2020 09:05 PM, Sedat Dilek wrote: >>>>> Hi Tom, >>>>> >>>>> thanks and congrats for LLVM 10.0.1-rc1 release. >>>>> >>>>> [1] shows 2 assets. >>>>> 10.0.0 RCs had a lot of more assets. >>>>> I am missing the llvm-project-10.0.1rc1.tar.xz tarball. >>>>> >>>>> Will you provide them later or is there a new development/workflow >>>>> decision I do not know of? >>>>> >>>> I've uploaded all the tarballs now. >>>> >>> I have build from the below tarball. >>> >>> But the version-strings look odd. >>> >> You shouldn't have to make any changes to the source, did you >> try running the test-release.sh script? >> > I tried... > > $ ./llvm/utils/release/test-release.sh -release 10.0.1 -rc 1 -triple > x86_64-linux-gnu > # Using git ref: llvmorg-10.0.1-rc1 > % Total % Received % Xferd Average Speed Time Time Time Current > Dload Upload Total Spent Left Speed > 100 137 100 137 0 0 345 0 --:--:-- --:--:-- --:--:-- 345 > 100 25.7M 0 25.7M 0 0 2263k 0 --:--:-- 0:00:11 --:--:-- 2530k^C > > I have already built from this git-ref "llvmorg-10.0.1-rc1" successfully. > > $ which clang-10 > /home/dileks/src/llvm-toolchain/install/bin/clang-10 > > $ clang-10 --version > ClangBuiltLinux clang version 10.0.1 > (https://github.com/llvm/llvm-project > f79cd71e145c6fd005ba4dd1238128dfa0dc2cb6) > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/dileks/src/llvm-toolchain/install/bin > > BTW, I use tc-build script from ClangBuiltLinux to build my > llvm-toolchain consisting of projects "clang" and "lld". > > LINK: https://github.com/ClangBuiltLinux/tc-build > > With my modifications: > > dileks at iniza:~/src/llvm-toolchain$ ln -sf install.dileks install > > $ which clang-10 > /home/dileks/src/llvm-toolchain/install/bin/clang-10 > > $ clang-10 --version > ClangBuiltLinux clang version 10.0.1rc1 > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/dileks/src/llvm-toolchain/install/bin > > $ which ld.lld > /home/dileks/src/llvm-toolchain/install/bin/ld.lld > > $ ld.lld --version > LLD 10.0.1rc1 (compatible with GNU linkers) > > My goal is to use the official tarballs and the generated binaries > should show me as a version-string "10.0.1rc1" (see above). > In the past this was the case - but what is with today :-)? > > IMHO this is only possible with changing LLVM_VERSION_SUFFIX. > But I may be wrong or missing something. > > - Sedat - > >> -Tom >> >>> First I added... >>> >>> --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 >>> 21:16:37.000000000 +0200 >>> +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 >>> @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) >>> set(LLVM_VERSION_PATCH 1) >>> endif() >>> if(NOT DEFINED LLVM_VERSION_SUFFIX) >>> - set(LLVM_VERSION_SUFFIX "") >>> + set(LLVM_VERSION_SUFFIX "rc1") >>> endif() >>> >>> That lead to strange so-lib-names like *.so.10rc1 which is not wanted. >>> >>> I hacked around LLVM_VERSION_SUFFIX stuff. >>> >>> Here is the diff: >>> >>> diff -uprN llvm-project-10.0.1rc1/clang/CMakeLists.txt >>> llvm-project/clang/CMakeLists.txt >>> --- llvm-project-10.0.1rc1/clang/CMakeLists.txt 2020-05-19 >>> 21:16:37.000000000 +0200 >>> +++ llvm-project/clang/CMakeLists.txt 2020-05-20 18:36:57.621341162 +0200 >>> @@ -358,8 +358,11 @@ endif() >>> if(NOT DEFINED CLANG_VERSION_PATCHLEVEL) >>> set(CLANG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) >>> endif() >>> -# Unlike PACKAGE_VERSION, CLANG_VERSION does not include LLVM_VERSION_SUFFIX. >>> -set(CLANG_VERSION >>> "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}") >>> +if(NOT DEFINED CLANG_VERSION_SUFFIX) >>> + set(CLANG_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) >>> +endif() >>> +# Explicitly include CLANG_VERSION_SUFFIX in CLANG_VERSION. >>> +set(CLANG_VERSION >>> "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}${CLANG_VERSION_SUFFIX}") >>> message(STATUS "Clang version: ${CLANG_VERSION}") >>> >>> # Configure the Version.inc file. >>> @@ -687,6 +690,7 @@ if (CLANG_ENABLE_BOOTSTRAP) >>> CLANG_VERSION_MINOR >>> CLANG_VERSION_PATCHLEVEL >>> LLVM_VERSION_SUFFIX >>> + CLANG_VERSION_SUFFIX >>> LLVM_BINUTILS_INCDIR >>> CLANG_REPOSITORY_STRING >>> CMAKE_C_COMPILER_LAUNCHER >>> Binärdateien llvm-project-10.0.1rc1/clang/test/Analysis/analyzer_test.pyc >>> und llvm-project/clang/test/Analysis/analyzer_test.pyc sind >>> verschieden. >>> diff -uprN llvm-project-10.0.1rc1/lld/CMakeLists.txt >>> llvm-project/lld/CMakeLists.txt >>> --- llvm-project-10.0.1rc1/lld/CMakeLists.txt 2020-05-19 >>> 21:16:37.000000000 +0200 >>> +++ llvm-project/lld/CMakeLists.txt 2020-05-20 18:40:07.817924825 +0200 >>> @@ -120,16 +120,23 @@ set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURC >>> set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include ) >>> set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) >>> >>> -# Compute the LLD version from the LLVM version. >>> -string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLD_VERSION >>> - ${PACKAGE_VERSION}) >>> +# If LLD_VERSION_* is specified, use it, if not use LLVM_VERSION_*. >>> +if(NOT DEFINED LLD_VERSION_MAJOR) >>> + set(LLD_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) >>> +endif() >>> +if(NOT DEFINED LLD_VERSION_MINOR) >>> + set(LLD_VERSION_MINOR ${LLVM_VERSION_MINOR}) >>> +endif() >>> +if(NOT DEFINED LLD_VERSION_PATCHLEVEL) >>> + set(LLD_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) >>> +endif() >>> +if(NOT DEFINED LLD_VERSION_SUFFIX) >>> + set(LLD_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) >>> +endif() >>> +# Explicitly include LLD_VERSION_SUFFIX in LLD_VERSION. >>> +set(LLD_VERSION >>> "${LLD_VERSION_MAJOR}.${LLD_VERSION_MINOR}.${LLD_VERSION_PATCHLEVEL}${LLD_VERSION_SUFFIX}") >>> message(STATUS "LLD version: ${LLD_VERSION}") >>> >>> -string(REGEX REPLACE "([0-9]+)\\.[0-9]+(\\.[0-9]+)?" "\\1" LLD_VERSION_MAJOR >>> - ${LLD_VERSION}) >>> -string(REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" LLD_VERSION_MINOR >>> - ${LLD_VERSION}) >>> - >>> # Determine LLD revision and repository. >>> # TODO: Figure out a way to get the revision and the repository on windows. >>> if ( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) >>> diff -uprN llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake >>> llvm-project/llvm/cmake/modules/AddLLVM.cmake >>> --- llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake >>> 2020-05-19 21:16:37.000000000 +0200 >>> +++ llvm-project/llvm/cmake/modules/AddLLVM.cmake 2020-05-20 >>> 18:29:09.272548995 +0200 >>> @@ -544,8 +544,8 @@ function(llvm_add_library name) >>> set_target_properties(${name} >>> PROPERTIES >>> # Since 4.0.0, the ABI version is indicated by the major version >>> - SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} >>> - VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) >>> + SOVERSION ${LLVM_VERSION_MAJOR} >>> + VERSION ${LLVM_VERSION_MAJOR}) >>> endif() >>> endif() >>> >>> @@ -567,7 +567,7 @@ function(llvm_add_library name) >>> if(${output_name} STREQUAL "output_name-NOTFOUND") >>> set(output_name ${name}) >>> endif() >>> - set(library_name >>> ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) >>> + set(library_name ${output_name}-${LLVM_VERSION_MAJOR}) >>> set(api_name >>> ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) >>> set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) >>> llvm_install_library_symlink(${api_name} ${library_name} SHARED >>> diff -uprN llvm-project-10.0.1rc1/llvm/CMakeLists.txt >>> llvm-project/llvm/CMakeLists.txt >>> --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 >>> 21:16:37.000000000 +0200 >>> +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 >>> @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) >>> set(LLVM_VERSION_PATCH 1) >>> endif() >>> if(NOT DEFINED LLVM_VERSION_SUFFIX) >>> - set(LLVM_VERSION_SUFFIX "") >>> + set(LLVM_VERSION_SUFFIX "rc1") >>> endif() >>> >>> if (NOT PACKAGE_VERSION) >>> diff -uprN llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt >>> llvm-project/llvm/tools/llvm-config/CMakeLists.txt >>> --- llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt >>> 2020-05-19 21:16:37.000000000 +0200 >>> +++ llvm-project/llvm/tools/llvm-config/CMakeLists.txt 2020-05-20 >>> 18:28:03.793999462 +0200 >>> @@ -49,7 +49,7 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LL >>> set(LLVM_CXXFLAGS >>> "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} >>> ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") >>> set(LLVM_BUILD_SYSTEM cmake) >>> set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) >>> -set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") >>> +set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}") >>> set(LLVM_HAS_GLOBAL_ISEL "ON") >>> >>> # Use the C++ link flags, since they should be a superset of C link flags. >>> - End Of DIFF - >>> >>> With this I now get: >>> >>> $ ./bin/clang-10 -v >>> ClangBuiltLinux clang version 10.0.1rc1 >>> Target: x86_64-unknown-linux-gnu >>> Thread model: posix >>> InstalledDir: /home/dileks/src/llvm-toolchain/build/stage1/./bin >>> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 >>> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 >>> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 >>> Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 >>> Candidate multilib: .;@m64 >>> Candidate multilib: 32;@m32 >>> Candidate multilib: x32;@mx32 >>> Selected multilib: .;@m64 >>> >>> $ ./bin/ld.lld -v >>> LLD 10.0.1rc1 (compatible with GNU linkers) >>> >>> $ find ./ -name '*.so*' | sort >>> ./lib/BugpointPasses.so >>> ./lib/libclang-cpp.so >>> ./lib/libclang-cpp.so.10 >>> ./lib/libclang.so >>> ./lib/libclang.so.10 >>> ./lib/libLTO.so >>> ./lib/libLTO.so.10 >>> ./lib/libRemarks.so >>> ./lib/libRemarks.so.10 >>> ./lib/LLVMgold.so >>> ./lib/LLVMHello.so >>> >>> Looks that sane to you? >>> >>> Regards, >>> - Sedat - >>> >>> [1] https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1-rc1/llvm-project-10.0.1rc1.tar.xz >>> >>> >>>> -Tom >>>> >>>>> BTW, the source zip and tar.gz tarballs show no sizes. >>>>> I am using Mobile LTE/UMTS to download stuff from the Internet. >>>>> >>>>> For now I used the "llvmorg-10.0.1-rc1" Git tag to build my >>>>> llvm-toolchain on Debian/testin8g AMD64. >>>>> >>>>> Thanks. >>>>> >>>>> Regards, >>>>> - Sedat - >>>>> >>>>> [1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1-rc1 >>>>> > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200521/8bcf1596/attachment.html>
Sedat Dilek via llvm-dev
2020-May-21 08:22 UTC
[llvm-dev] 10.0.1-rc1 release has been tagged
On Thu, May 21, 2020 at 9:24 AM Neil Nelson <nnelson at infowest.com> wrote:>Hi Neal,> Sedat, For building the release according to the subject line of this email on Xubuntu Linux I use > > cd ~/Documents/llvm-project/llvm/utils/release > > ./test-release.sh \ > -release 10.0.1 \ > -rc 1 \ > -test-asserts \ > -no-compare-files \ > -triple x86_64-pc-linux-gnu \ > -configure-flags "-DLLVM_ENABLE_LIBPFM=OFF -DRUN_HAVE_GNU_POSIX_REGEX=0 -DRUN_HAVE_THREAD_SAFETY_ATTRIBUTES=0" \ > &> ~/Documents/test-release.sh.log > > Looks like your triple is x86_64-unknown-linux-gnu that I have seen on several release notification emails. The configure-flags may or may not work for you. >Thanks. I opened a new tc-build issue for this. https://github.com/ClangBuiltLinux/tc-build/issues/92> The disk usage is just under 90 gigabytes on a dedicated GUI VM for this purpose. Built and installed the latest clang-llvm before the release run. > > From the release directory, cd to rc1/logs. The primary log is testing.10.0.1-rc1.log. deferred_errors.log > may also be useful. > > Use grep -n 'Expected Passes' testing.10.0.1-rc1.log to see where all the pass summaries are with their line numbers. > > Use sed -n line-number-begin,line-number-endp testing.10.0.1-rc1.log as in sed -n 187562,187582p testing.10.0.1-rc1.log to see the full counts list. > > Use grep -n 'Unexpected Failures' testing.10.0.1-rc1.log to see sections that need a closer look. Those sections will have 'fail' in them to check out and possibly report. > > Go up a directory to rc1. > > sha256sum clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz > > Copy the sha256sum hex value in the notification email to the list. > > Upload the xz file using > > scp -i ~/.ssh/id_rsa_llvm.pub clang+llvm-10.0.0-rc6-x86_64-pc-linux-gnu.tar.xz testers at releases-origin.llvm.org:/home/testers > > after providing your public key to llvm. Need to find out who to email the public key to. >Thanks for explaining the usage of test-release.sh script. I am primarily interested in understanding the handling of version-strings and will write a separate email for this. - Sedat -> Neil Nelson > > On 5/20/20 10:35 PM, Sedat Dilek via llvm-dev wrote: > > On Wed, May 20, 2020 at 11:12 PM Tom Stellard <tstellar at redhat.com> wrote: > > On 05/20/2020 09:53 AM, Sedat Dilek wrote: > > On Wed, May 20, 2020 at 5:06 PM Tom Stellard <tstellar at redhat.com> wrote: > > On 05/19/2020 09:05 PM, Sedat Dilek wrote: > > Hi Tom, > > thanks and congrats for LLVM 10.0.1-rc1 release. > > [1] shows 2 assets. > 10.0.0 RCs had a lot of more assets. > I am missing the llvm-project-10.0.1rc1.tar.xz tarball. > > Will you provide them later or is there a new development/workflow > decision I do not know of? > > I've uploaded all the tarballs now. > > I have build from the below tarball. > > But the version-strings look odd. > > You shouldn't have to make any changes to the source, did you > try running the test-release.sh script? > > I tried... > > $ ./llvm/utils/release/test-release.sh -release 10.0.1 -rc 1 -triple > x86_64-linux-gnu > # Using git ref: llvmorg-10.0.1-rc1 > % Total % Received % Xferd Average Speed Time Time Time Current > Dload Upload Total Spent Left Speed > 100 137 100 137 0 0 345 0 --:--:-- --:--:-- --:--:-- 345 > 100 25.7M 0 25.7M 0 0 2263k 0 --:--:-- 0:00:11 --:--:-- 2530k^C > > I have already built from this git-ref "llvmorg-10.0.1-rc1" successfully. > > $ which clang-10 > /home/dileks/src/llvm-toolchain/install/bin/clang-10 > > $ clang-10 --version > ClangBuiltLinux clang version 10.0.1 > (https://github.com/llvm/llvm-project > f79cd71e145c6fd005ba4dd1238128dfa0dc2cb6) > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/dileks/src/llvm-toolchain/install/bin > > BTW, I use tc-build script from ClangBuiltLinux to build my > llvm-toolchain consisting of projects "clang" and "lld". > > LINK: https://github.com/ClangBuiltLinux/tc-build > > With my modifications: > > dileks at iniza:~/src/llvm-toolchain$ ln -sf install.dileks install > > $ which clang-10 > /home/dileks/src/llvm-toolchain/install/bin/clang-10 > > $ clang-10 --version > ClangBuiltLinux clang version 10.0.1rc1 > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/dileks/src/llvm-toolchain/install/bin > > $ which ld.lld > /home/dileks/src/llvm-toolchain/install/bin/ld.lld > > $ ld.lld --version > LLD 10.0.1rc1 (compatible with GNU linkers) > > My goal is to use the official tarballs and the generated binaries > should show me as a version-string "10.0.1rc1" (see above). > In the past this was the case - but what is with today :-)? > > IMHO this is only possible with changing LLVM_VERSION_SUFFIX. > But I may be wrong or missing something. > > - Sedat - > > -Tom > > First I added... > > --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 > 21:16:37.000000000 +0200 > +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 > @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) > set(LLVM_VERSION_PATCH 1) > endif() > if(NOT DEFINED LLVM_VERSION_SUFFIX) > - set(LLVM_VERSION_SUFFIX "") > + set(LLVM_VERSION_SUFFIX "rc1") > endif() > > That lead to strange so-lib-names like *.so.10rc1 which is not wanted. > > I hacked around LLVM_VERSION_SUFFIX stuff. > > Here is the diff: > > diff -uprN llvm-project-10.0.1rc1/clang/CMakeLists.txt > llvm-project/clang/CMakeLists.txt > --- llvm-project-10.0.1rc1/clang/CMakeLists.txt 2020-05-19 > 21:16:37.000000000 +0200 > +++ llvm-project/clang/CMakeLists.txt 2020-05-20 18:36:57.621341162 +0200 > @@ -358,8 +358,11 @@ endif() > if(NOT DEFINED CLANG_VERSION_PATCHLEVEL) > set(CLANG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) > endif() > -# Unlike PACKAGE_VERSION, CLANG_VERSION does not include LLVM_VERSION_SUFFIX. > -set(CLANG_VERSION > "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}") > +if(NOT DEFINED CLANG_VERSION_SUFFIX) > + set(CLANG_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) > +endif() > +# Explicitly include CLANG_VERSION_SUFFIX in CLANG_VERSION. > +set(CLANG_VERSION > "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}.${CLANG_VERSION_PATCHLEVEL}${CLANG_VERSION_SUFFIX}") > message(STATUS "Clang version: ${CLANG_VERSION}") > > # Configure the Version.inc file. > @@ -687,6 +690,7 @@ if (CLANG_ENABLE_BOOTSTRAP) > CLANG_VERSION_MINOR > CLANG_VERSION_PATCHLEVEL > LLVM_VERSION_SUFFIX > + CLANG_VERSION_SUFFIX > LLVM_BINUTILS_INCDIR > CLANG_REPOSITORY_STRING > CMAKE_C_COMPILER_LAUNCHER > Binärdateien llvm-project-10.0.1rc1/clang/test/Analysis/analyzer_test.pyc > und llvm-project/clang/test/Analysis/analyzer_test.pyc sind > verschieden. > diff -uprN llvm-project-10.0.1rc1/lld/CMakeLists.txt > llvm-project/lld/CMakeLists.txt > --- llvm-project-10.0.1rc1/lld/CMakeLists.txt 2020-05-19 > 21:16:37.000000000 +0200 > +++ llvm-project/lld/CMakeLists.txt 2020-05-20 18:40:07.817924825 +0200 > @@ -120,16 +120,23 @@ set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURC > set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include ) > set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) > > -# Compute the LLD version from the LLVM version. > -string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLD_VERSION > - ${PACKAGE_VERSION}) > +# If LLD_VERSION_* is specified, use it, if not use LLVM_VERSION_*. > +if(NOT DEFINED LLD_VERSION_MAJOR) > + set(LLD_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) > +endif() > +if(NOT DEFINED LLD_VERSION_MINOR) > + set(LLD_VERSION_MINOR ${LLVM_VERSION_MINOR}) > +endif() > +if(NOT DEFINED LLD_VERSION_PATCHLEVEL) > + set(LLD_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) > +endif() > +if(NOT DEFINED LLD_VERSION_SUFFIX) > + set(LLD_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) > +endif() > +# Explicitly include LLD_VERSION_SUFFIX in LLD_VERSION. > +set(LLD_VERSION > "${LLD_VERSION_MAJOR}.${LLD_VERSION_MINOR}.${LLD_VERSION_PATCHLEVEL}${LLD_VERSION_SUFFIX}") > message(STATUS "LLD version: ${LLD_VERSION}") > > -string(REGEX REPLACE "([0-9]+)\\.[0-9]+(\\.[0-9]+)?" "\\1" LLD_VERSION_MAJOR > - ${LLD_VERSION}) > -string(REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" LLD_VERSION_MINOR > - ${LLD_VERSION}) > - > # Determine LLD revision and repository. > # TODO: Figure out a way to get the revision and the repository on windows. > if ( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) > diff -uprN llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake > llvm-project/llvm/cmake/modules/AddLLVM.cmake > --- llvm-project-10.0.1rc1/llvm/cmake/modules/AddLLVM.cmake > 2020-05-19 21:16:37.000000000 +0200 > +++ llvm-project/llvm/cmake/modules/AddLLVM.cmake 2020-05-20 > 18:29:09.272548995 +0200 > @@ -544,8 +544,8 @@ function(llvm_add_library name) > set_target_properties(${name} > PROPERTIES > # Since 4.0.0, the ABI version is indicated by the major version > - SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} > - VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) > + SOVERSION ${LLVM_VERSION_MAJOR} > + VERSION ${LLVM_VERSION_MAJOR}) > endif() > endif() > > @@ -567,7 +567,7 @@ function(llvm_add_library name) > if(${output_name} STREQUAL "output_name-NOTFOUND") > set(output_name ${name}) > endif() > - set(library_name > ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) > + set(library_name ${output_name}-${LLVM_VERSION_MAJOR}) > set(api_name > ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) > set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) > llvm_install_library_symlink(${api_name} ${library_name} SHARED > diff -uprN llvm-project-10.0.1rc1/llvm/CMakeLists.txt > llvm-project/llvm/CMakeLists.txt > --- llvm-project-10.0.1rc1/llvm/CMakeLists.txt 2020-05-19 > 21:16:37.000000000 +0200 > +++ llvm-project/llvm/CMakeLists.txt 2020-05-20 18:02:42.443960091 +0200 > @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) > set(LLVM_VERSION_PATCH 1) > endif() > if(NOT DEFINED LLVM_VERSION_SUFFIX) > - set(LLVM_VERSION_SUFFIX "") > + set(LLVM_VERSION_SUFFIX "rc1") > endif() > > if (NOT PACKAGE_VERSION) > diff -uprN llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt > llvm-project/llvm/tools/llvm-config/CMakeLists.txt > --- llvm-project-10.0.1rc1/llvm/tools/llvm-config/CMakeLists.txt > 2020-05-19 21:16:37.000000000 +0200 > +++ llvm-project/llvm/tools/llvm-config/CMakeLists.txt 2020-05-20 > 18:28:03.793999462 +0200 > @@ -49,7 +49,7 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LL > set(LLVM_CXXFLAGS > "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} > ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") > set(LLVM_BUILD_SYSTEM cmake) > set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) > -set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") > +set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}") > set(LLVM_HAS_GLOBAL_ISEL "ON") > > # Use the C++ link flags, since they should be a superset of C link flags. > - End Of DIFF - > > With this I now get: > > $ ./bin/clang-10 -v > ClangBuiltLinux clang version 10.0.1rc1 > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/dileks/src/llvm-toolchain/build/stage1/./bin > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 > Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 > Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 > Candidate multilib: .;@m64 > Candidate multilib: 32;@m32 > Candidate multilib: x32;@mx32 > Selected multilib: .;@m64 > > $ ./bin/ld.lld -v > LLD 10.0.1rc1 (compatible with GNU linkers) > > $ find ./ -name '*.so*' | sort > ./lib/BugpointPasses.so > ./lib/libclang-cpp.so > ./lib/libclang-cpp.so.10 > ./lib/libclang.so > ./lib/libclang.so.10 > ./lib/libLTO.so > ./lib/libLTO.so.10 > ./lib/libRemarks.so > ./lib/libRemarks.so.10 > ./lib/LLVMgold.so > ./lib/LLVMHello.so > > Looks that sane to you? > > Regards, > - Sedat - > > [1] https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1-rc1/llvm-project-10.0.1rc1.tar.xz > > > -Tom > > BTW, the source zip and tar.gz tarballs show no sizes. > I am using Mobile LTE/UMTS to download stuff from the Internet. > > For now I used the "llvmorg-10.0.1-rc1" Git tag to build my > llvm-toolchain on Debian/testin8g AMD64. > > Thanks. > > Regards, > - Sedat - > > [1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-10.0.1-rc1 > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev