Signal patchset (was: Re: aranym bug, manifests as "ida_remove calledfor id=13" on recent kernels)

From: Geert Uytterhoeven
Date: Sun Dec 05 2010 - 06:15:22 EST


On Tue, Nov 2, 2010 at 16:30, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Mon, Oct 11, 2010 at 16:24, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>> BTW, any comments on signal patchset? ÂSeems to work here, including the
>> stack expansion fixes, but that's on aranym. ÂI'll try to resurrect the
>> real hardware, but that may take a while. ÂIf somebody could give it a beating
>> in the meanwhile...
>
> I tried it on my Amiga 4000/040.
> Without your patches, gdb gets stuck in state D+ when reaching a breakpoint:
>
> | cassandra:~# gdb /tmp/hello
> | GNU gdb 6.4.90-debian
> | Copyright (C) 2006 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 "m68k-linux-gnu"...Using host
> libthread_db library "/lib/libthread_db.so.1".
> |
> | (gdb) break main
> | Breakpoint 1 at 0x800003fc: file /home/geert/hello.c, line 6.
> | (gdb) run
> | Starting program: /tmp/hello
> |
> | Breakpoint 1, main (argc=1, argv=0xefbeedb4) at /home/geert/hello.c:6
>
> With your patches, it works a bit better:
>
> | cassandra:~# gdb /tmp/hello
> | GNU gdb 6.4.90-debian
> | Copyright (C) 2006 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 "m68k-linux-gnu"...Using host
> libthread_db library "/lib/libthread_db.so.1".
> |
> | (gdb) break main
> | Breakpoint 1 at 0x800003fc: file /home/geert/hello.c, line 6.
> | (gdb) run
> | Starting program: /tmp/hello
> |
> | Breakpoint 1, main (argc=1, argv=0xefcc5db4) at /home/geert/hello.c:6
> | 6 Â Â Â Â printf("Hello, world! [C]\n");
> | (gdb) cont
> | Continuing.
> | Hello, world! [C]
> |
> | Program exited normally.
> | (gdb) run
> | Starting program: /tmp/hello
> |
> | Breakpoint 1, main (argc=1, argv=0xef85bdb4) at /home/geert/hello.c:6
> | 6 Â Â Â Â printf("Hello, world! [C]\n");
> | (gdb) next
> | Hello, world! [C]
>
> After which gdb is stuck in S+, and /tmp/hello in t.

Unless someone objects, I'm inclined to apply Al's patchset, as it improves the
situation anyway.

OK?

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/