+2002-12-31 Ulrich Drepper <drepper@redhat.com>
+
+ * string/string-inlines.c: Define __memcpy_g and __strchr_g macros
+ to avoid using the exported symbols. Define aliases with the
+ original names separately.
+
+ * include/time.h: Add libc_hidden_proto for __strftime_l.
+ * include/wchar.h: Add libc_hidden_proto for __wcsftime_l.
+ * time/strftime.c: Always use libc_hidden_def if _LIBC.
+
+ * libio/libioP.h: Add libc_hidden_proto for _IO_file_open.
+ * libio/fileops.c: Add libc_hidden_def for _IO_file_open.
+
+ * malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for
+ tr_break.
+
+ * csu/Makefile (routines): Add dso_handle.
+ * csu/dso_handle.c: New file.
+
2002-12-31 Roland McGrath <roland@redhat.com>
* Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here.
subdir := csu
routines = init-first libc-start $(libc-init) sysdep version check_fds \
- libc-tls elf-init
+ libc-tls elf-init dso_handle
aux = errno
elide-routines.os = libc-tls
static-only-routines = elf-init
# include <time/time.h>
extern __typeof (strftime_l) __strftime_l;
+libc_hidden_proto (__strftime_l)
extern __typeof (strptime_l) __strptime_l;
libc_hidden_proto (time)
extern __typeof (wcstof_l) __wcstof_l;
extern __typeof (wcstold_l) __wcstold_l;
extern __typeof (wcsftime_l) __wcsftime_l;
+libc_hidden_proto (__wcsftime_l)
libc_hidden_proto (__wcstof_internal)
INTUSE(_IO_link_in) ((struct _IO_FILE_plus *) fp);
return fp;
}
+libc_hidden_def (_IO_file_open)
_IO_FILE *
_IO_new_file_fopen (fp, filename, mode, is32not64)
extern _IO_FILE* _IO_file_attach __P ((_IO_FILE *, int));
extern _IO_FILE* _IO_file_open __P ((_IO_FILE *, const char *, int, int,
int, int));
+libc_hidden_proto (_IO_file_open)
extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *,
int));
extern _IO_ssize_t _IO_file_write __P ((_IO_FILE *, const void *,
set "mallwatch" to the address of interest, then put a breakpoint on
tr_break. */
-void tr_break __P ((void));
+extern void tr_break __P ((void));
+libc_hidden_proto (tr_break)
void
tr_break ()
{
}
+libc_hidden_def (tr_break)
static void tr_where __P ((const __ptr_t)) internal_function;
static void
-/* Copyright (C) 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2002 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
#define _FORCE_INLINES
#define __STRING_INLINE /* empty */
+/* This is to avoid PLT entries for the x86 version. */
+#define __memcpy_g __memcpy_g_internal
+#define __strchr_g __strchr_g_internal
+
#include <string.h>
+
+#ifdef __memcpy_c
+# undef __memcpy_g
+strong_alias (__memcpy_g_internal, __memcpy_g)
+# undef __strchr_g
+strong_alias (__strchr_g_internal, __strchr_g)
+#endif
*p = L_('\0');
return i;
}
-#if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
+#ifdef _LIBC
libc_hidden_def (my_strftime)
#endif