summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--config.make.in1
-rw-r--r--configure.in2
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h29
5 files changed, 38 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 965d5a4fd4..bf6d207ed4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2003-04-19 Ulrich Drepper <drepper@redhat.com>
+ * configure.in: Add AC_PROG_CXX.
+ * config.make.in (CXX): Define.
+
* sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of
__len to size_t to avoid warnings.
diff --git a/config.make.in b/config.make.in
index c704cc701d..e9c234a7a6 100644
--- a/config.make.in
+++ b/config.make.in
@@ -84,6 +84,7 @@ force-install = @force_install@
# Build tools.
CC = @CC@
+CXX = @CXX@
BUILD_CC = @BUILD_CC@
CFLAGS = @CFLAGS@
AR = @AR@
diff --git a/configure.in b/configure.in
index 2ef312304e..300bba65bc 100644
--- a/configure.in
+++ b/configure.in
@@ -676,6 +676,8 @@ if test $host != $build; then
fi
AC_SUBST(cross_compiling)
AC_PROG_CPP
+# We need the C++ compiler only for testing.
+AC_PROG_CXX
LIBC_PROG_BINUTILS
AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index d7cd8faddb..e5302642b8 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,8 @@
2003-04-19 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+ (DL_SYSINFO_IMPLEMENTATION): Add .eh_frame information.
+
* sysdeps/unix/sysv/linux/unregister-atfork.c
(__unregister_atfork): Don't free memory not allocated dynamically.
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
index 4c29c150f7..5d6d7fb9ff 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -55,7 +55,36 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
"_dl_sysinfo_int80:\n\t" \
"int $0x80;\n\t" \
"ret;\n\t" \
+ ".LEND_dl_sysinfo_int80\n\t" \
".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");
#endif