mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Update.
1997-05-25 03:00 Ulrich Drepper <drepper@cygnus.com> * elf/dynamic-link.h (_dl_verbose): New variable, declare. * elf/rtld.c (_dl_verbose): New variable, define. (dl_main): Define _dl-verbose based on DL_WARN environment variable. * sysdeps/i386/dl-machine.h (elf_machine_rel): Print warning about changed size in copy relocation only if symbol in shared object is larger or _dl_verbose is nonzero. * sysdeps/m68k/dl-machine.h (elf_machine_rel): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_rel): Likewise. * sysdeps/sparc/dl-machine.h (elf_machine_rel): Likewise. * nis/nss_nis/nis-ethers.c: Don't use relative include paths, use <...>. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-spwd.c: Likewise. * sysdeps/unix/sysv/sysd-stdio.c: Likewise. * wcsmbs/wcscoll.c: Likewise. * wcsmbs/wcstod.c: Likewise. * wcsmbs/wcstof.c: Likewise. * wcsmbs/wcstol.c: Likewise. * wcsmbs/wcstold.c: Likewise. * wcsmbs/wcsxfrm.c: Likewise. Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>. * time/strftime.c: Implement # flag which changes case of output for %a, %b, %B, %p, and %Z format. When printing numbers, the given field width is always respected. This means that padding happens only up to the given width. Proposed by Stephen Gildea <gildea@intouchsys.com>. 1997-05-25 00:44 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/__math.h (logb): Fix thinko, reverse output values. Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>. 1997-05-24 21:03 Philip Blundell <pjb27@cam.ac.uk> * db/btree/bt_open.c (__bt_open): Only try to use st_blksize (from struct stat) if it exists for this port. 1997-05-24 20:34 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/standalone/arm/errnos.h: Add EPERM. 1997-05-23 16:28 Philip Blundell <phil@kings-cross.london.uk.eu.org> * linewrap.h: New file, needed to compile argp without libio. 1997-05-24 11:59 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/stdio.texi (Formatted Messages): Corrected some typos. 1997-05-24 11:58 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/stub/start.c: Fix typo.
This commit is contained in:
parent
a133e7a4d2
commit
cf29ffbef9
63
ChangeLog
63
ChangeLog
@ -1,3 +1,66 @@
|
||||
1997-05-25 03:00 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/dynamic-link.h (_dl_verbose): New variable, declare.
|
||||
* elf/rtld.c (_dl_verbose): New variable, define.
|
||||
(dl_main): Define _dl-verbose based on DL_WARN environment variable.
|
||||
* sysdeps/i386/dl-machine.h (elf_machine_rel): Print warning about
|
||||
changed size in copy relocation only if symbol in shared object
|
||||
is larger or _dl_verbose is nonzero.
|
||||
* sysdeps/m68k/dl-machine.h (elf_machine_rel): Likewise.
|
||||
* sysdeps/powerpc/dl-machine.h (elf_machine_rel): Likewise.
|
||||
* sysdeps/sparc/dl-machine.h (elf_machine_rel): Likewise.
|
||||
|
||||
* nis/nss_nis/nis-ethers.c: Don't use relative include paths, use
|
||||
<...>.
|
||||
* nis/nss_nis/nis-grp.c: Likewise.
|
||||
* nis/nss_nis/nis-hosts.c: Likewise.
|
||||
* nis/nss_nis/nis-network.c: Likewise.
|
||||
* nis/nss_nis/nis-proto.c: Likewise.
|
||||
* nis/nss_nis/nis-pwd.c: Likewise.
|
||||
* nis/nss_nis/nis-rpc.c: Likewise.
|
||||
* nis/nss_nis/nis-spwd.c: Likewise.
|
||||
* sysdeps/unix/sysv/sysd-stdio.c: Likewise.
|
||||
* wcsmbs/wcscoll.c: Likewise.
|
||||
* wcsmbs/wcstod.c: Likewise.
|
||||
* wcsmbs/wcstof.c: Likewise.
|
||||
* wcsmbs/wcstol.c: Likewise.
|
||||
* wcsmbs/wcstold.c: Likewise.
|
||||
* wcsmbs/wcsxfrm.c: Likewise.
|
||||
Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>.
|
||||
|
||||
* time/strftime.c: Implement # flag which changes case of output for
|
||||
%a, %b, %B, %p, and %Z format.
|
||||
When printing numbers, the given field width is always respected.
|
||||
This means that padding happens only up to the given width.
|
||||
Proposed by Stephen Gildea <gildea@intouchsys.com>.
|
||||
|
||||
1997-05-25 00:44 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/i386/fpu/__math.h (logb): Fix thinko, reverse output
|
||||
values.
|
||||
Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.
|
||||
|
||||
1997-05-24 21:03 Philip Blundell <pjb27@cam.ac.uk>
|
||||
|
||||
* db/btree/bt_open.c (__bt_open): Only try to use st_blksize (from
|
||||
struct stat) if it exists for this port.
|
||||
|
||||
1997-05-24 20:34 Philip Blundell <pjb27@cam.ac.uk>
|
||||
|
||||
* sysdeps/standalone/arm/errnos.h: Add EPERM.
|
||||
|
||||
1997-05-23 16:28 Philip Blundell <phil@kings-cross.london.uk.eu.org>
|
||||
|
||||
* linewrap.h: New file, needed to compile argp without libio.
|
||||
|
||||
1997-05-24 11:59 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* manual/stdio.texi (Formatted Messages): Corrected some typos.
|
||||
|
||||
1997-05-24 11:58 Philip Blundell <pjb27@cam.ac.uk>
|
||||
|
||||
* sysdeps/stub/start.c: Fix typo.
|
||||
|
||||
1997-05-21 17:53 Miles Bader <miles@gnu.ai.mit.edu>
|
||||
|
||||
* argp-help.c (hol_add_cluster): Initialize CL->depth.
|
||||
|
@ -259,7 +259,9 @@ __bt_open(fname, flags, mode, openinfo, dflags)
|
||||
* Don't overflow the page offset type.
|
||||
*/
|
||||
if (b.psize == 0) {
|
||||
#ifdef _STATBUF_ST_BLKSIZE
|
||||
b.psize = sb.st_blksize;
|
||||
#endif
|
||||
if (b.psize < MINPSIZE)
|
||||
b.psize = MINPSIZE;
|
||||
if (b.psize > MAX_PAGE_OFFSET + 1)
|
||||
|
@ -22,6 +22,11 @@
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
/* Global read-only variable defined in rtld.c which is nonzero if we
|
||||
shall give more warning messages. */
|
||||
extern int _dl_verbose __attribute__ ((unused));
|
||||
|
||||
|
||||
/* Read the dynamic section at DYN and fill in INFO with indices DT_*. */
|
||||
|
||||
static inline void __attribute__ ((unused))
|
||||
|
10
elf/rtld.c
10
elf/rtld.c
@ -56,6 +56,7 @@ static void print_missing_version (int errcode, const char *objname,
|
||||
int _dl_argc;
|
||||
char **_dl_argv;
|
||||
const char *_dl_rpath;
|
||||
int _dl_verbose;
|
||||
|
||||
/* Set nonzero during loading and initialization of executable and
|
||||
libraries, cleared before the executable's entry point runs. This
|
||||
@ -206,12 +207,13 @@ dl_main (const ElfW(Phdr) *phdr,
|
||||
int has_interp = 0;
|
||||
|
||||
mode = getenv ("LD_TRACE_LOADED_OBJECTS") != NULL ? trace : normal;
|
||||
_dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
|
||||
|
||||
/* LAZY is determined by the parameters --datadeps and --function-deps
|
||||
if we trace the binary. */
|
||||
/* LAZY is determined by the environment variable LD_WARN and
|
||||
LD_BIND_NOW if we trace the binary. */
|
||||
if (mode == trace)
|
||||
lazy = (*(getenv ("LD_WARN") ?: "") == '\0' ? -1
|
||||
: (*(getenv ("LD_BIND_NOW") ?: "") == '\0' ? 1 : 0));
|
||||
lazy = (_dl_verbose
|
||||
? (*(getenv ("LD_BIND_NOW") ?: "") == '\0' ? 1 : 0) : -1);
|
||||
else
|
||||
lazy = !__libc_enable_secure && *(getenv ("LD_BIND_NOW") ?: "") == '\0';
|
||||
|
||||
|
1
linewrap.h
Normal file
1
linewrap.h
Normal file
@ -0,0 +1 @@
|
||||
#include "stdio/linewrap.h"
|
@ -3825,7 +3825,7 @@ wait until the rest of the manual is more done and polished.
|
||||
On systems which are based on System V messages of programs (especially
|
||||
the system tools) are printed in a strict form using the @code{fmtmsg}
|
||||
function. The uniformity sometimes helps the user to interpret messages
|
||||
and the strictness tests of the @code{fmtmsg} function ensures that the
|
||||
and the strictness tests of the @code{fmtmsg} function ensure that the
|
||||
programmer follows some minimal requirements.
|
||||
|
||||
@menu
|
||||
@ -3839,7 +3839,7 @@ programmer follows some minimal requirements.
|
||||
@subsection Printing Formatted Messages
|
||||
|
||||
Messages can be printed to standard error and/or to the console. To
|
||||
select the destination the programmer can use the following to values,
|
||||
select the destination the programmer can use the following two values,
|
||||
bitwise OR combined if wanted, for the @var{classification} parameter of
|
||||
@code{fmtmsg}:
|
||||
|
||||
@ -3850,7 +3850,7 @@ Display the message in standard error.
|
||||
Display the message on the system console.
|
||||
@end vtable
|
||||
|
||||
The errorneous piece of the system can be signal by exactly one of the
|
||||
The errorneous piece of the system can be signalled by exactly one of the
|
||||
following values which also is bitwise ORed with the
|
||||
@var{classification} parameter to @code{fmtmsg}:
|
||||
|
||||
@ -3900,7 +3900,7 @@ reference to the online documentation where more information can be
|
||||
found. It should contain the @var{label} value and a unique
|
||||
identification number.
|
||||
|
||||
Each of the parameters can be of a special value which means this value
|
||||
Each of the parameters can be a special value which means this value
|
||||
is to be omitted. The symbolic names for these values are:
|
||||
|
||||
@vtable @code
|
||||
@ -3919,7 +3919,7 @@ Ignore @var{action} parameter.
|
||||
Ignore @var{tag} parameter.
|
||||
@end vtable
|
||||
|
||||
There is another way certain fields can be omitted from the output the
|
||||
There is another way certain fields can be omitted from the output to
|
||||
standard error. This is described below in the description of
|
||||
environment variables influencing the behaviour.
|
||||
|
||||
@ -3961,10 +3961,10 @@ ignored.
|
||||
This function is specified in the X/Open Portability Guide. It is also
|
||||
available on all system derived from System V.
|
||||
|
||||
The function return the value @code{MM_OK} if no error occurred. If
|
||||
The function returns the value @code{MM_OK} if no error occurred. If
|
||||
only the printing to standard error failed, it returns @code{MM_NOMSG}.
|
||||
If printing to the console fails, it returns @code{MM_NOCON}. If
|
||||
nothing is printed @code{MM_NOTOK} is returned. Among situation where
|
||||
nothing is printed @code{MM_NOTOK} is returned. Among situations where
|
||||
all outputs fail this last value is also returned if a parameter value
|
||||
is incorrect.
|
||||
@end deftypefun
|
||||
@ -3974,7 +3974,7 @@ There are two environment variables which influence the behaviour of
|
||||
output actually happening on standard error (@emph{not} the console
|
||||
output). Each of the five fields can explicitely be enabled. To do
|
||||
this the user has to put the @code{MSGVERB} variable with a format like
|
||||
following in the environment before calling the @code{fmtmsg} function
|
||||
the following in the environment before calling the @code{fmtmsg} function
|
||||
the first time:
|
||||
|
||||
@smallexample
|
||||
@ -3990,7 +3990,7 @@ The second environment variable which influences the behaviour of
|
||||
@code{fmtmsg} is @code{SEV_LEVEL}. This variable and the change in the
|
||||
behaviour of @code{fmtmsg} is not specified in the X/Open Portability
|
||||
Guide. It is available in System V systems, though. It can be used to
|
||||
introduce no severity levels. By default, only the five severity levels
|
||||
introduce new severity levels. By default, only the five severity levels
|
||||
described above are available. Any other numeric value would make
|
||||
@code{fmtmsg} print nothing.
|
||||
|
||||
@ -4026,7 +4026,7 @@ There is another possibility to introduce severity classes beside using
|
||||
the environment variable @code{SEV_LEVEL}. This simplifies the task of
|
||||
introducing new classes in a running program. One could use the
|
||||
@code{setenv} or @code{putenv} function to set the environment variable,
|
||||
but this toilsome.
|
||||
but this is toilsome.
|
||||
|
||||
@deftypefun int addseverity (int @var{severity}, const char *@var{string})
|
||||
This function allows to introduce new severity classes which can be
|
||||
@ -4039,13 +4039,17 @@ value.
|
||||
If @var{string} is @code{NULL} the severity class with the numeric value
|
||||
according to @var{severity} is removed.
|
||||
|
||||
It is not possible to overwrite or remove one of the default severity
|
||||
classes. All calls to @code{addseverity} with @var{severity} set to one
|
||||
of the values for the default classes will fail.
|
||||
|
||||
The return value is @code{MM_OK} if the task was successfully performed.
|
||||
If the return value is @code{MM_NOTOK} something went wrong. This could
|
||||
mean that no more memory is available or a class is not available when
|
||||
it has to be removed.
|
||||
|
||||
This function is not specified in the X/Open Portability Guide although
|
||||
the @code{fmtsmg} is. It is available on System V systems.
|
||||
the @code{fmtsmg} function is. It is available on System V systems.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@ -4120,7 +4124,7 @@ TO FIX: action
|
||||
|
||||
@noindent
|
||||
I.e., the output produced by the @var{text} and the @var{tag} parameters
|
||||
to @code{fmtmsg} vanished. Please also note the now there is no colon
|
||||
to @code{fmtmsg} vanished. Please also note that now there is no colon
|
||||
after the @code{NOTE} and @code{NOTE2} strings in the output. This is
|
||||
not necessary since there is no more output on this line since the text
|
||||
is missing.
|
||||
|
@ -41,7 +41,7 @@ struct ether
|
||||
#define ENTNAME etherent
|
||||
#define STRUCTURE ether
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
struct response
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#define ENTNAME grent
|
||||
#define STRUCTURE group
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
/* Protect global state against multiple changers */
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
@ -31,8 +31,8 @@
|
||||
#include "nss-nis.h"
|
||||
|
||||
/* Get implementation for some internal functions. */
|
||||
#include "../../resolv/mapv4v6addr.h"
|
||||
#include "../../resolv/mapv4v6hostent.h"
|
||||
#include <resolv/mapv4v6addr.h>
|
||||
#include <resolv/mapv4v6hostent.h>
|
||||
|
||||
#define ENTNAME hostent
|
||||
#define DATABASE "hosts"
|
||||
@ -47,7 +47,7 @@ struct hostent_data
|
||||
|
||||
#define TRAILING_LIST_MEMBER h_aliases
|
||||
#define TRAILING_LIST_SEPARATOR_P isspace
|
||||
#include "../../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
LINE_PARSER
|
||||
("#",
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
/* Get the declaration of the parser function. */
|
||||
#define ENTNAME netent
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
||||
/* Get the declaration of the parser function. */
|
||||
#define ENTNAME protoent
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#define ENTNAME pwent
|
||||
#define STRUCTURE passwd
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
/* Protect global state against multiple changers */
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
@ -31,7 +31,7 @@
|
||||
/* Get the declaration of the parser function. */
|
||||
#define ENTNAME rpcent
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#define ENTNAME spent
|
||||
#define STRUCTURE spwd
|
||||
#define EXTERN_PARSER
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
#include <nss/nss_files/files-parse.c>
|
||||
|
||||
/* Protect global state against multiple changers */
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
@ -263,7 +263,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
||||
switch (ELF32_R_TYPE (reloc->r_info))
|
||||
{
|
||||
case R_386_COPY:
|
||||
if (sym->st_size != refsym->st_size)
|
||||
if (sym->st_size > refsym->st_size
|
||||
|| (_dl_verbose && sym->st_size < refsym->st_size))
|
||||
{
|
||||
const char *strtab;
|
||||
|
||||
|
@ -433,7 +433,7 @@ logb (double __x)
|
||||
register double __value, __junk;
|
||||
__asm __volatile__
|
||||
("fxtract\n\t"
|
||||
: "=t" (__value), "=u" (__junk) : "0" (__x));
|
||||
: "=t" (__junk), "=u" (__value) : "0" (__x));
|
||||
|
||||
return __value;
|
||||
}
|
||||
|
@ -227,7 +227,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
switch (ELF32_R_TYPE (reloc->r_info))
|
||||
{
|
||||
case R_68K_COPY:
|
||||
if (sym->st_size != refsym->st_size)
|
||||
if (sym->st_size > refsym->st_size
|
||||
|| (_dl_verbose && sym->st_size < refsym->st_size))
|
||||
{
|
||||
const char *strtab;
|
||||
|
||||
|
@ -591,7 +591,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
}
|
||||
else if (rinfo == R_PPC_COPY)
|
||||
{
|
||||
if (sym->st_size != refsym->st_size)
|
||||
if (sym->st_size > refsym->st_size
|
||||
|| (_dl_verbose && sym->st_size < refsym->st_size))
|
||||
{
|
||||
const char *strtab;
|
||||
|
||||
@ -666,5 +667,3 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
#define ELF_MACHINE_NO_REL 1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -130,7 +130,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
switch (ELF32_R_TYPE (reloc->r_info))
|
||||
{
|
||||
case R_SPARC_COPY:
|
||||
if (sym->st_size != refsym->st_size)
|
||||
if (sym->st_size > refsym->st_size
|
||||
|| (_dl_verbose && sym->st_size < refsym->st_size))
|
||||
{
|
||||
const char *strtab;
|
||||
|
||||
|
@ -1,20 +1,20 @@
|
||||
/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This file defines the `errno' constants for standalone ARM machines.
|
||||
These constants are essentially arbitrary. */
|
||||
@ -46,6 +46,7 @@ Cambridge, MA 02139, USA. */
|
||||
#define ENOENT 18
|
||||
#define EPROTOTYPE 19
|
||||
#define ESRCH 20
|
||||
#define EPERM 21
|
||||
#endif
|
||||
|
||||
#define __set_errno(val) errno = (val)
|
||||
|
@ -13,4 +13,4 @@ weak_alias (__data_start, data_start)
|
||||
#endif
|
||||
|
||||
volatile int __errno;
|
||||
string_alias (__errno, errno)
|
||||
strong_alias (__errno, errno)
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define EINTR_REPEAT
|
||||
#include <../sysdeps/generic/sysd-stdio.c>
|
||||
#include <sysdeps/generic/sysd-stdio.c>
|
||||
|
@ -282,6 +282,7 @@ memcpy_uppcase (dest, src, len)
|
||||
return dest;
|
||||
}
|
||||
|
||||
|
||||
#if ! HAVE_TM_GMTOFF
|
||||
/* Yield the difference between *A and *B,
|
||||
measured in seconds, ignoring leap seconds. */
|
||||
@ -464,6 +465,7 @@ strftime (s, maxsize, format, tp)
|
||||
int width = -1;
|
||||
int to_lowcase = 0;
|
||||
int to_uppcase = 0;
|
||||
int change_case = 0;
|
||||
|
||||
#if DO_MULTIBYTE
|
||||
|
||||
@ -555,6 +557,9 @@ strftime (s, maxsize, format, tp)
|
||||
case '^':
|
||||
to_uppcase = 1;
|
||||
continue;
|
||||
case '#':
|
||||
change_case = 1;
|
||||
continue;
|
||||
|
||||
default:
|
||||
break;
|
||||
@ -592,9 +597,11 @@ strftime (s, maxsize, format, tp)
|
||||
switch (*f)
|
||||
{
|
||||
#define DO_NUMBER(d, v) \
|
||||
digits = d; number_value = v; goto do_number
|
||||
digits = width == -1 ? d : width; \
|
||||
number_value = v; goto do_number
|
||||
#define DO_NUMBER_SPACEPAD(d, v) \
|
||||
digits = d; number_value = v; goto do_number_spacepad
|
||||
digits = width == -1 ? d : width; \
|
||||
number_value = v; goto do_number_spacepad
|
||||
|
||||
case '%':
|
||||
if (modifier != 0)
|
||||
@ -605,12 +612,22 @@ strftime (s, maxsize, format, tp)
|
||||
case 'a':
|
||||
if (modifier != 0)
|
||||
goto bad_format;
|
||||
if (change_case)
|
||||
{
|
||||
to_uppcase = 1;
|
||||
to_lowcase = 0;
|
||||
}
|
||||
cpy (aw_len, a_wkday);
|
||||
break;
|
||||
|
||||
case 'A':
|
||||
if (modifier != 0)
|
||||
goto bad_format;
|
||||
if (change_case)
|
||||
{
|
||||
to_uppcase = 1;
|
||||
to_lowcase = 0;
|
||||
}
|
||||
cpy (wkday_len, f_wkday);
|
||||
break;
|
||||
|
||||
@ -624,6 +641,11 @@ strftime (s, maxsize, format, tp)
|
||||
case 'B':
|
||||
if (modifier != 0)
|
||||
goto bad_format;
|
||||
if (change_case)
|
||||
{
|
||||
to_uppcase = 1;
|
||||
to_lowcase = 0;
|
||||
}
|
||||
cpy (month_len, f_month);
|
||||
break;
|
||||
|
||||
@ -824,6 +846,11 @@ strftime (s, maxsize, format, tp)
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case 'p':
|
||||
if (change_case)
|
||||
{
|
||||
to_uppcase = 0;
|
||||
to_lowcase = 1;
|
||||
}
|
||||
cpy (ap_len, ampm);
|
||||
break;
|
||||
|
||||
@ -996,6 +1023,11 @@ strftime (s, maxsize, format, tp)
|
||||
DO_NUMBER (2, (tp->tm_year % 100 + 100) % 100);
|
||||
|
||||
case 'Z':
|
||||
if (change_case)
|
||||
{
|
||||
to_uppcase = 0;
|
||||
to_lowcase = 1;
|
||||
}
|
||||
cpy (zonelen, zone);
|
||||
break;
|
||||
|
||||
|
@ -28,4 +28,4 @@
|
||||
#endif
|
||||
#define STRCMP wcscmp
|
||||
|
||||
#include "../string/strcoll.c"
|
||||
#include <string/strcoll.c>
|
||||
|
@ -22,4 +22,4 @@
|
||||
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
#include "../stdlib/strtod.c"
|
||||
#include <stdlib/strtod.c>
|
||||
|
@ -40,4 +40,4 @@
|
||||
(flt) = u.f; \
|
||||
} while (0)
|
||||
|
||||
#include "../stdlib/strtod.c"
|
||||
#include <stdlib/strtod.c>
|
||||
|
@ -20,4 +20,4 @@
|
||||
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
#include "../stdlib/strtol.c"
|
||||
#include <stdlib/strtol.c>
|
||||
|
@ -41,4 +41,4 @@
|
||||
(flt) = u.d; \
|
||||
} while (0)
|
||||
|
||||
#include "../stdlib/strtod.c"
|
||||
#include <stdlib/strtod.c>
|
||||
|
@ -31,4 +31,4 @@
|
||||
#define STRLEN wcslen
|
||||
#define STPNCPY __wcpncpy
|
||||
|
||||
#include "../string/strxfrm.c"
|
||||
#include <string/strxfrm.c>
|
||||
|
Loading…
Reference in New Issue
Block a user