Re: [PATCH] Set TIF_IRET in more places

From: Zack Weinberg (zack@codesourcery.com)
Date: Thu Jan 09 2003 - 01:49:22 EST


Jamie Lokier <lk@tantalophile.demon.co.uk> writes:

>
> It would be quite nice just to have dwarf2 unwind information, with an
> unwind handler, for the classic non-vsyscall restorer in Glibc.

A trivial routine that just calls another routine,

extern void g(void);

void f(void) { g(); asm volatile (""); }

[the asm is to prevent sibcall optimization from kicking in] produces
the assembly dump appended to this message when compiled with -O2
-fexceptions -fomit-frame-pointer. I do not know what the stuff put
in .eh_frame means, and it probably isn't exactly right for __restore
or __restore_rt, but it's a start.

> Then MD_FALLBACK_FRAME_STATE_FOR could be removed from GCC on all
> Linux targets, regardless of kernel version.

I think we'd need to keep it around for the sake of older libcs; it
shouldn't do any harm.

zw

        .text
        .p2align 2,,3
.globl f
        .type f,@function
f:
.LFB1:
        subl $12, %esp
.LCFI0:
        call g
        addl $12, %esp
.LCFI1:
        ret
.LFE1:
.Lfe1:
        .size f,.Lfe1-f
        .section .eh_frame,"aw",@progbits
.Lframe1:
        .long .LECIE1-.LSCIE1
.LSCIE1:
        .long 0x0
        .byte 0x1
        .string ""
        .uleb128 0x1
        .sleb128 -4
        .byte 0x8
        .byte 0xc
        .uleb128 0x4
        .uleb128 0x4
        .byte 0x88
        .uleb128 0x1
        .align 4
.LECIE1:
.LSFDE1:
        .long .LEFDE1-.LASFDE1
.LASFDE1:
        .long .LASFDE1-.Lframe1
        .long .LFB1
        .long .LFE1-.LFB1
        .byte 0x4
        .long .LCFI0-.LFB1
        .byte 0xe
        .uleb128 0x10
        .byte 0x4
        .long .LCFI1-.LCFI0
        .byte 0xe
        .uleb128 0x4
        .align 4
.LEFDE1:
        .ident "GCC: (GNU) 3.2.2 20021231 (Debian prerelease)"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:27 EST