mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-05 21:00:05 +00:00
Update.
2002-07-15 Alexandre Oliva <aoliva@redhat.com> * configure.in (static_nss): Set to `yes' if --disable-shared. 2002-07-23 Bruno Haible <bruno@clisp.org> * intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN is set. 2002-07-25 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter arguments. 2002-07-25 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add alias. 2002-07-21 Bruno Haible <bruno@clisp.org> * intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro. * intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments, sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset, trans_sysdep_tab_offset. (struct sysdep_segment): New type. (struct sysdep_string): New type. (SEGMENTS_END): New macro. * intl/gettextP.h (struct sysdep_string_desc): New type. (struct loaded_domain): New fields malloced, n_sysdep_strings, orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields orig_tab, trans_tab, hash_tab to const pointers because they point into read-only memory. * intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h. (PRI*): Define fallback values. (get_sysdep_segment_value): New function. (_nl_load_domain): Distinguish major and minor revision parts. Add support for minor revision 1 with system dependent strings. (_nl_unload_domain): Also free the 'malloced' field. * intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size, now done in loadmsgcat.c. Add support for system dependent strings.
This commit is contained in:
parent
d683fe11f9
commit
3172f58fa3
43
ChangeLog
43
ChangeLog
@ -1,3 +1,46 @@
|
||||
2002-07-15 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* configure.in (static_nss): Set to `yes' if --disable-shared.
|
||||
|
||||
2002-07-23 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
* intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN
|
||||
is set.
|
||||
|
||||
2002-07-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file.
|
||||
* sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter
|
||||
arguments.
|
||||
|
||||
2002-07-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add
|
||||
alias.
|
||||
|
||||
2002-07-21 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
* intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro.
|
||||
* intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments,
|
||||
sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset,
|
||||
trans_sysdep_tab_offset.
|
||||
(struct sysdep_segment): New type.
|
||||
(struct sysdep_string): New type.
|
||||
(SEGMENTS_END): New macro.
|
||||
* intl/gettextP.h (struct sysdep_string_desc): New type.
|
||||
(struct loaded_domain): New fields malloced, n_sysdep_strings,
|
||||
orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields
|
||||
orig_tab, trans_tab, hash_tab to const pointers because they point
|
||||
into read-only memory.
|
||||
* intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h.
|
||||
(PRI*): Define fallback values.
|
||||
(get_sysdep_segment_value): New function.
|
||||
(_nl_load_domain): Distinguish major and minor revision parts. Add
|
||||
support for minor revision 1 with system dependent strings.
|
||||
(_nl_unload_domain): Also free the 'malloced' field.
|
||||
* intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size,
|
||||
now done in loadmsgcat.c. Add support for system dependent strings.
|
||||
|
||||
2002-07-16 Stepan Kasal <kasal@math.cas.cz>
|
||||
|
||||
* posix/bug-regex7.c: New file.
|
||||
|
251
configure
vendored
251
configure
vendored
@ -861,6 +861,7 @@ else
|
||||
fi
|
||||
|
||||
if test x"$static_nss" = xyes || test x"$shared" = xno; then
|
||||
static_nss=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define DO_STATIC_NSS 1
|
||||
EOF
|
||||
@ -907,7 +908,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
||||
echo "configure:911: checking host system type" >&5
|
||||
echo "configure:912: checking host system type" >&5
|
||||
|
||||
host_alias=$host
|
||||
case "$host_alias" in
|
||||
@ -1055,7 +1056,7 @@ fi
|
||||
# This can take a while to compute.
|
||||
sysdep_dir=$srcdir/sysdeps
|
||||
echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
|
||||
echo "configure:1059: checking sysdep dirs" >&5
|
||||
echo "configure:1060: checking sysdep dirs" >&5
|
||||
# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
|
||||
os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
|
||||
|
||||
@ -1278,7 +1279,7 @@ echo "$ac_t""$default_sysnames" 1>&6
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:1282: checking for a BSD compatible install" >&5
|
||||
echo "configure:1283: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -1335,7 +1336,7 @@ if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
|
||||
INSTALL='\$(..)./scripts/install-sh -c'
|
||||
fi
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:1339: checking whether ln -s works" >&5
|
||||
echo "configure:1340: checking whether ln -s works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1364,7 +1365,7 @@ fi
|
||||
# Extract the first word of "pwd", so it can be a program name with args.
|
||||
set dummy pwd; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1368: checking for $ac_word" >&5
|
||||
echo "configure:1369: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_PWD_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1403,7 +1404,7 @@ fi
|
||||
|
||||
# These programs are version sensitive.
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1407: checking build system type" >&5
|
||||
echo "configure:1408: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@ -1431,7 +1432,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1435: checking for $ac_word" >&5
|
||||
echo "configure:1436: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1465,7 +1466,7 @@ if test -z "$CC"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $CC""... $ac_c" 1>&6
|
||||
echo "configure:1469: checking version of $CC" >&5
|
||||
echo "configure:1470: checking version of $CC" >&5
|
||||
ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@ -1485,7 +1486,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1489: checking for $ac_word" >&5
|
||||
echo "configure:1490: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1519,7 +1520,7 @@ if test -z "$MAKE"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MAKE""... $ac_c" 1>&6
|
||||
echo "configure:1523: checking version of $MAKE" >&5
|
||||
echo "configure:1524: checking version of $MAKE" >&5
|
||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@ -1548,7 +1549,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1552: checking for $ac_word" >&5
|
||||
echo "configure:1553: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1582,7 +1583,7 @@ if test -z "$MSGFMT"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MSGFMT""... $ac_c" 1>&6
|
||||
echo "configure:1586: checking version of $MSGFMT" >&5
|
||||
echo "configure:1587: checking version of $MSGFMT" >&5
|
||||
ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@ -1602,7 +1603,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1606: checking for $ac_word" >&5
|
||||
echo "configure:1607: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1636,7 +1637,7 @@ if test -z "$MAKEINFO"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MAKEINFO""... $ac_c" 1>&6
|
||||
echo "configure:1640: checking version of $MAKEINFO" >&5
|
||||
echo "configure:1641: checking version of $MAKEINFO" >&5
|
||||
ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@ -1656,7 +1657,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1660: checking for $ac_word" >&5
|
||||
echo "configure:1661: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_SED'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1690,7 +1691,7 @@ if test -z "$SED"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $SED""... $ac_c" 1>&6
|
||||
echo "configure:1694: checking version of $SED" >&5
|
||||
echo "configure:1695: checking version of $SED" >&5
|
||||
ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@ -1708,7 +1709,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
||||
echo "configure:1712: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
echo "configure:1713: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1722,12 +1723,12 @@ cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
|
||||
#line 1726 "configure"
|
||||
#line 1727 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:1731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
ac_cv_prog_cc_works=yes
|
||||
# If we can't run a trivial program, we are probably using a cross compiler.
|
||||
if (./conftest; exit) 2>/dev/null; then
|
||||
@ -1758,7 +1759,7 @@ else
|
||||
cross_linkable=yes
|
||||
fi
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
||||
echo "configure:1762: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
echo "configure:1763: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_cross'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1770,7 +1771,7 @@ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
||||
echo "configure:1774: checking whether we are using GNU C" >&5
|
||||
echo "configure:1775: checking whether we are using GNU C" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1779,7 +1780,7 @@ else
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
ac_cv_prog_gcc=yes
|
||||
else
|
||||
ac_cv_prog_gcc=no
|
||||
@ -1792,7 +1793,7 @@ if test $ac_cv_prog_gcc != yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1796: checking build system type" >&5
|
||||
echo "configure:1797: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@ -1815,7 +1816,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1819: checking for $ac_word" >&5
|
||||
echo "configure:1820: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1847,7 +1848,7 @@ done
|
||||
fi
|
||||
|
||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||
echo "configure:1851: checking how to run the C preprocessor" >&5
|
||||
echo "configure:1852: checking how to run the C preprocessor" >&5
|
||||
# On Suns, sometimes $CPP names a directory.
|
||||
if test -n "$CPP" && test -d "$CPP"; then
|
||||
CPP=
|
||||
@ -1862,13 +1863,13 @@ else
|
||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1866 "configure"
|
||||
#line 1867 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1872: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@ -1879,13 +1880,13 @@ else
|
||||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1883 "configure"
|
||||
#line 1884 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@ -1896,13 +1897,13 @@ else
|
||||
rm -rf conftest*
|
||||
CPP="${CC-cc} -nologo -E"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1900 "configure"
|
||||
#line 1901 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1907: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@ -1945,7 +1946,7 @@ if test $RANLIB = ranlib; then
|
||||
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1949: checking for $ac_word" >&5
|
||||
echo "configure:1950: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1977,7 +1978,7 @@ if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "ranlib", so it can be a program name with args.
|
||||
set dummy ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1981: checking for $ac_word" >&5
|
||||
echo "configure:1982: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2014,7 +2015,7 @@ fi
|
||||
|
||||
# Determine whether we are using GNU binutils.
|
||||
echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
|
||||
echo "configure:2018: checking whether $AS is GNU as" >&5
|
||||
echo "configure:2019: checking whether $AS is GNU as" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2033,7 +2034,7 @@ rm -f a.out
|
||||
gnu_as=$libc_cv_prog_as_gnu
|
||||
|
||||
echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
|
||||
echo "configure:2037: checking whether $LD is GNU ld" >&5
|
||||
echo "configure:2038: checking whether $LD is GNU ld" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2053,7 +2054,7 @@ gnu_ld=$libc_cv_prog_ld_gnu
|
||||
# Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}mig; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2057: checking for $ac_word" >&5
|
||||
echo "configure:2058: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MIG'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2110,7 +2111,7 @@ fi
|
||||
|
||||
# check if ranlib is necessary
|
||||
echo $ac_n "checking whether ranlib is necessary""... $ac_c" 1>&6
|
||||
echo "configure:2114: checking whether ranlib is necessary" >&5
|
||||
echo "configure:2115: checking whether ranlib is necessary" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ranlib_necessary'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2144,7 +2145,7 @@ fi
|
||||
# - two terminals occur directly after each other
|
||||
# - the path contains an element with a dot in it
|
||||
echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6
|
||||
echo "configure:2148: checking LD_LIBRARY_PATH variable" >&5
|
||||
echo "configure:2149: checking LD_LIBRARY_PATH variable" >&5
|
||||
case ${LD_LIBRARY_PATH} in
|
||||
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
|
||||
ld_library_path_setting="contains current directory"
|
||||
@ -2162,7 +2163,7 @@ if test "$ld_library_path_setting" != "ok"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether GCC supports -static-libgcc""... $ac_c" 1>&6
|
||||
echo "configure:2166: checking whether GCC supports -static-libgcc" >&5
|
||||
echo "configure:2167: checking whether GCC supports -static-libgcc" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_static_libgcc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2179,7 +2180,7 @@ echo "$ac_t""$libc_cv_gcc_static_libgcc" 1>&6
|
||||
# Extract the first word of "bash", so it can be a program name with args.
|
||||
set dummy bash; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2183: checking for $ac_word" >&5
|
||||
echo "configure:2184: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2225,7 +2226,7 @@ if test "$BASH" = no; then
|
||||
# Extract the first word of "ksh", so it can be a program name with args.
|
||||
set dummy ksh; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2229: checking for $ac_word" >&5
|
||||
echo "configure:2230: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2275,7 +2276,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2279: checking for $ac_word" >&5
|
||||
echo "configure:2280: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2307,7 +2308,7 @@ done
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
set dummy perl; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2311: checking for $ac_word" >&5
|
||||
echo "configure:2312: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2347,7 +2348,7 @@ fi
|
||||
# Extract the first word of "install-info", so it can be a program name with args.
|
||||
set dummy install-info; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2351: checking for $ac_word" >&5
|
||||
echo "configure:2352: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_INSTALL_INFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2382,7 +2383,7 @@ fi
|
||||
|
||||
if test "$INSTALL_INFO" != "no"; then
|
||||
echo $ac_n "checking for old Debian install-info""... $ac_c" 1>&6
|
||||
echo "configure:2386: checking for old Debian install-info" >&5
|
||||
echo "configure:2387: checking for old Debian install-info" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_old_debian_install_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2417,7 +2418,7 @@ fi
|
||||
# Extract the first word of "bison", so it can be a program name with args.
|
||||
set dummy bison; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2421: checking for $ac_word" >&5
|
||||
echo "configure:2422: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BISON'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2452,7 +2453,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
|
||||
echo "configure:2456: checking for signed size_t type" >&5
|
||||
echo "configure:2457: checking for signed size_t type" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2476,12 +2477,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
|
||||
echo "configure:2480: checking for libc-friendly stddef.h" >&5
|
||||
echo "configure:2481: checking for libc-friendly stddef.h" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2485 "configure"
|
||||
#line 2486 "configure"
|
||||
#include "confdefs.h"
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
@ -2496,7 +2497,7 @@ size_t size; wchar_t wchar;
|
||||
if (&size == NULL || &wchar == NULL) abort ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_friendly_stddef=yes
|
||||
else
|
||||
@ -2515,7 +2516,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
|
||||
echo "configure:2519: checking whether we need to use -P to assemble .S files" >&5
|
||||
echo "configure:2520: checking whether we need to use -P to assemble .S files" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2538,7 +2539,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether .text pseudo-op must be used""... $ac_c" 1>&6
|
||||
echo "configure:2542: checking whether .text pseudo-op must be used" >&5
|
||||
echo "configure:2543: checking whether .text pseudo-op must be used" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_dot_text'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2559,7 +2560,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
|
||||
echo "configure:2563: checking for assembler global-symbol directive" >&5
|
||||
echo "configure:2564: checking for assembler global-symbol directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2589,7 +2590,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2593: checking for .set assembler directive" >&5
|
||||
echo "configure:2594: checking for .set assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2632,7 +2633,7 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2636: checking for .symver assembler directive" >&5
|
||||
echo "configure:2637: checking for .symver assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2651,7 +2652,7 @@ fi
|
||||
|
||||
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
|
||||
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
|
||||
echo "configure:2655: checking for ld --version-script" >&5
|
||||
echo "configure:2656: checking for ld --version-script" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2674,7 +2675,7 @@ EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--version-script,conftest.map
|
||||
1>&5'; { (eval echo configure:2678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
1>&5'; { (eval echo configure:2679: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
@ -2713,7 +2714,7 @@ if test $elf = yes && test $shared != no && test $VERSIONING = no; then
|
||||
fi
|
||||
if test $elf = yes; then
|
||||
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2717: checking for .previous assembler directive" >&5
|
||||
echo "configure:2718: checking for .previous assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2721,7 +2722,7 @@ else
|
||||
.section foo_section
|
||||
.previous
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2726: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_previous_directive=yes
|
||||
else
|
||||
libc_cv_asm_previous_directive=no
|
||||
@ -2737,7 +2738,7 @@ EOF
|
||||
|
||||
else
|
||||
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2741: checking for .popsection assembler directive" >&5
|
||||
echo "configure:2742: checking for .popsection assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2745,7 +2746,7 @@ else
|
||||
.pushsection foo_section
|
||||
.popsection
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_popsection_directive=yes
|
||||
else
|
||||
libc_cv_asm_popsection_directive=no
|
||||
@ -2762,7 +2763,7 @@ EOF
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking for .protected and .hidden assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2766: checking for .protected and .hidden assembler directive" >&5
|
||||
echo "configure:2767: checking for .protected and .hidden assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_protected_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2772,7 +2773,7 @@ foo:
|
||||
.hidden bar
|
||||
bar:
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_protected_directive=yes
|
||||
else
|
||||
libc_cv_asm_protected_directive=no
|
||||
@ -2793,7 +2794,7 @@ EOF
|
||||
|
||||
if test $libc_cv_asm_protected_directive = yes; then
|
||||
echo $ac_n "checking whether __attribute__((visibility())) is supported""... $ac_c" 1>&6
|
||||
echo "configure:2797: checking whether __attribute__((visibility())) is supported" >&5
|
||||
echo "configure:2798: checking whether __attribute__((visibility())) is supported" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_visibility_attribute'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2824,7 +2825,7 @@ EOF
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
|
||||
echo $ac_n "checking whether to put _rtld_local into .sdata section""... $ac_c" 1>&6
|
||||
echo "configure:2828: checking whether to put _rtld_local into .sdata section" >&5
|
||||
echo "configure:2829: checking whether to put _rtld_local into .sdata section" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_sdata_section'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2848,7 +2849,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .preinit_array/.init_array/.fini_array support""... $ac_c" 1>&6
|
||||
echo "configure:2852: checking for .preinit_array/.init_array/.fini_array support" >&5
|
||||
echo "configure:2853: checking for .preinit_array/.init_array/.fini_array support" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_initfinit_array'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2859,7 +2860,7 @@ int foo (void) { return 1; }
|
||||
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -o conftest conftest.c
|
||||
-static -nostartfiles -nostdlib 1>&5'; { (eval echo configure:2863: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
-static -nostartfiles -nostdlib 1>&5'; { (eval echo configure:2864: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
|
||||
libc_cv_initfinit_array=yes
|
||||
@ -2882,7 +2883,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for -z nodelete option""... $ac_c" 1>&6
|
||||
echo "configure:2886: checking for -z nodelete option" >&5
|
||||
echo "configure:2887: checking for -z nodelete option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_nodelete'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2891,7 +2892,7 @@ int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
-Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_nodelete=yes
|
||||
else
|
||||
@ -2904,7 +2905,7 @@ echo "$ac_t""$libc_cv_z_nodelete" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z nodlopen option""... $ac_c" 1>&6
|
||||
echo "configure:2908: checking for -z nodlopen option" >&5
|
||||
echo "configure:2909: checking for -z nodlopen option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_nodlopen'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2913,7 +2914,7 @@ int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
-Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2918: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_nodlopen=yes
|
||||
else
|
||||
@ -2926,7 +2927,7 @@ echo "$ac_t""$libc_cv_z_nodlopen" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z initfirst option""... $ac_c" 1>&6
|
||||
echo "configure:2930: checking for -z initfirst option" >&5
|
||||
echo "configure:2931: checking for -z initfirst option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_initfirst'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2935,7 +2936,7 @@ int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
-Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2940: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_initfirst=yes
|
||||
else
|
||||
@ -2948,14 +2949,14 @@ echo "$ac_t""$libc_cv_z_initfirst" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -Bgroup option""... $ac_c" 1>&6
|
||||
echo "configure:2952: checking for -Bgroup option" >&5
|
||||
echo "configure:2953: checking for -Bgroup option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_Bgroup'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_Bgroup=yes
|
||||
else
|
||||
@ -2968,7 +2969,7 @@ echo "$ac_t""$libc_cv_Bgroup" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z combreloc""... $ac_c" 1>&6
|
||||
echo "configure:2972: checking for -z combreloc" >&5
|
||||
echo "configure:2973: checking for -z combreloc" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_combreloc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2979,7 +2980,7 @@ int foo (void) { return bar (mumble); }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostdlib -nostartfiles
|
||||
-Wl,-z,combreloc 1>&5'; { (eval echo configure:2983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
-Wl,-z,combreloc 1>&5'; { (eval echo configure:2984: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
||||
libc_cv_z_combreloc=yes
|
||||
@ -3004,12 +3005,12 @@ fi
|
||||
|
||||
if test $elf != yes; then
|
||||
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
|
||||
echo "configure:3008: checking for .init and .fini sections" >&5
|
||||
echo "configure:3009: checking for .init and .fini sections" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3013 "configure"
|
||||
#line 3014 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@ -3018,7 +3019,7 @@ asm (".section .init");
|
||||
asm ("${libc_cv_dot_text}");
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3022: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3023: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_have_initfini=yes
|
||||
else
|
||||
@ -3041,7 +3042,7 @@ fi
|
||||
|
||||
if test $elf = yes -a $gnu_ld = yes; then
|
||||
echo $ac_n "checking whether cc puts quotes around section names""... $ac_c" 1>&6
|
||||
echo "configure:3045: checking whether cc puts quotes around section names" >&5
|
||||
echo "configure:3046: checking whether cc puts quotes around section names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_section_quotes'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3078,19 +3079,19 @@ if test $elf = yes; then
|
||||
else
|
||||
if test $ac_cv_prog_cc_works = yes; then
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:3082: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:3083: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3087 "configure"
|
||||
#line 3088 "configure"
|
||||
#include "confdefs.h"
|
||||
asm ("_glibc_foobar:");
|
||||
int main() {
|
||||
glibc_foobar ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
else
|
||||
@ -3105,17 +3106,17 @@ fi
|
||||
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
|
||||
else
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:3109: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:3110: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3114 "configure"
|
||||
#line 3115 "configure"
|
||||
#include "confdefs.h"
|
||||
void underscore_test(void) {
|
||||
return; }
|
||||
EOF
|
||||
if { (eval echo configure:3119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if grep _underscore_test conftest* >/dev/null; then
|
||||
rm -f conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
@ -3147,7 +3148,7 @@ if test $elf = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
|
||||
echo "configure:3151: checking for assembler .weak directive" >&5
|
||||
echo "configure:3152: checking for assembler .weak directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3170,7 +3171,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
|
||||
|
||||
if test $libc_cv_asm_weak_directive = no; then
|
||||
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
|
||||
echo "configure:3174: checking for assembler .weakext directive" >&5
|
||||
echo "configure:3175: checking for assembler .weakext directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3217,14 +3218,14 @@ EOF
|
||||
;;
|
||||
hppa*linux*)
|
||||
echo $ac_n "checking for assembler line separator""... $ac_c" 1>&6
|
||||
echo "configure:3221: checking for assembler line separator" >&5
|
||||
echo "configure:3222: checking for assembler line separator" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_line_sep'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.s <<EOF
|
||||
nop ; is_old_puffin
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3228: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_line_sep='!'
|
||||
else
|
||||
if test -z "$enable_hacker_mode"; then
|
||||
@ -3246,7 +3247,7 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
|
||||
echo "configure:3250: checking for ld --no-whole-archive" >&5
|
||||
echo "configure:3251: checking for ld --no-whole-archive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3257,7 +3258,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -Wl,--no-whole-archive
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3261: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_ld_no_whole_archive=yes
|
||||
else
|
||||
libc_cv_ld_no_whole_archive=no
|
||||
@ -3271,7 +3272,7 @@ if test $libc_cv_ld_no_whole_archive = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6
|
||||
echo "configure:3275: checking for gcc -fexceptions" >&5
|
||||
echo "configure:3276: checking for gcc -fexceptions" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3282,7 +3283,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -fexceptions
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3287: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_exceptions=yes
|
||||
else
|
||||
libc_cv_gcc_exceptions=no
|
||||
@ -3297,14 +3298,14 @@ fi
|
||||
|
||||
if test "$base_machine" = alpha ; then
|
||||
echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
|
||||
echo "configure:3301: checking for function ..ng prefix" >&5
|
||||
echo "configure:3302: checking for function ..ng prefix" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<\EOF
|
||||
foo () { }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_gcc_alpha_ng_prefix=yes
|
||||
else
|
||||
@ -3331,19 +3332,19 @@ if test "$host_cpu" = powerpc ; then
|
||||
# Check for a bug present in at least versions 2.8.x of GCC
|
||||
# and versions 1.0.x of EGCS.
|
||||
echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
|
||||
echo "configure:3335: checking whether clobbering cr0 causes problems" >&5
|
||||
echo "configure:3336: checking whether clobbering cr0 causes problems" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3340 "configure"
|
||||
#line 3341 "configure"
|
||||
#include "confdefs.h"
|
||||
int tester(int x) { asm ("" : : : "cc"); return x & 123; }
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_c_asmcr0_bug='no'
|
||||
else
|
||||
@ -3365,12 +3366,12 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
|
||||
echo "configure:3369: checking for DWARF2 unwind info support" >&5
|
||||
echo "configure:3370: checking for DWARF2 unwind info support" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3374 "configure"
|
||||
#line 3375 "configure"
|
||||
static char *__EH_FRAME_BEGIN__;
|
||||
_start ()
|
||||
{
|
||||
@ -3397,14 +3398,14 @@ __bzero () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=static
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
fi
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc -lgcc_eh >&5'; { (eval echo configure:3408: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc -lgcc_eh >&5'; { (eval echo configure:3409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if ${CC-cc} $CFLAGS -DCHECK__register_frame_info -nostdlib -nostartfiles \
|
||||
-o conftest conftest.c -lgcc -lgcc_eh -v 2>&1 >/dev/null \
|
||||
| grep -q -- --eh-frame-hdr; then
|
||||
@ -3418,7 +3419,7 @@ fi
|
||||
if test $libc_cv_gcc_dwarf2_unwind_info = no; then
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3423: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=yes
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
@ -3448,12 +3449,12 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6
|
||||
echo "configure:3452: checking for __builtin_expect" >&5
|
||||
echo "configure:3453: checking for __builtin_expect" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3457 "configure"
|
||||
#line 3458 "configure"
|
||||
int foo (int a)
|
||||
{
|
||||
a = __builtin_expect (a, 10);
|
||||
@ -3461,7 +3462,7 @@ int foo (int a)
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_builtin_expect=yes
|
||||
else
|
||||
libc_cv_gcc_builtin_expect=no
|
||||
@ -3478,7 +3479,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for __builtin_memset""... $ac_c" 1>&6
|
||||
echo "configure:3482: checking for __builtin_memset" >&5
|
||||
echo "configure:3483: checking for __builtin_memset" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_builtin_memset'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3488,7 +3489,7 @@ void zero (void *x)
|
||||
__builtin_memset (x, 0, 1000);
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null'; { (eval echo configure:3492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null'; { (eval echo configure:3493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_gcc_builtin_memset=no
|
||||
else
|
||||
@ -3506,12 +3507,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for local label subtraction""... $ac_c" 1>&6
|
||||
echo "configure:3510: checking for local label subtraction" >&5
|
||||
echo "configure:3511: checking for local label subtraction" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_subtract_local_labels'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3515 "configure"
|
||||
#line 3516 "configure"
|
||||
int foo (int a)
|
||||
{
|
||||
static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
|
||||
@ -3524,7 +3525,7 @@ int foo (int a)
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_subtract_local_labels=yes
|
||||
else
|
||||
libc_cv_gcc_subtract_local_labels=no
|
||||
@ -3541,14 +3542,14 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for __thread""... $ac_c" 1>&6
|
||||
echo "configure:3545: checking for __thread" >&5
|
||||
echo "configure:3546: checking for __thread" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc___thread'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
__thread int a = 42;
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -c conftest.c >&5'; { (eval echo configure:3552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} $CFLAGS -c conftest.c >&5'; { (eval echo configure:3553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc___thread=yes
|
||||
else
|
||||
libc_cv_gcc___thread=no
|
||||
@ -3566,7 +3567,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for libgd""... $ac_c" 1>&6
|
||||
echo "configure:3570: checking for libgd" >&5
|
||||
echo "configure:3571: checking for libgd" >&5
|
||||
if test "$with_gd" != "no"; then
|
||||
old_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $libgd_include"
|
||||
@ -3575,14 +3576,14 @@ if test "$with_gd" != "no"; then
|
||||
old_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lgd -lpng -lz -lm"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3579 "configure"
|
||||
#line 3580 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <gd.h>
|
||||
int main() {
|
||||
gdImagePng (0, 0)
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
LIBGD=yes
|
||||
else
|
||||
@ -3602,7 +3603,7 @@ echo "$ac_t""$LIBGD" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking size of long double""... $ac_c" 1>&6
|
||||
echo "configure:3606: checking size of long double" >&5
|
||||
echo "configure:3607: checking size of long double" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3610,7 +3611,7 @@ else
|
||||
ac_cv_sizeof_long_double=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3614 "configure"
|
||||
#line 3615 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
@ -3621,7 +3622,7 @@ int main()
|
||||
return(0);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:3625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:3626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_sizeof_long_double=`cat conftestval`
|
||||
else
|
||||
@ -3699,7 +3700,7 @@ if test "$uname" = "sysdeps/generic"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
|
||||
echo "configure:3703: checking OS release for uname" >&5
|
||||
echo "configure:3704: checking OS release for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3721,7 +3722,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
|
||||
uname_release="$libc_cv_uname_release"
|
||||
|
||||
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
|
||||
echo "configure:3725: checking OS version for uname" >&5
|
||||
echo "configure:3726: checking OS version for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3750,7 +3751,7 @@ EOF
|
||||
# Test for old glibc 2.0.x headers so that they can be removed properly
|
||||
# Search only in includedir.
|
||||
echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6
|
||||
echo "configure:3754: checking for old glibc 2.0.x headers" >&5
|
||||
echo "configure:3755: checking for old glibc 2.0.x headers" >&5
|
||||
if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
|
||||
then
|
||||
old_glibc_headers=yes
|
||||
@ -3811,7 +3812,7 @@ if test $shared = default; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
|
||||
echo "configure:3815: checking whether -fPIC is default" >&5
|
||||
echo "configure:3816: checking whether -fPIC is default" >&5
|
||||
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -179,6 +179,7 @@ AC_ARG_ENABLE(static-nss, dnl
|
||||
static_nss=$enableval, static_nss=no)
|
||||
dnl Enable static NSS also if we build no shared objects.
|
||||
if test x"$static_nss" = xyes || test x"$shared" = xno; then
|
||||
static_nss=yes
|
||||
AC_DEFINE(DO_STATIC_NSS)
|
||||
fi
|
||||
|
||||
|
@ -636,6 +636,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
size_t *lengthp;
|
||||
{
|
||||
struct loaded_domain *domain;
|
||||
nls_uint32 nstrings;
|
||||
size_t act;
|
||||
char *result;
|
||||
size_t resultlen;
|
||||
@ -648,8 +649,10 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
|
||||
domain = (struct loaded_domain *) domain_file->data;
|
||||
|
||||
nstrings = domain->nstrings;
|
||||
|
||||
/* Locate the MSGID and its translation. */
|
||||
if (domain->hash_size > 2 && domain->hash_tab != NULL)
|
||||
if (domain->hash_tab != NULL)
|
||||
{
|
||||
/* Use the hashing table. */
|
||||
nls_uint32 len = strlen (msgid);
|
||||
@ -659,22 +662,30 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
|
||||
while (1)
|
||||
{
|
||||
nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
|
||||
nls_uint32 nstr =
|
||||
W (domain->must_swap_hash_tab, domain->hash_tab[idx]);
|
||||
|
||||
if (nstr == 0)
|
||||
/* Hash table entry is empty. */
|
||||
return NULL;
|
||||
|
||||
/* Compare msgid with the original string at index nstr-1.
|
||||
nstr--;
|
||||
|
||||
/* Compare msgid with the original string at index nstr.
|
||||
We compare the lengths with >=, not ==, because plural entries
|
||||
are represented by strings with an embedded NUL. */
|
||||
if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len
|
||||
&& (strcmp (msgid,
|
||||
domain->data + W (domain->must_swap,
|
||||
domain->orig_tab[nstr - 1].offset))
|
||||
== 0))
|
||||
if (nstr < nstrings
|
||||
? W (domain->must_swap, domain->orig_tab[nstr].length) >= len
|
||||
&& (strcmp (msgid,
|
||||
domain->data + W (domain->must_swap,
|
||||
domain->orig_tab[nstr].offset))
|
||||
== 0)
|
||||
: domain->orig_sysdep_tab[nstr - nstrings].length > len
|
||||
&& (strcmp (msgid,
|
||||
domain->orig_sysdep_tab[nstr - nstrings].pointer)
|
||||
== 0))
|
||||
{
|
||||
act = nstr - 1;
|
||||
act = nstr;
|
||||
goto found;
|
||||
}
|
||||
|
||||
@ -692,7 +703,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
size_t top, bottom;
|
||||
|
||||
bottom = 0;
|
||||
top = domain->nstrings;
|
||||
top = nstrings;
|
||||
while (bottom < top)
|
||||
{
|
||||
int cmp_val;
|
||||
@ -715,9 +726,17 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
found:
|
||||
/* The translation was found at index ACT. If we have to convert the
|
||||
string to use a different character set, this is the time. */
|
||||
result = ((char *) domain->data
|
||||
+ W (domain->must_swap, domain->trans_tab[act].offset));
|
||||
resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
|
||||
if (act < nstrings)
|
||||
{
|
||||
result = (char *)
|
||||
(domain->data + W (domain->must_swap, domain->trans_tab[act].offset));
|
||||
resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;
|
||||
resultlen = domain->trans_sysdep_tab[act - nstrings].length;
|
||||
}
|
||||
|
||||
#if defined _LIBC || HAVE_ICONV
|
||||
if (domain->codeset_cntr
|
||||
@ -750,8 +769,9 @@ _nl_find_msg (domain_file, domainbinding, msgid, lengthp)
|
||||
NULs. */
|
||||
|
||||
if (domain->conv_tab == NULL
|
||||
&& ((domain->conv_tab = (char **) calloc (domain->nstrings,
|
||||
sizeof (char *)))
|
||||
&& ((domain->conv_tab =
|
||||
(char **) calloc (nstrings + domain->n_sysdep_strings,
|
||||
sizeof (char *)))
|
||||
== NULL))
|
||||
/* Mark that we didn't succeed allocating a table. */
|
||||
domain->conv_tab = (char **) -1;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Internal header for GNU gettext internationalization functions.
|
||||
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1997, 2000-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
|
||||
@ -76,26 +76,74 @@ struct mo_file_header
|
||||
nls_uint32 magic;
|
||||
/* The revision number of the file format. */
|
||||
nls_uint32 revision;
|
||||
|
||||
/* The following are only used in .mo files with major revision 0. */
|
||||
|
||||
/* The number of strings pairs. */
|
||||
nls_uint32 nstrings;
|
||||
/* Offset of table with start offsets of original strings. */
|
||||
nls_uint32 orig_tab_offset;
|
||||
/* Offset of table with start offsets of translation strings. */
|
||||
/* Offset of table with start offsets of translated strings. */
|
||||
nls_uint32 trans_tab_offset;
|
||||
/* Size of hashing table. */
|
||||
/* Size of hash table. */
|
||||
nls_uint32 hash_tab_size;
|
||||
/* Offset of first hashing entry. */
|
||||
/* Offset of first hash table entry. */
|
||||
nls_uint32 hash_tab_offset;
|
||||
|
||||
/* The following are only used in .mo files with minor revision >= 1. */
|
||||
|
||||
/* The number of system dependent segments. */
|
||||
nls_uint32 n_sysdep_segments;
|
||||
/* Offset of table describing system dependent segments. */
|
||||
nls_uint32 sysdep_segments_offset;
|
||||
/* The number of system dependent strings pairs. */
|
||||
nls_uint32 n_sysdep_strings;
|
||||
/* Offset of table with start offsets of original sysdep strings. */
|
||||
nls_uint32 orig_sysdep_tab_offset;
|
||||
/* Offset of table with start offsets of translated sysdep strings. */
|
||||
nls_uint32 trans_sysdep_tab_offset;
|
||||
};
|
||||
|
||||
/* Descriptor for static string contained in the binary .mo file. */
|
||||
struct string_desc
|
||||
{
|
||||
/* Length of addressed string. */
|
||||
/* Length of addressed string, not including the trailing NUL. */
|
||||
nls_uint32 length;
|
||||
/* Offset of string in file. */
|
||||
nls_uint32 offset;
|
||||
};
|
||||
|
||||
/* The following are only used in .mo files with minor revision >= 1. */
|
||||
|
||||
/* Descriptor for system dependent string segment. */
|
||||
struct sysdep_segment
|
||||
{
|
||||
/* Length of addressed string, including the trailing NUL. */
|
||||
nls_uint32 length;
|
||||
/* Offset of string in file. */
|
||||
nls_uint32 offset;
|
||||
};
|
||||
|
||||
/* Descriptor for system dependent string. */
|
||||
struct sysdep_string
|
||||
{
|
||||
/* Offset of static string segments in file. */
|
||||
nls_uint32 offset;
|
||||
/* Alternating sequence of static and system dependent segments.
|
||||
The last segment is a static segment, including the trailing NUL. */
|
||||
struct segment_pair
|
||||
{
|
||||
/* Size of static segment. */
|
||||
nls_uint32 segsize;
|
||||
/* Reference to system dependent string segment, or ~0 at the end. */
|
||||
nls_uint32 sysdepref;
|
||||
} segments[1];
|
||||
};
|
||||
|
||||
/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF,
|
||||
regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */
|
||||
#define SEGMENTS_END ((nls_uint32) ~0)
|
||||
|
||||
/* @@ begin of epilog @@ */
|
||||
|
||||
#endif /* gettext.h */
|
||||
|
@ -75,18 +75,50 @@ SWAP (i)
|
||||
#endif
|
||||
|
||||
|
||||
/* In-memory representation of system dependent string. */
|
||||
struct sysdep_string_desc
|
||||
{
|
||||
/* Length of addressed string, including the trailing NUL. */
|
||||
size_t length;
|
||||
/* Pointer to addressed string. */
|
||||
const char *pointer;
|
||||
};
|
||||
|
||||
/* The representation of an opened message catalog. */
|
||||
struct loaded_domain
|
||||
{
|
||||
/* Pointer to memory containing the .mo file. */
|
||||
const char *data;
|
||||
/* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */
|
||||
int use_mmap;
|
||||
/* Size of mmap()ed memory. */
|
||||
size_t mmap_size;
|
||||
/* 1 if the .mo file uses a different endianness than this machine. */
|
||||
int must_swap;
|
||||
/* Pointer to additional malloc()ed memory. */
|
||||
void *malloced;
|
||||
|
||||
/* Number of static strings pairs. */
|
||||
nls_uint32 nstrings;
|
||||
struct string_desc *orig_tab;
|
||||
struct string_desc *trans_tab;
|
||||
/* Pointer to descriptors of original strings in the file. */
|
||||
const struct string_desc *orig_tab;
|
||||
/* Pointer to descriptors of translated strings in the file. */
|
||||
const struct string_desc *trans_tab;
|
||||
|
||||
/* Number of system dependent strings pairs. */
|
||||
nls_uint32 n_sysdep_strings;
|
||||
/* Pointer to descriptors of original sysdep strings. */
|
||||
const struct sysdep_string_desc *orig_sysdep_tab;
|
||||
/* Pointer to descriptors of translated sysdep strings. */
|
||||
const struct sysdep_string_desc *trans_sysdep_tab;
|
||||
|
||||
/* Size of hash table. */
|
||||
nls_uint32 hash_size;
|
||||
nls_uint32 *hash_tab;
|
||||
/* Pointer to hash table. */
|
||||
const nls_uint32 *hash_tab;
|
||||
/* 1 if the hash table uses a different endianness than this machine. */
|
||||
int must_swap_hash_tab;
|
||||
|
||||
int codeset_cntr;
|
||||
#ifdef _LIBC
|
||||
__gconv_t conv;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Message catalogs for internationalization.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
This file is derived from the file libgettext.h in the GNU gettext package.
|
||||
|
||||
@ -27,6 +27,11 @@
|
||||
implementation of gettext. */
|
||||
#define __USE_GNU_GETTEXT 1
|
||||
|
||||
/* Provide information about the supported file formats. Returns the
|
||||
maximum minor revision number supported for a given major revision. */
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
|
||||
((major) == 0 ? 1 : -1)
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
|
@ -72,14 +72,380 @@ char *alloca ();
|
||||
# undef HAVE_MMAP
|
||||
#endif
|
||||
|
||||
#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
#if defined HAVE_INTTYPES_H || defined _LIBC
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#include "gettext.h"
|
||||
#include "gettextP.h"
|
||||
#include "hash-string.h"
|
||||
#include "plural-exp.h"
|
||||
|
||||
#ifdef _LIBC
|
||||
# include "../locale/localeinfo.h"
|
||||
#endif
|
||||
|
||||
/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
|
||||
Note that our fallback values need not be literal strings, because we don't
|
||||
use them with preprocessor string concatenation. */
|
||||
#if !defined PRId8 || PRI_MACROS_BROKEN
|
||||
# undef PRId8
|
||||
# define PRId8 "d"
|
||||
#endif
|
||||
#if !defined PRIi8 || PRI_MACROS_BROKEN
|
||||
# undef PRIi8
|
||||
# define PRIi8 "i"
|
||||
#endif
|
||||
#if !defined PRIo8 || PRI_MACROS_BROKEN
|
||||
# undef PRIo8
|
||||
# define PRIo8 "o"
|
||||
#endif
|
||||
#if !defined PRIu8 || PRI_MACROS_BROKEN
|
||||
# undef PRIu8
|
||||
# define PRIu8 "u"
|
||||
#endif
|
||||
#if !defined PRIx8 || PRI_MACROS_BROKEN
|
||||
# undef PRIx8
|
||||
# define PRIx8 "x"
|
||||
#endif
|
||||
#if !defined PRIX8 || PRI_MACROS_BROKEN
|
||||
# undef PRIX8
|
||||
# define PRIX8 "X"
|
||||
#endif
|
||||
#if !defined PRId16 || PRI_MACROS_BROKEN
|
||||
# undef PRId16
|
||||
# define PRId16 "d"
|
||||
#endif
|
||||
#if !defined PRIi16 || PRI_MACROS_BROKEN
|
||||
# undef PRIi16
|
||||
# define PRIi16 "i"
|
||||
#endif
|
||||
#if !defined PRIo16 || PRI_MACROS_BROKEN
|
||||
# undef PRIo16
|
||||
# define PRIo16 "o"
|
||||
#endif
|
||||
#if !defined PRIu16 || PRI_MACROS_BROKEN
|
||||
# undef PRIu16
|
||||
# define PRIu16 "u"
|
||||
#endif
|
||||
#if !defined PRIx16 || PRI_MACROS_BROKEN
|
||||
# undef PRIx16
|
||||
# define PRIx16 "x"
|
||||
#endif
|
||||
#if !defined PRIX16 || PRI_MACROS_BROKEN
|
||||
# undef PRIX16
|
||||
# define PRIX16 "X"
|
||||
#endif
|
||||
#if !defined PRId32 || PRI_MACROS_BROKEN
|
||||
# undef PRId32
|
||||
# define PRId32 "d"
|
||||
#endif
|
||||
#if !defined PRIi32 || PRI_MACROS_BROKEN
|
||||
# undef PRIi32
|
||||
# define PRIi32 "i"
|
||||
#endif
|
||||
#if !defined PRIo32 || PRI_MACROS_BROKEN
|
||||
# undef PRIo32
|
||||
# define PRIo32 "o"
|
||||
#endif
|
||||
#if !defined PRIu32 || PRI_MACROS_BROKEN
|
||||
# undef PRIu32
|
||||
# define PRIu32 "u"
|
||||
#endif
|
||||
#if !defined PRIx32 || PRI_MACROS_BROKEN
|
||||
# undef PRIx32
|
||||
# define PRIx32 "x"
|
||||
#endif
|
||||
#if !defined PRIX32 || PRI_MACROS_BROKEN
|
||||
# undef PRIX32
|
||||
# define PRIX32 "X"
|
||||
#endif
|
||||
#if !defined PRId64 || PRI_MACROS_BROKEN
|
||||
# undef PRId64
|
||||
# define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
|
||||
#endif
|
||||
#if !defined PRIi64 || PRI_MACROS_BROKEN
|
||||
# undef PRIi64
|
||||
# define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
|
||||
#endif
|
||||
#if !defined PRIo64 || PRI_MACROS_BROKEN
|
||||
# undef PRIo64
|
||||
# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
|
||||
#endif
|
||||
#if !defined PRIu64 || PRI_MACROS_BROKEN
|
||||
# undef PRIu64
|
||||
# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
|
||||
#endif
|
||||
#if !defined PRIx64 || PRI_MACROS_BROKEN
|
||||
# undef PRIx64
|
||||
# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
|
||||
#endif
|
||||
#if !defined PRIX64 || PRI_MACROS_BROKEN
|
||||
# undef PRIX64
|
||||
# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
|
||||
#endif
|
||||
#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIdLEAST8
|
||||
# define PRIdLEAST8 "d"
|
||||
#endif
|
||||
#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIiLEAST8
|
||||
# define PRIiLEAST8 "i"
|
||||
#endif
|
||||
#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIoLEAST8
|
||||
# define PRIoLEAST8 "o"
|
||||
#endif
|
||||
#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIuLEAST8
|
||||
# define PRIuLEAST8 "u"
|
||||
#endif
|
||||
#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIxLEAST8
|
||||
# define PRIxLEAST8 "x"
|
||||
#endif
|
||||
#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIXLEAST8
|
||||
# define PRIXLEAST8 "X"
|
||||
#endif
|
||||
#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIdLEAST16
|
||||
# define PRIdLEAST16 "d"
|
||||
#endif
|
||||
#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIiLEAST16
|
||||
# define PRIiLEAST16 "i"
|
||||
#endif
|
||||
#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIoLEAST16
|
||||
# define PRIoLEAST16 "o"
|
||||
#endif
|
||||
#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIuLEAST16
|
||||
# define PRIuLEAST16 "u"
|
||||
#endif
|
||||
#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIxLEAST16
|
||||
# define PRIxLEAST16 "x"
|
||||
#endif
|
||||
#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIXLEAST16
|
||||
# define PRIXLEAST16 "X"
|
||||
#endif
|
||||
#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIdLEAST32
|
||||
# define PRIdLEAST32 "d"
|
||||
#endif
|
||||
#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIiLEAST32
|
||||
# define PRIiLEAST32 "i"
|
||||
#endif
|
||||
#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIoLEAST32
|
||||
# define PRIoLEAST32 "o"
|
||||
#endif
|
||||
#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIuLEAST32
|
||||
# define PRIuLEAST32 "u"
|
||||
#endif
|
||||
#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIxLEAST32
|
||||
# define PRIxLEAST32 "x"
|
||||
#endif
|
||||
#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIXLEAST32
|
||||
# define PRIXLEAST32 "X"
|
||||
#endif
|
||||
#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIdLEAST64
|
||||
# define PRIdLEAST64 PRId64
|
||||
#endif
|
||||
#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIiLEAST64
|
||||
# define PRIiLEAST64 PRIi64
|
||||
#endif
|
||||
#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIoLEAST64
|
||||
# define PRIoLEAST64 PRIo64
|
||||
#endif
|
||||
#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIuLEAST64
|
||||
# define PRIuLEAST64 PRIu64
|
||||
#endif
|
||||
#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIxLEAST64
|
||||
# define PRIxLEAST64 PRIx64
|
||||
#endif
|
||||
#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIXLEAST64
|
||||
# define PRIXLEAST64 PRIX64
|
||||
#endif
|
||||
#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIdFAST8
|
||||
# define PRIdFAST8 "d"
|
||||
#endif
|
||||
#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIiFAST8
|
||||
# define PRIiFAST8 "i"
|
||||
#endif
|
||||
#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIoFAST8
|
||||
# define PRIoFAST8 "o"
|
||||
#endif
|
||||
#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIuFAST8
|
||||
# define PRIuFAST8 "u"
|
||||
#endif
|
||||
#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIxFAST8
|
||||
# define PRIxFAST8 "x"
|
||||
#endif
|
||||
#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
|
||||
# undef PRIXFAST8
|
||||
# define PRIXFAST8 "X"
|
||||
#endif
|
||||
#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIdFAST16
|
||||
# define PRIdFAST16 "d"
|
||||
#endif
|
||||
#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIiFAST16
|
||||
# define PRIiFAST16 "i"
|
||||
#endif
|
||||
#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIoFAST16
|
||||
# define PRIoFAST16 "o"
|
||||
#endif
|
||||
#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIuFAST16
|
||||
# define PRIuFAST16 "u"
|
||||
#endif
|
||||
#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIxFAST16
|
||||
# define PRIxFAST16 "x"
|
||||
#endif
|
||||
#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
|
||||
# undef PRIXFAST16
|
||||
# define PRIXFAST16 "X"
|
||||
#endif
|
||||
#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIdFAST32
|
||||
# define PRIdFAST32 "d"
|
||||
#endif
|
||||
#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIiFAST32
|
||||
# define PRIiFAST32 "i"
|
||||
#endif
|
||||
#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIoFAST32
|
||||
# define PRIoFAST32 "o"
|
||||
#endif
|
||||
#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIuFAST32
|
||||
# define PRIuFAST32 "u"
|
||||
#endif
|
||||
#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIxFAST32
|
||||
# define PRIxFAST32 "x"
|
||||
#endif
|
||||
#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
|
||||
# undef PRIXFAST32
|
||||
# define PRIXFAST32 "X"
|
||||
#endif
|
||||
#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIdFAST64
|
||||
# define PRIdFAST64 PRId64
|
||||
#endif
|
||||
#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIiFAST64
|
||||
# define PRIiFAST64 PRIi64
|
||||
#endif
|
||||
#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIoFAST64
|
||||
# define PRIoFAST64 PRIo64
|
||||
#endif
|
||||
#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIuFAST64
|
||||
# define PRIuFAST64 PRIu64
|
||||
#endif
|
||||
#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIxFAST64
|
||||
# define PRIxFAST64 PRIx64
|
||||
#endif
|
||||
#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
|
||||
# undef PRIXFAST64
|
||||
# define PRIXFAST64 PRIX64
|
||||
#endif
|
||||
#if !defined PRIdMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIdMAX
|
||||
# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
|
||||
#endif
|
||||
#if !defined PRIiMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIiMAX
|
||||
# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
|
||||
#endif
|
||||
#if !defined PRIoMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIoMAX
|
||||
# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
|
||||
#endif
|
||||
#if !defined PRIuMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIuMAX
|
||||
# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
|
||||
#endif
|
||||
#if !defined PRIxMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIxMAX
|
||||
# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
|
||||
#endif
|
||||
#if !defined PRIXMAX || PRI_MACROS_BROKEN
|
||||
# undef PRIXMAX
|
||||
# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
|
||||
#endif
|
||||
#if !defined PRIdPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIdPTR
|
||||
# define PRIdPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "ld" : \
|
||||
sizeof (void *) == sizeof (int) ? "d" : \
|
||||
"lld")
|
||||
#endif
|
||||
#if !defined PRIiPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIiPTR
|
||||
# define PRIiPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "li" : \
|
||||
sizeof (void *) == sizeof (int) ? "i" : \
|
||||
"lli")
|
||||
#endif
|
||||
#if !defined PRIoPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIoPTR
|
||||
# define PRIoPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "lo" : \
|
||||
sizeof (void *) == sizeof (int) ? "o" : \
|
||||
"llo")
|
||||
#endif
|
||||
#if !defined PRIuPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIuPTR
|
||||
# define PRIuPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "lu" : \
|
||||
sizeof (void *) == sizeof (int) ? "u" : \
|
||||
"llu")
|
||||
#endif
|
||||
#if !defined PRIxPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIxPTR
|
||||
# define PRIxPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "lx" : \
|
||||
sizeof (void *) == sizeof (int) ? "x" : \
|
||||
"llx")
|
||||
#endif
|
||||
#if !defined PRIXPTR || PRI_MACROS_BROKEN
|
||||
# undef PRIXPTR
|
||||
# define PRIXPTR \
|
||||
(sizeof (void *) == sizeof (long) ? "lX" : \
|
||||
sizeof (void *) == sizeof (int) ? "X" : \
|
||||
"llX")
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
#ifdef _LIBC
|
||||
@ -102,12 +468,274 @@ char *alloca ();
|
||||
# define freea(p) free (p)
|
||||
#endif
|
||||
|
||||
|
||||
/* Prototypes for local functions. Needed to ensure compiler checking of
|
||||
function argument counts despite of K&R C function definition syntax. */
|
||||
static const char *get_sysdep_segment_value PARAMS ((const char *name));
|
||||
|
||||
|
||||
/* We need a sign, whether a new catalog was loaded, which can be associated
|
||||
with all translations. This is important if the translations are
|
||||
cached by one of GCC's features. */
|
||||
int _nl_msg_cat_cntr;
|
||||
|
||||
|
||||
/* Expand a system dependent string segment. Return NULL if unsupported. */
|
||||
static const char *
|
||||
get_sysdep_segment_value (name)
|
||||
const char *name;
|
||||
{
|
||||
/* Test for an ISO C 99 section 7.8.1 format string directive.
|
||||
Syntax:
|
||||
P R I { d | i | o | u | x | X }
|
||||
{ { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */
|
||||
/* We don't use a table of 14 times 6 'const char *' strings here, because
|
||||
data relocations cost startup time. */
|
||||
if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I')
|
||||
{
|
||||
if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u'
|
||||
|| name[3] == 'x' || name[3] == 'X')
|
||||
{
|
||||
if (name[4] == '8' && name[5] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRId8;
|
||||
if (name[3] == 'i')
|
||||
return PRIi8;
|
||||
if (name[3] == 'o')
|
||||
return PRIo8;
|
||||
if (name[3] == 'u')
|
||||
return PRIu8;
|
||||
if (name[3] == 'x')
|
||||
return PRIx8;
|
||||
if (name[3] == 'X')
|
||||
return PRIX8;
|
||||
abort ();
|
||||
}
|
||||
if (name[4] == '1' && name[5] == '6' && name[6] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRId16;
|
||||
if (name[3] == 'i')
|
||||
return PRIi16;
|
||||
if (name[3] == 'o')
|
||||
return PRIo16;
|
||||
if (name[3] == 'u')
|
||||
return PRIu16;
|
||||
if (name[3] == 'x')
|
||||
return PRIx16;
|
||||
if (name[3] == 'X')
|
||||
return PRIX16;
|
||||
abort ();
|
||||
}
|
||||
if (name[4] == '3' && name[5] == '2' && name[6] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRId32;
|
||||
if (name[3] == 'i')
|
||||
return PRIi32;
|
||||
if (name[3] == 'o')
|
||||
return PRIo32;
|
||||
if (name[3] == 'u')
|
||||
return PRIu32;
|
||||
if (name[3] == 'x')
|
||||
return PRIx32;
|
||||
if (name[3] == 'X')
|
||||
return PRIX32;
|
||||
abort ();
|
||||
}
|
||||
if (name[4] == '6' && name[5] == '4' && name[6] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRId64;
|
||||
if (name[3] == 'i')
|
||||
return PRIi64;
|
||||
if (name[3] == 'o')
|
||||
return PRIo64;
|
||||
if (name[3] == 'u')
|
||||
return PRIu64;
|
||||
if (name[3] == 'x')
|
||||
return PRIx64;
|
||||
if (name[3] == 'X')
|
||||
return PRIX64;
|
||||
abort ();
|
||||
}
|
||||
if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A'
|
||||
&& name[7] == 'S' && name[8] == 'T')
|
||||
{
|
||||
if (name[9] == '8' && name[10] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdLEAST8;
|
||||
if (name[3] == 'i')
|
||||
return PRIiLEAST8;
|
||||
if (name[3] == 'o')
|
||||
return PRIoLEAST8;
|
||||
if (name[3] == 'u')
|
||||
return PRIuLEAST8;
|
||||
if (name[3] == 'x')
|
||||
return PRIxLEAST8;
|
||||
if (name[3] == 'X')
|
||||
return PRIXLEAST8;
|
||||
abort ();
|
||||
}
|
||||
if (name[9] == '1' && name[10] == '6' && name[11] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdLEAST16;
|
||||
if (name[3] == 'i')
|
||||
return PRIiLEAST16;
|
||||
if (name[3] == 'o')
|
||||
return PRIoLEAST16;
|
||||
if (name[3] == 'u')
|
||||
return PRIuLEAST16;
|
||||
if (name[3] == 'x')
|
||||
return PRIxLEAST16;
|
||||
if (name[3] == 'X')
|
||||
return PRIXLEAST16;
|
||||
abort ();
|
||||
}
|
||||
if (name[9] == '3' && name[10] == '2' && name[11] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdLEAST32;
|
||||
if (name[3] == 'i')
|
||||
return PRIiLEAST32;
|
||||
if (name[3] == 'o')
|
||||
return PRIoLEAST32;
|
||||
if (name[3] == 'u')
|
||||
return PRIuLEAST32;
|
||||
if (name[3] == 'x')
|
||||
return PRIxLEAST32;
|
||||
if (name[3] == 'X')
|
||||
return PRIXLEAST32;
|
||||
abort ();
|
||||
}
|
||||
if (name[9] == '6' && name[10] == '4' && name[11] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdLEAST64;
|
||||
if (name[3] == 'i')
|
||||
return PRIiLEAST64;
|
||||
if (name[3] == 'o')
|
||||
return PRIoLEAST64;
|
||||
if (name[3] == 'u')
|
||||
return PRIuLEAST64;
|
||||
if (name[3] == 'x')
|
||||
return PRIxLEAST64;
|
||||
if (name[3] == 'X')
|
||||
return PRIXLEAST64;
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S'
|
||||
&& name[7] == 'T')
|
||||
{
|
||||
if (name[8] == '8' && name[9] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdFAST8;
|
||||
if (name[3] == 'i')
|
||||
return PRIiFAST8;
|
||||
if (name[3] == 'o')
|
||||
return PRIoFAST8;
|
||||
if (name[3] == 'u')
|
||||
return PRIuFAST8;
|
||||
if (name[3] == 'x')
|
||||
return PRIxFAST8;
|
||||
if (name[3] == 'X')
|
||||
return PRIXFAST8;
|
||||
abort ();
|
||||
}
|
||||
if (name[8] == '1' && name[9] == '6' && name[10] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdFAST16;
|
||||
if (name[3] == 'i')
|
||||
return PRIiFAST16;
|
||||
if (name[3] == 'o')
|
||||
return PRIoFAST16;
|
||||
if (name[3] == 'u')
|
||||
return PRIuFAST16;
|
||||
if (name[3] == 'x')
|
||||
return PRIxFAST16;
|
||||
if (name[3] == 'X')
|
||||
return PRIXFAST16;
|
||||
abort ();
|
||||
}
|
||||
if (name[8] == '3' && name[9] == '2' && name[10] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdFAST32;
|
||||
if (name[3] == 'i')
|
||||
return PRIiFAST32;
|
||||
if (name[3] == 'o')
|
||||
return PRIoFAST32;
|
||||
if (name[3] == 'u')
|
||||
return PRIuFAST32;
|
||||
if (name[3] == 'x')
|
||||
return PRIxFAST32;
|
||||
if (name[3] == 'X')
|
||||
return PRIXFAST32;
|
||||
abort ();
|
||||
}
|
||||
if (name[8] == '6' && name[9] == '4' && name[10] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdFAST64;
|
||||
if (name[3] == 'i')
|
||||
return PRIiFAST64;
|
||||
if (name[3] == 'o')
|
||||
return PRIoFAST64;
|
||||
if (name[3] == 'u')
|
||||
return PRIuFAST64;
|
||||
if (name[3] == 'x')
|
||||
return PRIxFAST64;
|
||||
if (name[3] == 'X')
|
||||
return PRIXFAST64;
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X'
|
||||
&& name[7] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdMAX;
|
||||
if (name[3] == 'i')
|
||||
return PRIiMAX;
|
||||
if (name[3] == 'o')
|
||||
return PRIoMAX;
|
||||
if (name[3] == 'u')
|
||||
return PRIuMAX;
|
||||
if (name[3] == 'x')
|
||||
return PRIxMAX;
|
||||
if (name[3] == 'X')
|
||||
return PRIXMAX;
|
||||
abort ();
|
||||
}
|
||||
if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R'
|
||||
&& name[7] == '\0')
|
||||
{
|
||||
if (name[3] == 'd')
|
||||
return PRIdPTR;
|
||||
if (name[3] == 'i')
|
||||
return PRIiPTR;
|
||||
if (name[3] == 'o')
|
||||
return PRIoPTR;
|
||||
if (name[3] == 'u')
|
||||
return PRIuPTR;
|
||||
if (name[3] == 'x')
|
||||
return PRIxPTR;
|
||||
if (name[3] == 'X')
|
||||
return PRIXPTR;
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Other system dependent strings are not valid. */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Initialize the codeset dependent parts of an opened message catalog.
|
||||
Return the header entry. */
|
||||
const char *
|
||||
@ -263,6 +891,7 @@ _nl_load_domain (domain_file, domainbinding)
|
||||
struct mo_file_header *data = (struct mo_file_header *) -1;
|
||||
int use_mmap = 0;
|
||||
struct loaded_domain *domain;
|
||||
int revision;
|
||||
const char *nullentry;
|
||||
|
||||
domain_file->decided = 1;
|
||||
@ -370,22 +999,257 @@ _nl_load_domain (domain_file, domainbinding)
|
||||
domain->use_mmap = use_mmap;
|
||||
domain->mmap_size = size;
|
||||
domain->must_swap = data->magic != _MAGIC;
|
||||
domain->malloced = NULL;
|
||||
|
||||
/* Fill in the information about the available tables. */
|
||||
switch (W (domain->must_swap, data->revision))
|
||||
revision = W (domain->must_swap, data->revision);
|
||||
/* We support only the major revision 0. */
|
||||
switch (revision >> 16)
|
||||
{
|
||||
case 0:
|
||||
domain->nstrings = W (domain->must_swap, data->nstrings);
|
||||
domain->orig_tab = (struct string_desc *)
|
||||
domain->orig_tab = (const struct string_desc *)
|
||||
((char *) data + W (domain->must_swap, data->orig_tab_offset));
|
||||
domain->trans_tab = (struct string_desc *)
|
||||
domain->trans_tab = (const struct string_desc *)
|
||||
((char *) data + W (domain->must_swap, data->trans_tab_offset));
|
||||
domain->hash_size = W (domain->must_swap, data->hash_tab_size);
|
||||
domain->hash_tab = (nls_uint32 *)
|
||||
((char *) data + W (domain->must_swap, data->hash_tab_offset));
|
||||
domain->hash_tab =
|
||||
(domain->hash_size > 2
|
||||
? (const nls_uint32 *)
|
||||
((char *) data + W (domain->must_swap, data->hash_tab_offset))
|
||||
: NULL);
|
||||
domain->must_swap_hash_tab = domain->must_swap;
|
||||
|
||||
/* Now dispatch on the minor revision. */
|
||||
switch (revision & 0xffff)
|
||||
{
|
||||
case 0:
|
||||
domain->n_sysdep_strings = 0;
|
||||
domain->orig_sysdep_tab = NULL;
|
||||
domain->trans_sysdep_tab = NULL;
|
||||
break;
|
||||
case 1:
|
||||
default:
|
||||
{
|
||||
nls_uint32 n_sysdep_strings;
|
||||
|
||||
if (domain->hash_tab == NULL)
|
||||
/* This is invalid. These minor revisions need a hash table. */
|
||||
goto invalid;
|
||||
|
||||
n_sysdep_strings =
|
||||
W (domain->must_swap, data->n_sysdep_strings);
|
||||
if (n_sysdep_strings > 0)
|
||||
{
|
||||
nls_uint32 n_sysdep_segments;
|
||||
const struct sysdep_segment *sysdep_segments;
|
||||
const char **sysdep_segment_values;
|
||||
const nls_uint32 *orig_sysdep_tab;
|
||||
const nls_uint32 *trans_sysdep_tab;
|
||||
size_t memneed;
|
||||
char *mem;
|
||||
struct sysdep_string_desc *inmem_orig_sysdep_tab;
|
||||
struct sysdep_string_desc *inmem_trans_sysdep_tab;
|
||||
nls_uint32 *inmem_hash_tab;
|
||||
unsigned int i;
|
||||
|
||||
/* Get the values of the system dependent segments. */
|
||||
n_sysdep_segments =
|
||||
W (domain->must_swap, data->n_sysdep_segments);
|
||||
sysdep_segments = (const struct sysdep_segment *)
|
||||
((char *) data
|
||||
+ W (domain->must_swap, data->sysdep_segments_offset));
|
||||
sysdep_segment_values =
|
||||
alloca (n_sysdep_segments * sizeof (const char *));
|
||||
for (i = 0; i < n_sysdep_segments; i++)
|
||||
{
|
||||
const char *name =
|
||||
(char *) data
|
||||
+ W (domain->must_swap, sysdep_segments[i].offset);
|
||||
nls_uint32 namelen =
|
||||
W (domain->must_swap, sysdep_segments[i].length);
|
||||
|
||||
if (!(namelen > 0 && name[namelen - 1] == '\0'))
|
||||
{
|
||||
freea (sysdep_segment_values);
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
sysdep_segment_values[i] = get_sysdep_segment_value (name);
|
||||
}
|
||||
|
||||
orig_sysdep_tab = (const nls_uint32 *)
|
||||
((char *) data
|
||||
+ W (domain->must_swap, data->orig_sysdep_tab_offset));
|
||||
trans_sysdep_tab = (const nls_uint32 *)
|
||||
((char *) data
|
||||
+ W (domain->must_swap, data->trans_sysdep_tab_offset));
|
||||
|
||||
/* Compute the amount of additional memory needed for the
|
||||
system dependent strings and the augmented hash table. */
|
||||
memneed = 2 * n_sysdep_strings
|
||||
* sizeof (struct sysdep_string_desc)
|
||||
+ domain->hash_size * sizeof (nls_uint32);
|
||||
for (i = 0; i < 2 * n_sysdep_strings; i++)
|
||||
{
|
||||
const struct sysdep_string *sysdep_string =
|
||||
(const struct sysdep_string *)
|
||||
((char *) data
|
||||
+ W (domain->must_swap,
|
||||
i < n_sysdep_strings
|
||||
? orig_sysdep_tab[i]
|
||||
: trans_sysdep_tab[i - n_sysdep_strings]));
|
||||
size_t need = 0;
|
||||
const struct segment_pair *p = sysdep_string->segments;
|
||||
|
||||
if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END)
|
||||
for (p = sysdep_string->segments;; p++)
|
||||
{
|
||||
nls_uint32 sysdepref;
|
||||
|
||||
need += W (domain->must_swap, p->segsize);
|
||||
|
||||
sysdepref = W (domain->must_swap, p->sysdepref);
|
||||
if (sysdepref == SEGMENTS_END)
|
||||
break;
|
||||
|
||||
if (sysdepref >= n_sysdep_segments)
|
||||
{
|
||||
/* Invalid. */
|
||||
freea (sysdep_segment_values);
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
need += strlen (sysdep_segment_values[sysdepref]);
|
||||
}
|
||||
|
||||
memneed += need;
|
||||
}
|
||||
|
||||
/* Allocate additional memory. */
|
||||
mem = (char *) malloc (memneed);
|
||||
if (mem == NULL)
|
||||
goto invalid;
|
||||
|
||||
domain->malloced = mem;
|
||||
inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem;
|
||||
mem += n_sysdep_strings * sizeof (struct sysdep_string_desc);
|
||||
inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem;
|
||||
mem += n_sysdep_strings * sizeof (struct sysdep_string_desc);
|
||||
inmem_hash_tab = (nls_uint32 *) mem;
|
||||
mem += domain->hash_size * sizeof (nls_uint32);
|
||||
|
||||
/* Compute the system dependent strings. */
|
||||
for (i = 0; i < 2 * n_sysdep_strings; i++)
|
||||
{
|
||||
const struct sysdep_string *sysdep_string =
|
||||
(const struct sysdep_string *)
|
||||
((char *) data
|
||||
+ W (domain->must_swap,
|
||||
i < n_sysdep_strings
|
||||
? orig_sysdep_tab[i]
|
||||
: trans_sysdep_tab[i - n_sysdep_strings]));
|
||||
const char *static_segments =
|
||||
(char *) data
|
||||
+ W (domain->must_swap, sysdep_string->offset);
|
||||
const struct segment_pair *p = sysdep_string->segments;
|
||||
|
||||
/* Concatenate the segments, and fill
|
||||
inmem_orig_sysdep_tab[i] (for i < n_sysdep_strings) and
|
||||
inmem_trans_sysdep_tab[i-n_sysdep_strings] (for
|
||||
i >= n_sysdep_strings). */
|
||||
|
||||
if (W (domain->must_swap, p->sysdepref) == SEGMENTS_END)
|
||||
{
|
||||
/* Only one static segment. */
|
||||
inmem_orig_sysdep_tab[i].length =
|
||||
W (domain->must_swap, p->segsize);
|
||||
inmem_orig_sysdep_tab[i].pointer = static_segments;
|
||||
}
|
||||
else
|
||||
{
|
||||
inmem_orig_sysdep_tab[i].pointer = mem;
|
||||
|
||||
for (p = sysdep_string->segments;; p++)
|
||||
{
|
||||
nls_uint32 segsize =
|
||||
W (domain->must_swap, p->segsize);
|
||||
nls_uint32 sysdepref =
|
||||
W (domain->must_swap, p->sysdepref);
|
||||
size_t n;
|
||||
|
||||
if (segsize > 0)
|
||||
{
|
||||
memcpy (mem, static_segments, segsize);
|
||||
mem += segsize;
|
||||
static_segments += segsize;
|
||||
}
|
||||
|
||||
if (sysdepref == SEGMENTS_END)
|
||||
break;
|
||||
|
||||
n = strlen (sysdep_segment_values[sysdepref]);
|
||||
memcpy (mem, sysdep_segment_values[sysdepref], n);
|
||||
mem += n;
|
||||
}
|
||||
|
||||
inmem_orig_sysdep_tab[i].length =
|
||||
mem - inmem_orig_sysdep_tab[i].pointer;
|
||||
}
|
||||
}
|
||||
|
||||
/* Compute the augmented hash table. */
|
||||
for (i = 0; i < domain->hash_size; i++)
|
||||
inmem_hash_tab[i] =
|
||||
W (domain->must_swap_hash_tab, domain->hash_tab[i]);
|
||||
for (i = 0; i < n_sysdep_strings; i++)
|
||||
{
|
||||
const char *msgid = inmem_orig_sysdep_tab[i].pointer;
|
||||
nls_uint32 hash_val = hash_string (msgid);
|
||||
nls_uint32 idx = hash_val % domain->hash_size;
|
||||
nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if (inmem_hash_tab[idx] == 0)
|
||||
{
|
||||
/* Hash table entry is empty. Use it. */
|
||||
inmem_hash_tab[idx] = 1 + domain->nstrings + i;
|
||||
break;
|
||||
}
|
||||
|
||||
if (idx >= domain->hash_size - incr)
|
||||
idx -= domain->hash_size - incr;
|
||||
else
|
||||
idx += incr;
|
||||
}
|
||||
}
|
||||
|
||||
freea (sysdep_segment_values);
|
||||
|
||||
domain->n_sysdep_strings = n_sysdep_strings;
|
||||
domain->orig_sysdep_tab = inmem_orig_sysdep_tab;
|
||||
domain->trans_sysdep_tab = inmem_trans_sysdep_tab;
|
||||
|
||||
domain->hash_tab = inmem_hash_tab;
|
||||
domain->must_swap_hash_tab = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
domain->n_sysdep_strings = 0;
|
||||
domain->orig_sysdep_tab = NULL;
|
||||
domain->trans_sysdep_tab = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/* This is an invalid revision. */
|
||||
invalid:
|
||||
/* This is an invalid .mo file. */
|
||||
if (domain->malloced)
|
||||
free (domain->malloced);
|
||||
#ifdef HAVE_MMAP
|
||||
if (use_mmap)
|
||||
munmap ((caddr_t) data, size);
|
||||
@ -418,6 +1282,9 @@ _nl_unload_domain (domain)
|
||||
|
||||
_nl_free_domain_conv (domain);
|
||||
|
||||
if (domain->malloced)
|
||||
free (domain->malloced);
|
||||
|
||||
# ifdef _POSIX_MAPPED_FILES
|
||||
if (domain->use_mmap)
|
||||
munmap ((caddr_t) domain->data, domain->mmap_size);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1998, 2000, 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
|
||||
@ -189,6 +189,7 @@ __adjtimex_tv64 (struct timex *tx)
|
||||
return ret;
|
||||
}
|
||||
|
||||
strong_alias (__adjtimex_tv64, __adjtimex_internal);
|
||||
strong_alias (__adjtimex_tv64, __adjtimex_tv64p);
|
||||
versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1);
|
||||
versioned_symbol (libc, __adjtimex_tv64p, adjtimex, GLIBC_2_1);
|
||||
|
@ -21,7 +21,7 @@
|
||||
and the interrupted PC is easily findable in the `struct sigcontext'. */
|
||||
|
||||
static void
|
||||
profil_counter (int signr, int code, struct sigcontext *scp)
|
||||
profil_counter (int signr, siginfo_t *si, struct sigcontext *scp)
|
||||
{
|
||||
unsigned long ip = scp->sc_ip & ~0X3ULL, slot = scp->sc_ip & 0x3ull;
|
||||
|
||||
|
26
sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
Normal file
26
sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
Normal file
@ -0,0 +1,26 @@
|
||||
/* Copyright (C) 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#define SIGCONTEXT siginfo_t *_si, struct sigcontext *
|
||||
#define SIGCONTEXT_EXTRA_ARGS _si,
|
||||
#define GET_PC(ctx) ((void *) 0)
|
||||
#define GET_FRAME(ctx) ((void *) 0)
|
||||
#define GET_STACK(ctx) ((void *) 0)
|
||||
|
||||
#define CALL_SIGHANDLER(handler, signo, ctx) \
|
||||
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
|
Loading…
Reference in New Issue
Block a user