| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* grp/initgroups.c: Include config.h.
(DEFAULT_CONFIG): New macro.
(internal_getgrouplist): Use DEFAULT_CONFIG.
* nscd/initgrcache.c (addinitgroupsX): Likewise.
* nss/nsswitch.c (__nss_disable_nscd): Likewise.
(DEFAULT_DEFCONFIG): New macro.
(__nss_database_lookup): Use DEFAULT_DEFCONFIG.
* nss/grp-lookup.c: Include config.h
(DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL.
* nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise.
* nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise.
* manual/nss.texi: Update default values section.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mark internal nss symbols with attribute_hidden to allow direct access
within libc.so and libc.a without using GOT nor PLT.
Tested on x86-64 with and without --disable-nscd.
[BZ #18822]
* grp/initgroups.c (__nss_group_database): Removed.
(__nss_initgroups_database): Likewise.
* nscd/gai.c (__nss_hosts_database): Likewise.
* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
* posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
* posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
* posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
* sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise.
* nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add
attribute_hidden.
* nss/nsswitch.c (__nss_database_custom): Define only if
USE_NSCD is defined.
(__nss_configure_lookup): Use __nss_database_custom only if
USE_NSCD is defined.
* nss/nsswitch.h (__nss_database_custom): Declare only if
USE_NSCD is defined. Add attribute_hidden.
(__nss_setent): Add attribute_hidden.
(__nss_endent): Likewise.
(__nss_getent_r): Likewise.
(__nss_getent): Likewise.
(DEFINE_DATABASE): Declare __nss_##arg##_database.
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://sourceware.org/glibc/wiki/Proposals/GroupMerging
== Justification ==
It is common today for users to rely on centrally-managed user stores for
handling their user accounts. However, much software existing today does
not have an innate understanding of such accounts. Instead, they commonly
rely on membership in known groups for managing access-control (for
example the "wheel" group on Fedora and RHEL systems or the "adm" group
on Debian-derived systems). In the present incarnation of nsswitch, the
only way to have such groups managed by a remote user store such as
FreeIPA or Active Directory would be to manually remove the groups from
/etc/group on the clients so that nsswitch would then move past nss_files
and into the SSSD, nss-ldap or other remote user database.
== Solution ==
With this patch, a new action is introduced for nsswitch:
NSS_ACTION_MERGE. To take advantage of it, one will add [SUCCESS=merge]
between two database entries in the nsswitch.conf file. When a group is
located in the first of the two group entries, processing will continue
on to the next one. If the group is also found in the next entry (and the
group name and GID are an exact match), the member list of the second
entry will be added to the group object to be returned.
== Implementation ==
After each DL_LOOKUP_FN() returns, the next action is checked. If the
function returned NSS_STATUS_SUCCESS and the next action is
NSS_ACTION_MERGE, a copy of the result buffer is saved for the next pass
through the loop. If on this next pass through the loop the database
returns another instance of a group matching both the group name and GID,
the member list is added to the previous list and it is returned as a
single object. If the following database does not contain the same group,
then the original is copied back into the destination buffer.
This patch implements merge functionality only for the group database.
For other databases, there is a default implementation that will return
the EINVAL errno if a merge is requested. The merge functionality can be
implemented for other databases at a later time if such is needed. Each
database must provide a unique implementation of the deep-copy and merge
functions.
If [SUCCESS=merge] is present in nsswitch.conf for a glibc version that
does not support it, glibc will process results up until that operation,
at which time it will return results if it has found them or else will
simply return an error. In practical terms, this ends up behaving like
the remainder of the nsswitch.conf line does not exist.
== Iterators ==
This feature does not modify the iterator functionality from its current
behavior. If getgrnam() or getgrgid() is called, glibc will iterate
through all entries in the `group` line in nsswitch.conf and display the
list of members without attempting to merge them. This is consistent with
the behavior of nss_files where if two separate lines are specified for
the same group in /etc/groups, getgrnam()/getgrgid() will display both.
Clients are already expected to handle this gracefully.
== No Premature Optimizations ==
The following is a list of places that might be eligible for
optimization, but were not overengineered for this initial contribution:
* Any situation where a merge may occur will result in one malloc() of
the same size as the input buffer.
* Any situation where a merge does occur will result in a second
malloc() to hold the list of pointers to member name strings.
* The list of members is simply concatenated together and is not tested
for uniqueness (which is identical to the behavior for nss_files,
which will simply return identical values if they both exist on the
line in the file. This could potentially be optimized to reduce space
usage in the buffer, but it is both complex and computationally
expensive to do so.
== Testing ==
I performed testing by running the getent utility against my newly-built
glibc and configuring /etc/nsswitch.conf with the following entry:
group: group: files [SUCCESS=merge] sss
In /etc/group I included the line:
wheel:x:10:sgallagh
I then configured my local SSSD using the id_provider=local to respond
with:
wheel:*:10:localuser,localuser2
I then ran `getent group wheel` against the newly-built glibc in
multiple situations and received the expected output as described
above:
* When SSSD was running.
* When SSSD was configured in nsswitch.conf but the daemon was not
running.
* When SSSD was configured in nsswitch.conf but nss_sss.so.2 was not
installed on the system.
* When the order of 'sss' and 'files' was reversed.
* All of the above with the [SUCCESS=merge] removed (to ensure no
regressions).
* All of the above with `getent group 10`.
* All of the above with `getent group` with and without
`enumerate=true` set in SSSD.
* All of the above with and without nscd enabled on the system.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was noted in
<https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the
bits/*.h naming scheme should only be used for installed headers.
This patch renames bits/libc-lock.h to plain libc-lock.h and
bits/libc-lockP.h to plain libc-lockP.h to follow that convention.
Note that I don't know where libc-lockP.h comes from for Hurd (the
Hurd libc-lock.h includes libc-lockP.h, but the only libc-lockP.h in
the glibc source tree is for NPTL) - some unmerged patch? - but I
updated the #include in the Hurd libc-lock.h anyway.
Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by the patch).
[BZ #14912]
* bits/libc-lock.h: Move to ...
* sysdeps/generic/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/mach/hurd/bits/libc-lock.h: Move to ...
* sysdeps/mach/hurd/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
[_LIBC]: Include <libc-lockP.h> instead of <bits/libc-lockP.h>.
* sysdeps/mach/bits/libc-lock.h: Move to ...
* sysdeps/mach/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/nptl/bits/libc-lock.h: Move to ...
* sysdeps/nptl/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/nptl/bits/libc-lockP.h: Move to ...
* sysdeps/nptl/libc-lockP.h: ...here.
(_BITS_LIBC_LOCKP_H): Rename macro to _LIBC_LOCKP_H.
* crypt/crypt_util.c: Include <libc-lock.h> instead of
<bits/libc-lock.h>.
* dirent/scandir-tail.c: Likewise.
* dlfcn/dlerror.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-writev.h: Likewise.
* elf/rtld.c: Likewise.
* grp/fgetgrent.c: Likewise.
* gshadow/fgetsgent.c: Likewise.
* gshadow/sgetsgent.c: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_db.c: Likewise.
* iconv/gconv_dl.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_trans.c: Likewise.
* include/link.h: Likewise.
* inet/getnameinfo.c: Likewise.
* inet/getnetgrent.c: Likewise.
* inet/getnetgrent_r.c: Likewise.
* intl/bindtextdom.c: Likewise.
* intl/dcigettext.c: Likewise.
* intl/finddomain.c: Likewise.
* intl/gettextP.h: Likewise.
* intl/loadmsgcat.c: Likewise.
* intl/localealias.c: Likewise.
* intl/textdomain.c: Likewise.
* libidn/idn-stub.c: Likewise.
* libio/libioP.h: Likewise.
* locale/duplocale.c: Likewise.
* locale/freelocale.c: Likewise.
* locale/newlocale.c: Likewise.
* locale/setlocale.c: Likewise.
* login/getutent_r.c: Likewise.
* login/getutid_r.c: Likewise.
* login/getutline_r.c: Likewise.
* login/utmp-private.h: Likewise.
* login/utmpname.c: Likewise.
* malloc/mtrace.c: Likewise.
* misc/efgcvt.c: Likewise.
* misc/error.c: Likewise.
* misc/fstab.c: Likewise.
* misc/getpass.c: Likewise.
* misc/mntent.c: Likewise.
* misc/syslog.c: Likewise.
* nis/nis_call.c: Likewise.
* nis/nis_callback.c: Likewise.
* nis/nss-default.c: Likewise.
* nis/nss_compat/compat-grp.c: Likewise.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* 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-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/nss_nisplus/nisplus-alias.c: Likewise.
* nis/nss_nisplus/nisplus-ethers.c: Likewise.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
* nis/nss_nisplus/nisplus-initgroups.c: Likewise.
* nis/nss_nisplus/nisplus-network.c: Likewise.
* nis/nss_nisplus/nisplus-proto.c: Likewise.
* nis/nss_nisplus/nisplus-pwd.c: Likewise.
* nis/nss_nisplus/nisplus-rpc.c: Likewise.
* nis/nss_nisplus/nisplus-service.c: Likewise.
* nis/nss_nisplus/nisplus-spwd.c: Likewise.
* nis/ypclnt.c: Likewise.
* nptl/libc_pthread_init.c: Likewise.
* nss/getXXbyYY.c: Likewise.
* nss/getXXent.c: Likewise.
* nss/getXXent_r.c: Likewise.
* nss/nss_db/db-XXX.c: Likewise.
* nss/nss_db/db-netgrp.c: Likewise.
* nss/nss_db/nss_db.h: Likewise.
* nss/nss_files/files-XXX.c: Likewise.
* nss/nss_files/files-alias.c: Likewise.
* nss/nsswitch.c: Likewise.
* posix/regex_internal.h: Likewise.
* posix/wordexp.c: Likewise.
* pwd/fgetpwent.c: Likewise.
* resolv/res_hconf.c: Likewise.
* resolv/res_libc.c: Likewise.
* shadow/fgetspent.c: Likewise.
* shadow/lckpwdf.c: Likewise.
* shadow/sgetspent.c: Likewise.
* socket/opensock.c: Likewise.
* stdio-common/reg-modifier.c: Likewise.
* stdio-common/reg-printf.c: Likewise.
* stdio-common/reg-type.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/vfscanf.c: Likewise.
* stdlib/abort.c: Likewise.
* stdlib/cxa_atexit.c: Likewise.
* stdlib/fmtmsg.c: Likewise.
* stdlib/random.c: Likewise.
* stdlib/setenv.c: Likewise.
* string/strsignal.c: Likewise.
* sunrpc/auth_none.c: Likewise.
* sunrpc/bindrsvprt.c: Likewise.
* sunrpc/create_xid.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sunrpc/rpc_thread.c: Likewise.
* sysdeps/arm/backtrace.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/stdio-lock.h: Likewise.
* sysdeps/generic/unwind-dw2-fde.c: Likewise.
* sysdeps/i386/backtrace.c: Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Likewise.
* sysdeps/m68k/backtrace.c: Likewise.
* sysdeps/mach/hurd/cthreads.c: Likewise.
* sysdeps/mach/hurd/dirstream.h: Likewise.
* sysdeps/mach/hurd/malloc-machine.h: Likewise.
* sysdeps/nptl/malloc-machine.h: Likewise.
* sysdeps/nptl/stdio-lock.h: Likewise.
* sysdeps/posix/dirstream.h: Likewise.
* sysdeps/posix/getaddrinfo.c: Likewise.
* sysdeps/posix/system.c: Likewise.
* sysdeps/pthread/aio_suspend.c: Likewise.
* sysdeps/s390/s390-32/backtrace.c: Likewise.
* sysdeps/s390/s390-64/backtrace.c: Likewise.
* sysdeps/unix/sysv/linux/check_pf.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: Likewise.
* sysdeps/unix/sysv/linux/shm-directory.c: Likewise.
* sysdeps/unix/sysv/linux/system.c: Likewise.
* sysdeps/x86_64/backtrace.c: Likewise.
* time/alt_digit.c: Likewise.
* time/era.c: Likewise.
* time/tzset.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* nptl/tst-initializers1.c (do_test): Refer to <libc-lock.h>
instead of <bits/libc-lock.h> in comment.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
[BZ #13895]
* nss/nsswitch.c (nss_load_library, __nss_lookup_function): Avoid
extra indirection.
* nss/Makefile (tests-static, tests): Add tst-nss-static.
* nss/tst-nss-static.c: New.
|
| |
|
|
|
|
| |
No need to ever not use c and e.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
nscd can clear caches when certain files change. The list of files
was hardcoded so far and worked for nss_files and nss_dns and those
modules which need no monitoring. nss_db, for instance, has its
own set of files to monitor. Now the NSS modules themselves can
request that certain files are monitored.
|
|
|
|
|
| |
While at it fix interaction between __nss_configure_lookup and nscd.
Otherwise the test fails if nscd is runnung.
|
|
|
|
| |
function pointers.
|
|
|
|
| |
second lookup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gethstbynm3_r.
* nscd/gethstbynm2_r.c: Remove.
* nscd/gethstbynm3_r.c: New file.
* nscd/aicache.c (addhstaiX): Use __gethostbyaddr2_r instead of
__gethostbyaddr_r.
* nscd/gethstbyad_r.c: Generate __gethostbyaddr2_r function. Define
__gethostbyaddr_r compatibility wrapper.
* nscd/hstcache.c (cache_addhst): Add ttl parameter. Use it when
determining timeout of entry.
(lookup): Take new parameter and pass it to __gethostbyname3_r and
__gethostbyaddr2_r.
(addhstbyX): Pass reference to variable for TTL to lookup and
cache_addhst.
* nss/Versions [glibc] (GLIBC_PRIVATE): Export __nss_passwd_lookup2,
__nss_group_lookup2, __nss_hosts_lookup2, __nss_services_lookup2,
and __nss_next2. Remove __nss_services_lookup.
* nss/XXX-lookup.c: Name function now *_lookup2. Add new parameter.
Add compat wrapper.
* nss/getXXbyYY_r.c: Changes to call new *_lookup2 functions and
__nss_next2.
* nss/getXXent_r.c: Likewise.
* nss/getnssent_r.c: Likewise.
* nss/nsswitch.c (__nss_lookup): Add new parameter. If first function
does not exist in module, try the optional second name.
(__nss_next2): New function.
(__nss_next): Now wrapper around __nss_next2.
* nss/nsswitch.h: Adjust __nss_lookup prototype.
Declare __nss_next2.
Adjust definition of db_lookup_function type.
* nss/service-lookup.c: Define NO_COMPAT.
* include/netdb.h: Declare __gethostbyaddr2_r and __gethostbyname3_r.
* inet/ether_hton.c: Use __nss_next2 instead of __nss_next.
* inet/ether_ntoh.c: Likewise.
* sunrpc/netname.c: Likewise.
* sunrpc/publickey.c: Likewise.
* inet/getnetgrent.c: Likewise. Adjust calls to __nss_lookup.
* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Change to __nss_hosts_lookup2.
* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
* nscd/aicache.c (addhstaiX): Fix default TTL handling.
* inet/getnetgrent.c (setup): Encrypt static pointer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void **.
* nss/nsswitch.h (service_user): Use void * type for KNOWN field.
* nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
char * to avoid warning.
* nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.
* timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.
* locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
allocate_arrays): Cast second argument to charmap_find_symbol
to char * to avoid warnings.
* locale/programs/repertoire.c (repertoire_new_char): Change
from_nr, to_nr and cnt to unsigned long, adjust printf format
string.
* locale/programs/ld-collate.c (insert_value, handle_ellipsis):
Cast second argument to new_element to char * to avoid warnings.
* locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.
* intl/gettextP.h (struct loaded_domain): Change plural to const
struct expression *.
* intl/plural-eval.c (plural_eval): Change first argument to
const struct expression *.
* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
argument to const struct expression **.
* intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
prototypes.
* intl/loadmsgcat (_nl_unload_domain): Cast away const
in call to __gettext_free_exp.
* posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
unitialized wstring/wpattern var warnings.
* posix/runtests.c (struct a_test): Make data field const char *.
* stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
vars if not LDBL_MANT_DIG >= 106.
* stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.
* stdio-common/vfprintf.c (vfprintf): Cast first arugment to
__find_specmb to avoid warning.
* rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.
* debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
to avoid warnings.
* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
initializer.
* sysdeps/unix/clock_gettime.c (clock_gettime): Only define
tv var when it will be actually used.
* sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
to avoid warnings.
|
|
|
|
| |
computation of keylen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
was allocated here. [Coverity CID 219]
* posix/getconf.c (print_all): Free confstr data after printing.
[Coverity CID 218]
* sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
list allocation fails. [Coverity CID 215]
* nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
[Coverity CID 213]
* argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
string is NULL. [Coverity CID 212]
* argp/Makefile: Add rules to build and run bug-argp1.
* argp/bug-argp1.c: New file.
* io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
end of string.
* stdlib/canonicalize.c (__realpath): Likewise.
* locale/programs/ld-time.c (time_finish): Don't dereference NULL
pointer. [Coverity CID 206]
* elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
in statically linked code.
* elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
statically built code, be prepared to have no link map.
[Coverity CID 205]
* argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
dgettext calls. [Coverity CID 204]
* argp/argp-help.c (struct uparams): Remove valid member. Change
the one user.
(uparam_names): Reduce size. Avoid relative relocations.
Moved to read-only segment.
(fill_in_uparams): Update for new layout.
* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
assumed to always be != NULL. [Coverity CID 202]
* argp/argp-help.c (hol_entry_help): Remove some dead code
[Coverity CID 200].
* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
away a few more unconditional yperr2nss calls.
(_nss_nis_getservbyname_r): Likewise.
|
|
|
|
|
|
| |
* nss/nsswitch.c (databases): Mark as const. Change name field
into array.
* nss/databases.def: Add warning.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-14 Jakub Jelinek <jakub@redhat.com>
[BZ #219]
* nss/nsswitch.c (free_mem): Don't try to close a library handle
if the handle is invalid. Patch by David Kimdon <kimdon@esrf.fr>.
2004-06-11 Dmitry V. Levin <ldv@altlinux.org>
[BZ #217]
* debug/xtrace.sh: Fix typo in error diagnostics.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-09-04 Ulrich Drepper <drepper@redhat.com>
* libio/libio.h: Define _IO_FLAGS2_NOTCANCEL.
* libio/fileops.c [_LIBC]: Remove close macro.
(_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel.
(_IO_new_file_open): Recognize 'c' flag in mode string.
(_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel.
(_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use
write_not_cancel.
* iconv/gconv_conf.c: Use fopen with 'c' mode flag.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* intl/localealias.c: Likewise.
* malloc/mtrace.c: Likewise.
* misc/getpass.c: Likewise.
* misc/getttyent.c: Likewise.
* misc/mntent_r.c: Likewise.
* misc/getusershell.c: Likewise.
* nss/nsswitch.c: Likewise.
* resolv/res_hconf.c: Likewise.
* resolv/res_init.c: Likewise.
* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
* time/getdate.c: Likewise.
* time/tzfile.c: Likewise.
* misc/fstab.h: Undo last change.
* misc/mntent.h: Likewise.
* misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and
CFLAGS-fstab.c definition.
2003-09-04 Jakub Jelinek <jakub@redhat.com>
2003-09-03 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
| |
2003-08-26 Ulrich Drepper <drepper@redhat.com>
* nss/nsswitch.c: Add libc_hidden_def for __nss_lookup_function.
* nss/nsswitch.h: Add libc_hidden_proto for __nss_lookup_function.
|
|
|
|
|
|
|
|
|
|
|
| |
2003-04-17 Ulrich Drepper <drepper@redhat.com>
* nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry
contacting nscd if NOT_USENSCD_NAME > 0.
* nss/nsswitch.c (__nss_disable_nscd): New function.
* nss/nsswitch.h: Declare it.
* nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd.
* nscd/nscd.c (main): Call __nss_disable_nscd.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New macros.
* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
text_set_element.
* elf/dl-libc.c (free_mem): Likewise.
* iconv/gconv_conf.c (free_mem): Likewise.
* iconv/gconv_db.c (free_mem): Likewise.
* iconv/gconv_dl.c (free_mem): Likewise.
* iconv/gconv_cache.c (free_mem): Likewise.
* intl/finddomain.c (free_mem): Likewise.
* intl/dcigettext.c (free_mem): Likewise.
* locale/setlocale.c (free_mem): Likewise.
* misc/fstab.c (fstab_free): Likewise.
* nss/nsswitch.c (free_mem): Likewise.
* posix/regcomp.c (free_mem): Likewise.
* resolv/gai_misc.c (free_res): Likewise.
* stdlib/fmtmsg.c (free_mem): Likewise.
* sunrpc/clnt_perr.c (free_mem): Likewise.
* sysdeps/generic/setenv.c (free_mem): Likewise.
* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
* sysdeps/pthread/aio_misc.c (free_res): Likewise.
* time/tzset.c (free_mem): Likewise.
* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
* malloc/set-freeres.c (__libc_freeres): Likewise.
* login/getutent.c: Include stdlib.h instead of stddef.h.
(buffer): Change into pointer to utmp, add libc_freeres_ptr.
(__getutent): Allocate buffer the first time it is run.
* login/getutid.c: Include stdlib.h instead of stddef.h.
(buffer): Change into pointer to utmp, add libc_freeres_ptr.
(__getutid): Allocate buffer the first time it is run.
* login/getutline.c: Include stdlib.h instead of stddef.h.
(buffer): Change into pointer to utmp, add libc_freeres_ptr.
(__getutline): Allocate buffer the first time it is run.
* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
(mtrace): Allocate malloc_trace_buffer.
* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
* string/strerror.c: Include libintl.h and errno.h.
(buf): New variable.
(strerror): Only allocate buffer if actually needed (unknown error).
* time/tzfile.c (transitions): Add libc_freeres_ptr.
(freeres): Remove.
2002-10-25 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (libc_freeres_ptr): New macro.
* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
symbol_set_define.
(__libc_freeres): Free all pointers in that section.
* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
commands when creating .lds script.
(LDSEDCMD-c.so): New variable.
* inet/rcmd.c (ahostbuf): Change into char *. Add libc_freeres_ptr.
(rcmd_af): Use strdup to allocate ahostbuf.
* inet/rexec.c (ahostbuf): Change into char *. Add libc_freeres_ptr.
(rexec_af): Use strdup to allocate ahostbuf.
* stdio-common/reg-printf.c (printf_funcs): Remove.
(__printf_arginfo_table): Change into printf_arginfo_function **.
Add libc_freeres_ptr.
(__register_printf_function): Allocate __printf_arginfo_table
and __printf_function_table the first time it is called.
* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
printf_arginfo_function **.
(parse_one_spec): Add __builtin_expect.
* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
(string_space, map): Add libc_freeres_ptr.
(free_mem): Remove.
* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
(free_mem): Remove.
* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
(buffer): Add libc_freeres_ptr.
(free_mem): Remove for _LIBC.
* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* nss/getXXent.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
(free_mem): Remove.
* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
(free_mem): Remove.
* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
(free_mem): Remove.
* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
libc_freeres_ptr.
(free_mem): Remove.
* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
libc_freeres_ptr.
(free_mem): Remove.
2002-10-30 Jakub Jelinek <jakub@redhat.com>
* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
instead of duplicating the whole function in libc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-08-02 Ulrich Drepper <drepper@redhat.com>
* configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for
broken alias attribute handling.
* config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.
* assert/assert.c (__assert_fail): Fix typo in comment.
* include/rpc/rpc.h: Declare __libc_tsd_RPC_VARS if USE_TLS &&
HAVE___THREAD.
* sunrpc/rpc_thread.c: Don't define __libc_tsd_RPC_VARS as static
if USE_TLS && HAVE___THREAD.
* sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS.
2002-08-02 Jakub Jelinek <jakub@redhat.com>
* assert/assert.c (__assert_fail): Remove undef.
Replace INTDEF with libc_hidden_def.
* assert/__assert.c (__assert): Remove INTUSE.
* elf/dl-minimal.c (__assert_fail): Replace INTDEF with
libc_hidden_weak.
* include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
libm_hiden_ver): Define.
* include/assert.h (__assert_fail_internal): Remove.
(__assert_fail): Add prototype. Add hidden_proto.
* include/libc-internal.h (__libc_freeres, __profile_frequency): Add
libc_hidden_proto.
* include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
(__mbrtowc, __mbrlen): Use libc_hidden_proto. Remove macros.
* include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
Add libc_hidden_proto.
* include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
__fcntl): Add libc_hidden_proto. Remove macros.
(__open_internal, __fcntl_internal): Remove.
* libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
* malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
* nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
libc_hiden_proto.
* nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
libc_hidden_def.
* sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
Add libc_hidden_def.
* sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
* sysdeps/generic/open.c (__open): Remove undef.
Add libc_hidden_def. Remove INTDEF.
* sysdeps/generic/fcntl.c (__fcntl): Remove undef.
Add libc_hidden_def.
* sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise.
* sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
* sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
(__fcntl): Remove INTDEF2. Add libc_hidden_weak.
(__libc_fcntl): Add libc_hidden_def.
* sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
(__open): Remove INTDEF2. Add libc_hidden_weak.
(__libc_open): Add libc_hidden_def.
* sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
* sysdeps/standalone/open.c (__open): Add libc_hidden_def.
* sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
Add libc_hidden_def.
* sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
Add libc_hidden_def.
* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
undef.
(__fcntl): Remove INTDEF2. Add libc_hidden_weak.
(__libc_fcntl): Add libc_hidden_def.
* sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
__getpgid_internal, __chown_internal): Remove.
(__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
__GI___sched_setscheduler, __GI___select, __GI___setpgid,
__GI___chown): Add.
* sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
__getpid_internal, __open_internal, __write_internal): Remove.
(__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
__GI___chown, __GI___close, __GI___dup2, __GI___getpid,
__GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
__GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
* wcsmbs/mbrlen.c (__mbrlen): Remove undef.
Replace INTDEF with libc_hidden_def.
* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
* catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
* catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
* elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
* include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
Add libc_hidden_proto.
* include/sys/poll.h (__poll): Add libc_hidden_proto.
* include/sys/select.h (__select): Likewise.
* include/sys/socket.h (__send): Likewise.
* include/sys/statfs.h (__statfs): Likewise.
* include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
__getpid, __getpgid, __setpgid, __close, __read, __write,
__getpagesize, __sbrk): Likewise.
(__chown_internal, __dup2_internal, __getpid_internal,
__getpgid_internal, __close_internal, __write_internal,
__getpagesize_internal): Remove.
(__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
Remove macros.
* include/printf.h (__printf_fp): Add libc_hidden_proto.
* include/sched.h (__sched_setscheduler): Likewise.
* include/resolv.h (__res_ninit, __res_randomid): Likewise.
* include/stdlib.h (__secure_getenv): Likewise.
* include/signal.h (__sigaction, __sigsuspend): Likewise.
* inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
* inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
* inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
* inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
* inet/getnetent_r.c (NSS_attribute_hidden): Remove.
* inet/getproto_r.c (NSS_attribute_hidden): Remove.
* inet/getprtent_r.c (NSS_attribute_hidden): Remove.
* inet/getprtname_r.c (NSS_attribute_hidden): Remove.
* inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
* inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
* inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
* inet/getservent_r.c (NSS_attribute_hidden): Remove.
* inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
* inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
* libio/genops.c (__overflow): Add libc_hidden_def.
* libio/iovdprintf.c: Remove libio.h include.
* libio/libioP.h (libc_hidden_proto, libc_hidden_def,
libc_hidden_weak): Define to nothing if not defined.
(__overflow, __woverflow): Add libc_hidden_proto.
* libio/wgenops.c (__woverflow): Add libc_hidden_def.
* nss/getXXent_r.c (NSS_attribute_hidden): Remove.
(DB_LOOKUP_FCT): Add libc_hidden_proto.
* nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
(DB_LOOKUP_FCT): Add libc_hidden_proto.
* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
and libc_hidden_def.
* nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
* posix/bsd-getpgrp.c (__getpgid_internal): Remove.
(__getpgid): Add libc_hidden_proto.
(__bsd_getpgrp): Remove INTUSE.
* resolv/res_init.c (__res_ninit, __res_randomid): Add
libc_hidden_def.
* shadow/getspent_r.c (NSS_attribute_hidden): Remove.
* shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
* stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
* stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
* stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
* sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
__rpc_thread_createerr): Add libc_hidden_def.
* sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
libc_hidden_def.
* sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
* sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
* sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
* sysdeps/generic/chown.c (__chown): Likewise.
* sysdeps/generic/close.c (__close): Likewise.
* sysdeps/generic/dup2.c (__dup2): Likewise.
* sysdeps/generic/pipe.c (__pipe): Likewise.
* sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
* sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
* sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
* sysdeps/generic/read.c (__libc_read): Likewise.
(__read): Add libc_hidden_weak.
* sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
* sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise.
* sysdeps/generic/select.c (__select): Likewise.
* sysdeps/generic/send.c (__send): Likewise.
* sysdeps/generic/setpgid.c (__setpgid): Likewise.
* sysdeps/generic/sigaction.c (__sigaction): Likewise.
* sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
* sysdeps/generic/statfs.c (__statfs): Likewise.
* sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
* sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
* sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
Remove undef and INTDEF.
* sysdeps/generic/getpgid.c (__getpgid): Likewise.
* sysdeps/generic/getpid.c (__getpid): Likewise.
* sysdeps/generic/write.c (__libc_write): Likewise.
(__write): Add libc_hidden_weak. Remove undef and INTDEF.
* sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
* sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
* sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
* sysdeps/mach/hurd/chown.c (__chown): Likewise. Remove INTDEF.
* sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
Remove undef and INTDEF.
* sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
* sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
* sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
* sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
* sysdeps/mach/hurd/write.c (__libc_write): Likewise.
(__write): Add libc_hidden_weak. Remove undef and INTDEF.
* sysdeps/mach/hurd/pipe.c: Include unistd.h.
(__pipe): Add libc_hidden_def.
* sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
libc_hidden_weak.
* sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
* sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
* sysdeps/mach/hurd/read.c (__libc_read): Likewise.
(__read): Add libc_hidden_weak.
* sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
(__libc_pwrite64): Add libc_hidden_def.
* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
* sysdeps/mach/hurd/select.c (__select): Likewise.
* sysdeps/mach/hurd/send.c (__send): Likewise.
* sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
* sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
* sysdeps/posix/dup2.c: Likewise.
Remove undef and INTDEF.
* sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
* sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
(__pwrite64): Add libc_hidden_weak.
* sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
* sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
* sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
* sysdeps/standalone/close.c (__close): Likewise.
* sysdeps/standalone/write.c (__libc_write): Likewise.
(__write): Add libc_hidden_weak.
* sysdeps/standalone/read.c (__read): Likewise.
(__libc_read): Add libc_hidden_def.
* sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
* sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
* sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
* sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
* sysdeps/unix/bsd/poll.c (__poll): Likewise.
* sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
* sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
* sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
__GI___sigaction): Add.
* sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
* sysdeps/unix/inet/syscalls.list (__GI___send): Add.
* sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
* sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
* sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
__GI___setpgid): Add.
* sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
Remove undef and INTDEF.
* sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
* sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
* sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
* sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
* sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
* sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
* sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
* sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
* sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
* sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
* sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
* sysdeps/unix/sysv/aix/select.c (__select): Likewise.
* sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
* sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
__GI___statfs, __GI___send): Add.
* sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
libc_hidden_ver resp. libc_hidden_def.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
Likewise. Remove undef and INTDEF.
* sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
__GI___statfs, __GI___send): Add.
* sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
Likewise.
* sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
libc_hidden_ver resp. libc_hidden_def.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
__GI___send): Add.
* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
Add libc_hidden_weak.
* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
Add libc_hidden_def.
* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
* sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
resp. libc_hidden_def.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise. Remove
INTDEF.
* sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
Likewise. Remove undef.
* sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
* sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
Likewise. Remove undef and INTDEF.
* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
(__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
Add libc_hidden_def.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
__GI___statfs): Add.
* sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
* sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
Remove undef and INTDEF.
* sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
* sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/send.S (__send): Likewise.
* sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
libc_hidden_weak.
* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
libc_hidden_def.
* sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
* sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
Add.
* sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
libc_hidden_def. Remove undef and INTDEF.
* sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
* sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
libc_hidden_def.
* sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
* sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
* sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
* sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
Remove undef and INTDEF.
* configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
broken visibility attribute handling.
* config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.
2002-08-02 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ttyname.c: Comment out definition and
use of __ttyname.
* posix/regcomp.c (__re_error_msgid): Renamed from re_error_msgid.
Define as hidden.
(__re_error_msgid_idx): Renamed from re_error_msgid_idx. Define as
hidden. Change all users of these variables.
* posix/regex_internal.h (__re_error_msgid): Renamed from
re_error_msgid. Declare as hidden.
(__re_error_msgid_idx): Renamed from re_error_msgid_idx. Declare as
hidden.
* stdio-common/reg-printf.c (__printf_arginfo_table): Define as hidden.
(__printf_function_table): Likewise.
* stdio-common/printf-parse.h (__printf_arginfo_table): Declare as
hidden.
(__printf_function_table): Likewise.
* nscd/nscd_proto.h: Declare __nss_not_use_nscd_passwd,
__nss_not_use_nscd_group, and __nss_not_use_nscd_hosts as hidden.
* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Define as hidden.
* nss/nsswitch.c: Declare _nss_*_database as hidden.
* stdlib/wctomb.c (__no_r_state): Declare as hidden.
* stdlib/mbtowc.c (__no_r_state): Define as hidden.
|
|
|
|
| |
* grp/initgroups.c (internal_getgrouplist): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-17 Ulrich Drepper <drepper@redhat.com>
* inet/rcmd.c (iruserfopen): Disable implicit locking for the stream.
* inet/ruserpass.c (ruserpass): Likewise.
* nss/nsswitch.c (nss_parse_file): Likewise.
* resolv/res_hconf.c (_res_hconf_init): Likewise.
* resolv/res_init.c (__res_vinit): Likewise.
* gmon/bb_exit_func.c (__bb_exit_func): Likewise.
* misc/getpass.c (getpass): Likewise.
* misc/getusershell.c (initshells): Likewise.
* misc/getttyent.c (setttyent): Likewise.
* misc/mntent_r.c (__setmntent): Likewise.
* time/getdate.c (__getdate_r): Likewise.
* time/tzfile.c (__tzfile_read): Likewise.
* iconv/gconv_conf.c (read_conf_file): Likewise.
* intl/localealias.c (read_alias_file): Disable implicit locking
for the stream. Use _unlocked functions for glibc.
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Disable
implicit locking for the stream.
(__get_nprocs_conf): Likewise.
(phys_pages_info): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
|
|
|
|
|
| |
2001-01-04 Andreas Jaeger <aj@suse.de>
* nss/nsswitch.c: Include files for missing prototypes, remove
buggy declaration of prototypes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-03-29 Jes Sorensen <jes@pcatls01.cern.ch>
* malloc/malloc.c: Declare bit flags UL so that they will not
default to int size when being inverted.
2000-03-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
2000-03-29 Andreas Jaeger <aj@suse.de>,
Ralf Baechle <ralf@uni-koblenz.de>
* Makeconfig: Introduce new variable SHARED to mark code used in
the shared library.
* elf/dl-close.c: Use it instead of PIC.
* elf/dl-load.c: Likewise.
* elf/dl-open.c: Likewise.
* hurd/geteuids.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/shlib-compat.h: Likewise.
* libio/freopen.c: Likewise.
* linuxthreads/cancel.c: Likewise.
* linuxthreads/pthread.c: Likewise.
* linuxthreads/wrapsyscall.c: Likewise.
* nss/nsswitch.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* sysdeps/arm/init-first.c: Likewise.
* sysdeps/i386/init-first.c: Likewise
* sysdeps/generic/init-first.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/mips/init-first.c: Likewise.
* sysdeps/powerpc/elf/libc-start.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/arm/errlist.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/libm-ieee754/e_gamma_r.c: Initialize *signgamp for NaN
returns.
* sysdeps/libm-ieee754/e_gammaf_r.c: Likewise.
* sysdeps/libm-ieee754/e_gammal_r.c: Likewise.
Reported by John Reiser <jreiser@BitWagon.com> [PR libc/1185].
* elf/dl-dst.h: Fix typo.
* elf/dl-open.c: Likewise.
1999-06-26 Zack Weinberg <zack@rabi.columbia.edu>
* elf/dl-libc.c: New file, provides three functions:
__libc_dlopen, __libc_dlclose, __libc_dlsym.
* include/dlfcn.h: Prototype them. Prototype _dl_addr.
* elf/Makefile (routines): Add dl-libc.c.
* elf/dl-profstub.c (_dl_mcount_wrapper): Change type of
argument to void *.
* elf/ldsodefs.h: Change proto and use of _dl_mcount_wrapper to match.
* iconv/gconv.c: Include dlfcn.h.
* iconv/gconv_db.c: Likewise.
* malloc/mtrace.c: Likewise. Don't include ldsodefs.h.
* iconv/gconv_int.h (struct __gconv_loaded_object): Change
`handle' to a void *.
(__gconv_find_func): Delete prototype.
* iconv/gconv_dl.c: Don't include ldsodefs.h. Remove
dlerror_run and related functions and structs. Use
__libc_dlopen, __libc_dlsym, __libc_dlclose.
* nss/nsswitch.c: Likewise.
1999-06-28 Ulrich Drepper <drepper@cygnus.com>
|
|
|
|
|
|
|
|
|
| |
1999-05-14 Mark Kettenis <kettenis@gnu.org>
* sysdeps/generic/getutmp.c: Include <string.h>
(getutmp): Rewrite to only copy those members that are really
present in `struct utmp'.
* sysdeps/generic/getutmpx.c: Likewise.
|
|
|
|
|
|
|
|
|
| |
1999-05-14 Ulrich Drepper <drepper@cygnus.com>
* nss/getXXbyYY.c: Add free_mem function which disposes all
statically allocated memory when debugging.
* nss/getXXent.c: Likewise.
* nss/nsswitch.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Versions.def (ld.so): Add GLIBC_2.1.1.
* elf/Makefile (routines): Add dl-origin.
(tests): Add origtest. Add dependencies for the program.
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_origin_path,
_dl_platformlen, _dl_dst_count and _dl_dst_substitute.
* elf/dl-deps.c (expand_dst): New macro. Expand DSTs in filename.
(_dl_map_object_deps): Use expand_dst to expand DSTs in DT_NEEDED,
DT_AUXILIARY, and DT_FILTER filenames.
* elf/dl-load.c (expand_dynamic_string_token): Explode into
two functions and three macros.
(_dl_dst_count, _dl_dst_substitute): New functions.
* elf/dl-dst.h: New file.
* elf/dl-open.c (_dl_open): Take extra parameter with address of
caller. Pass address in args structure.
(dl_open_worker): Recognize and expand DSTs in filename.
* elf/ldsodefs.h (_dl_open): Adapt prototype.
* elf/dlopen.c (dlopen_doit): Pass caller address to _dl_open.
(__dlopen_check): Pass caller address to dlopen_doit in args.
* elf/dlopendoit.c: Likewise.
* iconv/gconv_dl.c: Adapt call of _dl_open.
* nss/nsswitch.c: Likewise.
* elf/origtest.c: New file.
* sysdeps/generic/dl-origin.h: Moved to...
* sysdeps/generic/dl-origin.c: ...here.
* sysdeps/unix/sysv/linux/dl-origin.h: Moved to...
* sysdeps/unix/sysv/linux/dl-origin.c: ...here.
|