diff options
author | Fabian Groffen <grobian@gentoo.org> | 2011-04-03 09:52:07 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2011-04-03 09:52:07 +0000 |
commit | 3ee233ab7e39f225276d406828eead548c0b9e29 (patch) | |
tree | b147323ab1941916ccaf299b3204ec8ffe115fd0 /sys-devel/gdb-apple | |
parent | Rev bump, bug #346537. Mention nfs-utils in elog for NFS mounts, bug 163210 r... (diff) | |
download | gentoo-2-3ee233ab7e39f225276d406828eead548c0b9e29.tar.gz gentoo-2-3ee233ab7e39f225276d406828eead548c0b9e29.tar.bz2 gentoo-2-3ee233ab7e39f225276d406828eead548c0b9e29.zip |
Version bump to version from Developer Tools 4.0
(Portage version: 2.2.01.18213-prefix/cvs/Darwin powerpc)
Diffstat (limited to 'sys-devel/gdb-apple')
-rw-r--r-- | sys-devel/gdb-apple/ChangeLog | 11 | ||||
-rw-r--r-- | sys-devel/gdb-apple/files/gdb-apple-1518-darwin8.patch | 211 | ||||
-rw-r--r-- | sys-devel/gdb-apple/files/gdb-apple-1518-task_dyld_info.patch | 22 | ||||
-rw-r--r-- | sys-devel/gdb-apple/gdb-apple-1518.ebuild | 62 |
4 files changed, 304 insertions, 2 deletions
diff --git a/sys-devel/gdb-apple/ChangeLog b/sys-devel/gdb-apple/ChangeLog index 8eff0537dd99..a8da67ad9922 100644 --- a/sys-devel/gdb-apple/ChangeLog +++ b/sys-devel/gdb-apple/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-devel/gdb-apple -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb-apple/ChangeLog,v 1.9 2010/05/23 13:40:00 grobian Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb-apple/ChangeLog,v 1.10 2011/04/03 09:52:07 grobian Exp $ + +*gdb-apple-1518 (03 Apr 2011) + + 03 Apr 2011; Fabian Groffen <grobian@gentoo.org> +gdb-apple-1518.ebuild, + +files/gdb-apple-1518-darwin8.patch, + +files/gdb-apple-1518-task_dyld_info.patch: + Version bump to version from Developer Tools 4.0 23 May 2010; Fabian Groffen <grobian@gentoo.org> gdb-apple-1461.ebuild, +files/gdb-apple-no-global-gdbinit.patch: diff --git a/sys-devel/gdb-apple/files/gdb-apple-1518-darwin8.patch b/sys-devel/gdb-apple/files/gdb-apple-1518-darwin8.patch new file mode 100644 index 000000000000..171b7711b2ed --- /dev/null +++ b/sys-devel/gdb-apple/files/gdb-apple-1518-darwin8.patch @@ -0,0 +1,211 @@ +--- src/gdb/macosx/macosx-nat-inferior.c ++++ src/gdb/macosx/macosx-nat-inferior.c +@@ -60,13 +60,17 @@ + #include <sys/sysctl.h> + #include <sys/proc.h> + #include <mach/mach_error.h> ++#if defined(TARGET_ARM) + #include <spawn.h> ++#endif + + #include <semaphore.h> + + #include <dlfcn.h> ++#if 0 + #include <libproc.h> + #include <sys/proc_info.h> ++#endif + + #include "macosx-nat-dyld.h" + #include "macosx-nat-inferior.h" +@@ -2692,6 +2692,7 @@ + if (tp->private == NULL || tp->private->app_thread_port == 0) + return NULL; + ++#ifdef THREAD_IDENTIFIER_INFO_COUNT + thread_identifier_info_data_t tident; + unsigned int info_count; + kern_return_t kret; +@@ -2719,6 +2720,7 @@ + } + } + } ++#endif + return buf; + } + +--- src/gdb/macosx/macosx-nat-info.c ++++ src/gdb/macosx/macosx-nat-info.c +@@ -45,6 +45,22 @@ + #include "macosx-nat-inferior.h" + #include "macosx-nat-inferior-debug.h" + ++#ifdef __ppc__ ++#ifndef __darwin_ppc_thread_state ++#define __darwin_ppc_thread_state ppc_thread_state ++#define __r0 r0 ++#define __srr0 srr0 ++#define __srr1 srr1 ++#define __cr cr ++#define __xer xer ++#define __lr lr ++#define __ctr ctr ++#endif ++#ifndef __darwin_ppc_exception_state ++#define __darwin_ppc_exception_state ppc_exception_state ++#endif ++#endif ++ + extern macosx_inferior_status *macosx_status; + + #define CHECK_ARGS(what, args) \ +--- src/gdb/macosx/macosx-nat-infthread.c ++++ src/gdb/macosx/macosx-nat-infthread.c +@@ -36,8 +36,10 @@ + #include <sys/dir.h> + #include <inttypes.h> + ++#if 0 + #include <libproc.h> + #include <sys/proc_info.h> ++#endif + + #include "macosx-nat-inferior.h" + #include "macosx-nat-inferior-util.h" +@@ -809,6 +809,7 @@ + print_stack_frame (get_selected_frame (NULL), 0, LOCATION); + switch_to_thread (current_ptid); + ++#ifdef THREAD_IDENTIFIER_INFO_COUNT + thread_identifier_info_data_t tident; + info_count = THREAD_IDENTIFIER_INFO_COUNT; + kret = thread_info (tid, THREAD_IDENTIFIER_INFO, (thread_info_t) &tident, +@@ -878,6 +879,7 @@ + printf_filtered ("\tcurrent priority: %d\n", pth.pth_priority); + printf_filtered ("\tmax priority: %d\n", pth.pth_maxpriority); + } ++#endif + + printf_filtered ("\tsuspend count: %d", info.suspend_count); + +@@ -1175,6 +1177,7 @@ + ui_out_field_fmt (uiout, "mach-port-number", "0x%s", + paddr_nz (app_thread_name)); + ++#ifdef THREAD_IDENTIFIER_INFO_COUNT + thread_identifier_info_data_t tident; + info_count = THREAD_IDENTIFIER_INFO_COUNT; + kret = thread_info (tid, THREAD_IDENTIFIER_INFO, (thread_info_t) &tident, +@@ -1207,6 +1210,7 @@ + paddr_nz (struct_addr)); + } + } ++#endif + } + + +--- src/gdb/macosx/macosx-tdep.c ++++ src/gdb/macosx/macosx-tdep.c +@@ -64,7 +64,6 @@ + #include "gdbcore.h" + + #include <dirent.h> +-#include <libgen.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/param.h> +--- src/gdb/remote.c ++++ src/gdb/remote.c +@@ -63,7 +63,6 @@ + #include "macosx-nat-dyld.h" + #include "macosx-nat-dyld-process.h" + #endif +-#include <execinfo.h> + + /* Prototypes for local functions. */ + static void cleanup_sigint_signal_handler (void *dummy); +@@ -475,11 +474,13 @@ + static void + remote_backtrace_self (const char *message) + { ++#if 0 + void *bt_buffer[100]; + int count = backtrace (bt_buffer, 100); + if (message && message[0]) + fprintf_filtered (gdb_stderr, "%s", message); + backtrace_symbols_fd (bt_buffer, count, STDERR_FILENO); ++#endif + } + + static void +--- src/gdb/symfile.c ++++ src/gdb/symfile.c +@@ -67,7 +67,6 @@ + #include <ctype.h> + #include <time.h> + #include <sys/time.h> +-#include <libgen.h> + + #include <sys/mman.h> + +--- src/gdb/utils.c ++++ src/gdb/utils.c +@@ -28,7 +28,6 @@ + #include "event-top.h" + #include "exceptions.h" + #include "bfd.h" +-#include <execinfo.h> + #include <sys/resource.h> + #include <uuid/uuid.h> + +@@ -879,6 +878,7 @@ + target_terminal_ours (); + begin_line (); + ++#if 0 + /* APPLE LOCAL: Do a stack crawl of how we got here so we're more likely + to get useful bug reports. */ + { +@@ -887,6 +887,7 @@ + fprintf (stderr, "gdb stack crawl at point of internal error:\n"); + backtrace_symbols_fd (bt_buffer, count, STDERR_FILENO); + } ++#endif + + /* Create a string containing the full error/warning message. Need + to call query with this full string, as otherwize the reason +--- src/gdb/macosx/macosx-nat-dyld.c ++++ src/gdb/macosx/macosx-nat-dyld.c +@@ -2083,7 +2083,9 @@ + case MH_DYLIB: + case MH_DYLINKER: + case MH_BUNDLE: ++#ifdef MH_KEXT_BUNDLE + case MH_KEXT_BUNDLE: ++#endif + break; + case MH_FVMLIB: + case MH_PRELOAD: +@@ -2412,7 +2414,9 @@ + break; + case MH_DYLINKER: + case MH_BUNDLE: ++#ifdef MH_KEXT_BUNDLE + case MH_KEXT_BUNDLE: ++#endif + entry->reason = dyld_reason_dyld; + break; + default: +--- src/gdb/macosx/macosx-nat-dyld-process.c ++++ src/gdb/macosx/macosx-nat-dyld-process.c +@@ -407,7 +407,9 @@ + case MH_DYLIB: + break; + case MH_BUNDLE: ++#ifdef MH_KEXT_BUNDLE + case MH_KEXT_BUNDLE: ++#endif + break; + default: + return; + return; diff --git a/sys-devel/gdb-apple/files/gdb-apple-1518-task_dyld_info.patch b/sys-devel/gdb-apple/files/gdb-apple-1518-task_dyld_info.patch new file mode 100644 index 000000000000..633a36a7a048 --- /dev/null +++ b/sys-devel/gdb-apple/files/gdb-apple-1518-task_dyld_info.patch @@ -0,0 +1,22 @@ +If dyld-info is not available, don't try to compile unreachable code +using it either. + +--- gdb-1518/src/gdb/macosx/macosx-nat-dyld.c ++++ gdb-1518/src/gdb/macosx/macosx-nat-dyld.c +@@ -779,7 +779,7 @@ + { + #if !defined (TASK_DYLD_INFO) + return 0; +-#endif ++#else + if (macosx_status->task == TASK_NULL) + return 0; + +@@ -799,6 +799,7 @@ + task_dyld_info.all_image_info_size == 0) + return 0; + s->dyld_image_infos = task_dyld_info.all_image_info_addr; ++#endif /* TASK_DYLD_INFO */ + } + #endif /* NM_NEXTSTEP */ + diff --git a/sys-devel/gdb-apple/gdb-apple-1518.ebuild b/sys-devel/gdb-apple/gdb-apple-1518.ebuild new file mode 100644 index 000000000000..d4c4314c7a3d --- /dev/null +++ b/sys-devel/gdb-apple/gdb-apple-1518.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb-apple/gdb-apple-1518.ebuild,v 1.1 2011/04/03 09:52:07 grobian Exp $ + +EAPI="3" + +inherit eutils flag-o-matic + +APPLE_PV=${PV} +DESCRIPTION="Apple branch of the GNU Debugger, Developer Tools 4.0" +HOMEPAGE="http://sources.redhat.com/gdb/" +SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gdb-${APPLE_PV}.tar.gz" + +LICENSE="APSL-2 GPL-2" +SLOT="0" + +KEYWORDS="~ppc-macos ~x64-macos ~x86-macos" + +IUSE="nls" + +RDEPEND=">=sys-libs/ncurses-5.2-r2 + =dev-db/sqlite-3*" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +S=${WORKDIR}/gdb-${APPLE_PV}/src + +src_prepare() { + epatch "${FILESDIR}"/${PN}-no-global-gdbinit.patch + epatch "${FILESDIR}"/${PN}-768-texinfo.patch + epatch "${FILESDIR}"/${P}-task_dyld_info.patch + [[ ${CHOST} == *-darwin8 ]] && epatch "${FILESDIR}"/${P}-darwin8.patch +} + +src_configure() { + replace-flags -O? -O2 + econf \ + --disable-werror \ + --disable-debug-symbols-framework \ + $(use_enable nls) \ + || die +} + +src_install() { + emake DESTDIR="${D}" libdir=/nukeme includedir=/nukeme install || die + rm -R "${D}"/nukeme || die + rm -Rf "${ED}"/usr/${CHOST} || die + mv "${ED}"/usr/bin/gdb ${ED}/ + rm -f "${ED}"/usr/bin/* + mv "${ED}"/gdb "${ED}"/usr/bin/ +} + +pkg_postinst() { + if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -ge 9 ]] ; then + ewarn "Due to increased security measures in 10.5 and up, gdb is" + ewarn "not able to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} |