gdb state on sparc*?

Valery Ushakov <[email protected]> Sun, 7 May 2023 02:58:23 +0300
Newsgroups gmane.os.netbsd.ports.sparc64
Message-ID <[email protected]>
On 32-bit sparc gdb seems to be quite broken (port-sparc/57337).
On sparc64 it's not as bad, but still:

$ gdb -q ./hello   
Reading symbols from ./hello...
(gdb) b main
Breakpoint 1 at 0x100bb0: file hello.c, line 6.
(gdb) r
Starting program: /home/uwe/tmp/hello 

Breakpoint 1, main (argc=<unavailable>, argv=<unavailable>) at hello.c:6
6	           printf("%d\n", argc);
(gdb) n
0x0000000000201300 in [email protected] ()
(gdb) 

which is not quite what "next" is supposed to do.


And trying it on an -m32 program is a no go:

$ gdb -q ./hello32
Reading symbols from ./hello32...
(gdb) b main
Breakpoint 1 at 0x107ac: file hello.c, line 6.
(gdb) r
Starting program: /home/uwe/tmp/hello32 
warning: `/usr/libexec/ld.elf_so': Shared library architecture sparc:v9 is not compatible with target architecture sparc:v8plus.
warning: `/usr/libexec/ld.elf_so': Shared library architecture sparc:v9 is not compatible with target architecture sparc:v8plus.

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000a04 in ?? ()
(gdb) 


Please, can someone familiar with gdb internals give it some love?


-uwe