Re: [development-gcc] Re: do_exit stuck

From: Jan Beulich
Date: Tue Sep 12 2006 - 02:56:04 EST


>Isn't a Kconfig patch missing? I don't see any place that defines
>CONFIG_AS_CFI_SIGNAL_FRAME. Actually Kconfig wouldn't
>be very good for this, so auto testing would be preferable
>(like the cfi test is doing)

Using that framework was the intention (you used a CONFIG_
prefix there, and so did I), but as I wasn't sure about its status,
and as I also was doing this against plain 2.6.18-rc6, I didn't add
the actual detection logic. Actually I also think that should be
done a little differently to allow for better future extension, i.e.
instead of adding to CFLAGS store the auto-detected results in
a header and forcibly -include it.

>BTW the tree you generated it against doesn't seem to match the latest
>tree. I had to fix some rejects.

I didn't create it against your quilt tree, that's true.

>Also it would be nice if you could give a full description that could
>be used as a commit message.

Below.

>Other than that it looks good.
>
>Ok maybe a one liner comment on why UNW_DEFAULT_RA does this magic.

In order to deal with gcc's somewhat broken handling of noreturn
functions (the call instruction in which may be immediately followed
by a subsequent function, thus leading to the call's return address
pointing into that [wrong] function), add heuristics to the unwinder
to distinguish standard call frames from syscall, exception, or
interruption ones. Also provide for utilizing newer gas'
.cfi_signal_frame for non-heuristic based detection, pending
addition of the respective assembler feature detection logic.

Jan
-
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/