Merge branch 'snapshot' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into snapshot

This commit is contained in:
Sylvestre Ledru 2018-12-14 10:15:27 +01:00
commit 3e7f19d99c
4 changed files with 49 additions and 32 deletions

19
debian/changelog vendored
View File

@ -1,3 +1,10 @@
llvm-toolchain-snapshot (1:8~svn348749-1~exp1) experimental; urgency=medium
* New snapshot release
* Merge changes from 7 into snapshot
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 10 Dec 2018 10:56:16 +0100
llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium
* New snapshot release * New snapshot release
@ -30,12 +37,22 @@ llvm-toolchain-snapshot (1:8~svn345569-1~exp1) experimental; urgency=medium
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 30 Oct 2018 08:31:14 +0100 -- Sylvestre Ledru <sylvestre@debian.org> Tue, 30 Oct 2018 08:31:14 +0100
llvm-toolchain-7 (1:7.0.1~+rc3-2) UNRELEASED; urgency=medium llvm-toolchain-7 (1:7.0.1~+rc3-2) unstable; urgency=medium
* Fix llvm-config by stripping unnecessary flags * Fix llvm-config by stripping unnecessary flags
See also https://bugs.llvm.org/show_bug.cgi?id=8220 See also https://bugs.llvm.org/show_bug.cgi?id=8220
(Closes: #697755, #914838) (Closes: #697755, #914838)
* Try to workaround the debug issues by adding -fno-addrsig to the *FLAGS
One more time, thanks to Rebecca Palmer (Closes: #913946)
The goal is to provide correct debug packages.
Workaround https://sourceware.org/bugzilla/show_bug.cgi?id=23788
* Force the chmod +x on llvm-X/bin/* because it was sometimes removed
by the strip process
* Force the link to atomic also for i386 as it fails on Debian jessie too
* Improved the debian/patches/series presentation by creating categories * Improved the debian/patches/series presentation by creating categories
* Improve the separation between *FLAGS for gcc and clang.
This is done for -fno-addrsig as it doesn't exit for gcc
This can be done with the BOOTSTRAP_CMAKE_CXX_FLAGS option
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 10 Dec 2018 03:49:59 -0500 -- Sylvestre Ledru <sylvestre@debian.org> Mon, 10 Dec 2018 03:49:59 -0500

View File

@ -87,15 +87,6 @@ Index: llvm-toolchain-snapshot_8~svn348749/lib/Target/PowerPC/PPCISelLowering.cp
} }
} }
@@ -9703,6 +9745,8 @@ void PPCTargetLowering::ReplaceNodeResul
case ISD::BITCAST:
// Don't handle bitcast here.
return;
+ case ISD::BITCAST:
+ return;
}
}
Index: llvm-toolchain-snapshot_8~svn348749/lib/Target/PowerPC/PPCISelLowering.h Index: llvm-toolchain-snapshot_8~svn348749/lib/Target/PowerPC/PPCISelLowering.h
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_8~svn348749.orig/lib/Target/PowerPC/PPCISelLowering.h --- llvm-toolchain-snapshot_8~svn348749.orig/lib/Target/PowerPC/PPCISelLowering.h

View File

@ -28,6 +28,11 @@ if test ! -f /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so; then
fi fi
llvm-config-$VERSION --link-shared --libs &> /dev/null llvm-config-$VERSION --link-shared --libs &> /dev/null
if llvm-config-$VERSION --cxxflags | grep " \-W"; then
echo "llvm-config should not export -W warnings"
exit 1
fi
echo '#include <stdlib.h> echo '#include <stdlib.h>
int main() { int main() {
char *x = (char*)malloc(10 * sizeof(char*)); char *x = (char*)malloc(10 * sizeof(char*));

48
debian/rules vendored
View File

@ -47,7 +47,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
LIBCXX_EXCEPTIONS :=OFF LIBCXX_EXCEPTIONS :=OFF
endif endif
ifneq (,$(filter $(DEB_HOST_ARCH),armel mips mipsel powerpc powerpcspe riscv64)) ifneq (,$(filter $(DEB_HOST_ARCH),i386 armel mips mipsel powerpc powerpcspe riscv64))
CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic" CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
endif endif
@ -123,10 +123,24 @@ ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
endif endif
endif endif
CODECOVERAGE=no
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
# enable the code coverage
CODECOVERAGE=yes
# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html
CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
LDFLAGS_EXTRA += -coverage -lgcov
RUN_TEST=yes
# OpenMP doesn't respect LDFLAGS
CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg
endif
# Enable for bootstrap # Enable for bootstrap
LDFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option LDFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
CXXFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option CXXFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
CFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option BOOTSTRAP_CXXFLAGS_EXTRA = $(CXXFLAGS_EXTRA) -fno-addrsig
CFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
BOOTSTRAP_CFLAGS_EXTRA = $(CFLAGS_EXTRA) -fno-addrsig
# Enable polly (or not) # Enable polly (or not)
POLLY_ENABLE=yes POLLY_ENABLE=yes
@ -145,18 +159,6 @@ ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
RUN_TEST=no RUN_TEST=no
endif endif
CODECOVERAGE=no
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
# enable the code coverage
CODECOVERAGE=yes
# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html
CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
LDFLAGS_EXTRA += -coverage -lgcov
RUN_TEST=yes
# OpenMP doesn't respect LDFLAGS
CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg
endif
ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS))) ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS)))
# enable the build using scan-build # enable the build using scan-build
# The package are installed through the variable declarations: # The package are installed through the variable declarations:
@ -348,8 +350,8 @@ override_dh_auto_configure: preconfigure
-DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
-DCMAKE_CXX_FLAGS='$(CXXFLAGS_EXTRA)' \ -DBOOTSTRAP_CMAKE_CXX_FLAGS='$(BOOTSTRAP_CXXFLAGS_EXTRA)' \
-DCMAKE_C_FLAGS='$(CFLAGS_EXTRA)' \ -DBOOTSTRAP_CMAKE_C_FLAGS='$(BOOTSTRAP_CFLAGS_EXTRA)' \
-DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_INSTALL_UTILS=ON \ -DLLVM_INSTALL_UTILS=ON \
-DLLVM_VERSION_SUFFIX= \ -DLLVM_VERSION_SUFFIX= \
@ -364,7 +366,7 @@ override_dh_auto_configure: preconfigure
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="WebAssembly;AVR" \ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="WebAssembly;AVR" \
-DCLANG_ENABLE_BOOTSTRAP=ON \ -DCLANG_ENABLE_BOOTSTRAP=ON \
-DCLANG_VENDOR=$(VENDOR) \ -DCLANG_VENDOR=$(VENDOR) \
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;CMAKE_CXX_FLAGS;CMAKE_C_FLAGS;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS" -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS"
# make # make
@ -373,7 +375,7 @@ VERBOSE=VERBOSE=1
#VERBOSE=-v #VERBOSE=-v
debian-full-build: debian-full-build:
$(PRE_PROCESS) make $(NJOBS) -C $(TARGET_BUILD) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 $(BUILD_METHOD) $(PRE_PROCESS) make $(NJOBS) -C $(TARGET_BUILD) $(VERBOSE) CFLAGS="$(CFLAGS_EXTRA)" CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 $(BUILD_METHOD)
# Check the stage 2 build worked # Check the stage 2 build worked
if test "$(BUILD_METHOD)" = "stage2"; then \ if test "$(BUILD_METHOD)" = "stage2"; then \
@ -447,7 +449,7 @@ debian-libcxxabi-build:
cd libcxx/build && \ cd libcxx/build && \
$(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \ $(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \
$(LIBCXX_CMAKE_OPTIONS) \ $(LIBCXX_CMAKE_OPTIONS) \
-DLIBCXX_CXX_ABI=libcxxabi \ -DLIBCXX_CXX_ABI=libcxxabi \
-DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \
-DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \
-DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ -DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
@ -708,6 +710,8 @@ else
endif endif
: # Remove the workaround : # Remove the workaround
rm $(CURDIR)/strip rm $(CURDIR)/strip
: # for some reasons, the +x might be removed
chmod -f +x $(CURDIR)/debian/*/usr/lib/llvm-$(LLVM_VERSION)/bin/* || true
override_dh_install: override_dh_install:
# cp $(TARGET_BUILD)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) # cp $(TARGET_BUILD)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT)
@ -794,7 +798,7 @@ endif
# polly tests # polly tests
if test "$(POLLY_ENABLE)" = yes; then \ if test "$(POLLY_ENABLE)" = yes; then \
cd $(TARGET_BUILD)/ && LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(MAKE) -C tools/polly/test/ check-polly || true; \ cd $(TARGET_BUILD)/ && LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(MAKE) -C tools/polly/test/ check-polly || true; \
fi fi
# The compression of the code coverage report is done in the # The compression of the code coverage report is done in the
# hook B21GetCoverageResults on the server # hook B21GetCoverageResults on the server