diff options
author | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2012-08-13 16:07:04 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2012-08-13 16:07:04 -0300 |
commit | e6b487980c858023cb4a3678f2d27f52c2a32596 (patch) | |
tree | 3a348db541d1a1ae1f356dd3970fff4910529558 /extra/llvm | |
parent | f08b6a2decf228473f030cfd49116c9fd0b05c37 (diff) | |
parent | 07a52495b8a64f14843878d6116151fbdb6deefb (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/bird/PKGBUILD
community/ecryptfs-utils/PKGBUILD
community/linux-tools/PKGBUILD
community/qtcurve-kde4/PKGBUILD
extra/audacity/PKGBUILD
extra/cups/PKGBUILD
extra/imagemagick/PKGBUILD
extra/kdeadmin/PKGBUILD
extra/kdepim/PKGBUILD
extra/kradio/PKGBUILD
extra/libimobiledevice/PKGBUILD
extra/libmowgli/PKGBUILD
extra/llvm/PKGBUILD
extra/phonon-vlc/PKGBUILD
extra/pycrypto/PKGBUILD
extra/xorg-server/PKGBUILD
libre/linux-libre/PKGBUILD
libre/syslinux/PKGBUILD
multilib-staging/gcc-multilib/PKGBUILD
multilib/lib32-libldap/PKGBUILD
staging/binutils/PKGBUILD
staging/gcc/PKGBUILD
staging/glibc/PKGBUILD
testing/cronie/PKGBUILD
testing/cryptsetup/PKGBUILD
testing/krb5/PKGBUILD
testing/lvm2/PKGBUILD
testing/net-tools/PKGBUILD
testing/systemd/PKGBUILD
Diffstat (limited to 'extra/llvm')
-rw-r--r-- | extra/llvm/PKGBUILD | 10 | ||||
-rw-r--r-- | extra/llvm/llvm-3.1-fix-debug-line-info.patch | 65 |
2 files changed, 73 insertions, 2 deletions
diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD index cae3d2931..5f5306e5e 100644 --- a/extra/llvm/PKGBUILD +++ b/extra/llvm/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 163974 2012-07-23 03:57:55Z foutrelis $ +# $Id: PKGBUILD 165098 2012-08-10 21:21:52Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Sebastian Nowicki <sebnow@gmail.com> @@ -11,7 +11,7 @@ pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer') pkgver=3.1 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64' 'mips64el') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') @@ -24,6 +24,7 @@ source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.src.tar.gz cindexer-clang-path.patch clang-pure64.patch enable-lto.patch + llvm-3.1-fix-debug-line-info.patch clang-3.1-fix-libprofile_rt.a-location.patch) sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab' 'ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c3799579961e452d5a786' @@ -33,6 +34,7 @@ sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab' '3074df5322900e087377a8e03a02115463ccc0011c25917c2f06df11facd9b92' '288a82fbff17bc554f5863734246500e637882af33ee8511019d5e0d6cd20524' 'f7145e203ffb4ce2c01976027f7840a9520e5341a9945f2459b6b11e5422d5b7' + 'db1f1aadebbc4c4232bdad49fb9b7dc61eac727085c63154b870fa9ce64fd18d' '0d32ad283566357ca1bfbeb4cbe6b0b961943b79d3d718ed0435101c05629137') build() { @@ -79,6 +81,10 @@ build() { patch -d tools/clang -Np1 -i \ "$srcdir/clang-3.1-fix-libprofile_rt.a-location.patch" + # Fix FS#31098: LLVM 3.1 produces invalid debug information + # http://llvm.org/bugs/show_bug.cgi?id=13211 + patch -Np1 -i "$srcdir/llvm-3.1-fix-debug-line-info.patch" + # Apply strip option to configure _optimized_switch="enable" [[ $(check_option strip) == n ]] && _optimized_switch="disable" diff --git a/extra/llvm/llvm-3.1-fix-debug-line-info.patch b/extra/llvm/llvm-3.1-fix-debug-line-info.patch new file mode 100644 index 000000000..de2d46b61 --- /dev/null +++ b/extra/llvm/llvm-3.1-fix-debug-line-info.patch @@ -0,0 +1,65 @@ +From 737fdba46f2b2b7d39bc728d15ea2334c44779e0 Mon Sep 17 00:00:00 2001 +From: Ben Longbons <b.r.longbons@gmail.com> +Date: Fri, 29 Jun 2012 12:58:34 -0700 +Subject: [PATCH] Revert "Patch to set is_stmt a little better for prologue + lines in a function." + +This meants that the debugger could find meaningful line information. + +This reverts commit 60b35f408bc3194e7ea4e96367c0b42dc5e7f850. +--- + lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 7 ++----- + test/DebugInfo/X86/ending-run.ll | 6 ++---- + 2 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +index 3e79a6d..24aedfb 100644 +--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp ++++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +@@ -1093,15 +1093,12 @@ void DwarfDebug::beginInstruction(const MachineInstr *MI) { + if (!MI->isDebugValue()) { + DebugLoc DL = MI->getDebugLoc(); + if (DL != PrevInstLoc && (!DL.isUnknown() || UnknownLocations)) { +- unsigned Flags = 0; ++ unsigned Flags = DWARF2_FLAG_IS_STMT; + PrevInstLoc = DL; + if (DL == PrologEndLoc) { + Flags |= DWARF2_FLAG_PROLOGUE_END; + PrologEndLoc = DebugLoc(); + } +- if (PrologEndLoc.isUnknown()) +- Flags |= DWARF2_FLAG_IS_STMT; +- + if (!DL.isUnknown()) { + const MDNode *Scope = DL.getScope(Asm->MF->getFunction()->getContext()); + recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags); +@@ -1382,7 +1379,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) { + MF->getFunction()->getContext()); + recordSourceLine(FnStartDL.getLine(), FnStartDL.getCol(), + FnStartDL.getScope(MF->getFunction()->getContext()), +- 0); ++ DWARF2_FLAG_IS_STMT); + } + } + +diff --git a/test/DebugInfo/X86/ending-run.ll b/test/DebugInfo/X86/ending-run.ll +index 6935c47..0cd3de1 100644 +--- a/test/DebugInfo/X86/ending-run.ll ++++ b/test/DebugInfo/X86/ending-run.ll +@@ -1,11 +1,9 @@ + ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj + ; RUN: llvm-dwarfdump %t | FileCheck %s + +-; Check that the line table starts at 7, not 4, but that the first +-; statement isn't until line 8. ++; Check that the line table starts at 7, not 4. + +-; CHECK-NOT: 0x0000000000000000 7 0 1 0 is_stmt +-; CHECK: 0x0000000000000000 7 0 1 0 ++; CHECK: 0x0000000000000000 7 0 1 0 is_stmt + ; CHECK: 0x0000000000000004 8 18 1 0 is_stmt prologue_end + + define i32 @callee(i32 %x) nounwind uwtable ssp { +-- +1.7.10 + |