Re: [PATCH] libgcc: Add DWARF info to aeabi_ldivmod and aeabi_uldivmod

2013-03-25 Thread Ramana Radhakrishnan

On 03/18/13 19:20, Meador Inge wrote:

Ping.

On 03/05/2013 12:15 PM, Meador Inge wrote:

Hi All,

This patch fixes a minor annoyance that causes backtraces to disappear
inside of aeabi_ldivmod and aeabi_uldivmod due to the lack of appropriate
DWARF information.  I fixed the problem by adding the necessary cfi_*
macros in these functions.

OK?


This is OK .

R


2013-03-05  Meador Inge  

* config/arm/bpabi.S (aeabi_ldivmod): Add DWARF information for
computing the location of the link register.
(aeabi_uldivmod): Ditto.

Index: libgcc/config/arm/bpabi.S
===
--- libgcc/config/arm/bpabi.S   (revision 196470)
+++ libgcc/config/arm/bpabi.S   (working copy)
@@ -123,6 +123,7 @@ ARM_FUNC_START aeabi_ulcmp
  #ifdef L_aeabi_ldivmod

  ARM_FUNC_START aeabi_ldivmod
+   cfi_start   __aeabi_ldivmod, LSYM(Lend_aeabi_ldivmod)
test_div_by_zero signed

sub sp, sp, #8
@@ -132,17 +133,20 @@ ARM_FUNC_START aeabi_ldivmod
  #else
do_push {sp, lr}
  #endif
+98:cfi_push 98b - __aeabi_ldivmod, 0xe, -0xc, 0x10
bl SYM(__gnu_ldivmod_helper) __PLT__
ldr lr, [sp, #4]
add sp, sp, #8
do_pop {r2, r3}
RET
+   cfi_end LSYM(Lend_aeabi_ldivmod)

  #endif /* L_aeabi_ldivmod */

  #ifdef L_aeabi_uldivmod

  ARM_FUNC_START aeabi_uldivmod
+   cfi_start   __aeabi_uldivmod, LSYM(Lend_aeabi_uldivmod)
test_div_by_zero unsigned

sub sp, sp, #8
@@ -152,11 +156,13 @@ ARM_FUNC_START aeabi_uldivmod
  #else
do_push {sp, lr}
  #endif
+98:cfi_push 98b - __aeabi_uldivmod, 0xe, -0xc, 0x10
bl SYM(__gnu_uldivmod_helper) __PLT__
ldr lr, [sp, #4]
add sp, sp, #8
do_pop {r2, r3}
RET
-   
+   cfi_end LSYM(Lend_aeabi_uldivmod)
+
  #endif /* L_aeabi_divmod */










Re: [PATCH] libgcc: Add DWARF info to aeabi_ldivmod and aeabi_uldivmod

2013-03-18 Thread Meador Inge
Ping.

On 03/05/2013 12:15 PM, Meador Inge wrote:
> Hi All,
> 
> This patch fixes a minor annoyance that causes backtraces to disappear
> inside of aeabi_ldivmod and aeabi_uldivmod due to the lack of appropriate
> DWARF information.  I fixed the problem by adding the necessary cfi_*
> macros in these functions.
> 
> OK?
> 
> 2013-03-05  Meador Inge  
> 
>   * config/arm/bpabi.S (aeabi_ldivmod): Add DWARF information for
>   computing the location of the link register.
>   (aeabi_uldivmod): Ditto.
> 
> Index: libgcc/config/arm/bpabi.S
> ===
> --- libgcc/config/arm/bpabi.S (revision 196470)
> +++ libgcc/config/arm/bpabi.S (working copy)
> @@ -123,6 +123,7 @@ ARM_FUNC_START aeabi_ulcmp
>  #ifdef L_aeabi_ldivmod
>  
>  ARM_FUNC_START aeabi_ldivmod
> + cfi_start   __aeabi_ldivmod, LSYM(Lend_aeabi_ldivmod)
>   test_div_by_zero signed
>  
>   sub sp, sp, #8
> @@ -132,17 +133,20 @@ ARM_FUNC_START aeabi_ldivmod
>  #else
>   do_push {sp, lr}
>  #endif
> +98:  cfi_push 98b - __aeabi_ldivmod, 0xe, -0xc, 0x10
>   bl SYM(__gnu_ldivmod_helper) __PLT__
>   ldr lr, [sp, #4]
>   add sp, sp, #8
>   do_pop {r2, r3}
>   RET
> + cfi_end LSYM(Lend_aeabi_ldivmod)
>   
>  #endif /* L_aeabi_ldivmod */
>  
>  #ifdef L_aeabi_uldivmod
>  
>  ARM_FUNC_START aeabi_uldivmod
> + cfi_start   __aeabi_uldivmod, LSYM(Lend_aeabi_uldivmod)
>   test_div_by_zero unsigned
>  
>   sub sp, sp, #8
> @@ -152,11 +156,13 @@ ARM_FUNC_START aeabi_uldivmod
>  #else
>   do_push {sp, lr}
>  #endif
> +98:  cfi_push 98b - __aeabi_uldivmod, 0xe, -0xc, 0x10
>   bl SYM(__gnu_uldivmod_helper) __PLT__
>   ldr lr, [sp, #4]
>   add sp, sp, #8
>   do_pop {r2, r3}
>   RET
> - 
> + cfi_end LSYM(Lend_aeabi_uldivmod)
> +
>  #endif /* L_aeabi_divmod */
>   
> 


-- 
Meador Inge
CodeSourcery / Mentor Embedded