[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