From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8081 invoked by alias); 3 Aug 2004 15:38:24 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 8065 invoked from network); 3 Aug 2004 15:38:24 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 3 Aug 2004 15:38:24 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i73FcOe1024468 for ; Tue, 3 Aug 2004 11:38:24 -0400 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i73FcOa13739 for ; Tue, 3 Aug 2004 11:38:24 -0400 Received: from touchme.toronto.redhat.com (IDENT:postfix@touchme.toronto.redhat.com [172.16.14.9]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id i73FcNXP014944 for ; Tue, 3 Aug 2004 11:38:23 -0400 Received: from redhat.com (toocool.toronto.redhat.com [172.16.14.72]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 79A248004D6 for ; Tue, 3 Aug 2004 11:38:23 -0400 (EDT) Message-ID: <410FB16F.80107@redhat.com> Date: Tue, 03 Aug 2004 15:38:00 -0000 From: Jeff Johnston User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: [RFA]: Patch to handle new libunwind release Content-Type: multipart/mixed; boundary="------------060104070908020608090404" X-SW-Source: 2004-08/txt/msg00069.txt.bz2 This is a multi-part message in MIME format. --------------060104070908020608090404 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 636 The attached patch changes libunwind-frame.c to dlopen "libunwind-xxxx.so" instead of "libunwind.so". This is needed as the design has changed in libunwind 0.97 and the interface functions are no longer found in the vanilla library. Without the patch, ia64 debugging will revert to the examine prologue method which cannot handle a number of scenarios, including backtraces on threads. Tested on ia64 with libunwind-0.96 and libunwind-0.97. Ok to commit? 2004-07-28 Jeff Johnston * libunwind-frame.c (LIBUNWIND_SO): Change to be of form: libunwind-xxxx.so" where xxxx is UNW_TARGET. --------------060104070908020608090404 Content-Type: text/plain; name="libunwind-frame.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="libunwind-frame.patch" Content-length: 1090 Index: libunwind-frame.c =================================================================== RCS file: /cvs/src/src/gdb/libunwind-frame.c,v retrieving revision 1.4 diff -u -p -r1.4 libunwind-frame.c --- libunwind-frame.c 14 Apr 2004 15:18:06 -0000 1.4 +++ libunwind-frame.c 28 Jul 2004 22:27:48 -0000 @@ -45,10 +45,6 @@ static int libunwind_initialized; static struct gdbarch_data *libunwind_descr_handle; -#ifndef LIBUNWIND_SO -#define LIBUNWIND_SO "libunwind.so" -#endif - /* Required function pointers from libunwind. */ static int (*unw_get_reg_p) (unw_cursor_t *, unw_regnum_t, unw_word_t *); static int (*unw_get_fpreg_p) (unw_cursor_t *, unw_regnum_t, unw_fpreg_t *); @@ -75,6 +71,10 @@ struct libunwind_frame_cache #define STRINGIFY2(name) #name #define STRINGIFY(name) STRINGIFY2(name) +#ifndef LIBUNWIND_SO +#define LIBUNWIND_SO "libunwind-" STRINGIFY(UNW_TARGET) ".so" +#endif + static char *get_reg_name = STRINGIFY(UNW_OBJ(get_reg)); static char *get_fpreg_name = STRINGIFY(UNW_OBJ(get_fpreg)); static char *get_saveloc_name = STRINGIFY(UNW_OBJ(get_save_loc)); --------------060104070908020608090404--