+2014-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #17583]
+ * libio/fileno.c (fileno): Rename to __fileno and define as weak
+ alias of __fileno. Use libc_hidden_weak.
+ (__fileno): Use libc_hidden_def.
+ [weak_alias] (fileno_unlocked): Define as weak alias of __fileno.
+ * libio/ftello.c (ftello): Rename to __ftello and define as weak
+ alias of __ftello.
+ [__OFF_T_MATCHES_OFF64_T] (ftello64): Define as weak alias of
+ __ftello.
+ * libio/iofread.c [weak_alias && !_IO_MTSAFE_IO]
+ (__fread_unlocked): Define as strong alias of _IO_fread. Use
+ libc_hidden_def.
+ (fread_unlocked): Don't use libc_hidden_ver.
+ * libio/iofread_u.c (fread_unlocked): Rename to __fread_unlocked
+ and define as weak alias of __fread_unlocked. Don't use
+ libc_hidden_def.
+ (__fread_unlocked): Use libc_hidden_def.
+ * include/stdio.h (__fileno): Declare. Use libc_hidden_proto.
+ (ftello): Don't use libc_hidden_proto.
+ (__ftello): Declare. Use libc_hidden_proto.
+ (fread_unlocked): Don't use libc_hidden_proto.
+ (__fread_unlocked): Declare. Use libc_hidden_proto.
+ * time/tzfile.c (__tzfile_read): Use __fileno, __fread_unlocked
+ and __ftello instead of fileno, fread_unlocked and ftello.
+
2012-11-12 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/s390/s390-32/bcopy.S (__bcopy): Use GOT instead of
libc_hidden_proto (remove)
libc_hidden_proto (rewind)
libc_hidden_proto (fileno)
+extern __typeof (fileno) __fileno;
+libc_hidden_proto (__fileno)
libc_hidden_proto (fwrite)
libc_hidden_proto (fseek)
-libc_hidden_proto (ftello)
+extern __typeof (ftello) __ftello;
+libc_hidden_proto (__ftello)
libc_hidden_proto (fflush)
libc_hidden_proto (fflush_unlocked)
-libc_hidden_proto (fread_unlocked)
+extern __typeof (fread_unlocked) __fread_unlocked;
+libc_hidden_proto (__fread_unlocked)
libc_hidden_proto (fwrite_unlocked)
libc_hidden_proto (fgets_unlocked)
libc_hidden_proto (fputs_unlocked)
goto ret_free_transitions;
/* Get information about the file we are actually using. */
- if (fstat64 (fileno (f), &st) != 0)
+ if (fstat64 (__fileno (f), &st) != 0)
{
fclose (f);
goto ret_free_transitions;
__fsetlocking (f, FSETLOCKING_BYCALLER);
read_again:
- if (__builtin_expect (fread_unlocked ((void *) &tzhead, sizeof (tzhead),
- 1, f) != 1, 0)
+ if (__builtin_expect (__fread_unlocked ((void *) &tzhead, sizeof (tzhead),
+ 1, f) != 1, 0)
|| memcmp (tzhead.tzh_magic, TZ_MAGIC, sizeof (tzhead.tzh_magic)) != 0)
goto lose;
tzspec_len = 0;
if (sizeof (time_t) == 8 && trans_width == 8)
{
- off_t rem = st.st_size - ftello (f);
+ off_t rem = st.st_size - __ftello (f);
if (__builtin_expect (rem < 0
|| (size_t) rem < (num_transitions * (8 + 1)
+ num_types * 6
if (sizeof (time_t) == 4 || __builtin_expect (trans_width == 8, 1))
{
- if (__builtin_expect (fread_unlocked (transitions, trans_width + 1,
- num_transitions, f)
+ if (__builtin_expect (__fread_unlocked (transitions, trans_width + 1,
+ num_transitions, f)
!= num_transitions, 0))
goto lose;
}
else
{
- if (__builtin_expect (fread_unlocked (transitions, 4, num_transitions, f)
+ if (__builtin_expect (__fread_unlocked (transitions, 4,
+ num_transitions, f)
!= num_transitions, 0)
- || __builtin_expect (fread_unlocked (type_idxs, 1, num_transitions,
- f) != num_transitions, 0))
+ || __builtin_expect (__fread_unlocked (type_idxs, 1, num_transitions,
+ f) != num_transitions, 0))
goto lose;
}
{
unsigned char x[4];
int c;
- if (__builtin_expect (fread_unlocked (x, 1, sizeof (x), f) != sizeof (x),
+ if (__builtin_expect (__fread_unlocked (x, 1,
+ sizeof (x), f) != sizeof (x),
0))
goto lose;
c = getc_unlocked (f);
types[i].offset = (long int) decode (x);
}
- if (__glibc_unlikely (fread_unlocked (zone_names, 1, chars, f) != chars))
+ if (__glibc_unlikely (__fread_unlocked (zone_names, 1, chars, f) != chars))
goto lose;
for (i = 0; i < num_leaps; ++i)
{
unsigned char x[8];
- if (__builtin_expect (fread_unlocked (x, 1, trans_width, f)
+ if (__builtin_expect (__fread_unlocked (x, 1, trans_width, f)
!= trans_width, 0))
goto lose;
if (sizeof (time_t) == 4 || trans_width == 4)
else
leaps[i].transition = (time_t) decode64 (x);
- if (__glibc_unlikely (fread_unlocked (x, 1, 4, f) != 4))
+ if (__glibc_unlikely (__fread_unlocked (x, 1, 4, f) != 4))
goto lose;
leaps[i].change = (long int) decode (x);
}
{
/* Skip over the newline first. */
if (getc_unlocked (f) != '\n'
- || (fread_unlocked (tzspec, 1, tzspec_len - 1, f)
+ || (__fread_unlocked (tzspec, 1, tzspec_len - 1, f)
!= tzspec_len - 1))
tzspec = NULL;
else
else if (sizeof (time_t) == 4 && tzhead.tzh_version[0] != '\0')
{
/* Get the TZ string. */
- if (__builtin_expect (fread_unlocked ((void *) &tzhead, sizeof (tzhead),
- 1, f) != 1, 0)
+ if (__builtin_expect (__fread_unlocked ((void *) &tzhead,
+ sizeof (tzhead), 1, f) != 1, 0)
|| (memcmp (tzhead.tzh_magic, TZ_MAGIC, sizeof (tzhead.tzh_magic))
!= 0))
goto lose;
+ num_isgmt2);
off_t off;
if (fseek (f, to_skip, SEEK_CUR) != 0
- || (off = ftello (f)) < 0
+ || (off = __ftello (f)) < 0
|| st.st_size < off + 2)
goto lose;
tzspec_len = st.st_size - off - 1;
char *tzstr = alloca (tzspec_len);
if (getc_unlocked (f) != '\n'
- || (fread_unlocked (tzstr, 1, tzspec_len - 1, f) != tzspec_len - 1))
+ || (__fread_unlocked (tzstr, 1, tzspec_len - 1, f)
+ != tzspec_len - 1))
goto lose;
tzstr[tzspec_len - 1] = '\0';
tzspec = __tzstring (tzstr);