Message ID | 1362507304-9011-1-git-send-email-meadori@codesourcery.com |
---|---|
State | New |
Headers | show |
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 <meadori@codesourcery.com> > > * 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 */ > >
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 <meadori@codesourcery.com> >> >> * 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 */ >> >> > >
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 */