* 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.
This commit is contained in:
Ulrich Drepper 2003-06-16 05:29:24 +00:00
parent 7a1147946e
commit 452aea842f
3 changed files with 11 additions and 31 deletions

View File

@ -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.

View File

@ -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 */

View File

@ -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