about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog25
-rw-r--r--include/libc-symbols.h7
-rw-r--r--libio/iofdopen.c2
-rw-r--r--libio/stdio.c11
-rw-r--r--sysdeps/generic/unwind-dw2-fde-glibc.c6
-rw-r--r--sysdeps/generic/unwind-pe.h12
6 files changed, 55 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f2f28bee3..a21e27ce0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2002-03-17  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits.
+
+	* sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment.
+
+	* sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause
+	bits.
+
+	* sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New.
+	(CAUSE_SHIFT): New.
+	Patch by Hartvig Ekner <hartvige@mips.com>.
+
+        * sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes.
+        * sysdeps/generic/unwind-pe.h: Likewise.
+
+        * libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct
+        type to _IO_setb.
+
+	* libio/stdio.c (AL2): Define variant when visibility attribute is
+	not supported.
+
+	* include/libc-symbols.h (_INTVARDEF): Define variant when
+	visibility attribute is not supported.
+
 2002-03-16  Ulrich Drepper  <drepper@redhat.com>
 
 	* po/fr.po: Update from translation team.
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 3367c39e09..11c87c84d2 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -362,9 +362,14 @@
 # define INTDEF(name) strong_alias (name, name##_internal)
 # define INTVARDEF(name) \
   _INTVARDEF (name, name##_internal)
-# define _INTVARDEF(name, aliasname) \
+# if defined HAVE_VISIBILITY_ATTRIBUTE
+#  define _INTVARDEF(name, aliasname) \
   extern __typeof (name) aliasname __attribute__ ((alias (#name), \
 						   visibility ("hidden")));
+# else
+#  define _INTVARDEF(name, aliasname) \
+  extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+# endif
 # define INTDEF2(name, newname) strong_alias (name, newname##_internal)
 # define INTVARDEF2(name, newname) _INTVARDEF (name, newname##_internal)
 #else
diff --git a/libio/iofdopen.c b/libio/iofdopen.c
index ee8caa3604..1c76ba7a4f 100644
--- a/libio/iofdopen.c
+++ b/libio/iofdopen.c
@@ -132,7 +132,7 @@ _IO_new_fdopen (fd, mode)
 #endif
   if (INTUSE(_IO_file_attach) ((_IO_FILE *) &new_f->fp, fd) == NULL)
     {
-      INTUSE(_IO_setb) (&new_f->fp, NULL, NULL, 0);
+      INTUSE(_IO_setb) (&new_f->fp.file, NULL, NULL, 0);
       INTUSE(_IO_un_link) (&new_f->fp);
       free (new_f);
       return NULL;
diff --git a/libio/stdio.c b/libio/stdio.c
index 64a8ab2d57..8dc24ed98f 100644
--- a/libio/stdio.c
+++ b/libio/stdio.c
@@ -40,9 +40,14 @@ _IO_FILE *stderr = (FILE *) &_IO_2_1_stderr_;
 #undef _IO_stderr
 #ifdef _LIBC
 # define AL(name) AL2 (name, _IO_##name)
-# define AL2(name, al) \
-  extern __typeof (name) al __attribute__ ((alias (#name),		      \
-					    visibility ("hidden")))
+# if defined HAVE_VISIBILITY_ATTRIBUTE
+#  define AL2(name, al) \
+  extern __typeof (name) al __attribute__ ((alias (#name),                    \
+                                            visibility ("hidden")))
+# else
+#  define AL2(name, al) \
+  extern __typeof (name) al __attribute__ ((alias (#name)))
+# endif
 AL(stdin);
 AL(stdout);
 AL(stderr);
diff --git a/sysdeps/generic/unwind-dw2-fde-glibc.c b/sysdeps/generic/unwind-dw2-fde-glibc.c
index 05344cba98..2f7517441c 100644
--- a/sysdeps/generic/unwind-dw2-fde-glibc.c
+++ b/sysdeps/generic/unwind-dw2-fde-glibc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    Contributed by Jakub Jelinek <jakub@redhat.com>.
 
    This file is part of GNU CC.
@@ -44,7 +44,9 @@
 
 #undef _Unwind_Find_FDE
 
-fde * _Unwind_Find_registered_FDE (void *pc, struct dwarf_eh_bases *bases);
+extern fde * _Unwind_Find_registered_FDE (void *pc,
+					  struct dwarf_eh_bases *bases);
+extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
 
 struct unw_eh_callback_data
 {
diff --git a/sysdeps/generic/unwind-pe.h b/sysdeps/generic/unwind-pe.h
index e4a564e3e1..9a031c1f32 100644
--- a/sysdeps/generic/unwind-pe.h
+++ b/sysdeps/generic/unwind-pe.h
@@ -1,5 +1,5 @@
 /* Exception handling and frame unwind runtime interface routines.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU CC.
 
@@ -52,6 +52,16 @@
 #define DW_EH_PE_indirect	0x80
 
 
+#ifdef _LIBC
+/* Prototypes.  */
+extern unsigned int size_of_encoded_value (unsigned char encoding);
+extern const unsigned char *read_encoded_value_with_base
+  (unsigned char encoding, _Unwind_Ptr base,
+   const unsigned char *p, _Unwind_Ptr *val);
+#endif
+
+
+
 /* Given an encoding, return the number of bytes the format occupies.
    This is only defined for fixed-size encodings, and so does not
    include leb128.  */