From owner-svn-src-all@FreeBSD.ORG Sat Dec 28 23:31:23 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6A90B31C; Sat, 28 Dec 2013 23:31:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3C9A31390; Sat, 28 Dec 2013 23:31:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBSNVNCF013900; Sat, 28 Dec 2013 23:31:23 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBSNVM3R013898; Sat, 28 Dec 2013 23:31:22 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312282331.rBSNVM3R013898@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 28 Dec 2013 23:31:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r260027 - head/gnu/usr.bin/gdb/kgdb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Dec 2013 23:31:23 -0000 Author: marcel Date: Sat Dec 28 23:31:22 2013 New Revision: 260027 URL: http://svnweb.freebsd.org/changeset/base/260027 Log: When building a cross kgdb, link against the appropriate cross libkvm. Provide an implementation of ps_pglobal_lookup() for use by the cross libkvm. Modified: head/gnu/usr.bin/gdb/kgdb/Makefile head/gnu/usr.bin/gdb/kgdb/main.c Modified: head/gnu/usr.bin/gdb/kgdb/Makefile ============================================================================== --- head/gnu/usr.bin/gdb/kgdb/Makefile Sat Dec 28 23:17:24 2013 (r260026) +++ head/gnu/usr.bin/gdb/kgdb/Makefile Sat Dec 28 23:31:22 2013 (r260027) @@ -8,7 +8,13 @@ BULIBS= ${OBJ_BU}/libbfd/libbfd.a ${OBJ_ ${OBJ_BU}/libiberty/libiberty.a GDBLIBS= ${OBJ_GDB}/libgdb/libgdb.a -DPADD= ${GDBLIBS} ${BULIBS} ${LIBKVM} ${LIBM} ${LIBREADLINE} ${LIBTERMCAP} ${LIBGNUREGEX} -LDADD= ${GDBLIBS} ${BULIBS} -lkvm -lm -lreadline -ltermcap -lgnuregex +DPADD= ${GDBLIBS} ${BULIBS} ${LIBKVM} ${LIBM} ${LIBREADLINE} ${LIBTERMCAP} \ + ${LIBGNUREGEX} +LDADD= ${GDBLIBS} ${BULIBS} -lkvm${GDB_SUFFIX} -lm -lreadline -ltermcap \ + -lgnuregex + +.if defined(GDB_CROSS_DEBUGGER) +CFLAGS+= -Wl,-export-dynamic +.endif .include Modified: head/gnu/usr.bin/gdb/kgdb/main.c ============================================================================== --- head/gnu/usr.bin/gdb/kgdb/main.c Sat Dec 28 23:17:24 2013 (r260026) +++ head/gnu/usr.bin/gdb/kgdb/main.c Sat Dec 28 23:31:22 2013 (r260027) @@ -41,6 +41,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef CROSS_DEBUGGER +#include +#endif #include #include #include @@ -78,6 +81,24 @@ static struct ui_file *parse_gdberr; static void (*kgdb_new_objfile_chain)(struct objfile * objfile); +#ifdef CROSS_DEBUGGER +ps_err_e +ps_pglobal_lookup(struct ps_prochandle *ph, const char *obj, const char *name, + psaddr_t *sym_addr) +{ + struct minimal_symbol *ms; + CORE_ADDR addr; + + ms = lookup_minimal_symbol (name, NULL, NULL); + if (ms == NULL) + return PS_NOSYM; + + addr = SYMBOL_VALUE_ADDRESS (ms); + store_typed_address(sym_addr, builtin_type_void_data_ptr, addr); + return PS_OK; +} +#endif + static void usage(void) {