1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
1998-10-29  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de> 
 
	* manual/locale.texi (Formatting Numbers): Fix strfmon examples. 
 
1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de> 
 
	* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain 
	0, __fd_mask is usually not a char. 
 
1998-10-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
 
	* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow 
	compilation on systems without rt_* syscalls (e.g. on Linux 2.0). 
	* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise. 
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. 
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. 
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise 
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise. 
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. 
 
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow 
	compiling on systems without rt_sigaction syscall. 
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): 
	Likewise. 
 
1998-10-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
 
	* time/strptime.c (HERE_D_FMT): Fix typo.   
	Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842. 
 
	* catgets/test1.msg: New file.
This commit is contained in:
Ulrich Drepper
1998-10-31 11:42:52 +00:00
parent 646fffb981
commit 655b26bb75
14 changed files with 63 additions and 7 deletions

View File

@ -1,8 +1,39 @@
1998-10-29 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/locale.texi (Formatting Numbers): Fix strfmon examples.
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain
0, __fd_mask is usually not a char.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow
compilation on systems without rt_* syscalls (e.g. on Linux 2.0).
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow
compiling on systems without rt_sigaction syscall.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction):
Likewise.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/strptime.c (HERE_D_FMT): Fix typo.
Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.
1998-10-30 Ulrich Drepper <drepper@cygnus.com> 1998-10-30 Ulrich Drepper <drepper@cygnus.com>
* catgets/Makefile (tests): Add rules to run gencat on test1.msg. * catgets/Makefile (tests): Add rules to run gencat on test1.msg.
(generate): Add test1.cat and test1.h. (generate): Add test1.cat and test1.h.
(distribute): Add test1.msg. (distribute): Add test1.msg.
* catgets/test1.msg: New file.
* catgets/gencat.c: Do a better job in initializing dynamic * catgets/gencat.c: Do a better job in initializing dynamic
memory [PR libc/844]. memory [PR libc/844].

View File

@ -28,7 +28,7 @@
unsigned int __i; \ unsigned int __i; \
__fd_set *__arr = (s); \ __fd_set *__arr = (s); \
for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i) \ for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i) \
__FDS_BITS (__arr)[__i] = '\0'; \ __FDS_BITS (__arr)[__i] = 0; \
} while (0) } while (0)
#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) #define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
#define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) #define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))

View File

@ -1052,7 +1052,7 @@ strfmon (buf, 100, "@@%n@@%n@@%n@@", 123.45, -567.89, 12345.678);
@noindent @noindent
The output produced is The output produced is
@smallexample @smallexample
"@@$123.45@@-$123.45@@$12,345.68@@" "@@$123.45@@-$567.89@@$12,345.68@@"
@end smallexample @end smallexample
We can notice several things here. First, the width for all formats is We can notice several things here. First, the width for all formats is
@ -1073,7 +1073,7 @@ strfmon (buf, 100, "@@%=*11n@@%=*11n@@%=*11n@@", 123.45, -567.89, 12345.678);
The output this time is: The output this time is:
@smallexample @smallexample
"@@ $123.45@@ -$123.45@@ $12,345.68@@" "@@ $123.45@@ -$567.89@@ $12,345.68@@"
@end smallexample @end smallexample
Two things stand out. First, all fields have the same width (eleven Two things stand out. First, all fields have the same width (eleven
@ -1119,7 +1119,7 @@ This rather complex format string produces the following output:
The most noticeable change is the use of the alternative style to The most noticeable change is the use of the alternative style to
represent negative numbers. In financial circles it is often done using represent negative numbers. In financial circles it is often done using
braces and this is what the @samp{(} flag selected. The fill character parentheses and this is what the @samp{(} flag selected. The fill character
is now @samp{0}. Please note that this @samp{0} character is not is now @samp{0}. Please note that this @samp{0} character is not
regarded as a numeric zero and therefore the first and second number are regarded as a numeric zero and therefore the first and second number are
not printed using a thousands separator. Since we use in the format the not printed using a thousands separator. Since we use in the format the

View File

@ -28,7 +28,7 @@
unsigned int __i; \ unsigned int __i; \
__fd_set *__arr = (s); \ __fd_set *__arr = (s); \
for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i) \ for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i) \
__FDS_BITS (__arr)[__i] = '\0'; \ __FDS_BITS (__arr)[__i] = 0; \
} while (0) } while (0)
#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) #define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
#define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) #define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))

View File

@ -26,6 +26,7 @@
#include "aio_misc.h" #include "aio_misc.h"
#ifdef __NR_rt_sigqueueinfo
extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *); extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
@ -47,3 +48,6 @@ __aio_sigqueue (sig, val)
return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
} }
#else
# include <sysdeps/generic/aio_sigqueue.c>
#endif

View File

@ -47,6 +47,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
struct old_kernel_sigaction k_newact, k_oldact; struct old_kernel_sigaction k_newact, k_oldact;
int result; int result;
#ifdef __NR_rt_sigaction
/* First try the RT signals. */ /* First try the RT signals. */
if (!__libc_missing_rt_sigs) if (!__libc_missing_rt_sigs)
{ {
@ -83,6 +84,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
__set_errno (saved_errno); __set_errno (saved_errno);
__libc_missing_rt_sigs = 1; __libc_missing_rt_sigs = 1;
} }
#endif
if (act) if (act)
{ {

View File

@ -38,6 +38,7 @@ int
sigpending (set) sigpending (set)
sigset_t *set; sigset_t *set;
{ {
#ifdef __NR_rt_pending
/* First try the RT signals. */ /* First try the RT signals. */
if (!__libc_missing_rt_sigs) if (!__libc_missing_rt_sigs)
{ {
@ -52,6 +53,7 @@ sigpending (set)
__set_errno (saved_errno); __set_errno (saved_errno);
__libc_missing_rt_sigs = 1; __libc_missing_rt_sigs = 1;
} }
#endif
return INLINE_SYSCALL (sigpending, 1, set); return INLINE_SYSCALL (sigpending, 1, set);
} }

View File

@ -39,6 +39,7 @@ __sigprocmask (how, set, oset)
const sigset_t *set; const sigset_t *set;
sigset_t *oset; sigset_t *oset;
{ {
#ifdef __NR_rt_sigprocmask
/* First try the RT signals. */ /* First try the RT signals. */
if (!__libc_missing_rt_sigs) if (!__libc_missing_rt_sigs)
{ {
@ -54,6 +55,7 @@ __sigprocmask (how, set, oset)
__set_errno (saved_errno); __set_errno (saved_errno);
__libc_missing_rt_sigs = 1; __libc_missing_rt_sigs = 1;
} }
#endif
return INLINE_SYSCALL (sigprocmask, 3, how, set, oset); return INLINE_SYSCALL (sigprocmask, 3, how, set, oset);
} }

View File

@ -25,7 +25,7 @@
extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *); extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
#ifdef __NR_rt_sigqueueinfo
/* Return any pending signal or wait for one for the given time. */ /* Return any pending signal or wait for one for the given time. */
int int
__sigqueue (pid, sig, val) __sigqueue (pid, sig, val)
@ -46,3 +46,6 @@ __sigqueue (pid, sig, val)
return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info); return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info);
} }
weak_alias (__sigqueue, sigqueue) weak_alias (__sigqueue, sigqueue)
#else
# include <sysdeps/generic/sigqueue.c>
#endif

View File

@ -38,6 +38,7 @@ int
__sigsuspend (set) __sigsuspend (set)
const sigset_t *set; const sigset_t *set;
{ {
#ifdef __NR_rt_sigsuspend
/* First try the RT signals. */ /* First try the RT signals. */
if (!__libc_missing_rt_sigs) if (!__libc_missing_rt_sigs)
{ {
@ -52,6 +53,7 @@ __sigsuspend (set)
__set_errno (saved_errno); __set_errno (saved_errno);
__libc_missing_rt_sigs = 1; __libc_missing_rt_sigs = 1;
} }
#endif
return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]); return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]);
} }

View File

@ -22,6 +22,7 @@
#include <sysdep.h> #include <sysdep.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#ifdef __NR_rt_sigtimedwait
extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *, extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
const struct timespec *, size_t); const struct timespec *, size_t);
@ -38,3 +39,6 @@ __sigtimedwait (set, info, timeout)
return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout, _NSIG / 8); return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout, _NSIG / 8);
} }
weak_alias (__sigtimedwait, sigtimedwait) weak_alias (__sigtimedwait, sigtimedwait)
#else
# include <sysdeps/generic/sigtimedwait.c>
#endif

View File

@ -24,6 +24,7 @@
#include <sysdep.h> #include <sysdep.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#ifdef __NR_rt_sigtimedwait
extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *, extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
const struct timespec *, size_t); const struct timespec *, size_t);
@ -39,3 +40,6 @@ __sigwaitinfo (set, info)
return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8); return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8);
} }
weak_alias (__sigwaitinfo, sigwaitinfo) weak_alias (__sigwaitinfo, sigwaitinfo)
#else
# include <sysdeps/generic/sigwaitinfo.c>
#endif

View File

@ -41,6 +41,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
struct old_kernel_sigaction k_sigact, k_osigact; struct old_kernel_sigaction k_sigact, k_osigact;
int ret; int ret;
#ifdef __NR_rt_sigaction
/* First try the RT signals. */ /* First try the RT signals. */
if (!__libc_missing_rt_sigs) if (!__libc_missing_rt_sigs)
{ {
@ -81,6 +82,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
__set_errno (saved_errno); __set_errno (saved_errno);
__libc_missing_rt_sigs = 1; __libc_missing_rt_sigs = 1;
} }
#endif
/* Magic to tell the kernel we are using "new-style" signals, in that /* Magic to tell the kernel we are using "new-style" signals, in that
the signal table is not kept in userspace. Not the same as the the signal table is not kept in userspace. Not the same as the

View File

@ -142,7 +142,7 @@ extern const struct locale_data _nl_C_LC_TIME;
# define month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (MON_1)].string) # define month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (MON_1)].string)
# define ab_month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)].string) # define ab_month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)].string)
# define HERE_D_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_T_FMT)].string) # define HERE_D_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_T_FMT)].string)
# define HERE_D_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_T_FMT)].string) # define HERE_D_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_FMT)].string)
# define HERE_AM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (AM_STR)].string) # define HERE_AM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (AM_STR)].string)
# define HERE_PM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (PM_STR)].string) # define HERE_PM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (PM_STR)].string)
# define HERE_T_FMT_AMPM \ # define HERE_T_FMT_AMPM \