summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorvonPalitroque2015-10-01 09:06:36 -0400
committervonPalitroque2015-10-01 09:06:36 -0400
commit5cec9e9d216eb219d083e46b9a5fe3fee2351ee3 (patch)
treef9a4b0107dc95924235e9849d5740aa5d1a91434
parent181cb422d05232aa28ec1b56c384a6ea20fb99fd (diff)
downloadaur-5cec9e9d216eb219d083e46b9a5fe3fee2351ee3.tar.gz
Temporary fix for gdb detecting line numbers.
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD9
-rw-r--r--fix-dwarf2read.patch39
3 files changed, 48 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f83a840311e3..196462490940 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = msp430-elf-gdb
pkgdesc = The GNU Debugger for msp430-elf.
pkgver = 7.10
- pkgrel = 1
+ pkgrel = 2
url = https://www.gnu.org/software/gdb/download/
arch = x86_64
arch = x86
@@ -10,7 +10,9 @@ pkgbase = msp430-elf-gdb
depends = python2
options = strip
source = http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.xz
+ source = fix-dwarf2read.patch
sha256sums = 7ebdaa44f9786ce0c142da4e36797d2020c55fa091905ac5af1846b5756208a8
+ sha256sums = 889e4db508dfb572e5530c44b8a1bbccd59857d30729201cf0cd3b778c5140a5
pkgname = msp430-elf-gdb
diff --git a/PKGBUILD b/PKGBUILD
index 326af8f02909..e83f2356284f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
_target=msp430-elf
pkgname="${_target}-gdb"
pkgver=7.10
-pkgrel=1
+pkgrel=2
pkgdesc="The GNU Debugger for ${_target}."
arch=('x86_64' 'x86')
url="https://www.gnu.org/software/gdb/download/"
@@ -11,14 +11,17 @@ license=('GPL')
groups=('devel')
depends=("python2")
options=('strip')
-source=("http://ftp.gnu.org/gnu/gdb/gdb-${pkgver}.tar.xz")
-sha256sums=('7ebdaa44f9786ce0c142da4e36797d2020c55fa091905ac5af1846b5756208a8')
+source=("http://ftp.gnu.org/gnu/gdb/gdb-${pkgver}.tar.xz"
+ fix-dwarf2read.patch)
+sha256sums=('7ebdaa44f9786ce0c142da4e36797d2020c55fa091905ac5af1846b5756208a8'
+ '889e4db508dfb572e5530c44b8a1bbccd59857d30729201cf0cd3b778c5140a5')
prepare() {
cd "$srcdir/gdb-$pkgver"
[[ -d gdb-build ]] && rm -rf gdb-build
mkdir gdb-build
+ patch -p1 < ../fix-dwarf2read.patch
# fix libiberty
# sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
diff --git a/fix-dwarf2read.patch b/fix-dwarf2read.patch
new file mode 100644
index 000000000000..4a3b11c05018
--- /dev/null
+++ b/fix-dwarf2read.patch
@@ -0,0 +1,39 @@
+From 29b0f9d4e7a5956385e8a14279462252c5d45148 Mon Sep 17 00:00:00 2001
+From: Simon Marchi <simon.marchi@ericsson.com>
+Date: Wed, 30 Sep 2015 17:25:43 -0400
+Subject: [PATCH] Ugly fix
+
+---
+ gdb/dwarf2read.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
+index 5b12342..618d7d6 100644
+--- a/gdb/dwarf2read.c
++++ b/gdb/dwarf2read.c
+@@ -4341,6 +4341,7 @@ read_comp_unit_head (struct comp_unit_head *cu_header,
+ cu_header->offset_size = (bytes_read == 4) ? 4 : 8;
+ info_ptr += bytes_read;
+ cu_header->version = read_2_bytes (abfd, info_ptr);
++ printf("Version is %d\n", cu_header->version);
+ info_ptr += 2;
+ cu_header->abbrev_offset.sect_off = read_offset (abfd, info_ptr, cu_header,
+ &bytes_read);
+@@ -17902,8 +17903,13 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
+ break;
+ case DW_LNE_set_address:
+ {
+- CORE_ADDR address
+- = read_address (abfd, line_ptr, cu, &bytes_read);
++ unsigned char oplen = extended_end - line_ptr, old_address_size;
++ CORE_ADDR address;
++ old_address_size = cu->header.addr_size;
++ //printf("oplen = %d\n", oplen);
++ cu->header.addr_size = oplen;
++ address = read_address (abfd, line_ptr, cu, &bytes_read);
++ cu->header.addr_size = old_address_size;
+
+ line_ptr += bytes_read;
+ check_line_address (cu, &state_machine, line_ptr,
+--
+2.5.1