mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 13:30:06 +00:00
Fix all the remaining misspellings -- BZ 25337
This commit is contained in:
parent
5013f6fc6c
commit
7f0d9e61f4
2
INSTALL
2
INSTALL
@ -469,7 +469,7 @@ build the GNU C Library:
|
|||||||
|
|
||||||
* GNU 'make' 4.0 or newer
|
* GNU 'make' 4.0 or newer
|
||||||
|
|
||||||
As of relase time, GNU 'make' 4.4 is the newest verified to work to
|
As of release time, GNU 'make' 4.4 is the newest verified to work to
|
||||||
build the GNU C Library.
|
build the GNU C Library.
|
||||||
|
|
||||||
* GCC 6.2 or newer
|
* GCC 6.2 or newer
|
||||||
|
@ -200,7 +200,7 @@ endif
|
|||||||
ifndef subdir
|
ifndef subdir
|
||||||
# If a makefile needs to do something conditional on something that
|
# If a makefile needs to do something conditional on something that
|
||||||
# can only be figured out from headers, write a FOO.make.c input
|
# can only be figured out from headers, write a FOO.make.c input
|
||||||
# file that uses cpp contructs and contains @@@ LINE @@@ for each LINE
|
# file that uses cpp constructs and contains @@@ LINE @@@ for each LINE
|
||||||
# to emit in the generated makefile, and use -include $(common-objpfx)FOO.make.
|
# to emit in the generated makefile, and use -include $(common-objpfx)FOO.make.
|
||||||
#
|
#
|
||||||
# We only generate these in the top-level makefile, to avoid any weirdness
|
# We only generate these in the top-level makefile, to avoid any weirdness
|
||||||
|
32
NEWS
32
NEWS
@ -183,7 +183,7 @@ Major new features:
|
|||||||
|
|
||||||
* On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions
|
* On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions
|
||||||
have been added. The pidfd functionality provides access to a process
|
have been added. The pidfd functionality provides access to a process
|
||||||
while avoiding the issue of PID reuse on tranditional Unix systems.
|
while avoiding the issue of PID reuse on traditional Unix systems.
|
||||||
|
|
||||||
* On Linux, the process_madvise function has been added. It has the
|
* On Linux, the process_madvise function has been added. It has the
|
||||||
same functionality as madvise but alters the target process identified
|
same functionality as madvise but alters the target process identified
|
||||||
@ -288,7 +288,7 @@ The following bugs are resolved with this release:
|
|||||||
inaccurate without /sys and /proc
|
inaccurate without /sys and /proc
|
||||||
[28868] dynamic-link: Dynamic loader DFS algorithm segfaults on
|
[28868] dynamic-link: Dynamic loader DFS algorithm segfaults on
|
||||||
missing libraries
|
missing libraries
|
||||||
[28880] libc: Program crashes if date beyone 2038
|
[28880] libc: Program crashes if date beyond 2038
|
||||||
[28883] libc: sysdeps/unix/sysv/linux/select.c: __select64
|
[28883] libc: sysdeps/unix/sysv/linux/select.c: __select64
|
||||||
!__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze
|
!__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze
|
||||||
[28896] string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non-
|
[28896] string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non-
|
||||||
@ -529,7 +529,7 @@ Changes to build and runtime requirements:
|
|||||||
* The audit module interface version LAV_CURRENT is increased to enable
|
* The audit module interface version LAV_CURRENT is increased to enable
|
||||||
proper bind-now support. The loader now advertises via the la_symbind
|
proper bind-now support. The loader now advertises via the la_symbind
|
||||||
flags that PLT trace is not possible. New audit modules require the
|
flags that PLT trace is not possible. New audit modules require the
|
||||||
new dynamic loader supporing the latest LAV_CURRENT version. Old audit
|
new dynamic loader supporting the latest LAV_CURRENT version. Old audit
|
||||||
modules are still loaded for all targets except aarch64.
|
modules are still loaded for all targets except aarch64.
|
||||||
|
|
||||||
* The audit interface on aarch64 is extended to support both the indirect
|
* The audit interface on aarch64 is extended to support both the indirect
|
||||||
@ -765,7 +765,7 @@ Major new features:
|
|||||||
to configure the size of the thread stack cache.
|
to configure the size of the thread stack cache.
|
||||||
|
|
||||||
* The function _Fork has been added as an async-signal-safe fork replacement
|
* The function _Fork has been added as an async-signal-safe fork replacement
|
||||||
since Austin Group issue 62 droped the async-signal-safe requirement for
|
since Austin Group issue 62 dropped the async-signal-safe requirement for
|
||||||
fork (and it will be included in the future POSIX standard). The new _Fork
|
fork (and it will be included in the future POSIX standard). The new _Fork
|
||||||
function does not run any atfork function neither resets any internal state
|
function does not run any atfork function neither resets any internal state
|
||||||
or lock (such as the malloc one), and only sets up a minimal state required
|
or lock (such as the malloc one), and only sets up a minimal state required
|
||||||
@ -1122,7 +1122,7 @@ Changes to build and runtime requirements:
|
|||||||
|
|
||||||
* On Linux, the system administrator needs to configure /dev/pts with
|
* On Linux, the system administrator needs to configure /dev/pts with
|
||||||
the intended access modes for pseudo-terminals. glibc no longer
|
the intended access modes for pseudo-terminals. glibc no longer
|
||||||
attemps to adjust permissions of terminal devices. The previous glibc
|
attempts to adjust permissions of terminal devices. The previous glibc
|
||||||
defaults ("tty" group, user read/write and group write) already
|
defaults ("tty" group, user read/write and group write) already
|
||||||
corresponded to what most systems used, so that grantpt did not
|
corresponded to what most systems used, so that grantpt did not
|
||||||
perform any adjustments.
|
perform any adjustments.
|
||||||
@ -1183,7 +1183,7 @@ The following bugs are resolved with this release:
|
|||||||
[26100] libc: Race in syslog(3) with regards to tag printing.
|
[26100] libc: Race in syslog(3) with regards to tag printing.
|
||||||
[26124] libc: Export <cpu-features.h>
|
[26124] libc: Export <cpu-features.h>
|
||||||
[26130] nscd: Inconsistent nscd cache during pruning
|
[26130] nscd: Inconsistent nscd cache during pruning
|
||||||
[26203] libc: GLRO(dl_x86_cpu_features) may not be intialized
|
[26203] libc: GLRO(dl_x86_cpu_features) may not be initialized
|
||||||
[26224] locale: iconv hangs when converting some invalid inputs from
|
[26224] locale: iconv hangs when converting some invalid inputs from
|
||||||
several IBM character sets (CVE-2020-27618)
|
several IBM character sets (CVE-2020-27618)
|
||||||
[26341] libc: realpath cyclically call __alloca(path_max) to consume
|
[26341] libc: realpath cyclically call __alloca(path_max) to consume
|
||||||
@ -1472,7 +1472,7 @@ The following bugs are resolved with this release:
|
|||||||
[20338] libc: Parsing of /etc/gshadow can return bad pointers causing
|
[20338] libc: Parsing of /etc/gshadow can return bad pointers causing
|
||||||
segfaults in applications
|
segfaults in applications
|
||||||
[20543] libc: Please move from .gnu.linkonce to comdat
|
[20543] libc: Please move from .gnu.linkonce to comdat
|
||||||
[22489] network: gcc warns about implicit convertion in
|
[22489] network: gcc warns about implicit conversion in
|
||||||
ICMP6_FILTER_SETPASS with -Wsign-conversion
|
ICMP6_FILTER_SETPASS with -Wsign-conversion
|
||||||
[22525] localedata: or_IN LC_COLLATE does not use copy "iso14651_t1"
|
[22525] localedata: or_IN LC_COLLATE does not use copy "iso14651_t1"
|
||||||
[23294] math: Complex _FloatN functions are redirected to the wrong
|
[23294] math: Complex _FloatN functions are redirected to the wrong
|
||||||
@ -3513,7 +3513,7 @@ The following bugs are resolved with this release:
|
|||||||
frame-pointer on i386
|
frame-pointer on i386
|
||||||
[21049] libc: segfault in longjmp_chk() due to clobbered processor
|
[21049] libc: segfault in longjmp_chk() due to clobbered processor
|
||||||
register
|
register
|
||||||
[21075] libc: unused assigment to %g4 in sparc/sparc{64,32}/clone.S
|
[21075] libc: unused assignment to %g4 in sparc/sparc{64,32}/clone.S
|
||||||
[21088] libc: Build fails with --enable-static-nss
|
[21088] libc: Build fails with --enable-static-nss
|
||||||
[21094] math: cosf(1.57079697) has 3 ulp error on targets where the
|
[21094] math: cosf(1.57079697) has 3 ulp error on targets where the
|
||||||
generic c code is used
|
generic c code is used
|
||||||
@ -3920,7 +3920,7 @@ The following bugs are resolved with this release:
|
|||||||
[17730] malloc: thread-local storage is sometimes improperly free()'d
|
[17730] malloc: thread-local storage is sometimes improperly free()'d
|
||||||
after being __libc_memalign()'d
|
after being __libc_memalign()'d
|
||||||
[18241] stdio: failed fseek on memstream does not set errno and can fail
|
[18241] stdio: failed fseek on memstream does not set errno and can fail
|
||||||
when it shouldnt
|
when it shouldn't
|
||||||
[18243] nptl: sem_wait, sem_timedwait are cancellation points shm_open is
|
[18243] nptl: sem_wait, sem_timedwait are cancellation points shm_open is
|
||||||
not
|
not
|
||||||
[18463] nptl: pthread_cond_broadcast issue when surrounded by
|
[18463] nptl: pthread_cond_broadcast issue when surrounded by
|
||||||
@ -4384,7 +4384,7 @@ Version 2.23
|
|||||||
glibc 2.10 via --enable-experimental-malloc (2009), could result in the
|
glibc 2.10 via --enable-experimental-malloc (2009), could result in the
|
||||||
unnecessary serialization of memory allocation requests across threads.
|
unnecessary serialization of memory allocation requests across threads.
|
||||||
The defect is now corrected. Users should see a substantial increase in
|
The defect is now corrected. Users should see a substantial increase in
|
||||||
the concurent throughput of allocation requests for applications which
|
the concurrent throughput of allocation requests for applications which
|
||||||
trigger this bug. Affected applications typically create and
|
trigger this bug. Affected applications typically create and
|
||||||
destroy threads frequently. (Bug 19048 was reported and analyzed by
|
destroy threads frequently. (Bug 19048 was reported and analyzed by
|
||||||
Ericsson.)
|
Ericsson.)
|
||||||
@ -4462,7 +4462,7 @@ The following bugs are resolved with this release:
|
|||||||
[2898] libc: [improve] warning: the use of `mktemp' is dangerous, better
|
[2898] libc: [improve] warning: the use of `mktemp' is dangerous, better
|
||||||
use `mkstemp'
|
use `mkstemp'
|
||||||
[4404] localedata: German translation of "Alarm clock" is misleading
|
[4404] localedata: German translation of "Alarm clock" is misleading
|
||||||
[6799] math: nextafter() and nexttoward() doen't set errno on
|
[6799] math: nextafter() and nexttoward() doesn't set errno on
|
||||||
overflow/underflow errors
|
overflow/underflow errors
|
||||||
[6803] math: scalb(), scalbln(), scalbn() do not set errno on
|
[6803] math: scalb(), scalbln(), scalbn() do not set errno on
|
||||||
overflow/underflow
|
overflow/underflow
|
||||||
@ -4641,7 +4641,7 @@ The following bugs are resolved with this release:
|
|||||||
[19094] math: lrint, llrint missing exceptions close to overflow threshold
|
[19094] math: lrint, llrint missing exceptions close to overflow threshold
|
||||||
[19095] math: dbl-64 lrint incorrect for 64-bit long
|
[19095] math: dbl-64 lrint incorrect for 64-bit long
|
||||||
[19122] dynamic-link: Unnecessary PLT relocations in librtld.os
|
[19122] dynamic-link: Unnecessary PLT relocations in librtld.os
|
||||||
[19124] dynamic-link: ld.so failed to build with older assmebler
|
[19124] dynamic-link: ld.so failed to build with older assembler
|
||||||
[19125] math: [powerpc32] llroundf, llround incorrect exceptions
|
[19125] math: [powerpc32] llroundf, llround incorrect exceptions
|
||||||
[19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
|
[19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
|
||||||
[19134] math: [powerpc32] lround, lroundf spurious exceptions
|
[19134] math: [powerpc32] lround, lroundf spurious exceptions
|
||||||
@ -5809,7 +5809,7 @@ Version 2.8
|
|||||||
* ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX).
|
* ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX).
|
||||||
Implemented by Ulrich Drepper.
|
Implemented by Ulrich Drepper.
|
||||||
|
|
||||||
* Faster sqrt and sqrtf implemention for some PPC variants.
|
* Faster sqrt and sqrtf implementation for some PPC variants.
|
||||||
Implemented by Steven Munroe.
|
Implemented by Steven Munroe.
|
||||||
|
|
||||||
Version 2.7
|
Version 2.7
|
||||||
@ -6090,7 +6090,7 @@ Version 2.3.2
|
|||||||
* The `btowc' function should work at least twice as fast due to
|
* The `btowc' function should work at least twice as fast due to
|
||||||
specialized callbacks in the iconv modules. Implemented by Bruno Haible.
|
specialized callbacks in the iconv modules. Implemented by Bruno Haible.
|
||||||
|
|
||||||
* With approriate thread add-ons cancelable functions are now implemented
|
* With appropriate thread add-ons cancelable functions are now implemented
|
||||||
in libc.so as well. No need to call the function in libpthread. This
|
in libc.so as well. No need to call the function in libpthread. This
|
||||||
change allowed to finally disable the incorrect and expensive handling
|
change allowed to finally disable the incorrect and expensive handling
|
||||||
of weak definition in ld.so.
|
of weak definition in ld.so.
|
||||||
@ -6421,7 +6421,7 @@ Version 2.1
|
|||||||
* Eric Youngdale and Ulrich Drepper implemented versioning of objects on
|
* Eric Youngdale and Ulrich Drepper implemented versioning of objects on
|
||||||
symbol level.
|
symbol level.
|
||||||
|
|
||||||
* Miles Bader provided the `argp' function family to support hierachical
|
* Miles Bader provided the `argp' function family to support hierarchical
|
||||||
command line argument parsing, layered on top of getopt.
|
command line argument parsing, layered on top of getopt.
|
||||||
|
|
||||||
* strtod accepts new hexadecimal floating-point format from ISO C 9X.
|
* strtod accepts new hexadecimal floating-point format from ISO C 9X.
|
||||||
@ -6965,7 +6965,7 @@ Version 2.0
|
|||||||
* Ulrich Drepper has contributed a new suite of functions for operation on
|
* Ulrich Drepper has contributed a new suite of functions for operation on
|
||||||
wide-character and multibyte-character strings, in <wchar.h>;
|
wide-character and multibyte-character strings, in <wchar.h>;
|
||||||
and classification and case conversion of wide characters, in <wctype.h>.
|
and classification and case conversion of wide characters, in <wctype.h>.
|
||||||
These new functions are conforming to the ISO C, Amendement 1 specification.
|
These new functions are conforming to the ISO C, Amendment 1 specification.
|
||||||
|
|
||||||
* There is now a second implementation of the standard I/O library available.
|
* There is now a second implementation of the standard I/O library available.
|
||||||
It comes from GNU libg++ as was written by Per Bothner, heavily modified
|
It comes from GNU libg++ as was written by Per Bothner, heavily modified
|
||||||
|
@ -1560,7 +1560,7 @@ argp_args_usage (const struct argp *argp, const struct argp_state *state,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Print the documentation for ARGP to STREAM; if POST is false, then
|
/* Print the documentation for ARGP to STREAM; if POST is false, then
|
||||||
everything preceeding a `\v' character in the documentation strings (or
|
everything preceding a `\v' character in the documentation strings (or
|
||||||
the whole string, for those with none) is printed, otherwise, everything
|
the whole string, for those with none) is printed, otherwise, everything
|
||||||
following the `\v' character (nothing for strings without). Each separate
|
following the `\v' character (nothing for strings without). Each separate
|
||||||
bit of documentation is separated a blank line, and if PRE_BLANK is true,
|
bit of documentation is separated a blank line, and if PRE_BLANK is true,
|
||||||
|
@ -228,7 +228,7 @@ struct group
|
|||||||
particular short options is from. */
|
particular short options is from. */
|
||||||
char *short_end;
|
char *short_end;
|
||||||
|
|
||||||
/* The number of non-option args sucessfully handled by this parser. */
|
/* The number of non-option args successfully handled by this parser. */
|
||||||
unsigned args_processed;
|
unsigned args_processed;
|
||||||
|
|
||||||
/* This group's parser's parent's group. */
|
/* This group's parser's parent's group. */
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
static const struct argp_option test_options[] =
|
static const struct argp_option test_options[] =
|
||||||
{
|
{
|
||||||
{ NULL, 0, NULL, 0, "\
|
{ NULL, 0, NULL, 0, "\
|
||||||
This is a test for threads so we allow ther user to selection the number of \
|
This is a test for threads so we allow the user to select the number of \
|
||||||
threads which are used at any one time. Independently the total number of \
|
threads which are used at any one time. Independently the total number of \
|
||||||
rounds can be selected. This is the total number of threads which will have \
|
rounds can be selected. This is the total number of threads which will have \
|
||||||
run when the process terminates:" },
|
run when the process terminates:" },
|
||||||
|
@ -351,7 +351,7 @@ test_producer_thread (void *v)
|
|||||||
|
|
||||||
for (j = iters; j >= 0; --j)
|
for (j = iters; j >= 0; --j)
|
||||||
{
|
{
|
||||||
/* Aquire lock on the queue. */
|
/* Acquire lock on the queue. */
|
||||||
pthread_mutex_lock (&m);
|
pthread_mutex_lock (&m);
|
||||||
/* if something's already there, wait. */
|
/* if something's already there, wait. */
|
||||||
while (queued > 0)
|
while (queued > 0)
|
||||||
@ -388,7 +388,7 @@ test_consumer_producer (long iters, int filler)
|
|||||||
|
|
||||||
for (long j = iters; j >= 0; --j)
|
for (long j = iters; j >= 0; --j)
|
||||||
{
|
{
|
||||||
/* Aquire lock on the queue. */
|
/* Acquire lock on the queue. */
|
||||||
pthread_mutex_lock (&m);
|
pthread_mutex_lock (&m);
|
||||||
/* Wait for something to be on the queue. */
|
/* Wait for something to be on the queue. */
|
||||||
while (queued == 0)
|
while (queued == 0)
|
||||||
|
@ -22,12 +22,12 @@ static volatile unsigned int dontoptimize = 0;
|
|||||||
void
|
void
|
||||||
bench_start (void)
|
bench_start (void)
|
||||||
{
|
{
|
||||||
/* This loop should cause CPU to switch to maximal freqency.
|
/* This loop should cause CPU to switch to maximal frequency.
|
||||||
This makes subsequent measurement more accurate. We need a side effect
|
This makes subsequent measurement more accurate. We need a side effect
|
||||||
to prevent the loop being deleted by compiler.
|
to prevent the loop being deleted by compiler.
|
||||||
This should be enough to cause CPU to speed up and it is simpler than
|
This should be enough to cause CPU to speed up and it is simpler than
|
||||||
running loop for constant time. This is used when user does not have root
|
running loop for constant time. This is used when user does not have root
|
||||||
access to set a constant freqency. */
|
access to set a constant frequency. */
|
||||||
|
|
||||||
for (int k = 0; k < START_ITER; k++)
|
for (int k = 0; k < START_ITER; k++)
|
||||||
dontoptimize += 23 * dontoptimize + 2;
|
dontoptimize += 23 * dontoptimize + 2;
|
||||||
|
@ -276,7 +276,7 @@ def plotRecursive(json_iter, routine, ifuncs, bench_variant, title, outpath,
|
|||||||
domain = np.unique(np.array(domain))
|
domain = np.unique(np.array(domain))
|
||||||
averages = []
|
averages = []
|
||||||
|
|
||||||
# Compute geometric mean if there are multple timings for each
|
# Compute geometric mean if there are multiple timings for each
|
||||||
# parameter value.
|
# parameter value.
|
||||||
for parameter in domain:
|
for parameter in domain:
|
||||||
averages.append(gmean(timings[parameter]))
|
averages.append(gmean(timings[parameter]))
|
||||||
|
@ -93,7 +93,7 @@ enum
|
|||||||
{
|
{
|
||||||
BUS_ADRALN = 1, /* Invalid address alignment. */
|
BUS_ADRALN = 1, /* Invalid address alignment. */
|
||||||
# define BUS_ADRALN BUS_ADRALN
|
# define BUS_ADRALN BUS_ADRALN
|
||||||
BUS_ADRERR, /* Non-existant physical address. */
|
BUS_ADRERR, /* Non-existent physical address. */
|
||||||
# define BUS_ADRERR BUS_ADRERR
|
# define BUS_ADRERR BUS_ADRERR
|
||||||
BUS_OBJERR /* Object specific hardware error. */
|
BUS_OBJERR /* Object specific hardware error. */
|
||||||
# define BUS_OBJERR BUS_OBJERR
|
# define BUS_OBJERR BUS_OBJERR
|
||||||
|
@ -143,7 +143,7 @@ enum __socket_type
|
|||||||
#define AF_MAX PF_MAX
|
#define AF_MAX PF_MAX
|
||||||
|
|
||||||
/* Maximum queue length specifiable by listen. */
|
/* Maximum queue length specifiable by listen. */
|
||||||
#define SOMAXCONN 128 /* 5 on the origional 4.4 BSD. */
|
#define SOMAXCONN 128 /* 5 on the original 4.4 BSD. */
|
||||||
|
|
||||||
/* Get the definition of the macro to define the common sockaddr members. */
|
/* Get the definition of the macro to define the common sockaddr members. */
|
||||||
#include <bits/sockaddr.h>
|
#include <bits/sockaddr.h>
|
||||||
|
@ -1372,7 +1372,7 @@ AC_SUBST(libc_cv_mtls_dialect_gnu2)
|
|||||||
LIBC_CONFIG_VAR([have-mtls-dialect-gnu2], [$libc_cv_mtls_dialect_gnu2])
|
LIBC_CONFIG_VAR([have-mtls-dialect-gnu2], [$libc_cv_mtls_dialect_gnu2])
|
||||||
|
|
||||||
dnl clang emits an warning for a double alias redirection, to warn the
|
dnl clang emits an warning for a double alias redirection, to warn the
|
||||||
dnl original symbol is sed even when weak definition overriddes it.
|
dnl original symbol is sed even when weak definition overrides it.
|
||||||
dnl It is a usual pattern for weak_alias, where multiple alias point to
|
dnl It is a usual pattern for weak_alias, where multiple alias point to
|
||||||
dnl same symbol.
|
dnl same symbol.
|
||||||
AC_CACHE_CHECK([if -Wno-ignored-attributes is required for aliases],
|
AC_CACHE_CHECK([if -Wno-ignored-attributes is required for aliases],
|
||||||
|
@ -29,7 +29,7 @@ static const char *tests[][2] =
|
|||||||
{ "first char bad", "!x" },
|
{ "first char bad", "!x" },
|
||||||
{ "second char bad", "Z%" },
|
{ "second char bad", "Z%" },
|
||||||
{ "both chars bad", ":@" },
|
{ "both chars bad", ":@" },
|
||||||
{ "un$upported algorithm", "$2$" },
|
{ "unsupported algorithm", "$2$" },
|
||||||
{ "unsupported_algorithm", "_1" },
|
{ "unsupported_algorithm", "_1" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ static const ufc_long longmask[32] = {
|
|||||||
* do_pc1: permform pc1 permutation in the key schedule generation.
|
* do_pc1: permform pc1 permutation in the key schedule generation.
|
||||||
*
|
*
|
||||||
* The first index is the byte number in the 8 byte ASCII key
|
* The first index is the byte number in the 8 byte ASCII key
|
||||||
* - second - - the two 28 bits halfs of the result
|
* - second - - the two 28 bits halves of the result
|
||||||
* - third - selects the 7 bits actually used of each byte
|
* - third - selects the 7 bits actually used of each byte
|
||||||
*
|
*
|
||||||
* The result is kept with 28 bit per 32 bit with the 4 most significant
|
* The result is kept with 28 bit per 32 bit with the 4 most significant
|
||||||
|
@ -68,7 +68,7 @@ check_one_fd (int fd, int mode)
|
|||||||
|
|
||||||
Note that the following code assumes that STDIN_FILENO,
|
Note that the following code assumes that STDIN_FILENO,
|
||||||
STDOUT_FILENO, STDERR_FILENO are the three lowest file
|
STDOUT_FILENO, STDERR_FILENO are the three lowest file
|
||||||
decsriptor numbers, in this order. */
|
descriptor numbers, in this order. */
|
||||||
struct __stat64_t64 st;
|
struct __stat64_t64 st;
|
||||||
if (__glibc_unlikely (nullfd != fd)
|
if (__glibc_unlikely (nullfd != fd)
|
||||||
|| __glibc_likely (__fstat64_time64 (fd, &st) != 0)
|
|| __glibc_likely (__fstat64_time64 (fd, &st) != 0)
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include <ldsodefs.h>
|
#include <ldsodefs.h>
|
||||||
|
|
||||||
/* Remember the command line argument and enviroment contents for
|
/* Remember the command line argument and environment contents for
|
||||||
later calls of initializers for dynamic libraries. */
|
later calls of initializers for dynamic libraries. */
|
||||||
int __libc_argc attribute_hidden;
|
int __libc_argc attribute_hidden;
|
||||||
char **__libc_argv attribute_hidden;
|
char **__libc_argv attribute_hidden;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
/* This is the generic definition of __explicit_bzero_chk. The
|
/* This is the generic definition of __explicit_bzero_chk. The
|
||||||
__explicit_bzero_chk symbol is used as the implementation of
|
__explicit_bzero_chk symbol is used as the implementation of
|
||||||
explicit_bzero throughout glibc. If this file is overriden by an
|
explicit_bzero throughout glibc. If this file is overridden by an
|
||||||
architecture, both __explicit_bzero_chk and
|
architecture, both __explicit_bzero_chk and
|
||||||
__explicit_bzero_chk_internal have to be defined (the latter not as
|
__explicit_bzero_chk_internal have to be defined (the latter not as
|
||||||
an IFUNC). */
|
an IFUNC). */
|
||||||
|
@ -108,7 +108,7 @@ main (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Read the first 4-byte word. It contains the information about
|
/* Read the first 4-byte word. It contains the information about
|
||||||
the word size and the endianess. */
|
the word size and the endianness. */
|
||||||
uint32_t word;
|
uint32_t word;
|
||||||
if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4)
|
if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4)
|
||||||
error (EXIT_FAILURE, errno, _("cannot read header"));
|
error (EXIT_FAILURE, errno, _("cannot read header"));
|
||||||
|
@ -1509,7 +1509,7 @@ do_test (void)
|
|||||||
CHK_FAIL_END
|
CHK_FAIL_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Bug 29030 regresion check */
|
/* Bug 29030 regression check */
|
||||||
cp = "HelloWorld";
|
cp = "HelloWorld";
|
||||||
if (mbsrtowcs (NULL, &cp, (size_t)-1, &s) != 10)
|
if (mbsrtowcs (NULL, &cp, (size_t)-1, &s) != 10)
|
||||||
FAIL ();
|
FAIL ();
|
||||||
|
@ -6,7 +6,7 @@ int
|
|||||||
dummy2 (void)
|
dummy2 (void)
|
||||||
{
|
{
|
||||||
printf ("Called dummy2()\n");
|
printf ("Called dummy2()\n");
|
||||||
/* If the outer dlopen is not dummy1 (becuase of some error)
|
/* If the outer dlopen is not dummy1 (because of some error)
|
||||||
then tst-rec-dlopen will see a value of -1 as the returned
|
then tst-rec-dlopen will see a value of -1 as the returned
|
||||||
result and fail. */
|
result and fail. */
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -91,7 +91,7 @@ _MCOUNT_DECL(frompc, selfpc) /* _mcount; may be static, inline, etc */
|
|||||||
But we can simplify this if we assume the profiling data
|
But we can simplify this if we assume the profiling data
|
||||||
is always initialized by the functions in gmon.c. But
|
is always initialized by the functions in gmon.c. But
|
||||||
then it is possible to avoid a runtime check and use the
|
then it is possible to avoid a runtime check and use the
|
||||||
smae `if' as in gmon.c. So keep these tests in sync. */
|
same `if' as in gmon.c. So keep these tests in sync. */
|
||||||
if ((HASHFRACTION & (HASHFRACTION - 1)) == 0) {
|
if ((HASHFRACTION & (HASHFRACTION - 1)) == 0) {
|
||||||
/* avoid integer divide if possible: */
|
/* avoid integer divide if possible: */
|
||||||
i = frompc >> p->log_hashfraction;
|
i = frompc >> p->log_hashfraction;
|
||||||
|
@ -191,7 +191,7 @@ initgroups (const char *user, gid_t group)
|
|||||||
long int limit = __sysconf (_SC_NGROUPS_MAX);
|
long int limit = __sysconf (_SC_NGROUPS_MAX);
|
||||||
|
|
||||||
if (limit > 0)
|
if (limit > 0)
|
||||||
/* We limit the size of the intially allocated array. */
|
/* We limit the size of the initially allocated array. */
|
||||||
size = MIN (limit, 64);
|
size = MIN (limit, 64);
|
||||||
else
|
else
|
||||||
/* No fixed limit on groups. Pick a starting buffer size. */
|
/* No fixed limit on groups. Pick a starting buffer size. */
|
||||||
|
@ -139,7 +139,7 @@ information like encrypted passwords in the Hesiod database. There
|
|||||||
are some ways to improve security by using features provided by
|
are some ways to improve security by using features provided by
|
||||||
`named' (see the discussion about `secure zones' in the BIND
|
`named' (see the discussion about `secure zones' in the BIND
|
||||||
documentation), but one should keep in mind that Hesiod was never
|
documentation), but one should keep in mind that Hesiod was never
|
||||||
intended to distribute passwords. In the origional design
|
intended to distribute passwords. In the original design
|
||||||
authenticating users was the job of the Kerberos service.
|
authenticating users was the job of the Kerberos service.
|
||||||
|
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ subdir_install: $(inst_libdir)/libpthread2.a $(inst_libdir)/libpthread_syms.a
|
|||||||
# XXX: These rules are a hack. But it is better than messing with
|
# XXX: These rules are a hack. But it is better than messing with
|
||||||
# ../Makeconf at the moment. Note that the linker scripts
|
# ../Makeconf at the moment. Note that the linker scripts
|
||||||
# $(srcdir)/libpthread.a and $(srcdir)/libpthread_pic.a get overwritten
|
# $(srcdir)/libpthread.a and $(srcdir)/libpthread_pic.a get overwritten
|
||||||
# when building in $(srcdir) and not a seperate build directory.
|
# when building in $(srcdir) and not a separate build directory.
|
||||||
$(inst_libdir)/libpthread2.a: $(inst_libdir)/libpthread.a
|
$(inst_libdir)/libpthread2.a: $(inst_libdir)/libpthread.a
|
||||||
mv $< $@
|
mv $< $@
|
||||||
$(INSTALL_DATA) $(srcdir)/libpthread.a $<
|
$(INSTALL_DATA) $(srcdir)/libpthread.a $<
|
||||||
|
@ -199,7 +199,7 @@ __pthread_create_internal (struct __pthread **thread,
|
|||||||
/* Set the new thread's signal mask and set the pending signals to
|
/* Set the new thread's signal mask and set the pending signals to
|
||||||
empty. POSIX says: "The signal mask shall be inherited from the
|
empty. POSIX says: "The signal mask shall be inherited from the
|
||||||
creating thread. The set of signals pending for the new thread
|
creating thread. The set of signals pending for the new thread
|
||||||
shall be empty." If the currnet thread is not a pthread then we
|
shall be empty." If the current thread is not a pthread then we
|
||||||
just inherit the process' sigmask. */
|
just inherit the process' sigmask. */
|
||||||
if (GL (dl_pthread_num_threads) == 1)
|
if (GL (dl_pthread_num_threads) == 1)
|
||||||
err = __sigprocmask (0, 0, &pthread->init_sigset);
|
err = __sigprocmask (0, 0, &pthread->init_sigset);
|
||||||
|
@ -303,7 +303,7 @@ extern void __pthread_destroy_specific (struct __pthread *thread);
|
|||||||
structures. */
|
structures. */
|
||||||
extern error_t __pthread_sigstate_init (struct __pthread *thread);
|
extern error_t __pthread_sigstate_init (struct __pthread *thread);
|
||||||
|
|
||||||
/* Destroy the signal state data structures associcated with thread
|
/* Destroy the signal state data structures associated with thread
|
||||||
*THREAD. */
|
*THREAD. */
|
||||||
extern void __pthread_sigstate_destroy (struct __pthread *thread);
|
extern void __pthread_sigstate_destroy (struct __pthread *thread);
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ _hurd_fd_close (struct hurd_fd *fd)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Clear the descriptor's port cells.
|
/* Clear the descriptor's port cells.
|
||||||
This deallocates the ports if noone else is still using them. */
|
This deallocates the ports if no one else is still using them. */
|
||||||
_hurd_port_set (&fd->ctty, MACH_PORT_NULL);
|
_hurd_port_set (&fd->ctty, MACH_PORT_NULL);
|
||||||
_hurd_port_locked_set (&fd->port, MACH_PORT_NULL);
|
_hurd_port_locked_set (&fd->port, MACH_PORT_NULL);
|
||||||
err = 0;
|
err = 0;
|
||||||
|
@ -146,7 +146,7 @@ extern struct hurd_sigstate *_hurd_global_sigstate;
|
|||||||
extern void _hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss);
|
extern void _hurd_sigstate_set_global_rcv (struct hurd_sigstate *ss);
|
||||||
|
|
||||||
/* A thread can either use its own action vector and pending signal set
|
/* A thread can either use its own action vector and pending signal set
|
||||||
or use the global ones, depending on wether it has been marked as a
|
or use the global ones, depending on whether it has been marked as a
|
||||||
global receiver. The accessors below take that into account. */
|
global receiver. The accessors below take that into account. */
|
||||||
|
|
||||||
extern void _hurd_sigstate_lock (struct hurd_sigstate *ss);
|
extern void _hurd_sigstate_lock (struct hurd_sigstate *ss);
|
||||||
|
@ -234,7 +234,7 @@ retry:
|
|||||||
__mutex_lock (&_hurd_id.lock);
|
__mutex_lock (&_hurd_id.lock);
|
||||||
err = _hurd_check_ids ();
|
err = _hurd_check_ids ();
|
||||||
|
|
||||||
/* Avoid leaking the rid_auth port reference to the new progam */
|
/* Avoid leaking the rid_auth port reference to the new program */
|
||||||
if (_hurd_id.rid_auth != MACH_PORT_NULL)
|
if (_hurd_id.rid_auth != MACH_PORT_NULL)
|
||||||
{
|
{
|
||||||
__mach_port_deallocate (__mach_task_self (), _hurd_id.rid_auth);
|
__mach_port_deallocate (__mach_task_self (), _hurd_id.rid_auth);
|
||||||
|
@ -917,7 +917,7 @@ post_signal (struct hurd_sigstate *ss,
|
|||||||
| __sigmask (SIGTSTP))))
|
| __sigmask (SIGTSTP))))
|
||||||
{
|
{
|
||||||
/* If we would ordinarily stop for a job control signal, but we are
|
/* If we would ordinarily stop for a job control signal, but we are
|
||||||
orphaned so noone would ever notice and continue us again, we just
|
orphaned so no one would ever notice and continue us again, we just
|
||||||
quietly die, alone and in the dark. */
|
quietly die, alone and in the dark. */
|
||||||
detail->code = signo;
|
detail->code = signo;
|
||||||
signo = SIGKILL;
|
signo = SIGKILL;
|
||||||
|
@ -144,7 +144,7 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
|
|||||||
refusing symlinks while accepting mount points.
|
refusing symlinks while accepting mount points.
|
||||||
Note that we actually permit something Linux doesn't:
|
Note that we actually permit something Linux doesn't:
|
||||||
we follow root-owned symlinks; if that is deemed
|
we follow root-owned symlinks; if that is deemed
|
||||||
undesireable, we can add a final check for that
|
undesirable, we can add a final check for that
|
||||||
one exception to our general translator-based rule. */
|
one exception to our general translator-based rule. */
|
||||||
struct stat64 st;
|
struct stat64 st;
|
||||||
err = __io_stat (*result, &st);
|
err = __io_stat (*result, &st);
|
||||||
|
@ -304,7 +304,7 @@ __alloc_buffer_next (struct alloc_buffer *buf, size_t align)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Like alloc_buffer_alloc, but do not advance the pointer beyond the
|
/* Like alloc_buffer_alloc, but do not advance the pointer beyond the
|
||||||
object (so a subseqent call to alloc_buffer_next or
|
object (so a subsequent call to alloc_buffer_next or
|
||||||
alloc_buffer_alloc returns the same pointer). Note that the buffer
|
alloc_buffer_alloc returns the same pointer). Note that the buffer
|
||||||
is still aligned according to the requirements of TYPE, potentially
|
is still aligned according to the requirements of TYPE, potentially
|
||||||
consuming buffer space. The effect of this function is similar to
|
consuming buffer space. The effect of this function is similar to
|
||||||
|
@ -126,7 +126,7 @@ ns_rr_cursor_qtype (const struct ns_rr_cursor *c)
|
|||||||
return c->first_rr[-4] * 256 + c->first_rr[-3];
|
return c->first_rr[-4] * 256 + c->first_rr[-3];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns the clss of the first and only question (usally C_IN). */
|
/* Returns the clss of the first and only question (usually C_IN). */
|
||||||
static inline const int
|
static inline const int
|
||||||
ns_rr_cursor_qclass (const struct ns_rr_cursor *c)
|
ns_rr_cursor_qclass (const struct ns_rr_cursor *c)
|
||||||
{
|
{
|
||||||
|
@ -55,7 +55,7 @@ bool __file_change_detection_for_path (struct file_change_detection *file,
|
|||||||
const char *path);
|
const char *path);
|
||||||
|
|
||||||
/* Writes file change information for the stream FP to *FILE. Returns
|
/* Writes file change information for the stream FP to *FILE. Returns
|
||||||
ture on success, false on failure. If FP is NULL, treat the file
|
true on success, false on failure. If FP is NULL, treat the file
|
||||||
as non-existing. */
|
as non-existing. */
|
||||||
bool __file_change_detection_for_fp (struct file_change_detection *file,
|
bool __file_change_detection_for_fp (struct file_change_detection *file,
|
||||||
FILE *fp);
|
FILE *fp);
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
#define PTR_IS_ALIGNED(base, size) \
|
#define PTR_IS_ALIGNED(base, size) \
|
||||||
((((uintptr_t) (base)) & (size - 1)) == 0)
|
((((uintptr_t) (base)) & (size - 1)) == 0)
|
||||||
|
|
||||||
/* Returns the ptrdiff_t diference between P1 and P2. */
|
/* Returns the ptrdiff_t difference between P1 and P2. */
|
||||||
#define PTR_DIFF(p1, p2) \
|
#define PTR_DIFF(p1, p2) \
|
||||||
((ptrdiff_t)((uintptr_t)(p1) - (uintptr_t)(p2)))
|
((ptrdiff_t)((uintptr_t)(p1) - (uintptr_t)(p2)))
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ for linking")
|
|||||||
_set_symbol_version (real, #name "@@" #version)
|
_set_symbol_version (real, #name "@@" #version)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* Evalutes to a string literal for VERSION in LIB. */
|
/* Evaluates to a string literal for VERSION in LIB. */
|
||||||
# define symbol_version_string(lib, version) \
|
# define symbol_version_string(lib, version) \
|
||||||
_symbol_version_stringify_1 (VERSION_##lib##_##version)
|
_symbol_version_stringify_1 (VERSION_##lib##_##version)
|
||||||
# define _symbol_version_stringify_1(arg) _symbol_version_stringify_2 (arg)
|
# define _symbol_version_stringify_1(arg) _symbol_version_stringify_2 (arg)
|
||||||
@ -712,7 +712,7 @@ for linking")
|
|||||||
|
|
||||||
If you have an implementation for foo which e.g. uses a special hardware
|
If you have an implementation for foo which e.g. uses a special hardware
|
||||||
feature which isn't available on all machines where this libc.so will be
|
feature which isn't available on all machines where this libc.so will be
|
||||||
used but decideable if available at runtime e.g. via hwcaps, you can provide
|
used but decidable if available at runtime e.g. via hwcaps, you can provide
|
||||||
two or multiple implementations of foo:
|
two or multiple implementations of foo:
|
||||||
|
|
||||||
int __foo_default (int __bar)
|
int __foo_default (int __bar)
|
||||||
@ -765,7 +765,7 @@ for linking")
|
|||||||
: __foo_default);
|
: __foo_default);
|
||||||
|
|
||||||
This will define the ifunc'ed symbol foo like above. The redirection of foo
|
This will define the ifunc'ed symbol foo like above. The redirection of foo
|
||||||
in header file is needed to omit an additional defintion of __GI_foo which
|
in header file is needed to omit an additional definition of __GI_foo which
|
||||||
would end in a linker error while linking libc.so. You have to specify
|
would end in a linker error while linking libc.so. You have to specify
|
||||||
__redirect_foo as first parameter which is used within libc_ifunc_redirected
|
__redirect_foo as first parameter which is used within libc_ifunc_redirected
|
||||||
macro in conjunction with typeof to define the ifunc'ed symbol foo.
|
macro in conjunction with typeof to define the ifunc'ed symbol foo.
|
||||||
|
@ -156,7 +156,7 @@ void __printf_buffer_pad_1 (struct __printf_buffer *buf,
|
|||||||
char ch, size_t count) attribute_hidden;
|
char ch, size_t count) attribute_hidden;
|
||||||
|
|
||||||
/* __printf_buffer_pad with fast path for no padding. COUNT is
|
/* __printf_buffer_pad with fast path for no padding. COUNT is
|
||||||
ssize_t to accomodate signed uses in printf and elsewhere. */
|
ssize_t to accommodate signed uses in printf and elsewhere. */
|
||||||
static inline void
|
static inline void
|
||||||
__printf_buffer_pad (struct __printf_buffer *buf, char ch, ssize_t count)
|
__printf_buffer_pad (struct __printf_buffer *buf, char ch, ssize_t count)
|
||||||
{
|
{
|
||||||
|
@ -44,7 +44,7 @@ extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n,
|
|||||||
socklen_t __addr_len);
|
socklen_t __addr_len);
|
||||||
|
|
||||||
/* Read N bytes into BUF through socket FD.
|
/* Read N bytes into BUF through socket FD.
|
||||||
If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
|
If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of
|
||||||
the sender, and store the actual size of the address in *ADDR_LEN.
|
the sender, and store the actual size of the address in *ADDR_LEN.
|
||||||
Returns the number of bytes read or -1 for errors. */
|
Returns the number of bytes read or -1 for errors. */
|
||||||
extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n,
|
extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n,
|
||||||
@ -78,7 +78,7 @@ extern ssize_t __sendto (int __fd, const void *__buf, size_t __n,
|
|||||||
socklen_t __addr_len) attribute_hidden;
|
socklen_t __addr_len) attribute_hidden;
|
||||||
|
|
||||||
/* Read N bytes into BUF through socket FD.
|
/* Read N bytes into BUF through socket FD.
|
||||||
If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
|
If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of
|
||||||
the sender, and store the actual size of the address in *ADDR_LEN.
|
the sender, and store the actual size of the address in *ADDR_LEN.
|
||||||
Returns the number of bytes read or -1 for errors. */
|
Returns the number of bytes read or -1 for errors. */
|
||||||
extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n,
|
extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n,
|
||||||
|
@ -78,7 +78,7 @@ extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW
|
|||||||
__attribute_deprecated_msg__ ("Use inet_ntop instead");
|
__attribute_deprecated_msg__ ("Use inet_ntop instead");
|
||||||
|
|
||||||
/* Convert network number for interface type AF in buffer starting at
|
/* Convert network number for interface type AF in buffer starting at
|
||||||
CP to presentation format. The result will specifiy BITS bits of
|
CP to presentation format. The result will specify BITS bits of
|
||||||
the number. */
|
the number. */
|
||||||
extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
|
extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
|
||||||
char *__buf, size_t __len) __THROW;
|
char *__buf, size_t __len) __THROW;
|
||||||
|
@ -40,7 +40,7 @@ __idna_name_classify (const char *name)
|
|||||||
break;
|
break;
|
||||||
else if (result == (size_t) -2)
|
else if (result == (size_t) -2)
|
||||||
/* Incomplete trailing multi-byte character. This is an
|
/* Incomplete trailing multi-byte character. This is an
|
||||||
encoding error becaue we received the full name. */
|
encoding error because we received the full name. */
|
||||||
return idna_name_encoding_error;
|
return idna_name_encoding_error;
|
||||||
else if (result == (size_t) -1)
|
else if (result == (size_t) -1)
|
||||||
{
|
{
|
||||||
|
@ -110,7 +110,7 @@ struct igmp {
|
|||||||
#define IGMP_v2_ROUTER 2
|
#define IGMP_v2_ROUTER 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following four defininitions are for backwards compatibility.
|
* The following four definitions are for backwards compatibility.
|
||||||
* They should be removed as soon as all applications are updated to
|
* They should be removed as soon as all applications are updated to
|
||||||
* use the new constant names.
|
* use the new constant names.
|
||||||
*/
|
*/
|
||||||
|
@ -154,7 +154,7 @@ retry:
|
|||||||
struct iovec iov[3] =
|
struct iovec iov[3] =
|
||||||
{
|
{
|
||||||
[0] = { .iov_base = (void *) name, .iov_len = strlen (name) + 1 },
|
[0] = { .iov_base = (void *) name, .iov_len = strlen (name) + 1 },
|
||||||
/* should public key encypt the password here */
|
/* should public key encrypt the password here */
|
||||||
[1] = { .iov_base = (void *) pass, .iov_len = strlen (pass) + 1 },
|
[1] = { .iov_base = (void *) pass, .iov_len = strlen (pass) + 1 },
|
||||||
[2] = { .iov_base = (void *) cmd, .iov_len = strlen (cmd) + 1 }
|
[2] = { .iov_base = (void *) cmd, .iov_len = strlen (cmd) + 1 }
|
||||||
};
|
};
|
||||||
|
@ -86,7 +86,7 @@ __file_change_detection_for_path (struct file_change_detection *file,
|
|||||||
/* Other errors are fatal. */
|
/* Other errors are fatal. */
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else /* stat64 was successfull. */
|
else /* stat64 was successful. */
|
||||||
{
|
{
|
||||||
__file_change_detection_for_stat (file, &st);
|
__file_change_detection_for_stat (file, &st);
|
||||||
return true;
|
return true;
|
||||||
|
@ -201,7 +201,7 @@ do_test (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* fts_read returns NULL when done (and clears errno)
|
/* fts_read returns NULL when done (and clears errno)
|
||||||
or when an error occured (with errno set). */
|
or when an error occurred (with errno set). */
|
||||||
if (errno != 0)
|
if (errno != 0)
|
||||||
{
|
{
|
||||||
printf ("FAIL: fts_read: %m\n");
|
printf ("FAIL: fts_read: %m\n");
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
* - I never used the "original" fmemopen(). I am sure that "my"
|
* - I never used the "original" fmemopen(). I am sure that "my"
|
||||||
* fmemopen() behaves differently than the original version.
|
* fmemopen() behaves differently than the original version.
|
||||||
*
|
*
|
||||||
* - The documentation doesn't say wether a string stream allows
|
* - The documentation doesn't say whether a string stream allows
|
||||||
* seeks. I checked the old fmemopen implementation in glibc's stdio
|
* seeks. I checked the old fmemopen implementation in glibc's stdio
|
||||||
* directory, wasn't quite able to see what is going on in that
|
* directory, wasn't quite able to see what is going on in that
|
||||||
* source, but as far as I understand there was no seek there. For
|
* source, but as far as I understand there was no seek there. For
|
||||||
|
@ -47,7 +47,7 @@ do_bz17916 (void)
|
|||||||
FILE *fp = fopen (inputfile, ccs);
|
FILE *fp = fopen (inputfile, ccs);
|
||||||
if (fp != NULL)
|
if (fp != NULL)
|
||||||
{
|
{
|
||||||
printf ("unxpected success\n");
|
printf ("unexpected success\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
free (ccs);
|
free (ccs);
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#ifdef TEST_WCHAR
|
#ifdef TEST_WCHAR
|
||||||
# include <wchar.h>
|
# include <wchar.h>
|
||||||
|
|
||||||
/* Straighforward implementation so tst-memstream3 could use check
|
/* Straightforward implementation so tst-memstream3 could use check
|
||||||
fwrite on open_memstream. */
|
fwrite on open_memstream. */
|
||||||
static size_t __attribute__ ((used))
|
static size_t __attribute__ ((used))
|
||||||
fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
|
fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Dereived from the test case in BZ #2337. */
|
/* Derived from the test case in BZ #2337. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <error.h>
|
#include <error.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/* Provide an interposed definition of the standard file handles with
|
/* Provide an interposed definition of the standard file handles with
|
||||||
our own vtable. stdout/stdin/stderr will not work as a result, but
|
our own vtable. stdout/stdin/stderr will not work as a result, but
|
||||||
a succesful test does not print anything, so this is fine. */
|
a successful test does not print anything, so this is fine. */
|
||||||
#include "libioP.h"
|
#include "libioP.h"
|
||||||
#undef _IO_file_jumps
|
#undef _IO_file_jumps
|
||||||
#define _IO_file_jumps jumps
|
#define _IO_file_jumps jumps
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
|
||||||
/* Straighforward implementation so tst-memstream3 could use check
|
/* Straightforward implementation so tst-memstream3 could use check
|
||||||
fwrite on open_memstream. */
|
fwrite on open_memstream. */
|
||||||
static size_t
|
static size_t
|
||||||
fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
|
fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq)
|
||||||
|
@ -28,7 +28,7 @@ print_entry (struct utmp *up)
|
|||||||
/* Mixed 32-/64-bit systems may have timeval structs of different sixe
|
/* Mixed 32-/64-bit systems may have timeval structs of different sixe
|
||||||
but need struct utmp to be the same size. So in 64-bit up->ut_tv may
|
but need struct utmp to be the same size. So in 64-bit up->ut_tv may
|
||||||
not be a timeval but a struct of __int32_t's. This would cause a compile
|
not be a timeval but a struct of __int32_t's. This would cause a compile
|
||||||
time warning and a formating error when 32-bit int is passed where
|
time warning and a formatting error when 32-bit int is passed where
|
||||||
a 64-bit long is expected. So copy up->up_tv to a temporary timeval.
|
a 64-bit long is expected. So copy up->up_tv to a temporary timeval.
|
||||||
This is 32-/64-bit agnostic and expands the timeval fields to the
|
This is 32-/64-bit agnostic and expands the timeval fields to the
|
||||||
expected size as needed. */
|
expected size as needed. */
|
||||||
|
@ -153,7 +153,7 @@ __libc_setutent (void)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Preform initialization if necessary. */
|
/* Perform initialization if necessary. */
|
||||||
static bool
|
static bool
|
||||||
maybe_setutent (void)
|
maybe_setutent (void)
|
||||||
{
|
{
|
||||||
|
@ -54,7 +54,7 @@ $(objpfx)dummy.mk:
|
|||||||
|
|
||||||
MIGFLAGS = -DSTANDALONE -DTypeCheck=0 \
|
MIGFLAGS = -DSTANDALONE -DTypeCheck=0 \
|
||||||
$(+includes) $(migdefines) -subrprefix __
|
$(+includes) $(migdefines) -subrprefix __
|
||||||
# Putting CC in the enivronment makes the mig wrapper script
|
# Putting CC in the environment makes the mig wrapper script
|
||||||
# use the same compiler setup we are using to run cpp.
|
# use the same compiler setup we are using to run cpp.
|
||||||
MIG := CC='${CC}' CPP='${CPP} -x c' $(MIG)
|
MIG := CC='${CC}' CPP='${CPP} -x c' $(MIG)
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
* Author: Douglas Orr, Carnegie Mellon University
|
* Author: Douglas Orr, Carnegie Mellon University
|
||||||
* Date: Mar. 1988
|
* Date: Mar. 1988
|
||||||
*
|
*
|
||||||
* Error bases for subsytems errors.
|
* Error bases for subsystems errors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <mach/error.h>
|
#include <mach/error.h>
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
mmap threshold, so that requests with a size just below that
|
mmap threshold, so that requests with a size just below that
|
||||||
threshold can be fulfilled without creating too many heaps. */
|
threshold can be fulfilled without creating too many heaps. */
|
||||||
|
|
||||||
/* When huge pages are used to create new arenas, the maximum and minumum
|
/* When huge pages are used to create new arenas, the maximum and minimum
|
||||||
size are based on the runtime defined huge page size. */
|
size are based on the runtime defined huge page size. */
|
||||||
|
|
||||||
static inline size_t
|
static inline size_t
|
||||||
|
@ -588,7 +588,7 @@ malloc_set_state (void *msptr)
|
|||||||
__malloc_debug_disable (MALLOC_CHECK_HOOK);
|
__malloc_debug_disable (MALLOC_CHECK_HOOK);
|
||||||
|
|
||||||
/* We do not need to perform locking here because malloc_set_state
|
/* We do not need to perform locking here because malloc_set_state
|
||||||
must be called before the first call into the malloc subsytem (usually via
|
must be called before the first call into the malloc subsystem (usually via
|
||||||
__malloc_initialize_hook). pthread_create always calls calloc and thus
|
__malloc_initialize_hook). pthread_create always calls calloc and thus
|
||||||
must be called only afterwards, so there cannot be more than one thread
|
must be called only afterwards, so there cannot be more than one thread
|
||||||
when we reach this point. Also handle initialization if either we ended
|
when we reach this point. Also handle initialization if either we ended
|
||||||
|
@ -271,7 +271,7 @@
|
|||||||
is fairly extensive, and will slow down execution
|
is fairly extensive, and will slow down execution
|
||||||
noticeably. Calling malloc_stats or mallinfo with MALLOC_DEBUG set
|
noticeably. Calling malloc_stats or mallinfo with MALLOC_DEBUG set
|
||||||
will attempt to check every non-mmapped allocated and free chunk in
|
will attempt to check every non-mmapped allocated and free chunk in
|
||||||
the course of computing the summmaries. (By nature, mmapped regions
|
the course of computing the summaries. (By nature, mmapped regions
|
||||||
cannot be checked very much automatically.)
|
cannot be checked very much automatically.)
|
||||||
|
|
||||||
Setting MALLOC_DEBUG may also be helpful if you are trying to modify
|
Setting MALLOC_DEBUG may also be helpful if you are trying to modify
|
||||||
@ -672,7 +672,7 @@ void* __libc_valloc(size_t);
|
|||||||
arena: current total non-mmapped bytes allocated from system
|
arena: current total non-mmapped bytes allocated from system
|
||||||
ordblks: the number of free chunks
|
ordblks: the number of free chunks
|
||||||
smblks: the number of fastbin blocks (i.e., small chunks that
|
smblks: the number of fastbin blocks (i.e., small chunks that
|
||||||
have been freed but not use resused or consolidated)
|
have been freed but not reused or consolidated)
|
||||||
hblks: current number of mmapped regions
|
hblks: current number of mmapped regions
|
||||||
hblkhd: total bytes held in mmapped regions
|
hblkhd: total bytes held in mmapped regions
|
||||||
usmblks: always 0
|
usmblks: always 0
|
||||||
@ -1017,7 +1017,7 @@ libc_hidden_proto (__libc_mallopt)
|
|||||||
|
|
||||||
In 2001, the kernel had a maximum size for brk() which was about 800
|
In 2001, the kernel had a maximum size for brk() which was about 800
|
||||||
megabytes on 32 bit x86, at that point brk() would hit the first
|
megabytes on 32 bit x86, at that point brk() would hit the first
|
||||||
mmaped shared libaries and couldn't expand anymore. With current 2.6
|
mmaped shared libraries and couldn't expand anymore. With current 2.6
|
||||||
kernels, the VA space layout is different and brk() and mmap
|
kernels, the VA space layout is different and brk() and mmap
|
||||||
both can span the entire heap at will.
|
both can span the entire heap at will.
|
||||||
|
|
||||||
@ -1486,7 +1486,7 @@ tag_new_usable (void *ptr)
|
|||||||
and consolidated sets of chunks, which is what these bins hold, so
|
and consolidated sets of chunks, which is what these bins hold, so
|
||||||
they can be found quickly. All procedures maintain the invariant
|
they can be found quickly. All procedures maintain the invariant
|
||||||
that no consolidated chunk physically borders another one, so each
|
that no consolidated chunk physically borders another one, so each
|
||||||
chunk in a list is known to be preceeded and followed by either
|
chunk in a list is known to be preceded and followed by either
|
||||||
inuse chunks or the ends of memory.
|
inuse chunks or the ends of memory.
|
||||||
|
|
||||||
Chunks in bins are kept in size order, with ties going to the
|
Chunks in bins are kept in size order, with ties going to the
|
||||||
@ -2475,7 +2475,7 @@ sysmalloc_mmap (INTERNAL_SIZE_T nb, size_t pagesize, int extra_flags, mstate av)
|
|||||||
/*
|
/*
|
||||||
Allocate memory using mmap() based on S and NB requested size, aligning to
|
Allocate memory using mmap() based on S and NB requested size, aligning to
|
||||||
PAGESIZE if required. The EXTRA_FLAGS is used on mmap() call. If the call
|
PAGESIZE if required. The EXTRA_FLAGS is used on mmap() call. If the call
|
||||||
succeedes S is updated with the allocated size. This is used as a fallback
|
succeeds S is updated with the allocated size. This is used as a fallback
|
||||||
if MORECORE fails.
|
if MORECORE fails.
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
@ -2557,7 +2557,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av)
|
|||||||
char *mm;
|
char *mm;
|
||||||
if (mp_.hp_pagesize > 0 && nb >= mp_.hp_pagesize)
|
if (mp_.hp_pagesize > 0 && nb >= mp_.hp_pagesize)
|
||||||
{
|
{
|
||||||
/* There is no need to isse the THP madvise call if Huge Pages are
|
/* There is no need to issue the THP madvise call if Huge Pages are
|
||||||
used directly. */
|
used directly. */
|
||||||
mm = sysmalloc_mmap (nb, mp_.hp_pagesize, mp_.hp_flags, av);
|
mm = sysmalloc_mmap (nb, mp_.hp_pagesize, mp_.hp_flags, av);
|
||||||
if (mm != MAP_FAILED)
|
if (mm != MAP_FAILED)
|
||||||
@ -3439,7 +3439,7 @@ __libc_realloc (void *oldmem, size_t bytes)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Little security check which won't hurt performance: the allocator
|
/* Little security check which won't hurt performance: the allocator
|
||||||
never wrapps around at the end of the address space. Therefore
|
never wraps around at the end of the address space. Therefore
|
||||||
we can exclude some size values which might appear here by
|
we can exclude some size values which might appear here by
|
||||||
accident or by "design" from some intruder. */
|
accident or by "design" from some intruder. */
|
||||||
if ((__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
|
if ((__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
|
||||||
@ -4486,7 +4486,7 @@ _int_free (mstate av, mchunkptr p, int have_lock)
|
|||||||
size = chunksize (p);
|
size = chunksize (p);
|
||||||
|
|
||||||
/* Little security check which won't hurt performance: the
|
/* Little security check which won't hurt performance: the
|
||||||
allocator never wrapps around at the end of the address space.
|
allocator never wraps around at the end of the address space.
|
||||||
Therefore we can exclude some size values which might appear
|
Therefore we can exclude some size values which might appear
|
||||||
here by accident or by "design" from some intruder. */
|
here by accident or by "design" from some intruder. */
|
||||||
if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0)
|
if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0)
|
||||||
|
@ -147,7 +147,7 @@ do_test (void)
|
|||||||
{
|
{
|
||||||
atexit (kill_children);
|
atexit (kill_children);
|
||||||
|
|
||||||
/* shared->barrier is intialized along with sigusr1_sender_pids
|
/* shared->barrier is initialized along with sigusr1_sender_pids
|
||||||
below. */
|
below. */
|
||||||
shared = support_shared_allocate (sizeof (*shared));
|
shared = support_shared_allocate (sizeof (*shared));
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ do_test (void)
|
|||||||
signal_sender (SIGUSR2, true);
|
signal_sender (SIGUSR2, true);
|
||||||
|
|
||||||
/* Send SIGUSR1 signals from several processes. Hopefully, one
|
/* Send SIGUSR1 signals from several processes. Hopefully, one
|
||||||
signal will hit one of the ciritical functions. Use a barrier to
|
signal will hit one of the critical functions. Use a barrier to
|
||||||
avoid sending signals while not running fork/free/malloc. */
|
avoid sending signals while not running fork/free/malloc. */
|
||||||
{
|
{
|
||||||
pthread_barrierattr_t attr;
|
pthread_barrierattr_t attr;
|
||||||
|
@ -142,7 +142,7 @@ do_test (void)
|
|||||||
sigusr2_sender = xpthread_create (NULL, signal_sender, &sigusr2_args);
|
sigusr2_sender = xpthread_create (NULL, signal_sender, &sigusr2_args);
|
||||||
|
|
||||||
/* Send SIGUSR1 signals from several threads. Hopefully, one
|
/* Send SIGUSR1 signals from several threads. Hopefully, one
|
||||||
signal will hit one of the ciritical functions. Use a barrier to
|
signal will hit one of the critical functions. Use a barrier to
|
||||||
avoid sending signals while not running fork/free/malloc. */
|
avoid sending signals while not running fork/free/malloc. */
|
||||||
struct signal_send_args sigusr1_args = { self, SIGUSR1, false };
|
struct signal_send_args sigusr1_args = { self, SIGUSR1, false };
|
||||||
xpthread_barrier_init (&barrier, NULL,
|
xpthread_barrier_init (&barrier, NULL,
|
||||||
|
@ -45,7 +45,7 @@ enum allocation_action
|
|||||||
action_free, /* Dumped and freed. */
|
action_free, /* Dumped and freed. */
|
||||||
action_realloc, /* Dumped and realloc'ed. */
|
action_realloc, /* Dumped and realloc'ed. */
|
||||||
action_realloc_same, /* Dumped and realloc'ed, same size. */
|
action_realloc_same, /* Dumped and realloc'ed, same size. */
|
||||||
action_realloc_smaller, /* Dumped and realloc'ed, shrinked. */
|
action_realloc_smaller, /* Dumped and realloc'ed, shrunk. */
|
||||||
action_count
|
action_count
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ __MATHCALL (nextdown,, (_Mdouble_ __x));
|
|||||||
__MATHCALL (nextup,, (_Mdouble_ __x));
|
__MATHCALL (nextup,, (_Mdouble_ __x));
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* Return the remainder of integer divison X / Y with infinite precision. */
|
/* Return the remainder of integer division X / Y with infinite precision. */
|
||||||
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
|
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||||
|
|
||||||
# ifdef __USE_ISOC99
|
# ifdef __USE_ISOC99
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||||
#include <bits/libc-header-start.h>
|
#include <bits/libc-header-start.h>
|
||||||
|
|
||||||
/* Get the architecture dependend definitions. The following definitions
|
/* Get the architecture dependent definitions. The following definitions
|
||||||
are expected to be done:
|
are expected to be done:
|
||||||
|
|
||||||
fenv_t type for object representing an entire floating-point
|
fenv_t type for object representing an entire floating-point
|
||||||
|
@ -83,7 +83,7 @@
|
|||||||
functions.
|
functions.
|
||||||
|
|
||||||
Inline functions: Inlining functions should give an improvement in
|
Inline functions: Inlining functions should give an improvement in
|
||||||
speed - but not in precission. The inlined functions return
|
speed - but not in precision. The inlined functions return
|
||||||
reasonable values for a reasonable range of input values. The
|
reasonable values for a reasonable range of input values. The
|
||||||
result is not necessarily correct for all values and exceptions are
|
result is not necessarily correct for all values and exceptions are
|
||||||
not correctly raised in all cases. Problematic input and return
|
not correctly raised in all cases. Problematic input and return
|
||||||
|
@ -1301,7 +1301,7 @@ iszero (__T __val)
|
|||||||
these operations. Generic support in GCC for these as builtins went
|
these operations. Generic support in GCC for these as builtins went
|
||||||
in 2.97, but not all cpus added their patterns until 3.1. Therefore
|
in 2.97, but not all cpus added their patterns until 3.1. Therefore
|
||||||
we enable the builtins from 3.1 onwards and use a generic implementation
|
we enable the builtins from 3.1 onwards and use a generic implementation
|
||||||
othwerwise. */
|
otherwise. */
|
||||||
# define isgreater(x, y) __builtin_isgreater(x, y)
|
# define isgreater(x, y) __builtin_isgreater(x, y)
|
||||||
# define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
|
# define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
|
||||||
# define isless(x, y) __builtin_isless(x, y)
|
# define isless(x, y) __builtin_isless(x, y)
|
||||||
|
@ -761,7 +761,7 @@ initial_tests (void)
|
|||||||
test_exceptions ("Initially all exceptions should be cleared",
|
test_exceptions ("Initially all exceptions should be cleared",
|
||||||
NO_EXC, 0);
|
NO_EXC, 0);
|
||||||
#ifdef FE_TONEAREST
|
#ifdef FE_TONEAREST
|
||||||
test_rounding ("Rounding direction should be initalized to nearest",
|
test_rounding ("Rounding direction should be initialized to nearest",
|
||||||
FE_TONEAREST);
|
FE_TONEAREST);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -961,7 +961,7 @@
|
|||||||
#define nexttoward(Val1, Val2) \
|
#define nexttoward(Val1, Val2) \
|
||||||
__TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward)
|
__TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward)
|
||||||
|
|
||||||
/* Return the remainder of integer divison X / Y with infinite precision. */
|
/* Return the remainder of integer division X / Y with infinite precision. */
|
||||||
#define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder)
|
#define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder)
|
||||||
|
|
||||||
/* Return X times (2 to the Nth power). */
|
/* Return X times (2 to the Nth power). */
|
||||||
|
@ -160,7 +160,7 @@ __hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
|
|||||||
if (hval == 0)
|
if (hval == 0)
|
||||||
++hval;
|
++hval;
|
||||||
|
|
||||||
/* First hash function: simply take the modul but prevent zero. */
|
/* First hash function: simply take the modulo but prevent zero. */
|
||||||
idx = hval % htab->size + 1;
|
idx = hval % htab->size + 1;
|
||||||
|
|
||||||
if (htab->table[idx].used)
|
if (htab->table[idx].used)
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
|
||||||
/* Same as preadv64 but with an addional flag argument. */
|
/* Same as preadv64 but with an additional flag argument. */
|
||||||
ssize_t
|
ssize_t
|
||||||
preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
|
preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
|
||||||
int flags)
|
int flags)
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
|
||||||
/* Same as preadv64 but with an addional flag argument. */
|
/* Same as preadv64 but with an additional flag argument. */
|
||||||
ssize_t
|
ssize_t
|
||||||
pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
|
pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
|
||||||
int flags)
|
int flags)
|
||||||
|
@ -78,7 +78,7 @@ struct _ENTRY;
|
|||||||
|
|
||||||
/* Family of hash table handling functions. The functions also
|
/* Family of hash table handling functions. The functions also
|
||||||
have reentrant counterparts ending with _r. The non-reentrant
|
have reentrant counterparts ending with _r. The non-reentrant
|
||||||
functions all work on a signle internal hashing table. */
|
functions all work on a single internal hashing table. */
|
||||||
|
|
||||||
/* Search for entry matching ITEM.key in internal hash table. If
|
/* Search for entry matching ITEM.key in internal hash table. If
|
||||||
ACTION is `FIND' return found entry or signal error by returning
|
ACTION is `FIND' return found entry or signal error by returning
|
||||||
|
@ -208,13 +208,13 @@ special (void)
|
|||||||
res = ECVT_R (123.456, 10, &decpt, &sign, buf, 1);
|
res = ECVT_R (123.456, 10, &decpt, &sign, buf, 1);
|
||||||
if (res == 0)
|
if (res == 0)
|
||||||
{
|
{
|
||||||
printf (NAME (ECVT_R) " with a too small buffer was succesful.\n");
|
printf (NAME (ECVT_R) " with a too small buffer was successful.\n");
|
||||||
support_record_failure ();
|
support_record_failure ();
|
||||||
}
|
}
|
||||||
res = FCVT_R (123.456, 10, &decpt, &sign, buf, 1);
|
res = FCVT_R (123.456, 10, &decpt, &sign, buf, 1);
|
||||||
if (res == 0)
|
if (res == 0)
|
||||||
{
|
{
|
||||||
printf (NAME (FCVT_R) " with a too small buffer was succesful.\n");
|
printf (NAME (FCVT_R) " with a too small buffer was successful.\n");
|
||||||
support_record_failure ();
|
support_record_failure ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ do_test (void)
|
|||||||
|
|
||||||
/* The corruption happens here ... */
|
/* The corruption happens here ... */
|
||||||
getmntent (fp);
|
getmntent (fp);
|
||||||
/* ... but trigers here. */
|
/* ... but triggers here. */
|
||||||
endmntent (fp);
|
endmntent (fp);
|
||||||
|
|
||||||
/* If the test failed, we would crash, and not hit this point. */
|
/* If the test failed, we would crash, and not hit this point. */
|
||||||
|
@ -26,6 +26,6 @@ syscall needed.
|
|||||||
post if they get canceled.
|
post if they get canceled.
|
||||||
|
|
||||||
- possibly add counter field. This requires reviving the
|
- possibly add counter field. This requires reviving the
|
||||||
differences between old and new semaphose funtions. The old ones
|
differences between old and new semaphore functions. The old ones
|
||||||
stay as they are now. The new once can use an additional field
|
stay as they are now. The new ones can use an additional field
|
||||||
wich is the counter for the number of waiters
|
which is the counter for the number of waiters
|
||||||
|
@ -119,7 +119,7 @@ struct robust_list_head
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Data strcture used to handle thread priority protection. */
|
/* Data structure used to handle thread priority protection. */
|
||||||
struct priority_protection_data
|
struct priority_protection_data
|
||||||
{
|
{
|
||||||
int priomax;
|
int priomax;
|
||||||
|
@ -59,7 +59,7 @@ __futex_abstimed_wait_common64 (unsigned int* futex_word,
|
|||||||
FUTEX_BITSET_MATCH_ANY);
|
FUTEX_BITSET_MATCH_ANY);
|
||||||
else
|
else
|
||||||
return INTERNAL_SYSCALL_CALL (futex_time64, futex_word, op, expected,
|
return INTERNAL_SYSCALL_CALL (futex_time64, futex_word, op, expected,
|
||||||
abstime, NULL /* Ununsed. */,
|
abstime, NULL /* Unused. */,
|
||||||
FUTEX_BITSET_MATCH_ANY);
|
FUTEX_BITSET_MATCH_ANY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
static const struct argp_option options[] =
|
static const struct argp_option options[] =
|
||||||
{
|
{
|
||||||
{ NULL, 0, NULL, 0, "\
|
{ NULL, 0, NULL, 0, "\
|
||||||
This is a test for threads so we allow ther user to selection the number of \
|
This is a test for threads so we allow the user to select the number of \
|
||||||
threads which are used at any one time. Independently the total number of \
|
threads which are used at any one time. Independently the total number of \
|
||||||
rounds can be selected. This is the total number of threads which will have \
|
rounds can be selected. This is the total number of threads which will have \
|
||||||
run when the process terminates:" },
|
run when the process terminates:" },
|
||||||
@ -387,7 +387,7 @@ main (int argc, char *argv[])
|
|||||||
tmain = pthread_self ();
|
tmain = pthread_self ();
|
||||||
|
|
||||||
/* We use signal SIGUSR1 for communication between the threads and
|
/* We use signal SIGUSR1 for communication between the threads and
|
||||||
the main thread. We only want sychronous notification. */
|
the main thread. We only want synchronous notification. */
|
||||||
if (sync_method == sync_signal)
|
if (sync_method == sync_signal)
|
||||||
{
|
{
|
||||||
sigemptyset (&ss);
|
sigemptyset (&ss);
|
||||||
|
@ -230,7 +230,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
|
|||||||
|
|
||||||
/* First, set the closed flag on __g_signals. This tells waiters that are
|
/* First, set the closed flag on __g_signals. This tells waiters that are
|
||||||
about to wait that they shouldn't do that anymore. This basically
|
about to wait that they shouldn't do that anymore. This basically
|
||||||
serves as an advance notificaton of the upcoming change to __g1_start;
|
serves as an advance notification of the upcoming change to __g1_start;
|
||||||
waiters interpret it as if __g1_start was larger than their waiter
|
waiters interpret it as if __g1_start was larger than their waiter
|
||||||
sequence position. This allows us to change __g1_start after waiting
|
sequence position. This allows us to change __g1_start after waiting
|
||||||
for all existing waiters with group references to leave, which in turn
|
for all existing waiters with group references to leave, which in turn
|
||||||
|
@ -583,7 +583,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
|
|||||||
the futex. We also need to do that if we skipped adding
|
the futex. We also need to do that if we skipped adding
|
||||||
a signal because the group is being closed because
|
a signal because the group is being closed because
|
||||||
while __condvar_quiesce_and_switch_g1 could have closed
|
while __condvar_quiesce_and_switch_g1 could have closed
|
||||||
the group, it might stil be waiting for futex waiters to
|
the group, it might still be waiting for futex waiters to
|
||||||
leave (and one of those waiters might be the one we stole
|
leave (and one of those waiters might be the one we stole
|
||||||
the signal from, which cause it to block using the
|
the signal from, which cause it to block using the
|
||||||
futex). */
|
futex). */
|
||||||
@ -603,7 +603,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
|
|||||||
__condvar_confirm_wakeup (cond, private);
|
__condvar_confirm_wakeup (cond, private);
|
||||||
|
|
||||||
/* Woken up; now re-acquire the mutex. If this doesn't fail, return RESULT,
|
/* Woken up; now re-acquire the mutex. If this doesn't fail, return RESULT,
|
||||||
which is set to ETIMEDOUT if a timeout occured, or zero otherwise. */
|
which is set to ETIMEDOUT if a timeout occurred, or zero otherwise. */
|
||||||
err = __pthread_mutex_cond_lock (mutex);
|
err = __pthread_mutex_cond_lock (mutex);
|
||||||
/* XXX Abort on errors that are disallowed by POSIX? */
|
/* XXX Abort on errors that are disallowed by POSIX? */
|
||||||
return (err != 0) ? err : result;
|
return (err != 0) ? err : result;
|
||||||
|
@ -218,7 +218,7 @@ late_init (void)
|
|||||||
__pthread_current_priority reuse the same lock, PD->lock, for a
|
__pthread_current_priority reuse the same lock, PD->lock, for a
|
||||||
similar purpose e.g. synchronizing the setting of similar thread
|
similar purpose e.g. synchronizing the setting of similar thread
|
||||||
attributes. These functions are never called before the thread is
|
attributes. These functions are never called before the thread is
|
||||||
created, so don't participate in startup syncronization, but given
|
created, so don't participate in startup synchronization, but given
|
||||||
that the lock is present already and in the unlocked state, reusing
|
that the lock is present already and in the unlocked state, reusing
|
||||||
it saves space.
|
it saves space.
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ __pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr)
|
|||||||
lll_lock (thread->lock, LLL_PRIVATE);
|
lll_lock (thread->lock, LLL_PRIVATE);
|
||||||
|
|
||||||
/* The thread library is responsible for keeping the values in the
|
/* The thread library is responsible for keeping the values in the
|
||||||
thread desriptor up-to-date in case the user changes them. */
|
thread descriptor up-to-date in case the user changes them. */
|
||||||
memcpy (&iattr->schedparam, &thread->schedparam,
|
memcpy (&iattr->schedparam, &thread->schedparam,
|
||||||
sizeof (struct sched_param));
|
sizeof (struct sched_param));
|
||||||
iattr->schedpolicy = thread->schedpolicy;
|
iattr->schedpolicy = thread->schedpolicy;
|
||||||
|
@ -234,7 +234,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
|
|||||||
/* The previous owner died. Try locking the mutex. */
|
/* The previous owner died. Try locking the mutex. */
|
||||||
int newval = id;
|
int newval = id;
|
||||||
#ifdef NO_INCR
|
#ifdef NO_INCR
|
||||||
/* We are not taking assume_other_futex_waiters into accoount
|
/* We are not taking assume_other_futex_waiters into account
|
||||||
here simply because we'll set FUTEX_WAITERS anyway. */
|
here simply because we'll set FUTEX_WAITERS anyway. */
|
||||||
newval |= FUTEX_WAITERS;
|
newval |= FUTEX_WAITERS;
|
||||||
#else
|
#else
|
||||||
@ -438,7 +438,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
|
|||||||
int private = (robust
|
int private = (robust
|
||||||
? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
|
? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
|
||||||
: PTHREAD_MUTEX_PSHARED (mutex));
|
: PTHREAD_MUTEX_PSHARED (mutex));
|
||||||
int e = __futex_lock_pi64 (&mutex->__data.__lock, 0 /* ununsed */,
|
int e = __futex_lock_pi64 (&mutex->__data.__lock, 0 /* unused */,
|
||||||
NULL, private);
|
NULL, private);
|
||||||
if (e == ESRCH || e == EDEADLK)
|
if (e == ESRCH || e == EDEADLK)
|
||||||
{
|
{
|
||||||
|
@ -325,7 +325,7 @@ __sem_wait_32_finish (struct new_sem *sem)
|
|||||||
unsigned int wguess = atomic_load_relaxed (&sem->nwaiters);
|
unsigned int wguess = atomic_load_relaxed (&sem->nwaiters);
|
||||||
if (wguess == 1)
|
if (wguess == 1)
|
||||||
/* We might be the last waiter, so unset. This needs acquire MO so that
|
/* We might be the last waiter, so unset. This needs acquire MO so that
|
||||||
it syncronizes with the release MO when setting the bit above; if we
|
it synchronizes with the release MO when setting the bit above; if we
|
||||||
overwrite someone else that set the bit, we'll read in the following
|
overwrite someone else that set the bit, we'll read in the following
|
||||||
decrement of nwaiters at least from that release sequence, so we'll
|
decrement of nwaiters at least from that release sequence, so we'll
|
||||||
see if the other waiter is still active or if another writer entered
|
see if the other waiter is still active or if another writer entered
|
||||||
|
@ -53,7 +53,7 @@ do_test (void)
|
|||||||
}
|
}
|
||||||
if (pthread_join (tid3, NULL) != 0)
|
if (pthread_join (tid3, NULL) != 0)
|
||||||
{
|
{
|
||||||
puts ("2rd join failed");
|
puts ("2nd join failed");
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include <atomic.h>
|
#include <atomic.h>
|
||||||
#include <support/xthread.h>
|
#include <support/xthread.h>
|
||||||
|
|
||||||
/* We realy want to set threads to 2 to reproduce this issue. The goal
|
/* We really want to set threads to 2 to reproduce this issue. The goal
|
||||||
is to have one primary writer and a single reader, and to hit the
|
is to have one primary writer and a single reader, and to hit the
|
||||||
bug that happens in the interleaving of those two phase transitions.
|
bug that happens in the interleaving of those two phase transitions.
|
||||||
However, on most hardware, adding a second writer seems to help the
|
However, on most hardware, adding a second writer seems to help the
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Test DTV size oveflow when pthread_create reuses old DTV and TLS is
|
/* Test DTV size overflow when pthread_create reuses old DTV and TLS is
|
||||||
used by dlopened shared object.
|
used by dlopened shared object.
|
||||||
Copyright (C) 2014-2023 Free Software Foundation, Inc.
|
Copyright (C) 2014-2023 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
@ -23,7 +23,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
/* The choices of thread count, and file counts are arbitary.
|
/* The choices of thread count, and file counts are arbitrary.
|
||||||
The point is simply to run enough threads that an exiting
|
The point is simply to run enough threads that an exiting
|
||||||
thread has it's stack reused by another thread at the same
|
thread has it's stack reused by another thread at the same
|
||||||
time as new libraries have been loaded. */
|
time as new libraries have been loaded. */
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#define THE_SIG SIGUSR1
|
#define THE_SIG SIGUSR1
|
||||||
|
|
||||||
/* The stack size can be overriden. With a sufficiently large stack
|
/* The stack size can be overridden. With a sufficiently large stack
|
||||||
size, thread stacks for terminated threads are freed, but this does
|
size, thread stacks for terminated threads are freed, but this does
|
||||||
not happen with the default size of 1 MiB. */
|
not happen with the default size of 1 MiB. */
|
||||||
enum { default_stack_size_in_mb = 1 };
|
enum { default_stack_size_in_mb = 1 };
|
||||||
|
@ -36,7 +36,7 @@ destr1 (void *arg)
|
|||||||
{
|
{
|
||||||
puts ("set key2");
|
puts ("set key2");
|
||||||
|
|
||||||
/* Use an arbirary but valid pointer to avoid GCC warnings. */
|
/* Use an arbitrary but valid pointer to avoid GCC warnings. */
|
||||||
if (pthread_setspecific (key2, (void *) &left) != 0)
|
if (pthread_setspecific (key2, (void *) &left) != 0)
|
||||||
{
|
{
|
||||||
puts ("destr1: setspecific failed");
|
puts ("destr1: setspecific failed");
|
||||||
@ -53,7 +53,7 @@ destr2 (void *arg)
|
|||||||
{
|
{
|
||||||
puts ("set key1");
|
puts ("set key1");
|
||||||
|
|
||||||
/* Use an arbirary but valid pointer to avoid GCC warnings. */
|
/* Use an arbitrary but valid pointer to avoid GCC warnings. */
|
||||||
if (pthread_setspecific (key1, (void *) &left) != 0)
|
if (pthread_setspecific (key1, (void *) &left) != 0)
|
||||||
{
|
{
|
||||||
puts ("destr2: setspecific failed");
|
puts ("destr2: setspecific failed");
|
||||||
@ -69,7 +69,7 @@ tf (void *arg)
|
|||||||
/* Let the destructors work. */
|
/* Let the destructors work. */
|
||||||
left = 7;
|
left = 7;
|
||||||
|
|
||||||
/* Use an arbirary but valid pointer to avoid GCC warnings. */
|
/* Use an arbitrary but valid pointer to avoid GCC warnings. */
|
||||||
if (pthread_setspecific (key1, (void *) &left) != 0
|
if (pthread_setspecific (key1, (void *) &left) != 0
|
||||||
|| pthread_setspecific (key2, (void *) &left) != 0)
|
|| pthread_setspecific (key2, (void *) &left) != 0)
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@ destr (void *arg)
|
|||||||
{
|
{
|
||||||
++rounds;
|
++rounds;
|
||||||
|
|
||||||
/* Use an arbirary but valid pointer to avoid GCC warnings. */
|
/* Use an arbitrary but valid pointer to avoid GCC warnings. */
|
||||||
if (pthread_setspecific (key, (void *) &rounds) != 0)
|
if (pthread_setspecific (key, (void *) &rounds) != 0)
|
||||||
{
|
{
|
||||||
puts ("destr: setspecific failed");
|
puts ("destr: setspecific failed");
|
||||||
@ -45,7 +45,7 @@ destr (void *arg)
|
|||||||
static void *
|
static void *
|
||||||
tf (void *arg)
|
tf (void *arg)
|
||||||
{
|
{
|
||||||
/* Use an arbirary but valid pointer to avoid GCC warnings. */
|
/* Use an arbitrary but valid pointer to avoid GCC warnings. */
|
||||||
if (pthread_setspecific (key, (void *) &rounds) != 0)
|
if (pthread_setspecific (key, (void *) &rounds) != 0)
|
||||||
{
|
{
|
||||||
puts ("tf: setspecific failed");
|
puts ("tf: setspecific failed");
|
||||||
|
@ -85,7 +85,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
|
|||||||
if (err != TD_OK)
|
if (err != TD_OK)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
/* Fill in information. Clear first to provide reproducable
|
/* Fill in information. Clear first to provide reproducible
|
||||||
results for the fields we do not fill in. */
|
results for the fields we do not fill in. */
|
||||||
memset (infop, '\0', sizeof (td_thrinfo_t));
|
memset (infop, '\0', sizeof (td_thrinfo_t));
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#include <gnu/lib-names.h>
|
#include <gnu/lib-names.h>
|
||||||
#include <libc-diag.h>
|
#include <libc-diag.h>
|
||||||
|
|
||||||
/* Indeces for the symbol names. */
|
/* Indices for the symbol names. */
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
# define DB_STRUCT(type) SYM_SIZEOF_##type,
|
# define DB_STRUCT(type) SYM_SIZEOF_##type,
|
||||||
|
@ -1454,7 +1454,7 @@ cannot change to old working directory: %s; disabling paranoia mode"),
|
|||||||
paranoia = 0;
|
paranoia = 0;
|
||||||
free (cmdline);
|
free (cmdline);
|
||||||
|
|
||||||
/* Reenable the databases. */
|
/* Re-enable the databases. */
|
||||||
time_t now = time (NULL);
|
time_t now = time (NULL);
|
||||||
for (int cnt = 0; cnt < lastdb; ++cnt)
|
for (int cnt = 0; cnt < lastdb; ++cnt)
|
||||||
if (dbs[cnt].enabled)
|
if (dbs[cnt].enabled)
|
||||||
@ -1532,11 +1532,11 @@ nscd_run_prune (void *p)
|
|||||||
if (e == ETIMEDOUT || now >= dbs[my_number].wakeup_time
|
if (e == ETIMEDOUT || now >= dbs[my_number].wakeup_time
|
||||||
|| dbs[my_number].clear_cache)
|
|| dbs[my_number].clear_cache)
|
||||||
{
|
{
|
||||||
/* We will determine the new timout values based on the
|
/* We will determine the new timeout values based on the
|
||||||
cache content. Should there be concurrent additions to
|
cache content. Should there be concurrent additions to
|
||||||
the cache which are not accounted for in the cache
|
the cache which are not accounted for in the cache
|
||||||
pruning we want to know about it. Therefore set the
|
pruning we want to know about it. Therefore set the
|
||||||
timeout to the maximum. It will be descreased when adding
|
timeout to the maximum. It will be decreased when adding
|
||||||
new entries to the cache, if necessary. */
|
new entries to the cache, if necessary. */
|
||||||
dbs[my_number].wakeup_time = MAX_TIMEOUT_VALUE;
|
dbs[my_number].wakeup_time = MAX_TIMEOUT_VALUE;
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
|
|||||||
|
|
||||||
long int size;
|
long int size;
|
||||||
if (limit > 0)
|
if (limit > 0)
|
||||||
/* We limit the size of the intially allocated array. */
|
/* We limit the size of the initially allocated array. */
|
||||||
size = MIN (limit, 64);
|
size = MIN (limit, 64);
|
||||||
else
|
else
|
||||||
/* No fixed limit on groups. Pick a starting buffer size. */
|
/* No fixed limit on groups. Pick a starting buffer size. */
|
||||||
|
@ -389,7 +389,7 @@ extern int __nscd_open_socket (const char *key, size_t keylen,
|
|||||||
request_type type, void *response,
|
request_type type, void *response,
|
||||||
size_t responselen) attribute_hidden;
|
size_t responselen) attribute_hidden;
|
||||||
|
|
||||||
/* Try to get a file descriptor for the shared meory segment
|
/* Try to get a file descriptor for the shared memory segment
|
||||||
containing the database. */
|
containing the database. */
|
||||||
extern struct mapped_database *__nscd_get_mapping (request_type type,
|
extern struct mapped_database *__nscd_get_mapping (request_type type,
|
||||||
const char *key,
|
const char *key,
|
||||||
|
@ -600,7 +600,7 @@ check_pid (const char *file)
|
|||||||
|
|
||||||
/* If we cannot parse the file default to assuming nscd runs.
|
/* If we cannot parse the file default to assuming nscd runs.
|
||||||
If the PID is alive, assume it is running. That all unless
|
If the PID is alive, assume it is running. That all unless
|
||||||
the PID is the same as the current process' since tha latter
|
the PID is the same as the current process' since the latter
|
||||||
can mean we re-exec. */
|
can mean we re-exec. */
|
||||||
if ((n != 1 || kill (pid, 0) == 0) && pid != getpid ())
|
if ((n != 1 || kill (pid, 0) == 0) && pid != getpid ())
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -251,7 +251,7 @@ __nscd_unmap (struct mapped_database *mapped)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Try to get a file descriptor for the shared meory segment
|
/* Try to get a file descriptor for the shared memory segment
|
||||||
containing the database. */
|
containing the database. */
|
||||||
struct mapped_database *
|
struct mapped_database *
|
||||||
__nscd_get_mapping (request_type type, const char *key,
|
__nscd_get_mapping (request_type type, const char *key,
|
||||||
@ -443,7 +443,7 @@ __nscd_get_map_ref (request_type type, const char *name,
|
|||||||
#define MINIMUM_HASHENTRY_SIZE \
|
#define MINIMUM_HASHENTRY_SIZE \
|
||||||
(offsetof (struct hashentry, dellist) + sizeof (int32_t))
|
(offsetof (struct hashentry, dellist) + sizeof (int32_t))
|
||||||
|
|
||||||
/* Don't return const struct datahead *, as eventhough the record
|
/* Don't return const struct datahead *, as even though the record
|
||||||
is normally constant, it can change arbitrarily during nscd
|
is normally constant, it can change arbitrarily during nscd
|
||||||
garbage collection. */
|
garbage collection. */
|
||||||
struct datahead *
|
struct datahead *
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Setup of nscd worker threads. Stub verison.
|
/* Setup of nscd worker threads. Stub version.
|
||||||
Copyright (C) 2004-2023 Free Software Foundation, Inc.
|
Copyright (C) 2004-2023 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ receive_print_stats (void)
|
|||||||
if (enabled[0] == '\0')
|
if (enabled[0] == '\0')
|
||||||
/* The locale does not provide this information so we have to
|
/* The locale does not provide this information so we have to
|
||||||
translate it ourself. Since we should avoid short translation
|
translate it ourself. Since we should avoid short translation
|
||||||
terms we artifically increase the length. */
|
terms we artificially increase the length. */
|
||||||
enabled = data.dbs[i].enabled ? yesstr : nostr;
|
enabled = data.dbs[i].enabled ? yesstr : nostr;
|
||||||
if (check_file[0] == '\0')
|
if (check_file[0] == '\0')
|
||||||
check_file = data.dbs[i].check_file ? yesstr : nostr;
|
check_file = data.dbs[i].check_file ? yesstr : nostr;
|
||||||
|
@ -213,7 +213,7 @@ getgrent_next_nss (struct group *result, ent_t *ent, char *buffer,
|
|||||||
return NSS_STATUS_SUCCESS;
|
return NSS_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function handle the +group entrys in /etc/group */
|
/* This function handle the +group entries in /etc/group */
|
||||||
static enum nss_status
|
static enum nss_status
|
||||||
getgrnam_plusgroup (const char *name, struct group *result, ent_t *ent,
|
getgrnam_plusgroup (const char *name, struct group *result, ent_t *ent,
|
||||||
char *buffer, size_t buflen, int *errnop)
|
char *buffer, size_t buflen, int *errnop)
|
||||||
|
@ -437,7 +437,7 @@ getpwent_next_nss (struct passwd *result, ent_t *ent, char *buffer,
|
|||||||
return NSS_STATUS_SUCCESS;
|
return NSS_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function handle the +user entrys in /etc/passwd */
|
/* This function handle the +user entries in /etc/passwd */
|
||||||
static enum nss_status
|
static enum nss_status
|
||||||
getpwnam_plususer (const char *name, struct passwd *result, ent_t *ent,
|
getpwnam_plususer (const char *name, struct passwd *result, ent_t *ent,
|
||||||
char *buffer, size_t buflen, int *errnop)
|
char *buffer, size_t buflen, int *errnop)
|
||||||
|
@ -387,7 +387,7 @@ getspent_next_nss (struct spwd *result, ent_t *ent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* This function handle the +user entrys in /etc/shadow */
|
/* This function handle the +user entries in /etc/shadow */
|
||||||
static enum nss_status
|
static enum nss_status
|
||||||
getspnam_plususer (const char *name, struct spwd *result, ent_t *ent,
|
getspnam_plususer (const char *name, struct spwd *result, ent_t *ent,
|
||||||
char *buffer, size_t buflen, int *errnop)
|
char *buffer, size_t buflen, int *errnop)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user