Use libc_hidden_proto for getopt_long, getopt_long_only.
* posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
Add libc_hidden_def.
* sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr):
Define as a macro for __dl_iterate_phdr.
* inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name,
made static. Add __ name as a strong alias.
(internal_endnetgrent): Likewise.
(internal_getnetgrent_r): Likewise.
2002-08-06 Roland McGrath <roland@redhat.com>
+ * include/getopt.h: But private decls inside [_GETOPT_H].
+ Use libc_hidden_proto for getopt_long, getopt_long_only.
+ * posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
+ Add libc_hidden_def.
+
+ * sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr):
+ Define as a macro for __dl_iterate_phdr.
+
+ * inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name,
+ made static. Add __ name as a strong alias.
+ (internal_endnetgrent): Likewise.
+ (internal_getnetgrent_r): Likewise.
+
* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
with no __ prefix.
* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
#include <posix/getopt.h>
+# ifdef _GETOPT_H
+
+libc_hidden_proto (getopt_long)
+libc_hidden_proto (getopt_long_only)
+
/* Now define the internal interfaces. */
extern void __getopt_clean_environment (char **__env);
+# endif
+
#endif
return status == NSS_STATUS_SUCCESS;
}
-int
-__internal_setnetgrent (const char *group, struct __netgrent *datap)
+static int
+internal_setnetgrent (const char *group, struct __netgrent *datap)
{
/* Free list of all netgroup names from last run. */
free_memory (datap);
return __internal_setnetgrent_reuse (group, datap, &errno);
}
+strong_alias (internal_setnetgrent, __internal_setnetgrent)
int
setnetgrent (const char *group)
__libc_lock_lock (lock);
- result = __internal_setnetgrent (group, &dataset);
+ result = internal_setnetgrent (group, &dataset);
__libc_lock_unlock (lock);
}
-void
-__internal_endnetgrent (struct __netgrent *datap)
+static void
+internal_endnetgrent (struct __netgrent *datap)
{
service_user *old_nip;
enum nss_status (*fct) (struct __netgrent *);
/* Now free list of all netgroup names from last run. */
free_memory (datap);
}
+strong_alias (internal_endnetgrent, __internal_endnetgrent)
void
}
-int
-__internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
+static int
+internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
struct __netgrent *datap,
char *buffer, size_t buflen, int *errnop)
{
return status == NSS_STATUS_SUCCESS ? 1 : 0;
}
+strong_alias (internal_getnetgrent_r, __internal_getnetgrent_r)
/* The real entry point. */
int
#include <config.h>
#endif
-#include "getopt.h"
+#ifdef _LIBC
+# include <getopt.h>
+#else
+# include "getopt.h"
+#endif
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
+# ifdef _LIBC
+libc_hidden_def (getopt_long)
+libc_hidden_def (getopt_long_only)
+# endif
#endif /* Not ELIDE_CODE. */
\f
/* Like base_of_encoded_value, but take the base from a struct object
instead of an _Unwind_Context. */
-
+
static _Unwind_Ptr
base_from_cb_data (unsigned char encoding, struct unw_eh_callback_data *data)
{
case DW_EH_PE_pcrel:
case DW_EH_PE_aligned:
return 0;
-
+
case DW_EH_PE_textrel:
return (_Unwind_Ptr) data->tbase;
case DW_EH_PE_datarel:
return 1;
}
+# ifdef _LIBC
+# define dl_iterate_phdr __dl_iterate_phdr
+# endif
+
fde *
_Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
{