about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog23
-rw-r--r--elf/elf.h5
-rw-r--r--intl/dcigettext.c1
-rw-r--r--libio/iolibio.h4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h2
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios.h1
-rw-r--r--sysdeps/unix/sysv/linux/speed.c4
10 files changed, 38 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f30b7e8bd8..f2b47df64e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2001-06-13  Ulrich Drepper  <drepper@redhat.com>
 
+	* libio/iolibio.h (_IO_freopen): Correct last parameter to
+	_IO_file_open.
+	(_IO_freopen64): Likewise.
+	Reported by simanek@quantum.karlov.mff.cuni.cz [PR libc/2326].
+
+	* elf/elf.h: Add a few more EM_* constants.
+
+2001-06-12  Bruno Haible  <haible@clisp.cons.org>
+
+	* intl/dcigettext.c (DCIGETTEXT): Release the lock before returning.
+
+2001-06-09  Ben Collins  <bcollins@debian.org>
+
+	* sysdeps/unix/sysv/linux/bits/termios.h: Define __MAX_BAUD.
+	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
+	* sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
+	* sysdeps/unix/sysv/linux/speed.c: Use __MAX_BAUD instead of
+	hardcoded B400000.
+
+2001-06-13  Ulrich Drepper  <drepper@redhat.com>
+
 	* time/sys/time.h: Don't use enum __itimer_which ever for
 	__itimer_which_t for C++.
 	Reported by Martin Buchholz <martin@xemacs.org>.
diff --git a/elf/elf.h b/elf/elf.h
index 0644fd7536..c6c7c72a6e 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -235,7 +235,10 @@ typedef struct
 #define EM_MN10300	89		/* Matsushita MN10300 */
 #define EM_MN10200	90		/* Matsushita MN10200 */
 #define EM_PJ		91		/* picoJava */
-#define EM_NUM		92
+#define EM_OPENRISC	92		/* OpenRISC 32-bit embedded processor */
+#define EM_ARC_A5	93		/* ARC Cores Tangent-A5 */
+#define EM_XTENSA	94		/* Tensilica Xtensa Architecture */
+#define EM_NUM		95
 
 /* If it is necessary to assign new unofficial EM_* values, please
    pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 944983decc..d2b903c3f3 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -495,6 +495,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
 	  /* We cannot get the current working directory.  Don't signal an
 	     error but simply return the default string.  */
 	  FREE_BLOCKS (block_list);
+	  __libc_rwlock_unlock (_nl_state_lock);
 	  __set_errno (saved_errno);
 	  return (plural == 0
 		  ? (char *) msgid1
diff --git a/libio/iolibio.h b/libio/iolibio.h
index 92f25cf9f9..5417de0603 100644
--- a/libio/iolibio.h
+++ b/libio/iolibio.h
@@ -57,11 +57,11 @@ extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
 #define _IO_rewind(FILE) (void)_IO_seekoff(FILE, 0, 0, _IOS_INPUT|_IOS_OUTPUT)
 #define _IO_vprintf(FORMAT, ARGS) _IO_vfprintf(_IO_stdout, FORMAT, ARGS)
 #define _IO_freopen(FILENAME, MODE, FP) \
-  (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 0))
+  (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 1))
 #define _IO_old_freopen(FILENAME, MODE, FP) \
   (_IO_old_file_close_it (FP), _IO_old_file_fopen(FP, FILENAME, MODE))
 #define _IO_freopen64(FILENAME, MODE, FP) \
-  (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 1))
+  (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 0))
 #define _IO_fileno(FP) ((FP)->_fileno)
 extern _IO_FILE* _IO_popen __P((const char*, const char*));
 extern _IO_FILE* _IO_new_popen __P((const char*, const char*));
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index bfd64ee99a..13e17b7b43 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -150,6 +150,8 @@ struct termios
 #define  B3500000 00035
 #define  B4000000 00036
 
+#define __MAX_BAUD B4000000
+
 #define CSIZE	00001400
 #define   CS5	00000000
 #define   CS6	00000400
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index a5ba1d258b..c978e1d1d1 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -165,6 +165,7 @@ struct termios
 #define  B3000000 0010015
 #define  B3500000 0010016
 #define  B4000000 0010017
+#define __MAX_BAUD B4000000
 #ifdef __USE_MISC
 # define CIBAUD	  002003600000		/* input baud rate (not used) */
 # define CRTSCTS  020000000000		/* flow control */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h
index f7abe474df..ca6b648548 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -214,6 +214,7 @@ struct termios
 # define  B3000000 0010015
 # define  B3500000 0010016
 # define  B4000000 0010017
+# define  __MAX_BAUD B4000000
 # define CIBAUD	  002003600000	/* input baud rate (not used) */
 # define CRTSCTS  020000000000		/* flow control */
 #endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index 648d9ab62b..85bd16203f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -151,6 +151,7 @@ struct termios {
 #define  B3000000 00034
 #define  B3500000 00035
 #define  B4000000 00036
+#define __MAX_BAUD B4000000
 
 #define CSIZE	00001400
 #define   CS5	00000000
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index 14ff7b76a9..a454717092 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -156,6 +156,7 @@ struct termios
 #define B1152000 0x0000100d
 #define B1500000 0x0000100e
 #define B2000000 0x0000100f
+#define __MAX_BAUD B2000000
 
 #define CIBAUD	0x100f0000	/* input baud rate (not used) */
 #define CMSPAR	0x40000000	/* mark or space (stick) parity */
diff --git a/sysdeps/unix/sysv/linux/speed.c b/sysdeps/unix/sysv/linux/speed.c
index 075c01de3f..96ae27c82f 100644
--- a/sysdeps/unix/sysv/linux/speed.c
+++ b/sysdeps/unix/sysv/linux/speed.c
@@ -60,7 +60,7 @@ cfsetospeed  (termios_p, speed)
      speed_t speed;
 {
   if ((speed & ~CBAUD) != 0
-      && (speed < B57600 || speed > B4000000))
+      && (speed < B57600 || speed > __MAX_BAUD))
     {
       __set_errno (EINVAL);
       return -1;
@@ -82,7 +82,7 @@ cfsetispeed (termios_p, speed)
      speed_t speed;
 {
   if ((speed & ~CBAUD) != 0
-      && (speed < B57600 || speed > B4000000))
+      && (speed < B57600 || speed > __MAX_BAUD))
     {
       __set_errno (EINVAL);
       return -1;