[arch-commits] Commit in gdb/repos (3 files)
Felix Yan
felixonmars at archlinux.org
Sun Jul 1 07:41:59 UTC 2018
Date: Sunday, July 1, 2018 @ 07:41:58
Author: felixonmars
Revision: 327906
archrelease: copy trunk to staging-x86_64
Added:
gdb/repos/staging-x86_64/
gdb/repos/staging-x86_64/PKGBUILD
(from rev 327905, gdb/trunk/PKGBUILD)
gdb/repos/staging-x86_64/fix_python37.patch
(from rev 327905, gdb/trunk/fix_python37.patch)
--------------------+
PKGBUILD | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++
fix_python37.patch | 66 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 141 insertions(+)
Copied: gdb/repos/staging-x86_64/PKGBUILD (from rev 327905, gdb/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2018-07-01 07:41:58 UTC (rev 327906)
@@ -0,0 +1,75 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+# Contributor: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=gdb
+# gdb-common is a package that contains files common for all cross compiled versions
+# of gdb (for arm/avr/...)
+pkgname=(gdb gdb-common)
+pkgver=8.1
+pkgrel=3
+pkgdesc='The GNU Debugger'
+arch=(x86_64)
+url='http://www.gnu.org/software/gdb/'
+license=(GPL3)
+makedepends=(texinfo python guile2.0 ncurses expat xz)
+source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig}
+ fix_python37.patch)
+sha1sums=('641861f7d3f22b6a23bc3e801f0ff29a78375490'
+ 'SKIP'
+ '37a299b86478228cf35f00c7e01274c07dc5fa94')
+validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
+
+prepare() {
+ cd gdb-$pkgver
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ patch -p1 < ../fix_python37.patch
+}
+
+build() {
+ cd gdb-$pkgver
+
+ ./configure --prefix=/usr --disable-nls \
+ --with-system-readline \
+ --with-python=/usr/bin/python3 \
+ --with-guile=guile-2.0 \
+ --with-system-gdbinit=/etc/gdb/gdbinit
+ make
+}
+
+package_gdb-common() {
+ depends=(python guile2.0)
+
+ cd gdb-$pkgver
+ make DESTDIR=$pkgdir install
+
+ # resolve conflicts with binutils
+ rm $pkgdir/usr/include/{ansidecl,bfd,bfdlink,dis-asm,plugin-api,symcat}.h
+ rm $pkgdir/usr/share/info/bfd.info
+ rm $pkgdir/usr/lib/{libbfd,libopcodes}.a
+
+ rm -r $pkgdir/usr/{bin,include,lib,share/info,share/man}
+}
+
+package_gdb() {
+ depends=(ncurses expat xz mpfr gdb-common=$pkgver)
+ backup=(etc/gdb/gdbinit)
+
+ cd gdb-$pkgver
+ make DESTDIR=$pkgdir install
+
+ # install "custom" system gdbinit
+ install -dm755 $pkgdir/etc/gdb
+ touch $pkgdir/etc/gdb/gdbinit
+
+ # resolve conflicts with binutils
+ rm $pkgdir/usr/include/{ansidecl,bfd,bfdlink,dis-asm,plugin-api,symcat}.h
+ rm $pkgdir/usr/share/info/bfd.info
+ rm $pkgdir/usr/lib/{libbfd,libopcodes}.a
+
+ # comes from gdb-common
+ rm -r $pkgdir/usr/share/gdb/
+}
Copied: gdb/repos/staging-x86_64/fix_python37.patch (from rev 327905, gdb/trunk/fix_python37.patch)
===================================================================
--- staging-x86_64/fix_python37.patch (rev 0)
+++ staging-x86_64/fix_python37.patch 2018-07-01 07:41:58 UTC (rev 327906)
@@ -0,0 +1,66 @@
+From aeab512851bf6ed623d1c6c4305b6ce05e51a10c Mon Sep 17 00:00:00 2001
+From: Paul Koning <paul_koning at dell.com>
+Date: Fri, 8 Jun 2018 13:26:36 -0400
+Subject: [PATCH] Fix build issue with Python 3.7
+
+Originally reported in
+https://bugzilla.redhat.com/show_bug.cgi?id=1577396 -- gdb build fails
+with Python 3.7 due to references to a Python internal function whose
+declaration changed in 3.7.
+
+gdb/ChangeLog
+2018-06-08 Paul Koning <paul_koning at dell.com>
+
+ PR gdb/23252
+
+ * python/python.c (do_start_initialization):
+ Avoid call to internal Python API.
+ (init__gdb_module): New function.
+---
+ gdb/ChangeLog | 8 ++++++++
+ gdb/python/python.c | 18 +++++++++++++++---
+ 2 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/gdb/python/python.c b/gdb/python/python.c
+index 1805c906284..20fc674f20a 100644
+--- a/gdb/python/python.c
++++ b/gdb/python/python.c
+@@ -1667,6 +1667,17 @@ finalize_python (void *ignore)
+ restore_active_ext_lang (previous_active);
+ }
+
++#ifdef IS_PY3K
++/* This is called via the PyImport_AppendInittab mechanism called
++ during initialization, to make the built-in _gdb module known to
++ Python. */
++PyMODINIT_FUNC
++init__gdb_module (void)
++{
++ return PyModule_Create (&python_GdbModuleDef);
++}
++#endif
++
+ static bool
+ do_start_initialization ()
+ {
+@@ -1707,6 +1718,9 @@ do_start_initialization ()
+ remain alive for the duration of the program's execution, so
+ it is not freed after this call. */
+ Py_SetProgramName (progname_copy);
++
++ /* Define _gdb as a built-in module. */
++ PyImport_AppendInittab ("_gdb", init__gdb_module);
+ #else
+ Py_SetProgramName (progname.release ());
+ #endif
+@@ -1716,9 +1730,7 @@ do_start_initialization ()
+ PyEval_InitThreads ();
+
+ #ifdef IS_PY3K
+- gdb_module = PyModule_Create (&python_GdbModuleDef);
+- /* Add _gdb module to the list of known built-in modules. */
+- _PyImport_FixupBuiltin (gdb_module, "_gdb");
++ gdb_module = PyImport_ImportModule ("_gdb");
+ #else
+ gdb_module = Py_InitModule ("_gdb", python_GdbMethods);
+ #endif
More information about the arch-commits
mailing list