From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17865 invoked by alias); 12 Jul 2002 10:20:21 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 17848 invoked from network); 12 Jul 2002 10:20:19 -0000 Received: from unknown (HELO mail2.uk.neceur.com) (193.116.254.4) by sources.redhat.com with SMTP; 12 Jul 2002 10:20:19 -0000 Received: from charon.neceur.com (charon.uk.neceur.com [172.29.14.11]) by mail2.uk.neceur.com (Switch-2.1.4/Switch-2.1.0) with ESMTP id g6CAKKc03934; Fri, 12 Jul 2002 11:20:20 +0100 (BST) Received: from ldn-hermes.uk.neceur.com (localhost [127.0.0.1]) by charon.neceur.com (Switch-2.1.3/Switch-2.1.0) with ESMTP id g6CAKCk06396; Fri, 12 Jul 2002 11:20:12 +0100 (BST) Received: from thoth.uk.neceur.com ([172.29.7.4]) by ldn-hermes.uk.neceur.com (Lotus Domino Release 5.0.10) with ESMTP id 2002071211201130:20758 ; Fri, 12 Jul 2002 11:20:11 +0100 Subject: PA64 shared library problems with gdb-5.2 (hpux) To: gdb@sources.redhat.com, binutils@sources.redhat.com Message-ID: From: ross.alexander@uk.neceur.com Date: Fri, 12 Jul 2002 03:20:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-SW-Source: 2002-07/txt/msg00127.txt.bz2 I'm trying to debug PA64 program with relies on shared libraries. I keep getting problems with pa64_solib_add. I have created a simple program with uses dlopen to show the problem. #include #include #include int main(int argc, char *argv[]) { void *v; int i, count; void **handle; if (argc < 2) { printf("%s: \n", argv[0]); } handle = calloc(sizeof(void*), argc); for (i = 1; i < argc; i++) { if ((handle[count] = dlopen(argv[i], RTLD_GLOBAL|RTLD_NOW)) == NULL) printf("dlopen: %s\n", dlerror()); else count++; } struct load_module_desc mod; for (i = -1; ; i++) { if (dlget(i, &mod, sizeof(mod))) { char *name = dlgetname(&mod, sizeof(mod), NULL, 0, 0); printf("Have index %d %s\n", i, name ? name : ""); } else break; } printf("\n"); for (i = 1; ; i++) { if (dlgetmodinfo(i, &mod, sizeof(mod), NULL, 0, 0) { char *name = dlgetname(&mod, sizeof(mod), NULL, 0, 0); printf("Have index %d %s\n", i, name ? name : ""); } else break; } for (i = 0; i < count; i++) dlclose(handle[i]); return 0; } ./dltest /usr/lib/pa20_64/libm.2 Have index -1 /usr/lib/pa20_64/dld.sl Have index 0 ./dltest Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Have index 3 /usr/lib/pa20_64/libm.2 Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Have index 3 /usr/lib/pa20_64/libm.2 GNU gdb 5.2 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "hppa64-hp-hpux11.00"... (gdb) run /usr/pa20_64/libm.2 Starting program: /home/ralexand/dltest/dltest /usr/pa20_64/libm.2 dlopen: Unable to find library '/usr/pa20_64/libm.2'. Have index -1 /usr/lib/pa20_64/dld.sl Have index 0 /home/ralexand/dltest/dltest Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Program exited normally. (gdb) run /usr/lib/pa20_64/libm.2 Starting program: /home/ralexand/dltest/dltest /usr/lib/pa20_64/libm.2 pa64_solib_add, unable to read shared library path. (gdb) cont Continuing. pa64_solib_add, unable to read shared library path. (gdb) Continuing. Have index -1 /usr/lib/pa20_64/dld.sl Have index 0 /home/ralexand/dltest/dltest Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Have index 3 /usr/lib/pa20_64/libm.2 Have index 1 /lib/pa20_64/libdl.1 Have index 2 /lib/pa20_64/libc.2 Have index 3 /usr/lib/pa20_64/libm.2 Program exited normally. (gdb) quit I'm also getting some "found in psymtab but not in symtab" errors, but they are very difficult to duplicate. I noticed a while back H.J Lu was reporting something very similar. One thing at a time though. Cheers, Ross --------------------------------------------------------------------------------- Ross Alexander "He knows no more about his MIS - NEC Europe Limited destiny than a tea leaf knows Work ph: +44 20 8752 3394 the history of East India Company"