[OE-core] [morty] [PATCH] glibc: Enable backtrace from abort on ARM
Mark Hatle
mark.hatle at windriver.com
Thu Dec 8 19:12:05 UTC 2016
Forgot to mention, also applicable to Morty.
--Mark
On 12/8/16 1:03 PM, Mark Hatle wrote:
> From: Yuanjie Huang <yuanjie.huang at windriver.com>
>
> ARM stack frames for abort and raise were limited to the the actual
> abort and raise call, such as:
>
> Obtained 4 stack frames.
> ./test-app(print_trace+0x1c) [0x10a08]
> ./test-app() [0x10b3c]
> /lib/libc.so.6(__default_sa_restorer+0) [0x4adae1e0]
> /lib/libc.so.6(gsignal+0xa0) [0x4adacf74]
>
> This is not terribly useful when trying to figure out what function
> may have called called the abort, especially when using pthreads.
>
> After the change the trace would now look like:
>
> Obtained 8 stack frames.
> ./test-app(print_trace+0x1c) [0x10a08]
> ./test-app() [0x10b3c]
> /lib/libc.so.6(__default_sa_restorer+0) [0x4befe1e0]
> /lib/libc.so.6(gsignal+0xa0) [0x4befcf74]
> /lib/libc.so.6(abort+0x134) [0x4befe358]
> ./test-app(dummy_function+0x50) [0x10adc]
> ./test-app(main+0xd4) [0x10c24]
> /lib/libc.so.6(__libc_start_main+0x114) [0x4bee7a58]
>
> Signed-off-by: Yuanjie Huang <yuanjie.huang at windriver.com>
> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
> meta/recipes-core/glibc/glibc.inc | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index e85c7044a0..358e69be67 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -78,3 +78,9 @@ do_configure_prepend() {
> }
>
> GLIBC_ADDONS ?= "nptl,libidn"
> +
> +# Enable backtrace from abort()
> +do_configure_append_arm () {
> + echo "CFLAGS-abort.c = -funwind-tables" >> ${B}/configparms
> + echo "CFLAGS-raise.c = -funwind-tables" >> ${B}/configparms
> +}
>
More information about the Openembedded-core
mailing list