aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h35
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h2
3 files changed, 11 insertions, 31 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 47a0dd8ff3..0b22326e6e 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,10 @@
2003-06-15 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+ (DL_SYSINFO_IMPLEMENTATION): Use CFI opcodes.
+ * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
+ (DL_SYSINFO_IMPLEMENTATION): Likewise.
+
* pthreadP.h (LIBC_CANCEL_ASYNC): Also define for librt.
(LIBC_CANCEL_RESET): Likewise.
Declare __librt_enable_asynccancel and __librt_disable_asynccancel.
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
index 5d6d7fb9ff..109ffd1cf6 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -51,41 +51,14 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
# define DL_SYSINFO_IMPLEMENTATION \
asm (".text\n\t" \
".type _dl_sysinfo_int80,@function\n\t" \
- ".hidden _dl_sysinfo_int80\n" \
+ ".hidden _dl_sysinfo_int80\n\t" \
+ CFI_STARTPROC "\n" \
"_dl_sysinfo_int80:\n\t" \
"int $0x80;\n\t" \
"ret;\n\t" \
- ".LEND_dl_sysinfo_int80\n\t" \
+ CFI_ENDPROC "\n" \
".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
- ".previous;\n\t" \
- ".section .eh_frame,\"a\",@progbits\n" \
- ".LSTARTFRAMEDLSI:\n\t" \
- ".long .LENDCIEDLSI-.LSTARTCIEDLSI\n" \
- ".LSTARTCIEDLSI:\n\t" \
- ".long 0\n\t" /* CIE ID */ \
- ".byte 1\n\t" /* Version number */ \
- ".string \"zR\"\n\t" /* NUL-terminated augmentation string */ \
- ".uleb128 1\n\t" /* Code alignment factor */ \
- ".sleb128 -4\n\t" /* Data alignment factor */ \
- ".byte 8\n\t" /* Return address register column */ \
- ".uleb128 1\n\t" /* Augmentation value length */ \
- ".byte 0x1b\n\t" /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ \
- ".byte 0x0c\n\t" /* DW_CFA_def_cfa */ \
- ".uleb128 4\n\t" \
- ".uleb128 4\n\t" \
- ".byte 0x88\n\t" /* DW_CFA_offset, column 0x8 */ \
- ".uleb128 1\n\t" \
- ".align 4\n" \
- ".LENDCIEDLSI:\n\t" \
- ".long .LENDFDEDLSI-.LSTARTFDEDLSI\n" /* Length FDE */ \
- ".LSTARTFDEDLSI:\n\t" \
- ".long .LSTARTFDEDLSI-.LSTARTFRAMEDLSI\n\t" /* CIE pointer */ \
- ".long _dl_sysinfo_int80-.\n\t" /* PC-relative start address */ \
- ".long .LEND_dl_sysinfo_int80-_dl_sysinfo_int80\n\t" \
- ".uleb128 0\n\t" \
- ".align 4\n" \
- ".LENDFDEDLSI:\n\t" \
- ".previous");
+ ".previous;");
#endif
#endif /* dl-sysdep.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
index b880238a93..b7771318a6 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
@@ -49,9 +49,11 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
asm (".text\n\t" \
".type _dl_sysinfo_int80,@function\n\t" \
".hidden _dl_sysinfo_int80\n" \
+ CFI_STARTPROC "\n" \
"_dl_sysinfo_int80:\n\t" \
"int $0x80;\n\t" \
"ret;\n\t" \
+ CFI_ENDPROC "\n" \
".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
".previous");
#endif