diff --git a/ChangeLog b/ChangeLog index 86eb56b09c..b7096e274c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-10-16 Ulrich Drepper + + * time/tzfile.c (__tzfile_read): Help the compiler recognize + unreachable code on 32-bit machines. + 2007-10-16 Jakub Jelinek [BZ #5184] diff --git a/sysdeps/i386/elf/configure b/sysdeps/i386/elf/configure index 1182d974bc..12e92cd0eb 100755 --- a/sysdeps/i386/elf/configure +++ b/sysdeps/i386/elf/configure @@ -4,8 +4,8 @@ if test "$usetls" != no; then # Check for support of thread-local storage handling in assembler and # linker. -echo "$as_me:$LINENO: checking for i386 TLS support" >&5 -echo $ECHO_N "checking for i386 TLS support... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for i386 TLS support" >&5 +echo $ECHO_N "checking for i386 TLS support... $ECHO_C" >&6; } if test "${libc_cv_386_tls+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -37,8 +37,8 @@ else fi rm -f conftest* fi -echo "$as_me:$LINENO: result: $libc_cv_386_tls" >&5 -echo "${ECHO_T}$libc_cv_386_tls" >&6 +{ echo "$as_me:$LINENO: result: $libc_cv_386_tls" >&5 +echo "${ECHO_T}$libc_cv_386_tls" >&6; } if test $libc_cv_386_tls = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_TLS_SUPPORT 1 diff --git a/time/tzfile.c b/time/tzfile.c index 925f95fb78..6a8bf89f9e 100644 --- a/time/tzfile.c +++ b/time/tzfile.c @@ -243,7 +243,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap) & ~(__alignof__ (struct leap) - 1)); leaps_idx = total_size; total_size += num_leaps * sizeof (struct leap); - tzspec_len = (trans_width == 8 + tzspec_len = (sizeof (time_t) == 8 && trans_width == 8 ? st.st_size - (ftello (f) + num_transitions * (8 + 1) + num_types * 6 @@ -263,14 +263,14 @@ __tzfile_read (const char *file, size_t extra, char **extrap) types = (struct ttinfo *) ((char *) transitions + types_idx); zone_names = (char *) types + num_types * sizeof (struct ttinfo); leaps = (struct leap *) ((char *) transitions + leaps_idx); - if (trans_width == 8) + if (sizeof (time_t) == 8 && trans_width == 8) tzspec = (char *) leaps + num_leaps * sizeof (struct leap) + extra; else tzspec = NULL; if (extra > 0) *extrap = (char *) &leaps[num_leaps]; - if (sizeof (time_t) == 4 || trans_width == 8) + if (sizeof (time_t) == 4 || __builtin_expect (trans_width == 8, 1)) { if (__builtin_expect (fread_unlocked (transitions, trans_width + 1, num_transitions, f)