Hello community, here is the log from the commit of package llvm for openSUSE:Factory checked in at 2012-12-05 13:59:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm (Old) and /work/SRC/openSUSE:Factory/.llvm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm", Maintainer is "orpha...@suse.de" Changes: -------- --- /work/SRC/openSUSE:Factory/llvm/llvm.changes 2012-11-22 16:45:51.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.llvm.new/llvm.changes 2012-12-05 13:59:18.000000000 +0100 @@ -1,0 +2,19 @@ +Tue Dec 4 13:15:12 UTC 2012 - guilla...@opensuse.org + +- Fix ARM build + +------------------------------------------------------------------- +Mon Dec 3 13:32:14 UTC 2012 - schue...@gmx.net + +- Fix llvm-config --libdir to return /usr/lib64 where appropriate. + The old method of using sed on the executable does no longer + work, because llvm-config is now a binary. + +------------------------------------------------------------------- +Fri Nov 30 07:27:46 UTC 2012 - idon...@suse.com + +- Update to r168987 from release_32 branch + * Crash fixes + * Miscompilation fixes + +------------------------------------------------------------------- Old: ---- llvm-3.1.99.r168357.tar.bz2 New: ---- arm_suse_support.diff disable_neon_in_armv7.diff llvm-3.1.99.r168987.tar.bz2 llvm-config-lib64.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm.spec ++++++ --- /var/tmp/diff_new_pack.9hZ7Jh/_old 2012-12-05 13:59:19.000000000 +0100 +++ /var/tmp/diff_new_pack.9hZ7Jh/_new 2012-12-05 13:59:19.000000000 +0100 @@ -16,12 +16,12 @@ # -%define _revision 168357 +%define _revision 168987 %define _release_version 3.2 %define _supported_archs "arm,x86" Name: llvm -Version: 3.1.99.r168357 +Version: 3.1.99.r%{_revision} Release: 0 Summary: Low Level Virtual Machine License: NCSA @@ -37,6 +37,11 @@ Patch3: clang-disable-ada-extension.patch # PATCH-FIX-OPENSUSE default-to-i586.patch -- Use i586 as default target for 32bit Patch4: default-to-i586.patch +Patch5: llvm-config-lib64.patch +# PATCH-FIX-OPENSUSE arm_suse_support.diff --Enable ARM suse toolchain support +Patch6: arm_suse_support.diff +# PATCH-FIX-OPENSUSE disable_neon_in_armv7.diff -- Disable use of neon in armv7 openSUSE +Patch7: disable_neon_in_armv7.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -125,6 +130,15 @@ %endif %patch3 -p1 %patch4 -p1 +%if "%{_lib}" == "lib64" +%patch5 -p1 +%endif +%ifarch %arm +%patch6 -p1 +%endif +%ifarch armv7l armv7hl +%patch7 -p0 +%endif # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -151,16 +165,38 @@ export SUSE_ASNEEDED=0 mkdir stage1 stage2 pushd stage1 +mkdir Release + +%if "%{_lib}" == "lib64" +ln -s lib Release/lib64 +%endif + +%ifarch armv7l armv7hl +# This fixes the armv7 build. (Allow to run stage2 without problem) +export CFLAGS="-mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16" +export CXXFLAGS="-mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16" +%endif ../configure \ --enable-optimized \ --disable-assertions \ --with-optimize-option="-O0" \ -%ifarch %arm +%ifarch armv5el armv5tel --disable-sjlj-exceptions \ - --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb \ + --with-arch=armv5te --with-float=soft --with-mode=arm \ --disable-werror --enable-checking=release \ - --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf \ + --build=armv5tel-suse-linux-gnueabi --host=armv5tel-suse-linux-gnueabi --target=armv5tel-suse-linux-gnueabi \ +%endif +%ifarch armv7l armv7hl + --disable-sjlj-exceptions \ + --with-arch=armv7-a --with-tune=cortex-a9 --with-float=hard --with-fpu=vfpv3-d16 --with-fpmath=vfp3 \ + --disable-werror --enable-checking=release \ + --build=armv7hl-suse-linux-gnueabi --host=armv7hl-suse-linux-gnueabi --target=armv7hl-suse-linux-gnueabi \ +%if 0%{?suse_version} >= 1220 +--with-mode=thumb \ +%else +--with-mode=arm \ +%endif %endif --enable-targets=host @@ -169,9 +205,11 @@ popd pushd stage2 -# autotools ignore --libdir mkdir Release+Debug +# autotools ignore --libdir +%if "%{_lib}" == "lib64" ln -s lib Release+Debug/lib64 +%endif export CC=$TOPLEVEL/stage1/Release/bin/clang export CXX=$TOPLEVEL/stage1/Release/bin/clang++ @@ -186,12 +224,24 @@ %if 0%{?suse_version} >= 1220 --with-binutils-include=/usr/include \ %endif -%ifarch %arm +%ifarch armv5el armv5tel --with-optimize-option="-U_GLIBCXX_ATOMIC_BUILTINS" \ --disable-sjlj-exceptions \ - --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb \ + --with-arch=armv5te --with-float=soft --with-mode=arm \ + --disable-werror --enable-checking=release \ + --build=armv5tel-suse-linux-gnueabi --host=armv5tel-suse-linux-gnueabi --target=armv5tel-suse-linux-gnueabi \ +%endif +%ifarch armv7l armv7hl + --with-optimize-option="-U_GLIBCXX_ATOMIC_BUILTINS" \ + --disable-sjlj-exceptions \ + --with-arch=armv7-a --with-tune=cortex-a9 --with-float=hard --with-fpu=vfpv3-d16 --with-fpmath=vfp3 \ +%if 0%{?suse_version} >= 1220 + --with-mode=thumb \ +%else + --with-mode=arm \ +%endif --disable-werror --enable-checking=release \ - --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf \ + --build=armv7hl-suse-linux-gnueabi --host=armv7hl-suse-linux-gnueabi --target=armv7hl-suse-linux-gnueabi \ %endif --with-clang-resource-dir="../%{_lib}/clang/%{_release_version}" \ --enable-debug-symbols \ @@ -215,7 +265,6 @@ # Fixup libdir %if "%{_lib}" == "lib64" -sed -i s,ABS_RUN_DIR/lib,ABS_RUN_DIR/lib64, %{buildroot}/%{_bindir}/llvm-config mv %{buildroot}%{_prefix}/lib %{buildroot}%{_prefix}/lib64 %endif ++++++ arm_suse_support.diff ++++++ --- llvm/tools/clang/lib/Driver/ToolChains.cpp.orig 2012-11-22 10:26:49.202107824 +0100 +++ llvm/tools/clang/lib/Driver/ToolChains.cpp 2012-11-22 12:20:33.662825882 +0100 @@ -1056,10 +1056,12 @@ Generic_GCC::GCCInstallationDetector::GC static const char *const ARMLibDirs[] = { "/lib" }; static const char *const ARMTriples[] = { "arm-linux-gnueabi", + "armv5tel-suse-linux-gnueabi", "arm-linux-androideabi" }; static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf", + "armv7hl-suse-linux-gnueabi" }; static const char *const X86_64LibDirs[] = { "/lib64", "/lib" }; ++++++ disable_neon_in_armv7.diff ++++++ --- ./tools/clang/lib/Driver/Tools.cpp.orig 2012-11-22 10:37:49.686675877 +0100 +++ ./tools/clang/lib/Driver/Tools.cpp 2012-11-27 10:55:58.984167280 +0100 @@ -5763,8 +5763,9 @@ void linuxtools::Assemble::ConstructJob( CmdArgs.push_back("-many"); } else if (getToolChain().getArch() == llvm::Triple::arm) { StringRef MArch = getToolChain().getArchName(); - if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a") - CmdArgs.push_back("-mfpu=neon"); + // Do not use neon in openSUSE +// if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a") +// CmdArgs.push_back("-mfpu=neon"); StringRef ARMFloatABI = getARMFloatABI(getToolChain().getDriver(), Args, getToolChain().getTriple()); ++++++ llvm-3.1.99.r168357.tar.bz2 -> llvm-3.1.99.r168987.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/llvm/llvm-3.1.99.r168357.tar.bz2 /work/SRC/openSUSE:Factory/.llvm.new/llvm-3.1.99.r168987.tar.bz2 differ: char 11, line 1 ++++++ llvm-config-lib64.patch ++++++ diff -ur llvm.orig/tools/llvm-config/llvm-config.cpp llvm/tools/llvm-config/llvm-config.cpp --- llvm.orig/tools/llvm-config/llvm-config.cpp 2012-11-12 11:25:40.547628293 +0100 +++ llvm/tools/llvm-config/llvm-config.cpp 2012-12-02 15:09:31.981279773 +0100 @@ -231,15 +231,15 @@ switch (DevelopmentTreeLayout) { case MakefileStyle: ActiveBinDir = ActiveObjRoot + "/" + LLVM_BUILDMODE + "/bin"; - ActiveLibDir = ActiveObjRoot + "/" + LLVM_BUILDMODE + "/lib"; + ActiveLibDir = ActiveObjRoot + "/" + LLVM_BUILDMODE + "/lib64"; break; case CMakeStyle: ActiveBinDir = ActiveObjRoot + "/bin"; - ActiveLibDir = ActiveObjRoot + "/lib"; + ActiveLibDir = ActiveObjRoot + "/lib64"; break; case CMakeBuildModeStyle: ActiveBinDir = ActiveObjRoot + "/bin/" + LLVM_BUILDMODE; - ActiveLibDir = ActiveObjRoot + "/lib/" + LLVM_BUILDMODE; + ActiveLibDir = ActiveObjRoot + "/lib64/" + LLVM_BUILDMODE; break; } @@ -250,7 +250,7 @@ ActivePrefix = CurrentExecPrefix; ActiveIncludeDir = ActivePrefix + "/include"; ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib"; + ActiveLibDir = ActivePrefix + "/lib64"; ActiveIncludeOption = "-I" + ActiveIncludeDir; } -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org