mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-24 14:41:06 +08:00
* elf/dl-open.c (dl_open_worker): Declare l in 2 different
smaller scopes. * elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument. (DL_DST_REQUIRED): Adjust user. * include/dlfcn.h (struct link_map): New forward decl. * inet/getnameinfo.c: Include stddef.h. (getnameinfo): Use offsetof. * time/tst-mktime2.c (do_test): Don't rely on signed wrap. * stdio-common/vfprintf.c (_itoa): Undef before redefining. * string/strerror_l.c: Include stdlib.h.
This commit is contained in:
parent
b037a293a4
commit
965cba048c
16
ChangeLog
16
ChangeLog
@ -1,5 +1,21 @@
|
|||||||
2007-03-16 Jakub Jelinek <jakub@redhat.com>
|
2007-03-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-open.c (dl_open_worker): Declare l in 2 different
|
||||||
|
smaller scopes.
|
||||||
|
* elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument.
|
||||||
|
(DL_DST_REQUIRED): Adjust user.
|
||||||
|
|
||||||
|
* include/dlfcn.h (struct link_map): New forward decl.
|
||||||
|
|
||||||
|
* inet/getnameinfo.c: Include stddef.h.
|
||||||
|
(getnameinfo): Use offsetof.
|
||||||
|
|
||||||
|
* time/tst-mktime2.c (do_test): Don't rely on signed wrap.
|
||||||
|
|
||||||
|
* stdio-common/vfprintf.c (_itoa): Undef before redefining.
|
||||||
|
|
||||||
|
* string/strerror_l.c: Include stdlib.h.
|
||||||
|
|
||||||
* configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
|
* configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
|
||||||
* config.make.in (gnu89-inline-CFLAGS): New variable.
|
* config.make.in (gnu89-inline-CFLAGS): New variable.
|
||||||
* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
|
* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
|
||||||
|
39
configure
vendored
39
configure
vendored
@ -313,7 +313,7 @@ ac_includes_default="\
|
|||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif"
|
#endif"
|
||||||
|
|
||||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_subdirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_time libc_cv_ssp libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_libcap have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
|
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_subdirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_time libc_cv_ssp libc_cv_gnu89_inline libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_libcap have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
@ -5959,6 +5959,42 @@ echo "$as_me:$LINENO: result: $libc_cv_ssp" >&5
|
|||||||
echo "${ECHO_T}$libc_cv_ssp" >&6
|
echo "${ECHO_T}$libc_cv_ssp" >&6
|
||||||
|
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5
|
||||||
|
echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6
|
||||||
|
if test "${libc_cv_gnu89_inline+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
int foo;
|
||||||
|
#ifdef __GNUC_GNU_INLINE__
|
||||||
|
main () { return 0;}
|
||||||
|
#else
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -std=gnu99 -fgnu89-inline
|
||||||
|
-o conftest conftest.c 1>&5'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }
|
||||||
|
then
|
||||||
|
libc_cv_gnu89_inline=yes
|
||||||
|
else
|
||||||
|
libc_cv_gnu89_inline=no
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $libc_cv_gnu89_inline" >&5
|
||||||
|
echo "${ECHO_T}$libc_cv_gnu89_inline" >&6
|
||||||
|
if test $libc_cv_gnu89_inline = yes; then
|
||||||
|
libc_cv_gnu89_inline=-fgnu89-inline
|
||||||
|
else
|
||||||
|
libc_cv_gnu89_inline=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if test $elf != yes; then
|
if test $elf != yes; then
|
||||||
echo "$as_me:$LINENO: checking for .init and .fini sections" >&5
|
echo "$as_me:$LINENO: checking for .init and .fini sections" >&5
|
||||||
echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6
|
echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6
|
||||||
@ -8517,6 +8553,7 @@ s,@libc_cv_fpie@,$libc_cv_fpie,;t t
|
|||||||
s,@libc_cv_hashstyle@,$libc_cv_hashstyle,;t t
|
s,@libc_cv_hashstyle@,$libc_cv_hashstyle,;t t
|
||||||
s,@fno_unit_at_a_time@,$fno_unit_at_a_time,;t t
|
s,@fno_unit_at_a_time@,$fno_unit_at_a_time,;t t
|
||||||
s,@libc_cv_ssp@,$libc_cv_ssp,;t t
|
s,@libc_cv_ssp@,$libc_cv_ssp,;t t
|
||||||
|
s,@libc_cv_gnu89_inline@,$libc_cv_gnu89_inline,;t t
|
||||||
s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t
|
s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t
|
||||||
s,@no_whole_archive@,$no_whole_archive,;t t
|
s,@no_whole_archive@,$no_whole_archive,;t t
|
||||||
s,@exceptions@,$exceptions,;t t
|
s,@exceptions@,$exceptions,;t t
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/* Handling of dynamic sring tokens.
|
/* Handling of dynamic sring tokens.
|
||||||
Copyright (C) 1999,2001,2002,2003,2004,2006 Free Software Foundation, Inc.
|
Copyright (C) 1999,2001,2002,2003,2004,2006,2007
|
||||||
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -50,7 +51,7 @@
|
|||||||
\
|
\
|
||||||
First get the origin string if it is not available yet. \
|
First get the origin string if it is not available yet. \
|
||||||
This can only happen for the map of the executable. */ \
|
This can only happen for the map of the executable. */ \
|
||||||
DL_DST_REQ_STATIC \
|
DL_DST_REQ_STATIC (l) \
|
||||||
if ((l)->l_origin == NULL) \
|
if ((l)->l_origin == NULL) \
|
||||||
{ \
|
{ \
|
||||||
assert ((l)->l_name[0] == '\0'); \
|
assert ((l)->l_name[0] == '\0'); \
|
||||||
@ -68,9 +69,9 @@
|
|||||||
__len; })
|
__len; })
|
||||||
|
|
||||||
#ifdef SHARED
|
#ifdef SHARED
|
||||||
# define DL_DST_REQ_STATIC /* nothing */
|
# define DL_DST_REQ_STATIC(l) /* nothing */
|
||||||
#else
|
#else
|
||||||
# define DL_DST_REQ_STATIC \
|
# define DL_DST_REQ_STATIC(l) \
|
||||||
if ((l) == NULL) \
|
if ((l) == NULL) \
|
||||||
{ \
|
{ \
|
||||||
const char *origin = _dl_get_origin (); \
|
const char *origin = _dl_get_origin (); \
|
||||||
|
@ -161,7 +161,7 @@ dl_open_worker (void *a)
|
|||||||
struct dl_open_args *args = a;
|
struct dl_open_args *args = a;
|
||||||
const char *file = args->file;
|
const char *file = args->file;
|
||||||
int mode = args->mode;
|
int mode = args->mode;
|
||||||
struct link_map *new, *l;
|
struct link_map *new;
|
||||||
int lazy;
|
int lazy;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
bool any_tls = false;
|
bool any_tls = false;
|
||||||
@ -186,6 +186,7 @@ dl_open_worker (void *a)
|
|||||||
By default we assume this is the main application. */
|
By default we assume this is the main application. */
|
||||||
call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
|
call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
|
||||||
|
|
||||||
|
struct link_map *l;
|
||||||
for (Lmid_t ns = 0; ns < DL_NNS; ++ns)
|
for (Lmid_t ns = 0; ns < DL_NNS; ++ns)
|
||||||
for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
|
for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
|
||||||
if (caller_dlopen >= (const void *) l->l_map_start
|
if (caller_dlopen >= (const void *) l->l_map_start
|
||||||
@ -325,7 +326,7 @@ dl_open_worker (void *a)
|
|||||||
/* Relocate the objects loaded. We do this in reverse order so that copy
|
/* Relocate the objects loaded. We do this in reverse order so that copy
|
||||||
relocs of earlier objects overwrite the data written by later objects. */
|
relocs of earlier objects overwrite the data written by later objects. */
|
||||||
|
|
||||||
l = new;
|
struct link_map *l = new;
|
||||||
while (l->l_next)
|
while (l->l_next)
|
||||||
l = l->l_next;
|
l = l->l_next;
|
||||||
while (1)
|
while (1)
|
||||||
|
@ -45,6 +45,8 @@ extern int _dl_addr (const void *address, Dl_info *info,
|
|||||||
libc_hidden_proto (_dl_addr)
|
libc_hidden_proto (_dl_addr)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct link_map;
|
||||||
|
|
||||||
/* Close an object previously opened by _dl_open. */
|
/* Close an object previously opened by _dl_open. */
|
||||||
extern void _dl_close (void *map) attribute_hidden;
|
extern void _dl_close (void *map) attribute_hidden;
|
||||||
/* Same as above, but without locking and safety checks for user
|
/* Same as above, but without locking and safety checks for user
|
||||||
|
@ -38,6 +38,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
|
#include <stddef.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -180,7 +181,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
|
|||||||
switch (sa->sa_family)
|
switch (sa->sa_family)
|
||||||
{
|
{
|
||||||
case AF_LOCAL:
|
case AF_LOCAL:
|
||||||
if (addrlen < (socklen_t) (((struct sockaddr_un *) NULL)->sun_path))
|
if (addrlen < (socklen_t) offsetof (struct sockaddr_un, sun_path))
|
||||||
return EAI_FAMILY;
|
return EAI_FAMILY;
|
||||||
break;
|
break;
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2007-03-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/pthread/bits/libc-lock.h: Use __extern_inline and
|
||||||
|
__extern_always_inline where appropriate.
|
||||||
|
* sysdeps/pthread/pthread.h: Likewise.
|
||||||
|
|
||||||
2007-03-13 Richard Henderson <rth@redhat.com>
|
2007-03-13 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two
|
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006
|
/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
@ -99,6 +99,7 @@
|
|||||||
# define PUTC(C, F) _IO_putwc_unlocked (C, F)
|
# define PUTC(C, F) _IO_putwc_unlocked (C, F)
|
||||||
# define ORIENT if (_IO_fwide (s, 1) != 1) return -1
|
# define ORIENT if (_IO_fwide (s, 1) != 1) return -1
|
||||||
|
|
||||||
|
# undef _itoa
|
||||||
# define _itoa(Val, Buf, Base, Case) _itowa (Val, Buf, Base, Case)
|
# define _itoa(Val, Buf, Base, Case) _itowa (Val, Buf, Base, Case)
|
||||||
# define _itoa_word(Val, Buf, Base, Case) _itowa_word (Val, Buf, Base, Case)
|
# define _itoa_word(Val, Buf, Base, Case) _itowa_word (Val, Buf, Base, Case)
|
||||||
# undef EOF
|
# undef EOF
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <libintl.h>
|
#include <libintl.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
|
||||||
|
@ -102,7 +102,8 @@ static int
|
|||||||
do_test (void)
|
do_test (void)
|
||||||
{
|
{
|
||||||
time_t t, delta;
|
time_t t, delta;
|
||||||
int i, j;
|
int i;
|
||||||
|
unsigned int j;
|
||||||
|
|
||||||
setenv ("TZ", "America/Sao_Paulo", 1);
|
setenv ("TZ", "America/Sao_Paulo", 1);
|
||||||
/* This test makes some buggy mktime implementations loop.
|
/* This test makes some buggy mktime implementations loop.
|
||||||
@ -128,7 +129,7 @@ do_test (void)
|
|||||||
mktime_test ((time_t) (60 * 60));
|
mktime_test ((time_t) (60 * 60));
|
||||||
mktime_test ((time_t) (60 * 60 * 24));
|
mktime_test ((time_t) (60 * 60 * 24));
|
||||||
|
|
||||||
for (j = 1; 0 < j; j *= 2)
|
for (j = 1; j <= INT_MAX; j *= 2)
|
||||||
bigtime_test (j);
|
bigtime_test (j);
|
||||||
bigtime_test (j - 1);
|
bigtime_test (j - 1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user