This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Adding CFI statements to ARM's assembly code


Hello!

On 2010-01-13 13:56, Daniel Jacobowitz wrote:
> On Wed, Jan 13, 2010 at 10:55:03AM +0100, Thomas Schwinge wrote:
>> On 2010-01-12 14:52, Daniel Jacobowitz wrote:
>>> On Tue, Jan 12, 2010 at 02:35:41PM +0100, Thomas Schwinge wrote:
>>>> In sysdeps/unix/sysv/linux/arm/eabi/sysdep.h:INTERNAL_SYSCALL_RAW for
>>>> [__thumb__], should we, depending on defined (__GCC_HAVE_DWARF2_CFI_ASM),
>>>> emit CFI statements to handle r7's modification and restoral?  We can't
>>>> emit CFI statements unconditionally, as it's GCC's decision whether to
>>>> emit .cfi_startproc or not, and in the latter case we're not allowed to
>>>> using them in inline assembly.
>>>
>>> In theory, we ought to.  It's not very important since only r7 is
>>> affected.
>>
>> Shall I put a comment into the code then?
>
> Sounds fine.

(No ChangeLog.)

diff --git a/glibc-ports-trunk-2.11/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h b/glibc-ports-trunk-2.11/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h
index f3fe1f6..9d90f3e 100644
--- a/glibc-ports-trunk-2.11/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h
+++ b/glibc-ports-trunk-2.11/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h
@@ -50,6 +50,7 @@
    For the moment the LOAD_ARGS_7 is sacrificed.
    We can't use push/pop inside the asm because that breaks
    unwinding (ie. thread cancellation).  */
+/* FIXME: the str / ldr of r7 are not covered by CFI information.  */
 #undef LOAD_ARGS_7
 #undef INTERNAL_SYSCALL_RAW
 #define INTERNAL_SYSCALL_RAW(name, err, nr, args...)		\


Regards,
 Thomas

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]