Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: ross.alexander@uk.neceur.com
To: law@redhat.com
Cc: binutils@sources.redhat.com, gdb@sources.redhat.com
Subject: Re: PA64 shared library problems with gdb-5.2 (hpux)
Date: Tue, 13 Aug 2002 09:12:00 -0000	[thread overview]
Message-ID: <OFDB2CC141.AC015F00-ON80256C14.0055FF4D@uk.neceur.com> (raw)


I have a rinky-dinky test program which works fine.

#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>

int main(int argc, char *argv[])
{
  void *v;
  int i, count;
  void **handle;

  if (argc < 2)
  {
    printf("%s: <filename>\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 : "<No 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 : "<No name>");
      }
      else
      break;
    }

  for (i = 0; i < count; i++)
    dlclose(handle[i]);

  return 0;
}

for example

ralexand@styx 16:40:33 $./dltest  /opt/gtk+-2.0/lib/libgtk-x11-2.0.sl
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 /opt/gtk+-2.0/lib/libgtk-x11-2.0.sl
Have index 4 /opt/gtk+-2.0/lib/libgdk_pixbuf-2.0.sl.0
Have index 5 /opt/gtk+-2.0/lib/libgdk-x11-2.0.sl.0
Have index 6 /opt/gtk+-2.0/lib/libpangox-1.0.sl.0
Have index 7 /opt/gtk+-2.0/lib/libpango-1.0.sl.0
Have index 8 /opt/gtk+-2.0/lib/libatk-1.0.sl.0
Have index 9 /opt/gtk+-2.0/lib/libgobject-2.0.sl.0
Have index 10 /opt/gtk+-2.0/lib/libgmodule-2.0.sl.0
Have index 11 /opt/gtk+-2.0/lib/libglib-2.0.sl.0
Have index 12 /lib/pa20_64/libm.2
Have index 13 /opt/dev64/lib/libintl.sl.2
Have index 14 /opt/dev64/lib/libiconv.sl.3
Have index 15 /opt/dev64/lib/libXext.sl.6.4
Have index 16 /opt/dev64/lib/libX11.sl.6.1

Have index 1 /lib/pa20_64/libdl.1
Have index 2 /lib/pa20_64/libc.2
Have index 3 /opt/gtk+-2.0/lib/libgtk-x11-2.0.sl
Have index 4 /opt/gtk+-2.0/lib/libgdk_pixbuf-2.0.sl.0
Have index 5 /opt/gtk+-2.0/lib/libgdk-x11-2.0.sl.0
Have index 6 /opt/gtk+-2.0/lib/libpangox-1.0.sl.0
Have index 7 /opt/gtk+-2.0/lib/libpango-1.0.sl.0
Have index 8 /opt/gtk+-2.0/lib/libatk-1.0.sl.0
Have index 9 /opt/gtk+-2.0/lib/libgobject-2.0.sl.0
Have index 10 /opt/gtk+-2.0/lib/libgmodule-2.0.sl.0
Have index 11 /opt/gtk+-2.0/lib/libglib-2.0.sl.0
Have index 12 /lib/pa20_64/libm.2
Have index 13 /opt/dev64/lib/libintl.sl.2
Have index 14 /opt/dev64/lib/libiconv.sl.3
Have index 15 /opt/dev64/lib/libXext.sl.6.4
Have index 16 /opt/dev64/lib/libX11.sl.6.1

So it is something to do with the interaction with gdb's copy function.
The problem is I simply don't know enough about gdb internals
to start.  I might try to cross build a 64bit version of gdb as a
32bit SOM exe, so I could then run that under a 32bit gdb,
but I'm not sure if that will actually work.

Many thanks

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"


                                                                                                                                
                      Jeff Law                                                                                                  
                      <law@porcupine.slc.        To:       ross.alexander@uk.neceur.com                                         
                      redhat.com>                cc:       gdb@sources.redhat.com, binutils@sources.redhat.com                  
                                                 Subject:  Re: PA64 shared library problems with gdb-5.2 (hpux)                 
                      12/08/2002 19:20                                                                                          
                      Please respond to                                                                                         
                      law                                                                                                       
                                                                                                                                
                                                                                                                                




In message <OF35E93CD6.ADFC4642-ON80256BF4.0033D184@uk.neceur.com>,
ross.alexan
der@uk.neceur.com writes:
 >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.
[ ... ]
This happens when dlgetname returns an error.

Unfortunately, dlgetname is a routine provided by HP, so it may be very
difficult to figure out why it's returning an error.

It might be interesting to know which index it's choking on so that we
can try to guess which library dlgetname is unhappy about.

jeff








             reply	other threads:[~2002-08-13 16:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-13  9:12 ross.alexander [this message]
2002-08-13 10:46 ` Jeff Law
  -- strict thread matches above, loose matches on Subject: below --
2002-07-12  3:20 ross.alexander
2002-08-12 11:17 ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OFDB2CC141.AC015F00-ON80256C14.0055FF4D@uk.neceur.com \
    --to=ross.alexander@uk.neceur.com \
    --cc=binutils@sources.redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=law@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox