From 891ea915baaa267b253cd0b7ad37893ae80d5f12 Mon Sep 17 00:00:00 2001 From: joseph Date: Fri, 7 Feb 2014 21:13:28 +0000 Subject: Merge changes between r25091 and r25240 from /fsf/glibc-2_15-branch. git-svn-id: svn://svn.eglibc.org/branches/eglibc-2_15@25241 7b3dc134-2b1b-0410-93df-9e9f96275f8d --- libc/ChangeLog | 41 +++++++++++++ libc/Makeconfig | 6 ++ libc/Makefile | 2 +- libc/NEWS | 9 +-- libc/config.h.in | 3 + libc/config.make.in | 1 + libc/configure | 18 ++++++ libc/configure.in | 11 ++++ libc/elf/Makefile | 15 ++++- libc/elf/dl-close.c | 15 +---- libc/elf/dl-deps.c | 7 ++- libc/elf/dl-libc.c | 9 ++- libc/elf/dl-open.c | 124 ++++++++++++++++++++++++++++++---------- libc/elf/rtld.c | 2 + libc/elf/tst-relsort1.c | 19 ++++++ libc/elf/tst-relsort1mod1.c | 7 +++ libc/elf/tst-relsort1mod2.c | 7 +++ libc/include/libc-symbols.h | 9 ++- libc/include/link.h | 8 +-- libc/nis/Makefile | 10 ++-- libc/stdio-common/Makefile | 1 + libc/stdio-common/tst-sprintf.c | 13 +++++ libc/stdio-common/vfprintf.c | 39 +------------ libc/stdlib/fmtmsg.c | 119 ++++++++++++++++++++------------------ libc/sunrpc/Makefile | 8 ++- libc/sunrpc/auth_des.c | 4 +- libc/sunrpc/auth_none.c | 2 +- libc/sunrpc/auth_unix.c | 4 +- libc/sunrpc/authdes_prot.c | 4 +- libc/sunrpc/authuxprot.c | 2 +- libc/sunrpc/clnt_gen.c | 2 +- libc/sunrpc/clnt_perr.c | 10 ++-- libc/sunrpc/clnt_raw.c | 2 +- libc/sunrpc/clnt_simp.c | 2 +- libc/sunrpc/clnt_tcp.c | 2 +- libc/sunrpc/clnt_udp.c | 6 +- libc/sunrpc/clnt_unix.c | 2 +- libc/sunrpc/des_crypt.c | 4 +- libc/sunrpc/des_soft.c | 2 +- libc/sunrpc/get_myaddr.c | 2 +- libc/sunrpc/key_call.c | 18 +++--- libc/sunrpc/key_prot.c | 20 +++---- libc/sunrpc/netname.c | 12 ++-- libc/sunrpc/pm_getmaps.c | 2 +- libc/sunrpc/pm_getport.c | 4 +- libc/sunrpc/pmap_clnt.c | 4 +- libc/sunrpc/pmap_prot.c | 2 +- libc/sunrpc/pmap_prot2.c | 2 +- libc/sunrpc/pmap_rmt.c | 8 +-- libc/sunrpc/publickey.c | 6 +- libc/sunrpc/rpc_cmsg.c | 2 +- libc/sunrpc/rpc_common.c | 2 +- libc/sunrpc/rpc_dtable.c | 2 +- libc/sunrpc/rpc_prot.c | 14 ++--- libc/sunrpc/rpc_thread.c | 8 +-- libc/sunrpc/rtime.c | 2 +- libc/sunrpc/svc.c | 32 +++++------ libc/sunrpc/svc_auth.c | 2 +- libc/sunrpc/svc_raw.c | 2 +- libc/sunrpc/svc_run.c | 4 +- libc/sunrpc/svc_tcp.c | 4 +- libc/sunrpc/svc_udp.c | 6 +- libc/sunrpc/svc_unix.c | 4 +- libc/sunrpc/svcauth_des.c | 2 +- libc/sunrpc/xcrypt.c | 4 +- libc/sunrpc/xdr.c | 44 +++++++------- libc/sunrpc/xdr_array.c | 4 +- libc/sunrpc/xdr_float.c | 4 +- libc/sunrpc/xdr_intXX_t.c | 22 +++---- libc/sunrpc/xdr_mem.c | 2 +- libc/sunrpc/xdr_rec.c | 8 +-- libc/sunrpc/xdr_ref.c | 4 +- libc/sunrpc/xdr_sizeof.c | 2 +- libc/sunrpc/xdr_stdio.c | 2 +- 74 files changed, 499 insertions(+), 314 deletions(-) create mode 100644 libc/elf/tst-relsort1.c create mode 100644 libc/elf/tst-relsort1mod1.c create mode 100644 libc/elf/tst-relsort1mod2.c diff --git a/libc/ChangeLog b/libc/ChangeLog index 92b313878..7b5442d74 100644 --- a/libc/ChangeLog +++ b/libc/ChangeLog @@ -1,3 +1,44 @@ +2012-09-28 Andreas Schwab + + [BZ #6530] + * stdio-common/vfprintf.c (process_string_arg): Revert + 2000-07-22 change. + +2011-09-28 Jonathan Nieder + + * stdio-common/Makefile (tst-sprintf-ENV): Set environment + for testcase. + * stdio-common/tst-sprintf.c: Include + (main): Test sprintf's handling of incomplete multibyte + characters. + +2012-06-22 Andreas Schwab + + [BZ #13579] + * include/link.h (struct link_map): Add l_free_initfini. + * elf/dl-deps.c (_dl_map_object_deps): Set it when assigning + l_initfini. + * elf/dl-close.c (_dl_close_worker): Don't free l_initfini. + * elf/rtld.c (dl_main): Clear it on all objects loaded on startup. + * elf/dl-libc.c (free_mem): Free l_initfini if l_free_initfini is + set. + +2012-02-24 Ulrich Drepper + + * stdlib/fmtmsg.c (fmtmsg): Lock around use of severity list. + Reported by Peng Haitao . + +2012-01-27 Ulrich Drepper + + [BZ #13618] + * elf/dl-open.c (dl_open_worker): Sort objects by dependency before + relocation. + * Makeconfig (libm): Define. + * elf/Makefile: Add rules to build and run tst-relsort1. + * elf/tst-relsort1.c: New file. + * elf/tst-relsort1mod1.c: New file. + * elf/tst-relsort1mod2.c: New file. + 2014-01-04 Maxim Kuvyrkov Ondřej Bílka diff --git a/libc/Makeconfig b/libc/Makeconfig index a75ae7f50..7ad76f3db 100644 --- a/libc/Makeconfig +++ b/libc/Makeconfig @@ -958,6 +958,12 @@ libdl = endif endif +ifeq ($(build-shared),yes) +libm = $(common-objpfx)math/libm.so$(libm.so-version) +else +libm = $(common-objpfx)math/libm.a +endif + # Generate a header file that #defines preprocessor symbols indicating # which option groups are enabled. Note that the option-groups.config file # may not exist at all. diff --git a/libc/Makefile b/libc/Makefile index 9b8501428..c7e66a9b6 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009,2011 +# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009,2011,2012 # Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/libc/NEWS b/libc/NEWS index 1f631ed8d..ee3a0965b 100644 --- a/libc/NEWS +++ b/libc/NEWS @@ -1,5 +1,5 @@ GNU C Library NEWS -- history of user-visible changes. 2011-12-23 -Copyright (C) 1992-2012 Free Software Foundation, Inc. +Copyright (C) 1992-2014 Free Software Foundation, Inc. See the end for copying conditions. Please send GNU C library bug reports via @@ -9,9 +9,10 @@ Version 2.15.1 * The following bugs are resolved with this release: - 411, 2547, 2548, 11261, 11365, 11494, 13583, 13731, 13732, 13733, 13747, - 13748, 13749, 13753, 13754, 13771, 13773, 13774, 13786, 14048, 14059, - 14167, 14273, 14459, 14621, 14648, 14040, 15073 + 411, 2547, 2548, 6530, 11261, 11365, 11494, 13583, 13618, 13731, 13732, + 13733, 13747, 13748, 13749, 13753, 13754, 13756, 13765, 13771, 13773, + 13774, 13786, 14048, 14059, 14167, 14273, 14284, 14459, 14621, 14648, + 14040, 14287, 15073 Version 2.15 diff --git a/libc/config.h.in b/libc/config.h.in index 64622cf7a..bc5f92b53 100644 --- a/libc/config.h.in +++ b/libc/config.h.in @@ -196,6 +196,9 @@ /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ #undef NO_CTORS_DTORS_SECTIONS +/* Define if obsolete RPC code should be made available for user-level code + to link against. */ +#undef LINK_OBSOLETE_RPC /* */ diff --git a/libc/config.make.in b/libc/config.make.in index 67813b758..1e8bacdb0 100644 --- a/libc/config.make.in +++ b/libc/config.make.in @@ -103,6 +103,7 @@ add-on-subdirs = @add_on_subdirs@ sysdeps-add-ons = @sysdeps_add_ons@ cross-compiling = @cross_compiling@ force-install = @force_install@ +link-obsolete-rpc = @link_obsolete_rpc@ # Build tools. CC = @CC@ diff --git a/libc/configure b/libc/configure index ec5039bb6..b851a00f4 100755 --- a/libc/configure +++ b/libc/configure @@ -731,6 +731,7 @@ multi_arch base_machine add_on_subdirs add_ons +link_obsolete_rpc libc_cv_nss_crypt REPORT_BUGS_TEXI REPORT_BUGS_TO @@ -834,6 +835,7 @@ with_pkgversion with_bugurl enable_multi_arch enable_nss_crypt +enable_obsolete_rpc with_cpu ' ac_precious_vars='build_alias @@ -1503,6 +1505,8 @@ Optional Features: --enable-multi-arch enable single DSO with optimizations for multiple architectures --enable-nss-crypt enable libcrypt to use nss + --enable-obsolete-rpc build and install the obsolete RPC code for + link-time usage Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -3975,6 +3979,20 @@ else fi +# Check whether --enable-obsolete-rpc was given. +if test "${enable_obsolete_rpc+set}" = set; then : + enableval=$enable_obsolete_rpc; link_obsolete_rpc=$enableval +else + link_obsolete_rpc=no +fi + + + +if test "$link_obsolete_rpc" = yes; then + $as_echo "#define LINK_OBSOLETE_RPC 1" >>confdefs.h + +fi + # The way shlib-versions is used to generate soversions.mk uses a # fairly simplistic model for name recognition that can't distinguish # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os diff --git a/libc/configure.in b/libc/configure.in index 0fce03065..4239970d2 100644 --- a/libc/configure.in +++ b/libc/configure.in @@ -295,6 +295,17 @@ else fi AC_SUBST(libc_cv_nss_crypt) +AC_ARG_ENABLE([obsolete-rpc], + AC_HELP_STRING([--enable-obsolete-rpc], + [build and install the obsolete RPC code for link-time usage]), + [link_obsolete_rpc=$enableval], + [link_obsolete_rpc=no]) +AC_SUBST(link_obsolete_rpc) + +if test "$link_obsolete_rpc" = yes; then + AC_DEFINE(LINK_OBSOLETE_RPC) +fi + # The way shlib-versions is used to generate soversions.mk uses a # fairly simplistic model for name recognition that can't distinguish # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os diff --git a/libc/elf/Makefile b/libc/elf/Makefile index f62aeb2f0..f5ae6d3c9 100644 --- a/libc/elf/Makefile +++ b/libc/elf/Makefile @@ -124,7 +124,8 @@ distribute := rtld-Rules \ tst-initordera1.c tst-initordera2.c tst-initorderb1.c \ tst-initorderb2.c tst-initordera3.c tst-initordera4.c \ tst-initorder.c \ - tst-initorder2.c + tst-initorder2.c \ + tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables @@ -233,7 +234,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ tst-audit1 tst-audit2 \ tst-stackguard1 tst-addr1 tst-thrlock \ tst-unique1 tst-unique2 tst-unique3 tst-unique4 \ - tst-initorder tst-initorder2 + tst-initorder tst-initorder2 tst-relsort1 # reldep9 test-srcs = tst-pathopt selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) @@ -296,7 +297,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-initordera1 tst-initorderb1 \ tst-initordera2 tst-initorderb2 \ tst-initordera3 tst-initordera4 \ - tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d + tst-initorder2a tst-initorder2b tst-initorder2c \ + tst-initorder2d \ + tst-relsort1mod1 tst-relsort1mod2 ifeq (yes,$(have-initfini-array)) modules-names += tst-array2dep tst-array5dep endif @@ -1217,3 +1220,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS) CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS) CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS) endif + +$(objpfx)tst-relsort1: $(libdl) +$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so +$(objpfx)tst-relsort1mod2.so: $(libm) +$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \ + $(objpfx)tst-relsort1mod2.so diff --git a/libc/elf/dl-close.c b/libc/elf/dl-close.c index 4b17bf8d8..6364a0b73 100644 --- a/libc/elf/dl-close.c +++ b/libc/elf/dl-close.c @@ -1,5 +1,5 @@ /* Close a shared object opened by `_dl_open'. - Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1996-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) if (map->l_direct_opencount > 0 || map->l_type != lt_loaded || dl_close_state != not_pending) { - if (map->l_direct_opencount == 0) - { - if (map->l_type == lt_loaded) - dl_close_state = rerun; - else if (map->l_type == lt_library) - { - struct link_map **oldp = map->l_initfini; - map->l_initfini = map->l_orig_initfini; - _dl_scope_free (oldp); - } - } + if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) + dl_close_state = rerun; /* There are still references to this object. Do nothing more. */ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0)) diff --git a/libc/elf/dl-deps.c b/libc/elf/dl-deps.c index 51cb2fa59..c7d5f48b0 100644 --- a/libc/elf/dl-deps.c +++ b/libc/elf/dl-deps.c @@ -1,6 +1,5 @@ /* Load the dependencies of a mapped object. - Copyright (C) 1996-2003, 2004, 2005, 2006, 2007, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1996-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -489,6 +488,7 @@ _dl_map_object_deps (struct link_map *map, nneeded * sizeof needed[0]); atomic_write_barrier (); l->l_initfini = l_initfini; + l->l_free_initfini = 1; } /* If we have no auxiliary objects just go on to the next map. */ @@ -689,6 +689,7 @@ Filters not supported with LD_TRACE_PRELINKING")); l_initfini[nlist] = NULL; atomic_write_barrier (); map->l_initfini = l_initfini; + map->l_free_initfini = 1; if (l_reldeps != NULL) { atomic_write_barrier (); @@ -697,7 +698,7 @@ Filters not supported with LD_TRACE_PRELINKING")); _dl_scope_free (old_l_reldeps); } if (old_l_initfini != NULL) - map->l_orig_initfini = old_l_initfini; + _dl_scope_free (old_l_initfini); if (errno_reason) _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, diff --git a/libc/elf/dl-libc.c b/libc/elf/dl-libc.c index f44fa10e0..0a1921c06 100644 --- a/libc/elf/dl-libc.c +++ b/libc/elf/dl-libc.c @@ -1,6 +1,5 @@ /* Handle loading and unloading shared objects for internal libc purposes. - Copyright (C) 1999-2002,2004-2006,2009,2010,2011 - Free Software Foundation, Inc. + Copyright (C) 1999-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg , 1999. @@ -270,13 +269,13 @@ libc_freeres_fn (free_mem) for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) { - /* Remove all additional names added to the objects. */ for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) { struct libname_list *lnp = l->l_libname->next; l->l_libname->next = NULL; + /* Remove all additional names added to the objects. */ while (lnp != NULL) { struct libname_list *old = lnp; @@ -284,6 +283,10 @@ libc_freeres_fn (free_mem) if (! old->dont_free) free (old); } + + /* Free the initfini dependency list. */ + if (l->l_free_initfini) + free (l->l_initfini); } if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 diff --git a/libc/elf/dl-open.c b/libc/elf/dl-open.c index 5e780f6ef..9006446ed 100644 --- a/libc/elf/dl-open.c +++ b/libc/elf/dl-open.c @@ -1,5 +1,5 @@ /* Load a shared object at runtime, relocate it, and run its initializer. - Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -302,45 +302,109 @@ dl_open_worker (void *a) if (GLRO(dl_lazy)) reloc_mode |= mode & RTLD_LAZY; - /* Relocate the objects loaded. We do this in reverse order so that copy - relocs of earlier objects overwrite the data written by later objects. */ - + /* Sort the objects by dependency for the relocation process. This + allows IFUNC relocations to work and it also means copy + relocation of dependencies are if necessary overwritten. */ + size_t nmaps = 0; struct link_map *l = new; - while (l->l_next) - l = l->l_next; - while (1) + do + { + if (! l->l_real->l_relocated) + ++nmaps; + l = l->l_next; + } + while (l != NULL); + struct link_map *maps[nmaps]; + nmaps = 0; + l = new; + do { if (! l->l_real->l_relocated) + maps[nmaps++] = l; + l = l->l_next; + } + while (l != NULL); + if (nmaps > 1) + { + char seen[nmaps]; + memset (seen, '\0', nmaps); + size_t i = 0; + while (1) { -#ifdef SHARED - if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) + ++seen[i]; + struct link_map *thisp = maps[i]; + + /* Find the last object in the list for which the current one is + a dependency and move the current object behind the object + with the dependency. */ + size_t k = nmaps - 1; + while (k > i) { - /* If this here is the shared object which we want to profile - make sure the profile is started. We can find out whether - this is necessary or not by observing the `_dl_profile_map' - variable. If was NULL but is not NULL afterwars we must - start the profiling. */ - struct link_map *old_profile_map = GL(dl_profile_map); + struct link_map **runp = maps[k]->l_initfini; + if (runp != NULL) + /* Look through the dependencies of the object. */ + while (*runp != NULL) + if (__builtin_expect (*runp++ == thisp, 0)) + { + /* Move the current object to the back past the last + object with it as the dependency. */ + memmove (&maps[i], &maps[i + 1], + (k - i) * sizeof (maps[0])); + maps[k] = thisp; + + if (seen[i + 1] > 1) + { + ++i; + goto next_clear; + } + + char this_seen = seen[i]; + memmove (&seen[i], &seen[i + 1], + (k - i) * sizeof (seen[0])); + seen[k] = this_seen; + + goto next; + } + + --k; + } - _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); + if (++i == nmaps) + break; + next_clear: + memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0])); + next:; + } + } - if (old_profile_map == NULL && GL(dl_profile_map) != NULL) - { - /* We must prepare the profiling. */ - _dl_start_profile (); + for (size_t i = nmaps; i-- > 0; ) + { + l = maps[i]; - /* Prevent unloading the object. */ - GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; - } +#ifdef SHARED + if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) + { + /* If this here is the shared object which we want to profile + make sure the profile is started. We can find out whether + this is necessary or not by observing the `_dl_profile_map' + variable. If it was NULL but is not NULL afterwars we must + start the profiling. */ + struct link_map *old_profile_map = GL(dl_profile_map); + + _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); + + if (old_profile_map == NULL && GL(dl_profile_map) != NULL) + { + /* We must prepare the profiling. */ + _dl_start_profile (); + + /* Prevent unloading the object. */ + GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; } - else -#endif - _dl_relocate_object (l, l->l_scope, reloc_mode, 0); } - - if (l == new) - break; - l = l->l_prev; + else +#endif + _dl_relocate_object (l, l->l_scope, reloc_mode, 0); } /* If the file is not loaded now as a dependency, add the search diff --git a/libc/elf/rtld.c b/libc/elf/rtld.c index b93a01f72..5c39794bf 100644 --- a/libc/elf/rtld.c +++ b/libc/elf/rtld.c @@ -2277,6 +2277,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", lnp->dont_free = 1; lnp = lnp->next; } + /* Also allocated with the fake malloc(). */ + l->l_free_initfini = 0; if (l != &GL(dl_rtld_map)) _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, diff --git a/libc/elf/tst-relsort1.c b/libc/elf/tst-relsort1.c new file mode 100644 index 000000000..972100c0e --- /dev/null +++ b/libc/elf/tst-relsort1.c @@ -0,0 +1,19 @@ +#include +#include + + +static int +do_test () +{ + const char lib[] = "$ORIGIN/tst-relsort1mod1.so"; + void *h = dlopen (lib, RTLD_NOW); + if (h == NULL) + { + puts (dlerror ()); + return 1; + } + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/libc/elf/tst-relsort1mod1.c b/libc/elf/tst-relsort1mod1.c new file mode 100644 index 000000000..9e4a94321 --- /dev/null +++ b/libc/elf/tst-relsort1mod1.c @@ -0,0 +1,7 @@ +extern int foo (double); + +int +bar (void) +{ + return foo (1.2); +} diff --git a/libc/elf/tst-relsort1mod2.c b/libc/elf/tst-relsort1mod2.c new file mode 100644 index 000000000..a2c3e551e --- /dev/null +++ b/libc/elf/tst-relsort1mod2.c @@ -0,0 +1,7 @@ +#include + +int +foo (double d) +{ + return floor (d) != 0.0; +} diff --git a/libc/include/libc-symbols.h b/libc/include/libc-symbols.h index bc6731f7d..6b964f566 100644 --- a/libc/include/libc-symbols.h +++ b/libc/include/libc-symbols.h @@ -1,6 +1,6 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-1998,2000-2006,2008,2009,2011 + Copyright (C) 1995-1998,2000-2006,2008,2009,2011,2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -647,7 +647,12 @@ for linking") # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libc_hidden_def(name) hidden_def (name) # define libc_hidden_weak(name) hidden_weak (name) -# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) +# ifdef LINK_OBSOLETE_RPC + /* libc_hidden_nolink_sunrpc should only get used in sunrpc code. */ +# define libc_hidden_nolink_sunrpc(name, version) hidden_def (name) +# else +# define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) +# endif # define libc_hidden_ver(local, name) hidden_ver (local, name) # define libc_hidden_data_def(name) hidden_data_def (name) # define libc_hidden_data_weak(name) hidden_data_weak (name) diff --git a/libc/include/link.h b/libc/include/link.h index e87710464..27686a499 100644 --- a/libc/include/link.h +++ b/libc/include/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1995-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -192,6 +192,9 @@ struct link_map during LD_TRACE_PRELINKING=1 contains any DT_SYMBOLIC libraries. */ + unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be + freed, ie. not allocated with + the dummy malloc in ld.so. */ /* Collected information about own RPATH directories. */ struct r_search_path_struct l_rpath_dirs; @@ -240,9 +243,6 @@ struct link_map /* List of object in order of the init and fini calls. */ struct link_map **l_initfini; - /* The init and fini list generated at startup, saved when the - object is also loaded dynamically. */ - struct link_map **l_orig_initfini; /* List of the dependencies introduced through symbol binding. */ struct link_map_reldeps diff --git a/libc/nis/Makefile b/libc/nis/Makefile index 2e7c1924d..039d61153 100644 --- a/libc/nis/Makefile +++ b/libc/nis/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996-1998,2001,2004,2006,2011 Free Software Foundation, Inc. +# Copyright (C) 1996-1998,2001,2004,2006,2011,2012 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -25,9 +25,11 @@ subdir := nis aux := nis_hash -distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ - nisplus-parser.h nis_xdr.h nss \ - $(wildcard rpcsvc/*.[hx]) +include ../Makeconfig + +ifeq ($(link-obsolete-rpc),yes) +headers := $(wildcard rpcsvc/*.[hx]) +endif # These are the databases available for the nis (and perhaps later nisplus) # service. This must be a superset of the services in nss. diff --git a/libc/stdio-common/Makefile b/libc/stdio-common/Makefile index 6c5f1e0e6..55723eb79 100644 --- a/libc/stdio-common/Makefile +++ b/libc/stdio-common/Makefile @@ -136,6 +136,7 @@ CFLAGS-scanf17.c = -I../libio -I../stdlib -I../wcsmbs -I../time -I../string \ # We know the test has a format string problem. CFLAGS-tst-sprintf.c = -Wno-format +tst-sprintf-ENV = LOCPATH=$(common-objpfx)localedata tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata diff --git a/libc/stdio-common/tst-sprintf.c b/libc/stdio-common/tst-sprintf.c index bfa79c9cc..42159a26f 100644 --- a/libc/stdio-common/tst-sprintf.c +++ b/libc/stdio-common/tst-sprintf.c @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -61,5 +62,17 @@ main (void) result = 1; } + if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) + { + puts ("cannot set locale"); + result = 1; + } + else if (sprintf (buf, "%.8s\n", "Foo: \277") != 7 + || strcmp (buf, "Foo: \277\n") != 0) + { + printf ("sprintf (buf, \"%%.8s\\n\", \"Foo: \\277\") produced '%s' output\n", buf); + result = 1; + } + return result; } diff --git a/libc/stdio-common/vfprintf.c b/libc/stdio-common/vfprintf.c index 63b73e6a1..550851cd6 100644 --- a/libc/stdio-common/vfprintf.c +++ b/libc/stdio-common/vfprintf.c @@ -1178,42 +1178,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) else if (!is_long && spec != L_('S')) \ { \ if (prec != -1) \ - { \ - /* Search for the end of the string, but don't search past \ - the length (in bytes) specified by the precision. Also \ - don't use incomplete characters. */ \ - if (! LOCALE_SUPPORT \ - ||_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX) == 1) \ - len = __strnlen (string, prec); \ - else \ - { \ - /* In case we have a multibyte character set the \ - situation is more complicated. We must not copy \ - bytes at the end which form an incomplete character. */\ - size_t ignore_size = (unsigned) prec > 1024 ? 1024 : prec;\ - wchar_t ignore[ignore_size]; \ - const char *str2 = string; \ - const char *strend = string + prec; \ - if (strend < string) \ - strend = (const char *) UINTPTR_MAX; \ - \ - mbstate_t ps; \ - memset (&ps, '\0', sizeof (ps)); \ - \ - while (str2 != NULL && str2 < strend) \ - if (__mbsnrtowcs (ignore, &str2, strend - str2, \ - ignore_size, &ps) == (size_t) -1) \ - { \ - done = -1; \ - goto all_done; \ - } \ - \ - if (str2 == NULL) \ - len = strlen (string); \ - else \ - len = str2 - string - (ps.__count & 7); \ - } \ - } \ + /* Search for the end of the string, but don't search past \ + the length (in bytes) specified by the precision. */ \ + len = __strnlen (string, prec); \ else \ len = strlen (string); \ } \ diff --git a/libc/stdlib/fmtmsg.c b/libc/stdlib/fmtmsg.c index 8ee06bfd0..47e409f08 100644 --- a/libc/stdlib/fmtmsg.c +++ b/libc/stdlib/fmtmsg.c @@ -103,7 +103,6 @@ fmtmsg (long int classification, const char *label, int severity, const char *text, const char *action, const char *tag) { __libc_once_define (static, once); - int result = MM_OK; struct severity_info *severity_rec; /* Make sure everything is initialized. */ @@ -124,17 +123,6 @@ fmtmsg (long int classification, const char *label, int severity, return MM_NOTOK; } - for (severity_rec = severity_list; severity_rec != NULL; - severity_rec = severity_rec->next) - if (severity == severity_rec->severity) - /* Bingo. */ - break; - - /* If we don't know anything about the severity level return an error. */ - if (severity_rec == NULL) - return MM_NOTOK; - - #ifdef __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ @@ -143,54 +131,73 @@ fmtmsg (long int classification, const char *label, int severity, 0); #endif - /* Now we can print. */ - if (classification & MM_PRINT) - { - int do_label = (print & label_mask) && label != MM_NULLLBL; - int do_severity = (print & severity_mask) && severity != MM_NULLSEV; - int do_text = (print & text_mask) && text != MM_NULLTXT; - int do_action = (print & action_mask) && action != MM_NULLACT; - int do_tag = (print & tag_mask) && tag != MM_NULLTAG; - - if (__fxprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n", - do_label ? label : "", - do_label && (do_severity | do_text | do_action | do_tag) - ? ": " : "", - do_severity ? severity_rec->string : "", - do_severity && (do_text | do_action | do_tag) - ? ": " : "", - do_text ? text : "", - do_text && (do_action | do_tag) ? "\n" : "", - do_action ? "TO FIX: " : "", - do_action ? action : "", - do_action && do_tag ? " " : "", - do_tag ? tag : "") < 0) - /* Oh, oh. An error occurred during the output. */ - result = MM_NOMSG; - } + __libc_lock_lock (lock); - if (classification & MM_CONSOLE) + for (severity_rec = severity_list; severity_rec != NULL; + severity_rec = severity_rec->next) + if (severity == severity_rec->severity) + /* Bingo. */ + break; + + /* If we don't know anything about the severity level return an error. */ + int result = MM_NOTOK; + if (severity_rec != NULL) { - int do_label = label != MM_NULLLBL; - int do_severity = severity != MM_NULLSEV; - int do_text = text != MM_NULLTXT; - int do_action = action != MM_NULLACT; - int do_tag = tag != MM_NULLTAG; - - syslog (LOG_ERR, "%s%s%s%s%s%s%s%s%s%s\n", - do_label ? label : "", - do_label && (do_severity | do_text | do_action | do_tag) - ? ": " : "", - do_severity ? severity_rec->string : "", - do_severity && (do_text | do_action | do_tag) ? ": " : "", - do_text ? text : "", - do_text && (do_action | do_tag) ? "\n" : "", - do_action ? "TO FIX: " : "", - do_action ? action : "", - do_action && do_tag ? " " : "", - do_tag ? tag : ""); + result = MM_OK; + + /* Now we can print. */ + if (classification & MM_PRINT) + { + int do_label = (print & label_mask) && label != MM_NULLLBL; + int do_severity = (print & severity_mask) && severity != MM_NULLSEV; + int do_text = (print & text_mask) && text != MM_NULLTXT; + int do_action = (print & action_mask) && action != MM_NULLACT; + int do_tag = (print & tag_mask) && tag != MM_NULLTAG; + int need_colon = (do_label + && (do_severity | do_text | do_action | do_tag)); + + if (__fxprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n", + do_label ? label : "", + need_colon ? ": " : "", + do_severity ? severity_rec->string : "", + do_severity && (do_text | do_action | do_tag) + ? ": " : "", + do_text ? text : "", + do_text && (do_action | do_tag) ? "\n" : "", + do_action ? "TO FIX: " : "", + do_action ? action : "", + do_action && do_tag ? " " : "", + do_tag ? tag : "") < 0) + /* Oh, oh. An error occurred during the output. */ + result = MM_NOMSG; + } + + if (classification & MM_CONSOLE) + { + int do_label = label != MM_NULLLBL; + int do_severity = severity != MM_NULLSEV; + int do_text = text != MM_NULLTXT; + int do_action = action != MM_NULLACT; + int do_tag = tag != MM_NULLTAG; + int need_colon = (do_label + && (do_severity | do_text | do_action | do_tag)); + + syslog (LOG_ERR, "%s%s%s%s%s%s%s%s%s%s\n", + do_label ? label : "", + need_colon ? ": " : "", + do_severity ? severity_rec->string : "", + do_severity && (do_text | do_action | do_tag) ? ": " : "", + do_text ? text : "", + do_text && (do_action | do_tag) ? "\n" : "", + do_action ? "TO FIX: " : "", + do_action ? action : "", + do_action && do_tag ? " " : "", + do_tag ? tag : ""); + } } + __libc_lock_unlock (lock); + #ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); #endif diff --git a/libc/sunrpc/Makefile b/libc/sunrpc/Makefile index b01b08e18..ce923fc8a 100644 --- a/libc/sunrpc/Makefile +++ b/libc/sunrpc/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1994-2004, 2005, 2006, 2011 Free Software Foundation, Inc. +# Copyright (C) 1994-2004, 2005, 2006, 2011, 2012 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -62,6 +62,10 @@ generated-dirs := rpcsvc include ../Makeconfig +ifeq ($(link-obsolete-rpc),yes) +headers += $(headers-in-tirpc) $(headers-not-in-tirpc) +endif + ifeq ($(versioning),yes) need-export-routines-$(OPTION_EGLIBC_SUNRPC) += \ auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ @@ -85,9 +89,11 @@ routines-$(OPTION_EGLIBC_SUNRPC) \ # xdecrypt is also used by nss/nss_files/files-key.c. routines-y += des_crypt des_impl des_soft $(need-export-routines) +ifneq ($(link-obsolete-rpc),yes) # We only add the RPC for compatibility to libc.so. shared-only-routines = $(routines) endif +endif # We do not build rpcinfo anymore. It is not needed for a bootstrap # and not wanted on complete systems. diff --git a/libc/sunrpc/auth_des.c b/libc/sunrpc/auth_des.c index 96bbcfc32..0408d6082 100644 --- a/libc/sunrpc/auth_des.c +++ b/libc/sunrpc/auth_des.c @@ -117,7 +117,7 @@ authdes_create (const char *servername, u_int window, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (authdes_create) #else -libc_hidden_nolink (authdes_create, GLIBC_2_1) +libc_hidden_nolink_sunrpc (authdes_create, GLIBC_2_1) #endif AUTH * @@ -211,7 +211,7 @@ failed: #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (authdes_pk_create) #else -libc_hidden_nolink (authdes_pk_create, GLIBC_2_1) +libc_hidden_nolink_sunrpc (authdes_pk_create, GLIBC_2_1) #endif /* diff --git a/libc/sunrpc/auth_none.c b/libc/sunrpc/auth_none.c index 5f252a954..3af596679 100644 --- a/libc/sunrpc/auth_none.c +++ b/libc/sunrpc/auth_none.c @@ -95,7 +95,7 @@ authnone_create (void) __libc_once (authnone_private_guard, authnone_create_once); return &authnone_private.no_client; } -libc_hidden_nolink (authnone_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (authnone_create, GLIBC_2_0) static bool_t authnone_marshal (AUTH *client, XDR *xdrs) diff --git a/libc/sunrpc/auth_unix.c b/libc/sunrpc/auth_unix.c index d3b5dc7de..68b42d7b1 100644 --- a/libc/sunrpc/auth_unix.c +++ b/libc/sunrpc/auth_unix.c @@ -149,7 +149,7 @@ no_memory: marshal_new_auth (auth); return auth; } -libc_hidden_nolink (authunix_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (authunix_create, GLIBC_2_0) /* * Returns an auth handle with parameters determined by doing lots of @@ -216,7 +216,7 @@ authunix_create_default (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (authunix_create_default) #else -libc_hidden_nolink (authunix_create_default, GLIBC_2_0) +libc_hidden_nolink_sunrpc (authunix_create_default, GLIBC_2_0) #endif /* diff --git a/libc/sunrpc/authdes_prot.c b/libc/sunrpc/authdes_prot.c index 0a25bac14..164c1223c 100644 --- a/libc/sunrpc/authdes_prot.c +++ b/libc/sunrpc/authdes_prot.c @@ -63,7 +63,7 @@ xdr_authdes_cred (XDR *xdrs, struct authdes_cred *cred) return FALSE; } } -libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_authdes_cred, GLIBC_2_1) bool_t @@ -78,4 +78,4 @@ xdr_authdes_verf (register XDR *xdrs, register struct authdes_verf *verf) sizeof (verf->adv_int_u))); return TRUE; } -libc_hidden_nolink (xdr_authdes_verf, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_authdes_verf, GLIBC_2_1) diff --git a/libc/sunrpc/authuxprot.c b/libc/sunrpc/authuxprot.c index 64da1799e..d37faee0c 100644 --- a/libc/sunrpc/authuxprot.c +++ b/libc/sunrpc/authuxprot.c @@ -63,4 +63,4 @@ xdr_authunix_parms (XDR * xdrs, struct authunix_parms *p) } return FALSE; } -libc_hidden_nolink (xdr_authunix_parms, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_authunix_parms, GLIBC_2_0) diff --git a/libc/sunrpc/clnt_gen.c b/libc/sunrpc/clnt_gen.c index 2b7096cf2..df34672d7 100644 --- a/libc/sunrpc/clnt_gen.c +++ b/libc/sunrpc/clnt_gen.c @@ -175,5 +175,5 @@ clnt_create (const char *hostname, u_long prog, u_long vers, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnt_create) #else -libc_hidden_nolink (clnt_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_create, GLIBC_2_0) #endif diff --git a/libc/sunrpc/clnt_perr.c b/libc/sunrpc/clnt_perr.c index 175370ebf..b4f84c92e 100644 --- a/libc/sunrpc/clnt_perr.c +++ b/libc/sunrpc/clnt_perr.c @@ -127,7 +127,7 @@ clnt_sperror (CLIENT * rpch, const char *msg) return str; } -libc_hidden_nolink (clnt_sperror, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_sperror, GLIBC_2_0) void clnt_perror (CLIENT * rpch, const char *msg) @@ -137,7 +137,7 @@ clnt_perror (CLIENT * rpch, const char *msg) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnt_perror) #else -libc_hidden_nolink (clnt_perror, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_perror, GLIBC_2_0) #endif @@ -270,7 +270,7 @@ clnt_perrno (enum clnt_stat num) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnt_perrno) #else -libc_hidden_nolink (clnt_perrno, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_perrno, GLIBC_2_0) #endif char * @@ -308,7 +308,7 @@ clnt_spcreateerror (const char *msg) return str; } -libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_spcreateerror, GLIBC_2_0) void clnt_pcreateerror (const char *msg) @@ -318,7 +318,7 @@ clnt_pcreateerror (const char *msg) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnt_pcreateerror) #else -libc_hidden_nolink (clnt_pcreateerror, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_pcreateerror, GLIBC_2_0) #endif struct auth_errtab diff --git a/libc/sunrpc/clnt_raw.c b/libc/sunrpc/clnt_raw.c index 95e3eae98..4004c6b6a 100644 --- a/libc/sunrpc/clnt_raw.c +++ b/libc/sunrpc/clnt_raw.c @@ -129,7 +129,7 @@ clntraw_create (u_long prog, u_long vers) client->cl_auth = authnone_create (); return client; } -libc_hidden_nolink (clntraw_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clntraw_create, GLIBC_2_0) static enum clnt_stat clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout) diff --git a/libc/sunrpc/clnt_simp.c b/libc/sunrpc/clnt_simp.c index d2dd3b307..d612df09a 100644 --- a/libc/sunrpc/clnt_simp.c +++ b/libc/sunrpc/clnt_simp.c @@ -139,7 +139,7 @@ callrpc (const char *host, u_long prognum, u_long versnum, u_long procnum, crp->valid = 0; return (int) clnt_stat; } -libc_hidden_nolink (callrpc, GLIBC_2_0) +libc_hidden_nolink_sunrpc (callrpc, GLIBC_2_0) #ifdef _RPC_THREAD_SAFE_ void diff --git a/libc/sunrpc/clnt_tcp.c b/libc/sunrpc/clnt_tcp.c index d1fc43dbf..6bd4c8c0c 100644 --- a/libc/sunrpc/clnt_tcp.c +++ b/libc/sunrpc/clnt_tcp.c @@ -220,7 +220,7 @@ fooy: #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnttcp_create) #else -libc_hidden_nolink (clnttcp_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnttcp_create, GLIBC_2_0) #endif static enum clnt_stat diff --git a/libc/sunrpc/clnt_udp.c b/libc/sunrpc/clnt_udp.c index 294e13a58..7ecf2ef5a 100644 --- a/libc/sunrpc/clnt_udp.c +++ b/libc/sunrpc/clnt_udp.c @@ -239,7 +239,7 @@ fooy: #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__libc_clntudp_bufcreate) #else -libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE) +libc_hidden_nolink_sunrpc (__libc_clntudp_bufcreate, GLIBC_PRIVATE) #endif CLIENT * @@ -250,7 +250,7 @@ clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version, return __libc_clntudp_bufcreate (raddr, program, version, wait, sockp, sendsz, recvsz, 0); } -libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clntudp_bufcreate, GLIBC_2_0) CLIENT * clntudp_create (raddr, program, version, wait, sockp) @@ -266,7 +266,7 @@ clntudp_create (raddr, program, version, wait, sockp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clntudp_create) #else -libc_hidden_nolink (clntudp_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clntudp_create, GLIBC_2_0) #endif static int diff --git a/libc/sunrpc/clnt_unix.c b/libc/sunrpc/clnt_unix.c index 282127bb8..776ceab48 100644 --- a/libc/sunrpc/clnt_unix.c +++ b/libc/sunrpc/clnt_unix.c @@ -200,7 +200,7 @@ fooy: mem_free ((caddr_t) h, sizeof (CLIENT)); return (CLIENT *) NULL; } -libc_hidden_nolink (clntunix_create, GLIBC_2_1) +libc_hidden_nolink_sunrpc (clntunix_create, GLIBC_2_1) static enum clnt_stat clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) diff --git a/libc/sunrpc/des_crypt.c b/libc/sunrpc/des_crypt.c index 8745900b8..22a34b7f3 100644 --- a/libc/sunrpc/des_crypt.c +++ b/libc/sunrpc/des_crypt.c @@ -102,7 +102,7 @@ cbc_crypt (char *key, char *buf, unsigned int len, unsigned int mode, COPY8 (dp.des_ivec, ivec); return err; } -libc_hidden_nolink (cbc_crypt, GLIBC_2_1) +libc_hidden_nolink_sunrpc (cbc_crypt, GLIBC_2_1) /* * ECB mode encryption @@ -115,4 +115,4 @@ ecb_crypt (char *key, char *buf, unsigned int len, unsigned int mode) dp.des_mode = ECB; return common_crypt (key, buf, len, mode, &dp); } -libc_hidden_nolink (ecb_crypt, GLIBC_2_1) +libc_hidden_nolink_sunrpc (ecb_crypt, GLIBC_2_1) diff --git a/libc/sunrpc/des_soft.c b/libc/sunrpc/des_soft.c index 27d918c64..cddef5d76 100644 --- a/libc/sunrpc/des_soft.c +++ b/libc/sunrpc/des_soft.c @@ -70,4 +70,4 @@ des_setparity (char *p) p++; } } -libc_hidden_nolink (des_setparity, GLIBC_2_1) +libc_hidden_nolink_sunrpc (des_setparity, GLIBC_2_1) diff --git a/libc/sunrpc/get_myaddr.c b/libc/sunrpc/get_myaddr.c index def5b7a74..24407b53e 100644 --- a/libc/sunrpc/get_myaddr.c +++ b/libc/sunrpc/get_myaddr.c @@ -99,5 +99,5 @@ get_myaddress (struct sockaddr_in *addr) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (get_myaddress) #else -libc_hidden_nolink (get_myaddress, GLIBC_2_0) +libc_hidden_nolink_sunrpc (get_myaddress, GLIBC_2_0) #endif diff --git a/libc/sunrpc/key_call.c b/libc/sunrpc/key_call.c index 6d08bf8e8..e0a076b47 100644 --- a/libc/sunrpc/key_call.c +++ b/libc/sunrpc/key_call.c @@ -80,7 +80,7 @@ key_setsecret (char *secretkey) } return 0; } -libc_hidden_nolink (key_setsecret, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_setsecret, GLIBC_2_1) /* key_secretkey_is_set() returns 1 if the keyserver has a secret key * stored for the caller's effective uid; it returns 0 otherwise @@ -109,7 +109,7 @@ key_secretkey_is_set (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (key_secretkey_is_set) #else -libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_secretkey_is_set, GLIBC_2_1) #endif int @@ -133,7 +133,7 @@ key_encryptsession (char *remotename, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_nolink (key_encryptsession, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_encryptsession, GLIBC_2_1) int key_decryptsession (char *remotename, des_block *deskey) @@ -155,7 +155,7 @@ key_decryptsession (char *remotename, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_nolink (key_decryptsession, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_decryptsession, GLIBC_2_1) int key_encryptsession_pk (char *remotename, netobj *remotekey, @@ -180,7 +180,7 @@ key_encryptsession_pk (char *remotename, netobj *remotekey, *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_encryptsession_pk, GLIBC_2_1) int key_decryptsession_pk (char *remotename, netobj *remotekey, @@ -205,7 +205,7 @@ key_decryptsession_pk (char *remotename, netobj *remotekey, *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_decryptsession_pk, GLIBC_2_1) int key_gendes (des_block *key) @@ -239,7 +239,7 @@ key_gendes (des_block *key) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (key_gendes) #else -libc_hidden_nolink (key_gendes, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_gendes, GLIBC_2_1) #endif int @@ -259,7 +259,7 @@ key_setnet (struct key_netstarg *arg) } return 1; } -libc_hidden_nolink (key_setnet, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_setnet, GLIBC_2_1) int key_get_conv (char *pkey, des_block *deskey) @@ -278,7 +278,7 @@ key_get_conv (char *pkey, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_nolink (key_get_conv, GLIBC_2_1) +libc_hidden_nolink_sunrpc (key_get_conv, GLIBC_2_1) /* * Hack to allow the keyserver to use AUTH_DES (for authenticated diff --git a/libc/sunrpc/key_prot.c b/libc/sunrpc/key_prot.c index dd73f5e3c..2899c9a44 100644 --- a/libc/sunrpc/key_prot.c +++ b/libc/sunrpc/key_prot.c @@ -38,7 +38,7 @@ xdr_keystatus (XDR * xdrs, keystatus * objp) return TRUE; } -libc_hidden_nolink (xdr_keystatus, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_keystatus, GLIBC_2_0) bool_t xdr_keybuf (XDR * xdrs, keybuf objp) @@ -48,7 +48,7 @@ xdr_keybuf (XDR * xdrs, keybuf objp) return TRUE; } -libc_hidden_nolink (xdr_keybuf, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_keybuf, GLIBC_2_0) bool_t xdr_netnamestr (XDR * xdrs, netnamestr * objp) @@ -58,7 +58,7 @@ xdr_netnamestr (XDR * xdrs, netnamestr * objp) return TRUE; } -libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_netnamestr, GLIBC_2_1) bool_t xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp) @@ -71,7 +71,7 @@ xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp) return TRUE; } -libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_cryptkeyarg, GLIBC_2_0) bool_t xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp) @@ -84,7 +84,7 @@ xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp) return FALSE; return TRUE; } -libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_cryptkeyarg2, GLIBC_2_0) bool_t xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) @@ -102,7 +102,7 @@ xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) } return TRUE; } -libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_cryptkeyres, GLIBC_2_0) bool_t xdr_unixcred (XDR * xdrs, unixcred * objp) @@ -117,7 +117,7 @@ xdr_unixcred (XDR * xdrs, unixcred * objp) return FALSE; return TRUE; } -libc_hidden_nolink (xdr_unixcred, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_unixcred, GLIBC_2_1) bool_t xdr_getcredres (XDR * xdrs, getcredres * objp) @@ -135,7 +135,7 @@ xdr_getcredres (XDR * xdrs, getcredres * objp) } return TRUE; } -libc_hidden_nolink (xdr_getcredres, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_getcredres, GLIBC_2_1) bool_t xdr_key_netstarg (XDR * xdrs, key_netstarg * objp) @@ -148,7 +148,7 @@ xdr_key_netstarg (XDR * xdrs, key_netstarg * objp) return FALSE; return TRUE; } -libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_key_netstarg, GLIBC_2_0) bool_t xdr_key_netstres (XDR * xdrs, key_netstres * objp) @@ -166,4 +166,4 @@ xdr_key_netstres (XDR * xdrs, key_netstres * objp) } return TRUE; } -libc_hidden_nolink (xdr_key_netstres, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_key_netstres, GLIBC_2_0) diff --git a/libc/sunrpc/netname.c b/libc/sunrpc/netname.c index 7de2b86be..8707d5be8 100644 --- a/libc/sunrpc/netname.c +++ b/libc/sunrpc/netname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-1999, 2002, 2007, 2011 Free Software Foundation, Inc. +/* Copyright (C) 1997-1999, 2002, 2007, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1997. @@ -55,7 +55,7 @@ user2netname (char netname[MAXNETNAMELEN + 1], const uid_t uid, netname[i - 1] = '\0'; return 1; } -libc_hidden_nolink (user2netname, GLIBC_2_1) +libc_hidden_nolink_sunrpc (user2netname, GLIBC_2_1) int host2netname (char netname[MAXNETNAMELEN + 1], const char *host, @@ -119,7 +119,7 @@ host2netname (char netname[MAXNETNAMELEN + 1], const char *host, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (host2netname) #else -libc_hidden_nolink (host2netname, GLIBC_2_1) +libc_hidden_nolink_sunrpc (host2netname, GLIBC_2_1) #endif int @@ -135,7 +135,7 @@ getnetname (char name[MAXNETNAMELEN + 1]) dummy = user2netname (name, uid, NULL); return (dummy); } -libc_hidden_nolink (getnetname, GLIBC_2_1) +libc_hidden_nolink_sunrpc (getnetname, GLIBC_2_1) /* Type of the lookup function for netname2user. */ typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1], @@ -188,7 +188,7 @@ netname2user (const char netname[MAXNETNAMELEN + 1], uid_t * uidp, gid_t * gidp, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (netname2user) #else -libc_hidden_nolink (netname2user, GLIBC_2_1) +libc_hidden_nolink_sunrpc (netname2user, GLIBC_2_1) #endif int @@ -215,4 +215,4 @@ netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname, return 1; } -libc_hidden_nolink (netname2host, GLIBC_2_1) +libc_hidden_nolink_sunrpc (netname2host, GLIBC_2_1) diff --git a/libc/sunrpc/pm_getmaps.c b/libc/sunrpc/pm_getmaps.c index 6b61d324f..6f7ad10ef 100644 --- a/libc/sunrpc/pm_getmaps.c +++ b/libc/sunrpc/pm_getmaps.c @@ -84,4 +84,4 @@ pmap_getmaps (struct sockaddr_in *address) address->sin_port = 0; return head; } -libc_hidden_nolink (pmap_getmaps, GLIBC_2_0) +libc_hidden_nolink_sunrpc (pmap_getmaps, GLIBC_2_0) diff --git a/libc/sunrpc/pm_getport.c b/libc/sunrpc/pm_getport.c index 58974a566..f10f87250 100644 --- a/libc/sunrpc/pm_getport.c +++ b/libc/sunrpc/pm_getport.c @@ -142,7 +142,7 @@ __libc_rpc_getport (address, program, version, protocol, timeout_sec, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__libc_rpc_getport) #else -libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE) +libc_hidden_nolink_sunrpc (__libc_rpc_getport, GLIBC_PRIVATE) #endif @@ -160,4 +160,4 @@ pmap_getport (address, program, version, protocol) { return __libc_rpc_getport (address, program, version, protocol, 5, 60); } -libc_hidden_nolink (pmap_getport, GLIBC_2_0) +libc_hidden_nolink_sunrpc (pmap_getport, GLIBC_2_0) diff --git a/libc/sunrpc/pmap_clnt.c b/libc/sunrpc/pmap_clnt.c index 36479f0e5..5d7d18576 100644 --- a/libc/sunrpc/pmap_clnt.c +++ b/libc/sunrpc/pmap_clnt.c @@ -131,7 +131,7 @@ pmap_set (u_long program, u_long version, int protocol, u_short port) /* (void)close(socket); CLNT_DESTROY closes it */ return rslt; } -libc_hidden_nolink (pmap_set, GLIBC_2_0) +libc_hidden_nolink_sunrpc (pmap_set, GLIBC_2_0) /* * Remove the mapping between program,version and port. @@ -162,4 +162,4 @@ pmap_unset (u_long program, u_long version) /* (void)close(socket); CLNT_DESTROY already closed it */ return rslt; } -libc_hidden_nolink (pmap_unset, GLIBC_2_0) +libc_hidden_nolink_sunrpc (pmap_unset, GLIBC_2_0) diff --git a/libc/sunrpc/pmap_prot.c b/libc/sunrpc/pmap_prot.c index 5a2e05272..8df41dc5f 100644 --- a/libc/sunrpc/pmap_prot.c +++ b/libc/sunrpc/pmap_prot.c @@ -49,4 +49,4 @@ xdr_pmap (xdrs, regs) return xdr_u_long (xdrs, ®s->pm_port); return FALSE; } -libc_hidden_nolink (xdr_pmap, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_pmap, GLIBC_2_0) diff --git a/libc/sunrpc/pmap_prot2.c b/libc/sunrpc/pmap_prot2.c index 3213898ce..57b080017 100644 --- a/libc/sunrpc/pmap_prot2.c +++ b/libc/sunrpc/pmap_prot2.c @@ -110,4 +110,4 @@ xdr_pmaplist (xdrs, rp) rp = freeing ? &next : &((*rp)->pml_next); } } -libc_hidden_nolink (xdr_pmaplist, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_pmaplist, GLIBC_2_0) diff --git a/libc/sunrpc/pmap_rmt.c b/libc/sunrpc/pmap_rmt.c index 16f322773..fd8de8558 100644 --- a/libc/sunrpc/pmap_rmt.c +++ b/libc/sunrpc/pmap_rmt.c @@ -104,7 +104,7 @@ pmap_rmtcall (addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout, port_p addr->sin_port = 0; return stat; } -libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0) +libc_hidden_nolink_sunrpc (pmap_rmtcall, GLIBC_2_0) /* @@ -137,7 +137,7 @@ xdr_rmtcall_args (XDR *xdrs, struct rmtcallargs *cap) } return FALSE; } -libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_rmtcall_args, GLIBC_2_0) /* * XDR remote call results @@ -160,7 +160,7 @@ xdr_rmtcallres (xdrs, crp) } return FALSE; } -libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_rmtcallres, GLIBC_2_0) /* @@ -388,4 +388,4 @@ done_broad: AUTH_DESTROY (unix_auth); return stat; } -libc_hidden_nolink (clnt_broadcast, GLIBC_2_0) +libc_hidden_nolink_sunrpc (clnt_broadcast, GLIBC_2_0) diff --git a/libc/sunrpc/publickey.c b/libc/sunrpc/publickey.c index 9e44199dd..2dca4f256 100644 --- a/libc/sunrpc/publickey.c +++ b/libc/sunrpc/publickey.c @@ -1,5 +1,5 @@ /* Get public or secret key from key server. - Copyright (C) 1996-1999,2002,2007 Free Software Foundation, Inc. + Copyright (C) 1996-1999,2002,2007,2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -76,7 +76,7 @@ getpublickey (const char *name, char *key) return status == NSS_STATUS_SUCCESS; } -libc_hidden_nolink (getpublickey, GLIBC_2_0) +libc_hidden_nolink_sunrpc (getpublickey, GLIBC_2_0) int @@ -119,4 +119,4 @@ getsecretkey (const char *name, char *key, const char *passwd) return status == NSS_STATUS_SUCCESS; } -libc_hidden_nolink (getsecretkey, GLIBC_2_0) +libc_hidden_nolink_sunrpc (getsecretkey, GLIBC_2_0) diff --git a/libc/sunrpc/rpc_cmsg.c b/libc/sunrpc/rpc_cmsg.c index ed70104b6..62d95fcc8 100644 --- a/libc/sunrpc/rpc_cmsg.c +++ b/libc/sunrpc/rpc_cmsg.c @@ -194,4 +194,4 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg *cmsg) return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf)); return FALSE; } -libc_hidden_nolink (xdr_callmsg, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_callmsg, GLIBC_2_0) diff --git a/libc/sunrpc/rpc_common.c b/libc/sunrpc/rpc_common.c index 44b4b38f4..710191163 100644 --- a/libc/sunrpc/rpc_common.c +++ b/libc/sunrpc/rpc_common.c @@ -45,7 +45,7 @@ section but we cannot add const to the type because this isn't how the variable is declared. So we use the section attribute. */ struct opaque_auth _null_auth __attribute__ ((nocommon)); -libc_hidden_nolink (_null_auth, GLIBC_2_0) +libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0) fd_set svc_fdset; struct rpc_createerr rpc_createerr; struct pollfd *svc_pollfd; diff --git a/libc/sunrpc/rpc_dtable.c b/libc/sunrpc/rpc_dtable.c index 9bee21549..81ddf8f55 100644 --- a/libc/sunrpc/rpc_dtable.c +++ b/libc/sunrpc/rpc_dtable.c @@ -46,4 +46,4 @@ _rpc_dtablesize (void) return size; } -libc_hidden_nolink (_rpc_dtablesize, GLIBC_2_0) +libc_hidden_nolink_sunrpc (_rpc_dtablesize, GLIBC_2_0) diff --git a/libc/sunrpc/rpc_prot.c b/libc/sunrpc/rpc_prot.c index 9a23cc1b0..dc24f3673 100644 --- a/libc/sunrpc/rpc_prot.c +++ b/libc/sunrpc/rpc_prot.c @@ -57,7 +57,7 @@ xdr_opaque_auth (XDR *xdrs, struct opaque_auth *ap) &ap->oa_length, MAX_AUTH_BYTES); return FALSE; } -libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_opaque_auth, GLIBC_2_0) /* * XDR a DES block @@ -67,7 +67,7 @@ xdr_des_block (XDR *xdrs, des_block *blkp) { return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block)); } -libc_hidden_nolink (xdr_des_block, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_des_block, GLIBC_2_0) /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */ @@ -95,7 +95,7 @@ xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar) } return TRUE; /* TRUE => open ended set of problems */ } -libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_accepted_reply, GLIBC_2_0) /* * XDR the MSG_DENIED part of a reply message union @@ -118,7 +118,7 @@ xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr) } return FALSE; } -libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_rejected_reply, GLIBC_2_0) static const struct xdr_discrim reply_dscrm[3] = { @@ -142,7 +142,7 @@ xdr_replymsg (xdrs, rmsg) NULL_xdrproc_t); return FALSE; } -libc_hidden_nolink (xdr_replymsg, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_replymsg, GLIBC_2_0) /* @@ -167,7 +167,7 @@ xdr_callhdr (xdrs, cmsg) return xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)); return FALSE; } -libc_hidden_nolink (xdr_callhdr, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_callhdr, GLIBC_2_0) /* ************************** Client utility routine ************* */ @@ -277,4 +277,4 @@ _seterr_reply (struct rpc_msg *msg, break; } } -libc_hidden_nolink (_seterr_reply, GLIBC_2_0) +libc_hidden_nolink_sunrpc (_seterr_reply, GLIBC_2_0) diff --git a/libc/sunrpc/rpc_thread.c b/libc/sunrpc/rpc_thread.c index ac4c18fce..94d9f1fd8 100644 --- a/libc/sunrpc/rpc_thread.c +++ b/libc/sunrpc/rpc_thread.c @@ -97,7 +97,7 @@ __rpc_thread_svc_fdset (void) return &svc_fdset; return &tvp->svc_fdset_s; } -libc_hidden_nolink (__rpc_thread_svc_fdset, GLIBC_2_2_3) +libc_hidden_nolink_sunrpc (__rpc_thread_svc_fdset, GLIBC_2_2_3) struct rpc_createerr * __rpc_thread_createerr (void) @@ -109,7 +109,7 @@ __rpc_thread_createerr (void) return &rpc_createerr; return &tvp->rpc_createerr_s; } -libc_hidden_nolink (__rpc_thread_createerr, GLIBC_2_2_3) +libc_hidden_nolink_sunrpc (__rpc_thread_createerr, GLIBC_2_2_3) struct pollfd ** __rpc_thread_svc_pollfd (void) @@ -124,7 +124,7 @@ __rpc_thread_svc_pollfd (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__rpc_thread_svc_pollfd) #else -libc_hidden_nolink (__rpc_thread_svc_pollfd, GLIBC_2_2_3) +libc_hidden_nolink_sunrpc (__rpc_thread_svc_pollfd, GLIBC_2_2_3) #endif int * @@ -140,7 +140,7 @@ __rpc_thread_svc_max_pollfd (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__rpc_thread_svc_max_pollfd) #else -libc_hidden_nolink (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) +libc_hidden_nolink_sunrpc (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) #endif #endif /* _RPC_THREAD_SAFE_ */ diff --git a/libc/sunrpc/rtime.c b/libc/sunrpc/rtime.c index 8506df554..bcb280b48 100644 --- a/libc/sunrpc/rtime.c +++ b/libc/sunrpc/rtime.c @@ -140,4 +140,4 @@ rtime (struct sockaddr_in *addrp, struct rpc_timeval *timep, timep->tv_usec = 0; return 0; } -libc_hidden_nolink (rtime, GLIBC_2_1) +libc_hidden_nolink_sunrpc (rtime, GLIBC_2_1) diff --git a/libc/sunrpc/svc.c b/libc/sunrpc/svc.c index e1f4a322e..103770a42 100644 --- a/libc/sunrpc/svc.c +++ b/libc/sunrpc/svc.c @@ -115,7 +115,7 @@ xprt_register (SVCXPRT *xprt) POLLRDNORM | POLLRDBAND); } } -libc_hidden_nolink (xprt_register, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xprt_register, GLIBC_2_0) /* De-activate a transport handle. */ void @@ -139,7 +139,7 @@ xprt_unregister (SVCXPRT *xprt) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xprt_unregister) #else -libc_hidden_nolink (xprt_unregister, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xprt_unregister, GLIBC_2_0) #endif @@ -218,7 +218,7 @@ pmap_it: #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svc_register) #else -libc_hidden_nolink (svc_register, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_register, GLIBC_2_0) #endif /* Remove a service program from the callout list. */ @@ -242,7 +242,7 @@ svc_unregister (rpcprog_t prog, rpcvers_t vers) if (! svc_is_mapped (prog, vers)) pmap_unset (prog, vers); } -libc_hidden_nolink (svc_unregister, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_unregister, GLIBC_2_0) /* ******************* REPLY GENERATION ROUTINES ************ */ @@ -264,7 +264,7 @@ svc_sendreply (register SVCXPRT *xprt, xdrproc_t xdr_results, #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svc_sendreply) #else -libc_hidden_nolink (svc_sendreply, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_sendreply, GLIBC_2_0) #endif /* No procedure error reply */ @@ -282,7 +282,7 @@ svcerr_noproc (register SVCXPRT *xprt) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svcerr_noproc) #else -libc_hidden_nolink (svcerr_noproc, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_noproc, GLIBC_2_0) #endif /* Can't decode args error reply */ @@ -300,7 +300,7 @@ svcerr_decode (register SVCXPRT *xprt) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svcerr_decode) #else -libc_hidden_nolink (svcerr_decode, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_decode, GLIBC_2_0) #endif /* Some system error */ @@ -318,7 +318,7 @@ svcerr_systemerr (register SVCXPRT *xprt) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svcerr_systemerr) #else -libc_hidden_nolink (svcerr_systemerr, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_systemerr, GLIBC_2_0) #endif /* Authentication error reply */ @@ -333,7 +333,7 @@ svcerr_auth (SVCXPRT *xprt, enum auth_stat why) rply.rjcted_rply.rj_why = why; SVC_REPLY (xprt, &rply); } -libc_hidden_nolink (svcerr_auth, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_auth, GLIBC_2_0) /* Auth too weak error reply */ void @@ -341,7 +341,7 @@ svcerr_weakauth (SVCXPRT *xprt) { svcerr_auth (xprt, AUTH_TOOWEAK); } -libc_hidden_nolink (svcerr_weakauth, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_weakauth, GLIBC_2_0) /* Program unavailable error reply */ void @@ -355,7 +355,7 @@ svcerr_noprog (register SVCXPRT *xprt) rply.acpted_rply.ar_stat = PROG_UNAVAIL; SVC_REPLY (xprt, &rply); } -libc_hidden_nolink (svcerr_noprog, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_noprog, GLIBC_2_0) /* Program version mismatch error reply */ void @@ -372,7 +372,7 @@ svcerr_progvers (register SVCXPRT *xprt, rpcvers_t low_vers, rply.acpted_rply.ar_vers.high = high_vers; SVC_REPLY (xprt, &rply); } -libc_hidden_nolink (svcerr_progvers, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcerr_progvers, GLIBC_2_0) /* ******************* SERVER INPUT STUFF ******************* */ @@ -401,7 +401,7 @@ svc_getreq (int rdfds) readfds.fds_bits[0] = rdfds; svc_getreqset (&readfds); } -libc_hidden_nolink (svc_getreq, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_getreq, GLIBC_2_0) void svc_getreqset (fd_set *readfds) @@ -420,7 +420,7 @@ svc_getreqset (fd_set *readfds) for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1))) svc_getreq_common (sock + bit - 1); } -libc_hidden_nolink (svc_getreqset, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_getreqset, GLIBC_2_0) void svc_getreq_poll (struct pollfd *pfdp, int pollretval) @@ -449,7 +449,7 @@ svc_getreq_poll (struct pollfd *pfdp, int pollretval) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svc_getreq_poll) #else -libc_hidden_nolink (svc_getreq_poll, GLIBC_2_2) +libc_hidden_nolink_sunrpc (svc_getreq_poll, GLIBC_2_2) #endif @@ -542,7 +542,7 @@ svc_getreq_common (const int fd) } while (stat == XPRT_MOREREQS); } -libc_hidden_nolink (svc_getreq_common, GLIBC_2_2) +libc_hidden_nolink_sunrpc (svc_getreq_common, GLIBC_2_2) #ifdef _RPC_THREAD_SAFE_ diff --git a/libc/sunrpc/svc_auth.c b/libc/sunrpc/svc_auth.c index facbb1398..f33bda2f2 100644 --- a/libc/sunrpc/svc_auth.c +++ b/libc/sunrpc/svc_auth.c @@ -105,7 +105,7 @@ _authenticate (register struct svc_req *rqst, struct rpc_msg *msg) return AUTH_REJECTEDCRED; } -libc_hidden_nolink (_authenticate, GLIBC_2_1) +libc_hidden_nolink_sunrpc (_authenticate, GLIBC_2_1) static enum auth_stat _svcauth_null (struct svc_req *rqst, struct rpc_msg *msg) diff --git a/libc/sunrpc/svc_raw.c b/libc/sunrpc/svc_raw.c index 90f5d96e6..7d885574a 100644 --- a/libc/sunrpc/svc_raw.c +++ b/libc/sunrpc/svc_raw.c @@ -88,7 +88,7 @@ svcraw_create (void) xdrmem_create (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE); return &srp->server; } -libc_hidden_nolink (svcraw_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcraw_create, GLIBC_2_0) static enum xprt_stat svcraw_stat (SVCXPRT *xprt) diff --git a/libc/sunrpc/svc_run.c b/libc/sunrpc/svc_run.c index 09f40dd18..90dfc9405 100644 --- a/libc/sunrpc/svc_run.c +++ b/libc/sunrpc/svc_run.c @@ -46,7 +46,7 @@ svc_exit (void) svc_pollfd = NULL; svc_max_pollfd = 0; } -libc_hidden_nolink (svc_exit, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_exit, GLIBC_2_0) void svc_run (void) @@ -104,5 +104,5 @@ svc_run (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svc_run) #else -libc_hidden_nolink (svc_run, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svc_run, GLIBC_2_0) #endif diff --git a/libc/sunrpc/svc_tcp.c b/libc/sunrpc/svc_tcp.c index e0515322a..eb615494d 100644 --- a/libc/sunrpc/svc_tcp.c +++ b/libc/sunrpc/svc_tcp.c @@ -187,7 +187,7 @@ svctcp_create (int sock, u_int sendsize, u_int recvsize) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svctcp_create) #else -libc_hidden_nolink (svctcp_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svctcp_create, GLIBC_2_0) #endif /* @@ -199,7 +199,7 @@ svcfd_create (int fd, u_int sendsize, u_int recvsize) { return makefd_xprt (fd, sendsize, recvsize); } -libc_hidden_nolink (svcfd_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcfd_create, GLIBC_2_0) static SVCXPRT * internal_function diff --git a/libc/sunrpc/svc_udp.c b/libc/sunrpc/svc_udp.c index 04c8407e6..6c4d75a81 100644 --- a/libc/sunrpc/svc_udp.c +++ b/libc/sunrpc/svc_udp.c @@ -184,7 +184,7 @@ svcudp_create: xp_pad is too small for IP_PKTINFO\n")); #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svcudp_bufcreate) #else -libc_hidden_nolink (svcudp_bufcreate, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcudp_bufcreate, GLIBC_2_0) #endif SVCXPRT * @@ -196,7 +196,7 @@ svcudp_create (sock) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svcudp_create) #else -libc_hidden_nolink (svcudp_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcudp_create, GLIBC_2_0) #endif static enum xprt_stat @@ -500,7 +500,7 @@ svcudp_enablecache (SVCXPRT *transp, u_long size) su->su_cache = (char *) uc; return 1; } -libc_hidden_nolink (svcudp_enablecache, GLIBC_2_0) +libc_hidden_nolink_sunrpc (svcudp_enablecache, GLIBC_2_0) /* diff --git a/libc/sunrpc/svc_unix.c b/libc/sunrpc/svc_unix.c index 2b02682e7..94507b240 100644 --- a/libc/sunrpc/svc_unix.c +++ b/libc/sunrpc/svc_unix.c @@ -184,7 +184,7 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path) xprt_register (xprt); return xprt; } -libc_hidden_nolink (svcunix_create, GLIBC_2_1) +libc_hidden_nolink_sunrpc (svcunix_create, GLIBC_2_1) /* * Like svunix_create(), except the routine takes any *open* UNIX file @@ -195,7 +195,7 @@ svcunixfd_create (int fd, u_int sendsize, u_int recvsize) { return makefd_xprt (fd, sendsize, recvsize); } -libc_hidden_nolink (svcunixfd_create, GLIBC_2_1) +libc_hidden_nolink_sunrpc (svcunixfd_create, GLIBC_2_1) static SVCXPRT * internal_function diff --git a/libc/sunrpc/svcauth_des.c b/libc/sunrpc/svcauth_des.c index b9656e25d..960973496 100644 --- a/libc/sunrpc/svcauth_des.c +++ b/libc/sunrpc/svcauth_des.c @@ -583,7 +583,7 @@ authdes_getucred (const struct authdes_cred *adc, uid_t * uid, gid_t * gid, groups[i] = cred->groups[i]; return 1; } -libc_hidden_nolink (authdes_getucred, GLIBC_2_1) +libc_hidden_nolink_sunrpc (authdes_getucred, GLIBC_2_1) static void internal_function diff --git a/libc/sunrpc/xcrypt.c b/libc/sunrpc/xcrypt.c index 8b7642b50..2e53f2d9e 100644 --- a/libc/sunrpc/xcrypt.c +++ b/libc/sunrpc/xcrypt.c @@ -127,7 +127,7 @@ xencrypt (char *secret, char *passwd) free (buf); return 1; } -libc_hidden_nolink (xencrypt, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xencrypt, GLIBC_2_0) /* * Decrypt secret key using passwd @@ -163,7 +163,7 @@ xdecrypt (char *secret, char *passwd) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdecrypt) #else -libc_hidden_nolink (xdecrypt, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdecrypt, GLIBC_2_1) #endif /* diff --git a/libc/sunrpc/xdr.c b/libc/sunrpc/xdr.c index 4dd82ff04..7eac2d40f 100644 --- a/libc/sunrpc/xdr.c +++ b/libc/sunrpc/xdr.c @@ -72,7 +72,7 @@ xdr_free (xdrproc_t proc, char *objp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_free) #else -libc_hidden_nolink (xdr_free, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_free, GLIBC_2_0) #endif /* @@ -86,7 +86,7 @@ xdr_void (void) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_void) #else -libc_hidden_nolink (xdr_void, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_void, GLIBC_2_0) #endif /* @@ -126,7 +126,7 @@ xdr_int (XDR *xdrs, int *ip) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_int) #else -libc_hidden_nolink (xdr_int, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_int, GLIBC_2_0) #endif /* @@ -165,7 +165,7 @@ xdr_u_int (XDR *xdrs, u_int *up) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_int) #else -libc_hidden_nolink (xdr_u_int, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_u_int, GLIBC_2_0) #endif /* @@ -193,7 +193,7 @@ xdr_long (XDR *xdrs, long *lp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_long) #else -libc_hidden_nolink (xdr_long, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_long, GLIBC_2_0) #endif /* @@ -232,7 +232,7 @@ xdr_u_long (XDR *xdrs, u_long *ulp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_long) #else -libc_hidden_nolink (xdr_u_long, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_u_long, GLIBC_2_0) #endif /* @@ -268,7 +268,7 @@ xdr_hyper (XDR *xdrs, quad_t *llp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_hyper) #else -libc_hidden_nolink (xdr_hyper, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_hyper, GLIBC_2_1_1) #endif /* @@ -304,7 +304,7 @@ xdr_u_hyper (XDR *xdrs, u_quad_t *ullp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_hyper) #else -libc_hidden_nolink (xdr_u_hyper, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_u_hyper, GLIBC_2_1_1) #endif bool_t @@ -315,7 +315,7 @@ xdr_longlong_t (XDR *xdrs, quad_t *llp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_longlong_t) #else -libc_hidden_nolink (xdr_longlong_t, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_longlong_t, GLIBC_2_1_1) #endif bool_t @@ -326,7 +326,7 @@ xdr_u_longlong_t (XDR *xdrs, u_quad_t *ullp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_longlong_t) #else -libc_hidden_nolink (xdr_u_longlong_t, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_u_longlong_t, GLIBC_2_1_1) #endif /* @@ -359,7 +359,7 @@ xdr_short (XDR *xdrs, short *sp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_short) #else -libc_hidden_nolink (xdr_short, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_short, GLIBC_2_0) #endif /* @@ -392,7 +392,7 @@ xdr_u_short (XDR *xdrs, u_short *usp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_short) #else -libc_hidden_nolink (xdr_u_short, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_u_short, GLIBC_2_0) #endif @@ -415,7 +415,7 @@ xdr_char (XDR *xdrs, char *cp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_char) #else -libc_hidden_nolink (xdr_char, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_char, GLIBC_2_0) #endif /* @@ -437,7 +437,7 @@ xdr_u_char (XDR *xdrs, u_char *cp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_u_char) #else -libc_hidden_nolink (xdr_u_char, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_u_char, GLIBC_2_0) #endif /* @@ -470,7 +470,7 @@ xdr_bool (XDR *xdrs, bool_t *bp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_bool) #else -libc_hidden_nolink (xdr_bool, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_bool, GLIBC_2_0) #endif /* @@ -525,7 +525,7 @@ xdr_enum (XDR *xdrs, enum_t *ep) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_enum) #else -libc_hidden_nolink (xdr_enum, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_enum, GLIBC_2_0) #endif /* @@ -580,7 +580,7 @@ xdr_opaque (XDR *xdrs, caddr_t cp, u_int cnt) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_opaque) #else -libc_hidden_nolink (xdr_opaque, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_opaque, GLIBC_2_0) #endif /* @@ -648,7 +648,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_bytes) #else -libc_hidden_nolink (xdr_bytes, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_bytes, GLIBC_2_0) #endif /* @@ -665,7 +665,7 @@ xdr_netobj (xdrs, np) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_netobj) #else -libc_hidden_nolink (xdr_netobj, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_netobj, GLIBC_2_0) #endif /* @@ -714,7 +714,7 @@ xdr_union (xdrs, dscmp, unp, choices, dfault) return ((dfault == NULL_xdrproc_t) ? FALSE : (*dfault) (xdrs, unp, LASTUNSIGNED)); } -libc_hidden_nolink (xdr_union, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_union, GLIBC_2_0) /* @@ -806,7 +806,7 @@ xdr_string (xdrs, cpp, maxsize) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_string) #else -libc_hidden_nolink (xdr_string, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_string, GLIBC_2_0) #endif /* @@ -827,5 +827,5 @@ xdr_wrapstring (xdrs, cpp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_wrapstring) #else -libc_hidden_nolink (xdr_wrapstring, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_wrapstring, GLIBC_2_0) #endif diff --git a/libc/sunrpc/xdr_array.c b/libc/sunrpc/xdr_array.c index b83207834..a63486127 100644 --- a/libc/sunrpc/xdr_array.c +++ b/libc/sunrpc/xdr_array.c @@ -127,7 +127,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_array) #else -libc_hidden_nolink (xdr_array, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_array, GLIBC_2_0) #endif /* @@ -162,4 +162,4 @@ xdr_vector (xdrs, basep, nelem, elemsize, xdr_elem) } return TRUE; } -libc_hidden_nolink (xdr_vector, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_vector, GLIBC_2_0) diff --git a/libc/sunrpc/xdr_float.c b/libc/sunrpc/xdr_float.c index 1a9c26061..78e8f3bd2 100644 --- a/libc/sunrpc/xdr_float.c +++ b/libc/sunrpc/xdr_float.c @@ -158,7 +158,7 @@ xdr_float(xdrs, fp) } return (FALSE); } -libc_hidden_nolink (xdr_float, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_float, GLIBC_2_0) /* * This routine works on Suns (Sky / 68000's) and Vaxen. @@ -300,4 +300,4 @@ xdr_double(xdrs, dp) } return (FALSE); } -libc_hidden_nolink (xdr_double, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_double, GLIBC_2_0) diff --git a/libc/sunrpc/xdr_intXX_t.c b/libc/sunrpc/xdr_intXX_t.c index ceba8beb8..e906f851a 100644 --- a/libc/sunrpc/xdr_intXX_t.c +++ b/libc/sunrpc/xdr_intXX_t.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1998, 1999, 2000, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999, 2000, 2004, 2005, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1998. @@ -47,14 +47,14 @@ xdr_int64_t (XDR *xdrs, int64_t *ip) return FALSE; } } -libc_hidden_nolink (xdr_int64_t, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_int64_t, GLIBC_2_1_1) bool_t xdr_quad_t (XDR *xdrs, quad_t *ip) { return xdr_int64_t (xdrs, (int64_t *) ip); } -libc_hidden_nolink (xdr_quad_t, GLIBC_2_3_4) +libc_hidden_nolink_sunrpc (xdr_quad_t, GLIBC_2_3_4) /* XDR 64bit unsigned integers */ bool_t @@ -83,14 +83,14 @@ xdr_uint64_t (XDR *xdrs, uint64_t *uip) return FALSE; } } -libc_hidden_nolink (xdr_uint64_t, GLIBC_2_1_1) +libc_hidden_nolink_sunrpc (xdr_uint64_t, GLIBC_2_1_1) bool_t xdr_u_quad_t (XDR *xdrs, u_quad_t *ip) { return xdr_uint64_t (xdrs, (uint64_t *) ip); } -libc_hidden_nolink (xdr_u_quad_t, GLIBC_2_3_4) +libc_hidden_nolink_sunrpc (xdr_u_quad_t, GLIBC_2_3_4) /* XDR 32bit integers */ bool_t @@ -108,7 +108,7 @@ xdr_int32_t (XDR *xdrs, int32_t *lp) return FALSE; } } -libc_hidden_nolink (xdr_int32_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_int32_t, GLIBC_2_1) /* XDR 32bit unsigned integers */ bool_t @@ -129,7 +129,7 @@ xdr_uint32_t (XDR *xdrs, uint32_t *ulp) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_uint32_t) #else -libc_hidden_nolink (xdr_uint32_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_uint32_t, GLIBC_2_1) #endif /* XDR 16bit integers */ @@ -154,7 +154,7 @@ xdr_int16_t (XDR *xdrs, int16_t *ip) return FALSE; } } -libc_hidden_nolink (xdr_int16_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_int16_t, GLIBC_2_1) /* XDR 16bit unsigned integers */ bool_t @@ -178,7 +178,7 @@ xdr_uint16_t (XDR *xdrs, uint16_t *uip) return FALSE; } } -libc_hidden_nolink (xdr_uint16_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_uint16_t, GLIBC_2_1) /* XDR 8bit integers */ bool_t @@ -202,7 +202,7 @@ xdr_int8_t (XDR *xdrs, int8_t *ip) return FALSE; } } -libc_hidden_nolink (xdr_int8_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_int8_t, GLIBC_2_1) /* XDR 8bit unsigned integers */ bool_t @@ -226,4 +226,4 @@ xdr_uint8_t (XDR *xdrs, uint8_t *uip) return FALSE; } } -libc_hidden_nolink (xdr_uint8_t, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_uint8_t, GLIBC_2_1) diff --git a/libc/sunrpc/xdr_mem.c b/libc/sunrpc/xdr_mem.c index 093a71873..ba7661aa5 100644 --- a/libc/sunrpc/xdr_mem.c +++ b/libc/sunrpc/xdr_mem.c @@ -81,7 +81,7 @@ xdrmem_create (XDR *xdrs, const caddr_t addr, u_int size, enum xdr_op op) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdrmem_create) #else -libc_hidden_nolink (xdrmem_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrmem_create, GLIBC_2_0) #endif /* diff --git a/libc/sunrpc/xdr_rec.c b/libc/sunrpc/xdr_rec.c index 556c6c4bc..f5d6ef2af 100644 --- a/libc/sunrpc/xdr_rec.c +++ b/libc/sunrpc/xdr_rec.c @@ -189,7 +189,7 @@ xdrrec_create (XDR *xdrs, u_int sendsize, rstrm->fbtbc = 0; rstrm->last_frag = TRUE; } -libc_hidden_nolink (xdrrec_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrrec_create, GLIBC_2_0) /* @@ -477,7 +477,7 @@ xdrrec_skiprecord (XDR *xdrs) rstrm->last_frag = FALSE; return TRUE; } -libc_hidden_nolink (xdrrec_skiprecord, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrrec_skiprecord, GLIBC_2_0) /* * Lookahead function. @@ -501,7 +501,7 @@ xdrrec_eof (XDR *xdrs) return TRUE; return FALSE; } -libc_hidden_nolink (xdrrec_eof, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrrec_eof, GLIBC_2_0) /* * The client must tell the package when an end-of-record has occurred. @@ -528,7 +528,7 @@ xdrrec_endofrecord (XDR *xdrs, bool_t sendnow) rstrm->out_finger += BYTES_PER_XDR_UNIT; return TRUE; } -libc_hidden_nolink (xdrrec_endofrecord, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrrec_endofrecord, GLIBC_2_0) /* diff --git a/libc/sunrpc/xdr_ref.c b/libc/sunrpc/xdr_ref.c index 7510bed87..8fb4584a7 100644 --- a/libc/sunrpc/xdr_ref.c +++ b/libc/sunrpc/xdr_ref.c @@ -90,7 +90,7 @@ xdr_reference (xdrs, pp, size, proc) } return stat; } -libc_hidden_nolink (xdr_reference, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_reference, GLIBC_2_0) /* @@ -137,5 +137,5 @@ xdr_pointer (xdrs, objpp, obj_size, xdr_obj) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_pointer) #else -libc_hidden_nolink (xdr_pointer, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdr_pointer, GLIBC_2_0) #endif diff --git a/libc/sunrpc/xdr_sizeof.c b/libc/sunrpc/xdr_sizeof.c index 0119486c3..56e870a45 100644 --- a/libc/sunrpc/xdr_sizeof.c +++ b/libc/sunrpc/xdr_sizeof.c @@ -161,5 +161,5 @@ xdr_sizeof (xdrproc_t func, void *data) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdr_sizeof) #else -libc_hidden_nolink (xdr_sizeof, GLIBC_2_1) +libc_hidden_nolink_sunrpc (xdr_sizeof, GLIBC_2_1) #endif diff --git a/libc/sunrpc/xdr_stdio.c b/libc/sunrpc/xdr_stdio.c index d9866063f..667515e0a 100644 --- a/libc/sunrpc/xdr_stdio.c +++ b/libc/sunrpc/xdr_stdio.c @@ -191,5 +191,5 @@ xdrstdio_putint32 (XDR *xdrs, const int32_t *ip) #ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdrstdio_create) #else -libc_hidden_nolink (xdrstdio_create, GLIBC_2_0) +libc_hidden_nolink_sunrpc (xdrstdio_create, GLIBC_2_0) #endif -- cgit v1.2.3