diff --git a/debian/changelog b/debian/changelog index 900c84fe..1e2db089 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,21 @@ +llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) UNRELEASED; urgency=low + + * Fix warning python-script-but-no-python-dep on clang-format-X.Y + * manpages are generated during build time (simplifies maintenance) + * Fix duplicate underscore.js and jquery.js + * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc + * Add lldb-X.Y manpage + * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff) + + [ Léo Cavaillé ] + * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437) + + -- Sylvestre Ledru Thu, 20 Jun 2013 15:39:11 +0200 + llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low * New snapshot release - * Improve some scripts and fix cpp11-migrate install from + * Improve some scripts and fix cpp11-migrate install from clang-tools-extra. * Fix "versionless" clang manpages install. * Fix Toolchain patch from change of scope (add namespaces). diff --git a/debian/clang-3.4.manpages b/debian/clang-3.4.manpages index e0db4bf2..d1b6df0e 100644 --- a/debian/clang-3.4.manpages +++ b/debian/clang-3.4.manpages @@ -1,4 +1,6 @@ build-llvm/tools/clang/docs/tools/clang.1 clang/tools/scan-build/scan-build.1 debian/man/clang-check.1 +debian/man/clang-tblgen.1 +debian/man/scan-view.1 diff --git a/debian/control b/debian/control index 5ddd1c6e..dd174273 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl8.5, expect, lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, libisl-dev (>= 0.11.1), binutils-gold [amd64 armel armhf i386 powerpc powerpcspe ppc64 sparc sparc64 x32], - lcov, procps + lcov, procps, help2man Build-Conflicts: oprofile, ocaml Standards-Version: 3.9.4 Homepage: http://www.llvm.org/ @@ -52,7 +52,7 @@ Description: C, C++ and Objective-C compiler (LLVM based) Package: clang-format-3.4 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, python Replaces: clang-format-3.3 Breaks: clang-format-3.3 Description: Tool to format C/C++/Obj-C code @@ -270,7 +270,7 @@ Description: Low-Level Virtual Machine (LLVM), debugging symbols library Package: llvm-3.4 Architecture: any Suggests: llvm-3.4-doc -Depends: llvm-3.4-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, libjs-jquery +Depends: llvm-3.4-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Recommends: llvm-3.4-dev Conflicts: llvm (<< 2.7-1) Replaces: llvm (<< 2.7-1) @@ -363,7 +363,7 @@ Description: Low-Level Virtual Machine (LLVM), bindings for OCaml Package: llvm-3.4-doc Section: doc Architecture: all -Depends: ${misc:Depends} +Depends: ${misc:Depends}, libjs-jquery, libjs-underscore Description: Low-Level Virtual Machine (LLVM), documentation The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time diff --git a/debian/lldb-3.4.manpages b/debian/lldb-3.4.manpages new file mode 100644 index 00000000..456a421b --- /dev/null +++ b/debian/lldb-3.4.manpages @@ -0,0 +1,2 @@ +debian/man/lldb-3.4.1 + diff --git a/debian/llvm-3.4.manpages b/debian/llvm-3.4.manpages index 717f19f4..111d594b 100644 --- a/debian/llvm-3.4.manpages +++ b/debian/llvm-3.4.manpages @@ -1 +1,10 @@ -docs/_build/man/* \ No newline at end of file +docs/_build/man/* +debian/man/llvm-dwarfdump-3.4.1 +debian/man/llvm-mc-3.4.1 +debian/man/llvm-mcmarkup-3.4.1 +debian/man/llvm-objdump-3.4.1 +debian/man/llvm-rtdyld-3.4.1 +debian/man/llvm-size-3.4.1 +debian/man/llvm-tblgen-3.4.1 +debian/man/macho-dump-3.4.1 + diff --git a/debian/man/clang-check.1 b/debian/man/clang-check.1 deleted file mode 100644 index 5a4b6c5d..00000000 --- a/debian/man/clang-check.1 +++ /dev/null @@ -1,275 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2. -.TH LLVM "1" "June 2013" "LLVM (http://llvm.org/):" "User Commands" -.SH NAME -LLVM \- manual page for LLVM (http://llvm.org/): -.SH DESCRIPTION -USAGE: clang\-check\-3.3 [options] [... ] -.SS "OPTIONS:" -.HP -\fB\-asm\-verbose\fR \- Add comments to directives. -.HP -\fB\-ast\-dump\fR \- Build ASTs and then debug dump them -.HP -\fB\-ast\-dump\-filter=\fR \- Use with \fB\-ast\-dump\fR or \fB\-ast\-print\fR to dump/print only AST declaration nodes having a certain substring in a qualified name. Use \fB\-ast\-list\fR to list all filterable declaration node names. -.HP -\fB\-ast\-list\fR \- Build ASTs and print the list of declaration node qualified names -.HP -\fB\-ast\-print\fR \- Build ASTs and then pretty\-print them -.HP -\fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function -.HP -\fB\-cppfname=\fR \- Specify the name of the generated function -.HP -\fB\-cppfor=\fR \- Specify the name of the thing to generate -.HP -\fB\-cppgen\fR \- Choose what kind of output to generate -.TP -=program -\- Generate a complete program -.TP -=module -\- Generate a module definition -.TP -=contents -\- Generate contents of a module -.TP -=function -\- Generate a function definition -.TP -=functions -\- Generate all function definitions -.TP -=inline -\- Generate an inline function -.TP -=variable -\- Generate a variable definition -.TP -=type -\- Generate a type definition -.HP -\fB\-disable\-spill\-fusing\fR \- Disable fusing of spill code into instructions -.IP -Choose driver interface: -.HP -\fB\-drvnvcl\fR \- Nvidia OpenCL driver -.HP -\fB\-drvcuda\fR \- Nvidia CUDA driver -.HP -\fB\-drvtest\fR \- Plain Test -.HP -\fB\-enable\-correct\-eh\-support\fR \- Make the \fB\-lowerinvoke\fR pass insert expensive, but correct, EH code -.HP -\fB\-enable\-load\-pre\fR \- -.HP -\fB\-enable\-objc\-arc\-opts\fR \- enable/disable all ARC Optimizations -.HP -\fB\-enable\-tbaa\fR \- -.HP -\fB\-fatal\-assembler\-warnings\fR \- Consider warnings as error -.HP -\fB\-fdata\-sections\fR \- Emit data into separate sections -.HP -\fB\-ffunction\-sections\fR \- Emit functions into separate sections -.HP -\fB\-fix\-what\-you\-can\fR \- Apply fix\-it advice even in the presence of unfixable errors -.HP -\fB\-fixit\fR \- Apply fix\-it advice to the input source -.HP -\fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more) -.HP -\fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve -.HP -\fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve -.HP -\fB\-join\-liveintervals\fR \- Coalesce copies (default=true) -.HP -\fB\-limit\-float\-precision=\fR \- Generate low\-precision inline sequences for some float libcalls -.HP -\fB\-mc\-x86\-disable\-arith\-relaxation\fR \- Disable relaxation of arithmetic instruction for X86 -.HP -\fB\-mips16\-hard\-float\fR \- MIPS: mips16 hard float enable. -.HP -\fB\-msp430\-hwmult\-mode\fR \- Hardware multiplier use mode -.TP -=no -\- Do not use hardware multiplier -.TP -=interrupts -\- Assume hardware multiplier can be used inside interrupts -.TP -=use -\- Assume hardware multiplier cannot be used inside interrupts -.HP -\fB\-nvptx\-emit\-line\-numbers\fR \- NVPTX Specific: Emit Line numbers even without \fB\-G\fR -.HP -\fB\-nvptx\-emit\-src\fR \- NVPTX Specific: Emit source line in ptx file -.TP -\fB\-nvptx\-fma\-level=\fR \- NVPTX Specific: FMA contraction (0: don't do it 1: do it -2: do it aggressively -.HP -\fB\-nvptx\-mad\-enable\fR \- NVPTX Specific: Enable generating FMAD instructions -.HP -\fB\-nvptx\-prec\-divf32=\fR \- NVPTX Specifies: 0 use div.approx, 1 use div.full, 2 use IEEE Compliant F32 div.rnd if avaiable. -.HP -\fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue -.HP -\fB\-nvvm\-reflect\-enable\fR \- NVVM reflection, enabled by default -.HP -\fB\-nvvm\-reflect\-list=\fR> \- A list of string=num assignments -.HP -\fB\-p=\fR \- Build path -.HP -\fB\-pre\-RA\-sched\fR \- Instruction schedulers available (before register allocation): -.TP -=vliw\-td -\- VLIW scheduler -.TP -=list\-ilp -\- Bottom\-up register pressure aware list scheduling which tries to balance ILP and register pressure -.TP -=list\-hybrid -\- Bottom\-up register pressure aware list scheduling which tries to balance latency and register pressure -.TP -=source -\- Similar to list\-burr but schedules in source order when possible -.TP -=list\-burr -\- Bottom\-up register reduction list scheduling -.TP -=linearize -\- Linearize DAG, no scheduling -.TP -=fast -\- Fast suboptimal list scheduling -.TP -=default -\- Best scheduler for the target -.HP -\fB\-print\-after\-all\fR \- Print IR after each pass -.HP -\fB\-print\-before\-all\fR \- Print IR before each pass -.HP -\fB\-print\-machineinstrs=\fR \- Print machine instrs -.HP -\fB\-profile\-estimator\-loop\-weight=\fR \- Number of loop executions used for profile\-estimator -.HP -\fB\-profile\-file=\fR \- Profile file loaded by \fB\-profile\-metadata\-loader\fR -.HP -\fB\-profile\-info\-file=\fR \- Profile file loaded by \fB\-profile\-loader\fR -.HP -\fB\-profile\-verifier\-noassert\fR \- Disable assertions -.HP -\fB\-regalloc\fR \- Register allocator to use -.TP -=default -\- pick register allocator based on \fB\-O\fR option -.TP -=basic -\- basic register allocator -.TP -=fast -\- fast register allocator -.TP -=greedy -\- greedy register allocator -.TP -=pbqp -\- PBQP register allocator -.HP -\fB\-shrink\-wrap\fR \- Shrink wrap callee\-saved register spills/restores -.HP -\fB\-spiller\fR \- Spiller to use: (default: standard) -.TP -=trivial -\- trivial spiller -.TP -=inline -\- inline spiller -.HP -\fB\-stats\fR \- Enable statistics output from program (available with Asserts) -.HP -\fB\-struct\-path\-tbaa\fR \- -.HP -\fB\-time\-passes\fR \- Time each pass, printing elapsed time for each on exit -.HP -\fB\-vectorize\-loops\fR \- Run the Loop vectorization passes -.HP -\fB\-vectorize\-slp\fR \- Run the SLP vectorization passes -.HP -\fB\-vectorize\-slp\-aggressive\fR \- Run the BB vectorization passes -.HP -\fB\-verify\-dom\-info\fR \- Verify dominator info (time consuming) -.HP -\fB\-verify\-loop\-info\fR \- Verify loop info (time consuming) -.HP -\fB\-verify\-regalloc\fR \- Verify during register allocation -.HP -\fB\-verify\-region\-info\fR \- Verify region info (time consuming) -.HP -\fB\-verify\-scev\fR \- Verify ScalarEvolution's backedge taken counts (slow) -.HP -\fB\-version\fR \- Display the version of this program -.HP -\fB\-x86\-asm\-syntax\fR \- Choose style of code to emit from X86 backend: -.TP -=att -\- Emit AT&T\-style assembly -.TP -=intel -\- Emit Intel\-style assembly -.HP -\fB\-x86\-early\-ifcvt\fR \- Enable early if\-conversion on X86 -.HP -\fB\-x86\-use\-vzeroupper\fR \- Minimize AVX to SSE transition penalty -.PP -\fB\-p\fR is used to read a compile command database. -.IP -For example, it can be a CMake build directory in which a file named -compile_commands.json exists (use \fB\-DCMAKE_EXPORT_COMPILE_COMMANDS\fR=\fION\fR -CMake option to get this output). When no build path is specified, -a search for compile_commands.json will be attempted through all -parent paths of the first input file . See: -http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an -example of setting up Clang Tooling on a source tree. -.PP - ... specify the paths of source files. These paths are -.IP -looked up in the compile command database. If the path of a file is -absolute, it needs to point into CMake's source tree. If the path is -relative, the current working directory needs to be in the CMake -source tree and the file must be in a subdirectory of the current -working directory. "./" prefixes in the relative files will be -automatically removed, but the rest of a relative path must be a -suffix of a path in the compile command database. -.IP -For example, to run clang\-check on all files in a subtree of the -source tree, use: -.IP -find path/in/subtree \fB\-name\fR '*.cpp'|xargs clang\-check -.IP -or using a specific build path: -.IP -find path/in/subtree \fB\-name\fR '*.cpp'|xargs clang\-check \fB\-p\fR build/path -.IP -Note, that path/in/subtree and current directory should follow the -rules described above. -.IP -LLVM version 3.3 -.IP -Optimized build. -Built May 7 2013 (21:07:59). -Default target: x86_64\-pc\-linux\-gnu -Host CPU: corei7\-avx -.SH "SEE ALSO" -The full documentation for -.B LLVM -is maintained as a Texinfo manual. If the -.B info -and -.B LLVM -programs are properly installed at your site, the command -.IP -.B info LLVM -.PP -should give you access to the complete manual. diff --git a/debian/man/scan-build.1 b/debian/man/scan-build.1 deleted file mode 100644 index ef77a25d..00000000 --- a/debian/man/scan-build.1 +++ /dev/null @@ -1,126 +0,0 @@ -.\" generated with Ronn/v0.7.3 -.\" http://github.com/rtomayko/ronn/tree/0.7.3 -. -.TH "SCAN\-BUILD" "1" "December 2010" "" "" -. -.SH "NAME" -\fBscan\-build\fR -. -.P -scan\-build(1) \-\- An utility for running the clang(1) analyzer from the command line -. -.SH "SYNOPSIS" -\fBscan\-build\fR \fIoptions\fR \fIbuild command\fR [build options] -. -.SH "DESCRIPTION" -\fBscan\-build\fR is a command line utility that enables a user to run the clang static analyzer over their codebase as part of performing a regular build (from the command line)\. -. -.SH "OPTIONS" -. -.TP -\fB\-analyze\-headers\fR -Also analyze functions in #included files\. -. -.TP -\fB\-o\fR -Target directory for HTML report files\. Subdirectories will be created as needed to represent separate "runs" of the analyzer\. If this option is not specified, a directory is created in /tmp (TMPDIR on Mac OS X) to store the reports\. -. -.TP -\fB\-h\fR, \fB\-\-help\fR -Display the help message\. -. -.TP -\fB\-k\fR -Add a "keep on going" option to the specified build command\. -. -.TP -\fB\-\-keep\-going\fR -This option currently supports make and xcodebuild\. This is a convenience option; one can specify this behavior directly using build options\. -. -.TP -\fB\-\-html\-title\fR [title] -Specify the title used on generated HTML pages\. -. -.TP -\fB\-\-html\-title=\fR[title] -If not specified, a default title will be used\. -. -.TP -\fB\-plist\fR -By default the output of scan\-build is a set of HTML files\. This option outputs the results as a set of \.plist files\. -. -.TP -\fB\-\-status\-bugs\fR -By default, the exit status of scan\-build is the same as the executed build command\. Specifying this option causes the exit status of scan\-build to be 1 if it found potential bugs and 0 otherwise\. -. -.TP -\fB\-\-use\-cc\fR [compiler path] -By default, scan\-build uses \'gcc\' to compile and link -. -.TP -\fB\-\-use\-cc=\fR[compiler path] -your C and Objective\-C code\. Use this option to specify an alternate compiler\. -. -.TP -\fB\-\-use\-c++\fR [compiler path] -By default, scan\-build uses \'g++\' to compile and link -. -.TP -\fB\-\-use\-c++=\fR[compiler path] -your C++ and Objective\-C++ code\. Use this option to specify an alternate compiler\. -. -.TP -\fB\-v\fR -Verbose output from scan\-build and the analyzer\. A second and third \'\-v\' increases verbosity\. -. -.TP -\fB\-V\fR -View analysis results in a web browser when the build -. -.TP -\fB\-\-view\fR -completes\. -. -.SH "ADVANCED OPTIONS:" -. -.TP -\fB\-constraints\fR [model] -Specify the contraint engine used by the analyzer\. By default the \'range\' model is used\. Specifying \'basic\' uses a simpler, less powerful constraint model used by checker\-0\.160 and earlier\. -. -.TP -\fB\-store\fR [model] -Specify the store model used by the analyzer\. By default, the \'region\' store model is used\. \'region\' specifies a field sensitive store model\. Users can also specify \'basic\', which is far less precise but can more quickly analyze code\. \'basic\' was the default store model for checker\-0\.221 and earlier\. -. -.TP -\fB\-no\-failure\-reports\fR -Do not create a \'failures\' subdirectory that includes analyzer crash reports and preprocessed source files\. -. -.SH "EXAMPLES" -Basic usage of scan\-build is designed to be simple: just place the word "scan\-build" in front of your build command: -. -.P -$ scan\-build make -. -.P -$ scan\-build xcodebuild -. -.P -In the first case scan\-build analyzes the code of a project built with make and in the second case scan\-build analyzes a project built using xcodebuild\. -. -.P -It is also possible to use scan\-build to analyze specific files: -. -.P -$ scan\-build gcc \-c t1\.c t2\.c -. -.P -This example causes the files t1\.c and t2\.c to be analyzed\. -. -.SH "AUTHORS" -Maintained by the Clang / LLVM Team \fIhttp://clang\.llvm\.org\fR\. -. -.P -This manual page was written by Ermenegildo Fiorito \fIfiorito\.g@gmail\.com\fR for the Debian Project\. -. -.SH "SEE ALSO" -clang(1) scan\-view(1) \fIhttp://clang\-analyzer\.llvm\.org\fR diff --git a/debian/man/scan-view.1 b/debian/man/scan-view.1 deleted file mode 100644 index 30a9a750..00000000 --- a/debian/man/scan-view.1 +++ /dev/null @@ -1,55 +0,0 @@ -.\" generated with Ronn/v0.7.3 -.\" http://github.com/rtomayko/ronn/tree/0.7.3 -. -.TH "SCAN\-VIEW" "1" "December 2010" "" "" -. -.SH "NAME" -\fBscan\-view\fR -. -.P -scan\-view(1) \-\- The clang(1) static analyzer results viewer\. -. -.SH "SYNOPSIS" -\fBscan\-view\fR \fIoptions\fR \fIresults directory\fR -. -.SH "DESCRIPTION" -\fBscan\-view\fR a companion comannd line utility to scan\-build(1), scan\-view is used to view analysis results generated by scan\-build(1)\. There is an option that one can pass to scan\-build to cause scan\-view to run as soon as it the analysis of a build completes -. -.SH "OPTIONS" -. -.TP -\fB\-h\fR, \fB\-\-help\fR -show the help message and exit\. -. -.TP -\fB\-\-host=\fRHOST -Host interface to listen on\. (default=127\.0\.0\.1) -. -.TP -\fB\-\-port=\fRPORT -Port to listen on\. (default=8181) -. -.TP -\fB\-\-debug\fR -Print additional debugging information\. -. -.TP -\fB\-\-auto\-reload\fR -Automatically update module for each request\. -. -.TP -\fB\-\-no\-browser\fR -Don\'t open a webbrowser on startup\. -. -.TP -\fB\-\-allow\-all\-hosts\fR -Allow connections from any host (access restricted to "127\.0\.0\.1" by default) -. -.SH "AUTHORS" -Maintained by the Clang / LLVM Team \fIhttp://clang\.llvm\.org\fR\. -. -.P -This manual page was written by Ermenegildo Fiorito \fIfiorito\.g@gmail\.com\fR for the Debian Project\. -. -.SH "SEE ALSO" -clang(1) scan\-build(1) \fIhttp://clang\-analyzer\.llvm\.org\fR diff --git a/debian/patches/0010-shared-lib-paths.patch b/debian/patches/0010-shared-lib-paths.patch new file mode 100644 index 00000000..a9f86ca3 --- /dev/null +++ b/debian/patches/0010-shared-lib-paths.patch @@ -0,0 +1,37 @@ +Index: llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/ToolChains.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/ToolChains.cpp (revision 184409) ++++ llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/ToolChains.cpp (working copy) +@@ -2328,6 +2328,13 @@ + addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); + addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); + ++ // In Debian we install LLVM lib with version string ++ // /usr/lib/llvm-X.Y/lib/LLVMGold.so ++ if (IsDebian(Distro)) { ++ addPathIfExists(SysRoot + "/usr/lib/llvm-" + CLANG_VERSION_STRING + "/lib/", ++ Paths); ++ } ++ + // Try walking via the GCC triple path in case of multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) +Index: llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/Tools.cpp +=================================================================== +--- llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/Tools.cpp (revision 184409) ++++ llvm-toolchain-snapshot_3.4~svn184409/clang/lib/Driver/Tools.cpp (working copy) +@@ -6147,6 +6147,14 @@ + if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) { + CmdArgs.push_back("-plugin"); + std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; ++ if ( ! llvm::sys::fs::exists(Plugin)) { ++ // Plugin is not in driver-based relative path, try system libs ++ // on Debian for instance ++ std::string PluginSystem = ToolChain.GetFilePath("LLVMgold.so"); ++ if (llvm::sys::fs::exists(PluginSystem)){ ++ Plugin = PluginSystem; ++ } ++ } + CmdArgs.push_back(Args.MakeArgString(Plugin)); + + // Try to pass driver level flags relevant to LTO code generation down to diff --git a/debian/patches/disabletestlldb.diff b/debian/patches/disabletestlldb.diff new file mode 100644 index 00000000..7b33002f --- /dev/null +++ b/debian/patches/disabletestlldb.diff @@ -0,0 +1,12 @@ +Index: llvm-toolchain-3.3-3.3/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py +=================================================================== +--- llvm-toolchain-3.3-3.3.orig/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py (révision 183568) ++++ llvm-toolchain-3.3-3.3/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py (révision 183569) +@@ -21,6 +21,7 @@ + self.breakpoint_after_join_test() + + @expectedFailureDarwin("llvm.org/pr15824") # thread states not properly maintained ++ @skipIfLinux # Causes hangs (llvm.org/pr16170) when run using "make check" + @dwarf_test + def test_with_dwarf(self): + """Test breakpoint handling after a thread join.""" diff --git a/debian/patches/mipsel-ftbfs.diff b/debian/patches/mipsel-ftbfs.diff new file mode 100644 index 00000000..f91bad5c --- /dev/null +++ b/debian/patches/mipsel-ftbfs.diff @@ -0,0 +1,27 @@ +Index: llvm-toolchain-3.3-3.3/lldb/source/Plugins/Process/Linux/LinuxSignals.cpp +=================================================================== +--- llvm-toolchain-3.3-3.3.orig/lldb/source/Plugins/Process/Linux/LinuxSignals.cpp 2013-06-20 10:10:31.000000000 +0200 ++++ llvm-toolchain-3.3-3.3/lldb/source/Plugins/Process/Linux/LinuxSignals.cpp 2013-06-20 10:11:57.000000000 +0200 +@@ -45,7 +45,9 @@ + ADDSIGNAL(PIPE, false, true, true, "write to pipe with reading end closed"); + ADDSIGNAL(ALRM, false, false, true, "alarm"); + ADDSIGNAL(TERM, false, true, true, "termination requested"); ++#ifdef SIGSTKFLT + ADDSIGNAL(STKFLT, false, true, true, "stack fault"); ++#endif + ADDSIGNAL(CHLD, false, false, true, "child process exit"); + ADDSIGNAL(CONT, false, true, true, "process continue"); + ADDSIGNAL(STOP, false, true, true, "process stop"); +Index: llvm-toolchain-3.3-3.3/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp +=================================================================== +--- llvm-toolchain-3.3-3.3.orig/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp 2013-06-20 10:10:31.000000000 +0200 ++++ llvm-toolchain-3.3-3.3/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp 2013-06-20 10:11:57.000000000 +0200 +@@ -149,7 +149,7 @@ + + // TOOD: need a better way to detect when "long double" types are + // the same bytes size as "double" +-#if !defined(__arm__) ++#if !defined(__arm__) && !defined(__mips__) + case sizeof (long double): + if (sizeof (long double) == sizeof(uint32_t)) + { diff --git a/debian/patches/series b/debian/patches/series index 3d0db8a7..4f3ac326 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,6 +8,7 @@ profile_rt.diff 30-kfreebsd.diff 0003-Debian-version-info-and-bugreport.patch +0010-shared-lib-paths.patch 0021-shared-lib-debian.patch 0023-link-libopagent.patch 0044-soname.diff @@ -22,3 +23,4 @@ declare_clear_cache.diff ia64-fix.diff clang-format-version.diff kfreebsd.diff +mipsel-ftbfs.diff diff --git a/debian/pollycc b/debian/pollycc deleted file mode 100755 index bb48ea66..00000000 --- a/debian/pollycc +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -clang -Xclang -load -Xclang /usr/lib/llvm-3.2/lib/LLVMPolly.so $@ diff --git a/debian/pollycc.in b/debian/pollycc.in new file mode 100755 index 00000000..f0638180 --- /dev/null +++ b/debian/pollycc.in @@ -0,0 +1,3 @@ +#!/bin/sh + +clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@ diff --git a/debian/rules b/debian/rules index 2e6559b0..581c052b 100755 --- a/debian/rules +++ b/debian/rules @@ -81,7 +81,7 @@ endif debian/%: debian/%.in sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $< > $@ -override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LLVM_VERSION).links debian/libllvm$(LLVM_VERSION).install debian/llvm-$(LLVM_VERSION)-dev.links debian/libllvm-$(LLVM_VERSION)-ocaml-dev.install debian/libllvm-$(LLVM_VERSION)-ocaml-dev.dirs debian/llvm-$(LLVM_VERSION)-runtime.binfmt debian/llvm-$(LLVM_VERSION)-runtime.prerm +override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LLVM_VERSION).links debian/libllvm$(LLVM_VERSION).install debian/llvm-$(LLVM_VERSION)-dev.links debian/libllvm-$(LLVM_VERSION)-ocaml-dev.install debian/libllvm-$(LLVM_VERSION)-ocaml-dev.dirs debian/llvm-$(LLVM_VERSION)-runtime.binfmt debian/llvm-$(LLVM_VERSION)-runtime.prerm debian/pollycc mkdir -p $(TARGET_BUILD) mkdir -p clang/include/clang/Debian sed -e "s|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|" \ @@ -140,13 +140,41 @@ override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LL override_dh_auto_build: $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA) -std=c++0x" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 + +override_dh_prep: build_doc + dh_prep + +build_doc: cd $(CURDIR)/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man -# $(MAKE) $(NJOBS) -C build-compiler-rt VERBOSE=1 -# Only available from clang 3.3 cd $(CURDIR)/tools/clang/docs && make -f Makefile.sphinx +# Rename manpages + d=$(CURDIR)/docs/_build/man/; \ + cd $$d; \ + for f in *.1; do \ + echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ + done + +# Remove the copy of jquery. See bug #701087 + for d in $(CURDIR)/clang/docs/_build/html/_static/ $(CURDIR)/docs/_build/html/_static/; do \ + cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \ + cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js; \ + done + + help2man --version-string=$(LLVM_VERSION) clang/tools/scan-view/scan-view > debian/man/scan-view.1 + help2man --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 + + + for f in clang clang-tblgen clang-check; do \ + help2man --version-string=$(LLVM_VERSION) build-llvm/Release/bin/$$f > debian/man/$$f.1; \ + done + + for f in llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-tblgen macho-dump lldb clang-format cpp11-migrate; do \ + help2man --version-string=$(LLVM_VERSION) build-llvm/Release/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ + done + override_dh_auto_install: - $(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install DESTDIR=$(CURDIR)/debian/tmp/ + $(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install DESTDIR=$(CURDIR)/debian/tmp/ chrpath -d $(TARGET_BUILD)/Release/bin/clang chrpath -d `find $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable` @@ -173,13 +201,6 @@ override_dh_auto_install: echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \ done -# Rename manpages - d=$(CURDIR)/docs/_build/man/; \ - cd $$d; \ - for f in *.1; do \ - echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ - done - # Rename some stuff with the version name # WILL DO when we can install several clang versions together #mv $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang.1 $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang-$(LLVM_VERSION).1 @@ -187,23 +208,26 @@ override_dh_auto_install: if test -f $(CURDIR)/utils/vim/llvm.vim; then \ mv $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim; \ fi + if test -f $(CURDIR)/utils/vim/tablegen.vim; then \ mv $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim; \ fi - mv $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) - mv $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + if test -f $(CURDIR)/clang/tools/clang-format/clang-format-diff.py; then \ + mv $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION); \ + fi + + if test -f $(CURDIR)/clang/tools/clang-format/clang-format.py; then \ + mv $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py; \ + fi # Remove some license files - rm $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT + rm -f $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT \ + $(CURDIR)/debian/llvm-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/build/autoconf/LICENSE.TXT # Managed in lldb-X.Y.links.in rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so -# Remove the copy of jquery. See bug #701087 - cd $(CURDIR)/docs/_build/html/_static/ && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js - - override_dh_installman: dh_installman # Make sure that lli manpage is only in llvm-3.2-runtime (See #697117)