This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How does one get static procedure names?


On Tue, Oct 27, 2009 at 12:37 PM, Daniel Jacobowitz <drow@false.org> wrote:
> On Tue, Oct 27, 2009 at 12:33:39PM -0700, Bruce Korb wrote:
>> Exactly. ?I know it'd be some work. ?I think I need to
>> call: ?dlopen(NULL, RTLD_NOW)
>
> No. ?You need to open the file and have your own ELF and symbol table
> reader. ?They are not in the area mapped by dlopen.

OK.  Still not terribly hard:

    {
        static char const exe_fmt[] =
            "/proc/%d/exe";
        char bf[sizeof (exe_fmt) + 12];
        sprintf(bf, exe_fmt, getpid());
        path_len = readlink(bf, exe_path, sizeof (exe_path) - 1);
    }

(This is for Linux only...)

> GDB is almost certainly not where you want to get this code from. ?We
> just use BFD...

Ah!  There we go.  That's what I was looking for.  Thank you!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]