Re: Strange backtrace from GDB 7.5.91

Jan Kratochvil
2013-03-20T17:58:00Z

On Wed, 20 Mar 2013 18:45:02 +0100, Eli Zaretskii wrote:
> #0 relocate_path (flag=1, initial=0x71a51b "d:/usr/share/gdb",
> progname=0x260ed0 "d:\\usr\\eli\\utils\\gdb-7.5.91\\gdb\\gdb.exe")
> at main.c:124
> #1 relocate_gdb_directory (
> initial=initial@entry=0x71a51b "d:/usr/share/gdb", flag=flag@entry=1)
> at main.c:124
[...]
> But relocate_path's argument list is this:
>
> relocate_path (const char *progname, const char *initial, int flag)
>
> i.e., the FLAG argument is the last one, not the first one.

It needs a fix in GDB:
Bug 15223 - reversed order of inlined function parameters
http://sourceware.org/bugzilla/show_bug.cgi?id=15223

> #0 relocate_path (initial=0x71a51b "d:/usr/share/gdb",
> progname=0x260ed0 "d:\\usr\\eli\\utils\\gdb-7.5.91\\gdb\\gdb.exe",
> flag=<optimized out>) at main.c:109
> #1 relocate_path (flag=1, initial=0x71a51b "d:/usr/share/gdb",
> progname=0x260ed0 "d:\\usr\\eli\\utils\\gdb-7.5.91\\gdb\\gdb.exe")
> at main.c:120
> #2 relocate_gdb_directory (
> initial=initial@entry=0x71a51b "d:/usr/share/gdb", flag=flag@entry=1)
> at main.c:124
> #3 0x004f0b1d in captured_main (data=data@entry=0x572ff10) at main.c:399
>
> Is this due to inlining or something? Is this a bug?

Probably all the frames #0..#2 are inlined, see "info frame". It is not a bug
a single function is there multiple times, GCC does so.

Jan