mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Update.
1998-04-21 18:00 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv.c (__gconv): Remove bogus input buffer size computation. * iconv/gconv_open.c (__gconv_open): Initialize outbufend element. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use character in comparison with uint32_t. (__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO. (__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM. Optimize BODY a bit. * iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to be defined. * iconv/skeleton.c: Also reset converted counter in case of an error. Call reset function using correct value for output buffer start. * iconvdata/Makefile: Re-enable tests. * iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT value for to-conversion. * iconvdata/TESTS: Add new third column. * iconvdata/run-iconv-test.sh: Add support for charsets which are not ASCII based. * iconvdata/testdata/suntzus: New file. * elf/dl-minimal.c (__strtol_internal): Increment pointer to string while reading. Correctly used base. Little optimization. (__strtoul_internal): Likewise. * elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths was wrong. Use explicit variable. 1998-04-20 23:49 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Check for awk. * config.make.in: Add AWK to be substituted. * manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions. * manual/users.texi: Fix typo exposed by above rewrite. * Makefile: Invoke awk using AWK variable. * csu/Makefile: Likewise. * elf/Makefile: Likewise. * mach/Makefile: Likewise. * manual/Makefile: Likewise. * sysdeps/gnu/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * sysdeps/unix/Makefile: Likewise. * timezone/Makefile: Likewise. 1998-04-10 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to array index translation. (SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if these are defined. * sysdeps/mach/hurd/Dist: Add errlist.c to distribution. * sysdeps/mach/hurd/errlist.c: New file. (ERR_TRANSLATE): Map Hurd error codes into errlist indices. (_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist semantics, so rename it. 1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * iconvdata/run-iconv-test.sh: Make portable. Always test all conversions. 1998-04-21 12:30 H.J. Lu <hjl@gnu.org> * wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0. * wcsmbs/wcsnrtombs.c: Likewise. 1998-04-21 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly. * wcsmbs/btowc.c (__btowc): Declare inptr as const char *. * time/strftime.c (my_strftime): Initialize pad variable in declaration. * iconvdata/big5.c: Don't use character constants in comparisons with unsigned value. * sysdeps/generic/setutxent.c: New file. * sysdeps/generic/getutxent.c: New file. * sysdeps/generic/endutxent.c: New file. * sysdeps/generic/getutxid.c: New file. * sysdeps/generic/getutxline.c: New file. * sysdeps/generic/pututxline.c: New file. * sysdeps/generic/utmpxname.c: New file. * sysdeps/generic/updwtmpx.c: New file.
This commit is contained in:
parent
26e119f15e
commit
5aa8ff620e
105
ChangeLog
105
ChangeLog
@ -1,3 +1,92 @@
|
||||
1998-04-21 18:00 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* iconv/gconv.c (__gconv): Remove bogus input buffer size computation.
|
||||
|
||||
* iconv/gconv_open.c (__gconv_open): Initialize outbufend element.
|
||||
|
||||
* iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use
|
||||
character in comparison with uint32_t.
|
||||
(__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO.
|
||||
(__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM.
|
||||
Optimize BODY a bit.
|
||||
|
||||
* iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to
|
||||
be defined.
|
||||
|
||||
* iconv/skeleton.c: Also reset converted counter in case of an error.
|
||||
Call reset function using correct value for output buffer start.
|
||||
|
||||
* iconvdata/Makefile: Re-enable tests.
|
||||
|
||||
* iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT
|
||||
value for to-conversion.
|
||||
|
||||
* iconvdata/TESTS: Add new third column.
|
||||
* iconvdata/run-iconv-test.sh: Add support for charsets which are
|
||||
not ASCII based.
|
||||
* iconvdata/testdata/suntzus: New file.
|
||||
|
||||
* elf/dl-minimal.c (__strtol_internal): Increment pointer to string
|
||||
while reading. Correctly used base. Little optimization.
|
||||
(__strtoul_internal): Likewise.
|
||||
|
||||
* elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths
|
||||
was wrong. Use explicit variable.
|
||||
|
||||
1998-04-20 23:49 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* configure.in: Check for awk.
|
||||
* config.make.in: Add AWK to be substituted.
|
||||
|
||||
* manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions.
|
||||
* manual/users.texi: Fix typo exposed by above rewrite.
|
||||
|
||||
* Makefile: Invoke awk using AWK variable.
|
||||
* csu/Makefile: Likewise.
|
||||
* elf/Makefile: Likewise.
|
||||
* mach/Makefile: Likewise.
|
||||
* manual/Makefile: Likewise.
|
||||
* sysdeps/gnu/Makefile: Likewise.
|
||||
* sysdeps/mach/hurd/Makefile: Likewise.
|
||||
* sysdeps/unix/Makefile: Likewise.
|
||||
* timezone/Makefile: Likewise.
|
||||
|
||||
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
|
||||
|
||||
* sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to
|
||||
array index translation.
|
||||
(SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if
|
||||
these are defined.
|
||||
|
||||
* sysdeps/mach/hurd/Dist: Add errlist.c to distribution.
|
||||
|
||||
* sysdeps/mach/hurd/errlist.c: New file.
|
||||
(ERR_TRANSLATE): Map Hurd error codes into errlist indices.
|
||||
(_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist
|
||||
semantics, so rename it.
|
||||
|
||||
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* iconvdata/run-iconv-test.sh: Make portable. Always test all
|
||||
conversions.
|
||||
|
||||
1998-04-21 12:30 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0.
|
||||
* wcsmbs/wcsnrtombs.c: Likewise.
|
||||
|
||||
1998-04-21 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly.
|
||||
|
||||
* wcsmbs/btowc.c (__btowc): Declare inptr as const char *.
|
||||
|
||||
* time/strftime.c (my_strftime): Initialize pad variable in
|
||||
declaration.
|
||||
|
||||
* iconvdata/big5.c: Don't use character constants in comparisons
|
||||
with unsigned value.
|
||||
|
||||
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
|
||||
@ -194,14 +283,14 @@
|
||||
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
|
||||
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
|
||||
Define if __USE_GNU.
|
||||
* sysdeps/gnu/setutxent.c: New file.
|
||||
* sysdeps/gnu/getutxent.c: New file.
|
||||
* sysdeps/gnu/endutxent.c: New file.
|
||||
* sysdeps/gnu/getutxid.c: New file.
|
||||
* sysdeps/gnu/getutxline.c: New file.
|
||||
* sysdeps/gnu/pututxline.c: New file.
|
||||
* sysdeps/gnu/utmpxname.c: New file.
|
||||
* sysdeps/gnu/updwtmpx.c: New file.
|
||||
* sysdeps/generic/setutxent.c: New file.
|
||||
* sysdeps/generic/getutxent.c: New file.
|
||||
* sysdeps/generic/endutxent.c: New file.
|
||||
* sysdeps/generic/getutxid.c: New file.
|
||||
* sysdeps/generic/getutxline.c: New file.
|
||||
* sysdeps/generic/pututxline.c: New file.
|
||||
* sysdeps/generic/utmpxname.c: New file.
|
||||
* sysdeps/generic/updwtmpx.c: New file.
|
||||
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
|
||||
* sysdeps/generic/bits/utmpx.h: Remove.
|
||||
|
||||
|
2
Makefile
2
Makefile
@ -116,7 +116,7 @@ libc-init = set-init
|
||||
else
|
||||
libc-init = munch-init
|
||||
$(objpfx)munch-init.c: munch.awk munch-tmpl.c $(+subdir_inits)
|
||||
awk -f $< subdirs='$(+init_subdirs)' $(word 2,$^) > $@-t
|
||||
$(AWK) -f $< subdirs='$(+init_subdirs)' $(word 2,$^) > $@-t
|
||||
mv -f $@-t $@
|
||||
generated := $(generated) munch-init.c
|
||||
endif
|
||||
|
@ -78,6 +78,7 @@ MSGFMT = @MSGFMT@
|
||||
# Script execution tools.
|
||||
BASH = @BASH@
|
||||
KSH = @KSH@
|
||||
AWK = @AWK@
|
||||
PERL = @PERL@
|
||||
|
||||
# More variables may be inserted below by configure.
|
||||
|
116
configure
vendored
116
configure
vendored
@ -1968,12 +1968,45 @@ else
|
||||
fi
|
||||
|
||||
|
||||
for ac_prog in perl
|
||||
for ac_prog in mawk gawk nawk awk
|
||||
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:1977: 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
|
||||
if test -n "$AWK"; then
|
||||
ac_cv_prog_AWK="$AWK" # Let the user override the test.
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_prog_AWK="$ac_prog"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
fi
|
||||
fi
|
||||
AWK="$ac_cv_prog_AWK"
|
||||
if test -n "$AWK"; then
|
||||
echo "$ac_t""$AWK" 1>&6
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
test -n "$AWK" && break
|
||||
done
|
||||
|
||||
for ac_prog in perl
|
||||
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:2010: 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
|
||||
@ -2008,7 +2041,7 @@ test -n "$PERL" || PERL="no"
|
||||
|
||||
|
||||
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
|
||||
echo "configure:2012: checking for signed size_t type" >&5
|
||||
echo "configure:2045: 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
|
||||
@ -2032,12 +2065,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
|
||||
echo "configure:2036: checking for libc-friendly stddef.h" >&5
|
||||
echo "configure:2069: 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 2041 "configure"
|
||||
#line 2074 "configure"
|
||||
#include "confdefs.h"
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
@ -2052,7 +2085,7 @@ size_t size; wchar_t wchar;
|
||||
if (&size == NULL || &wchar == NULL) abort ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_friendly_stddef=yes
|
||||
else
|
||||
@ -2071,7 +2104,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:2075: checking whether we need to use -P to assemble .S files" >&5
|
||||
echo "configure:2108: 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
|
||||
@ -2094,7 +2127,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
|
||||
echo "configure:2098: checking for assembler global-symbol directive" >&5
|
||||
echo "configure:2131: 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
|
||||
@ -2124,7 +2157,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2128: checking for .set assembler directive" >&5
|
||||
echo "configure:2161: 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
|
||||
@ -2158,7 +2191,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2162: checking for .symver assembler directive" >&5
|
||||
echo "configure:2195: 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
|
||||
@ -2177,7 +2210,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:2181: checking for ld --version-script" >&5
|
||||
echo "configure:2214: 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
|
||||
@ -2200,7 +2233,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:2204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
1>&5'; { (eval echo configure:2237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
@ -2238,7 +2271,7 @@ if test $VERSIONING = no; then
|
||||
fi
|
||||
if test $elf = yes; then
|
||||
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2242: checking for .previous assembler directive" >&5
|
||||
echo "configure:2275: 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
|
||||
@ -2246,7 +2279,7 @@ else
|
||||
.section foo_section
|
||||
.previous
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_previous_directive=yes
|
||||
else
|
||||
libc_cv_asm_previous_directive=no
|
||||
@ -2262,7 +2295,7 @@ EOF
|
||||
|
||||
else
|
||||
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2266: checking for .popsection assembler directive" >&5
|
||||
echo "configure:2299: 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
|
||||
@ -2270,7 +2303,7 @@ else
|
||||
.pushsection foo_section
|
||||
.popsection
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2274: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_popsection_directive=yes
|
||||
else
|
||||
libc_cv_asm_popsection_directive=no
|
||||
@ -2290,12 +2323,12 @@ fi
|
||||
|
||||
if test $elf != yes; then
|
||||
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
|
||||
echo "configure:2294: checking for .init and .fini sections" >&5
|
||||
echo "configure:2327: 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 2299 "configure"
|
||||
#line 2332 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@ -2304,7 +2337,7 @@ asm (".section .init");
|
||||
asm (".text");
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_have_initfini=yes
|
||||
else
|
||||
@ -2332,19 +2365,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:2336: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:2369: 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 2341 "configure"
|
||||
#line 2374 "configure"
|
||||
#include "confdefs.h"
|
||||
asm ("_glibc_foobar:");
|
||||
int main() {
|
||||
glibc_foobar ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
if { (eval echo configure:2381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
else
|
||||
@ -2359,17 +2392,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:2363: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:2396: 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 2368 "configure"
|
||||
#line 2401 "configure"
|
||||
#include "confdefs.h"
|
||||
void underscore_test(void) {
|
||||
return; }
|
||||
EOF
|
||||
if { (eval echo configure:2373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2406: \"$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
|
||||
@ -2401,7 +2434,7 @@ if test $elf = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
|
||||
echo "configure:2405: checking for assembler .weak directive" >&5
|
||||
echo "configure:2438: 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
|
||||
@ -2424,7 +2457,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:2428: checking for assembler .weakext directive" >&5
|
||||
echo "configure:2461: 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
|
||||
@ -2462,7 +2495,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
|
||||
echo "configure:2466: checking for ld --no-whole-archive" >&5
|
||||
echo "configure:2499: 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
|
||||
@ -2473,7 +2506,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -Wl,--no-whole-archive
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2510: \"$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
|
||||
@ -2484,7 +2517,7 @@ fi
|
||||
echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
|
||||
|
||||
echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
|
||||
echo "configure:2488: checking for gcc -fno-exceptions" >&5
|
||||
echo "configure:2521: checking for gcc -fno-exceptions" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2495,7 +2528,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -fno-exceptions
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2532: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_no_exceptions=yes
|
||||
else
|
||||
libc_cv_gcc_no_exceptions=no
|
||||
@ -2507,14 +2540,14 @@ echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6
|
||||
|
||||
if test "$base_machine" = alpha ; then
|
||||
echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
|
||||
echo "configure:2511: checking for function ..ng prefix" >&5
|
||||
echo "configure:2544: 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:2518: \"$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:2551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_gcc_alpha_ng_prefix=yes
|
||||
else
|
||||
@ -2538,12 +2571,12 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
|
||||
echo "configure:2542: checking for DWARF2 unwind info support" >&5
|
||||
echo "configure:2575: 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 2547 "configure"
|
||||
#line 2580 "configure"
|
||||
static char __EH_FRAME_BEGIN__;
|
||||
_start ()
|
||||
{
|
||||
@ -2570,7 +2603,7 @@ __bzero () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2607: \"$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
|
||||
@ -2578,7 +2611,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:2582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2615: \"$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
|
||||
@ -2652,7 +2685,7 @@ if test "$uname" = "sysdeps/generic"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
|
||||
echo "configure:2656: checking OS release for uname" >&5
|
||||
echo "configure:2689: 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
|
||||
@ -2674,7 +2707,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:2678: checking OS version for uname" >&5
|
||||
echo "configure:2711: 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
|
||||
@ -2696,7 +2729,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
|
||||
echo "configure:2700: checking stdio selection" >&5
|
||||
echo "configure:2733: checking stdio selection" >&5
|
||||
|
||||
case $stdio in
|
||||
libio) cat >> confdefs.h <<\EOF
|
||||
@ -2708,7 +2741,7 @@ esac
|
||||
echo "$ac_t""$stdio" 1>&6
|
||||
|
||||
echo $ac_n "checking ldap selection""... $ac_c" 1>&6
|
||||
echo "configure:2712: checking ldap selection" >&5
|
||||
echo "configure:2745: checking ldap selection" >&5
|
||||
|
||||
case $add_ons in
|
||||
*ldap*)
|
||||
@ -2759,7 +2792,7 @@ if test $shared = default; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
|
||||
echo "configure:2763: checking whether -fPIC is default" >&5
|
||||
echo "configure:2796: checking whether -fPIC is default" >&5
|
||||
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2961,6 +2994,7 @@ s%@BASH@%$BASH%g
|
||||
s%@libc_cv_have_bash2@%$libc_cv_have_bash2%g
|
||||
s%@KSH@%$KSH%g
|
||||
s%@libc_cv_have_ksh@%$libc_cv_have_ksh%g
|
||||
s%@AWK@%$AWK%g
|
||||
s%@PERL@%$PERL%g
|
||||
s%@VERSIONING@%$VERSIONING%g
|
||||
s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g
|
||||
|
@ -557,6 +557,7 @@ else
|
||||
fi
|
||||
AC_SUBST(libc_cv_have_ksh)
|
||||
|
||||
AC_PROG_AWK
|
||||
AC_PATH_PROGS(PERL, perl, no)
|
||||
AC_SUBST(PERL)
|
||||
|
||||
|
@ -85,7 +85,7 @@ $(objpfx)crtn.S: $(objpfx)initfini.s
|
||||
|
||||
$(objpfx)defs.h: $(objpfx)initfini.s
|
||||
sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
|
||||
awk -f defs.awk > $@
|
||||
$(AWK) -f defs.awk > $@
|
||||
|
||||
endif
|
||||
|
||||
|
@ -146,7 +146,7 @@ $(objpfx)trusted-dirs.h: Makefile $(..)Makeconfig
|
||||
mv -f $@T $@
|
||||
$(objpfx)rtldtbl.h: Makefile $(..)Makeconfig genrtldtbl.awk
|
||||
$(make-target-directory)
|
||||
echo "$(default-rpath)" | awk -f genrtldtbl.awk > $@T
|
||||
echo "$(default-rpath)" | $(AWK) -f genrtldtbl.awk > $@T
|
||||
mv -f $@T $@
|
||||
CPPFLAGS-dl-load.c = -I$(objpfx).
|
||||
CFLAGS-dl-load.c += -Wno-uninitialized
|
||||
|
@ -233,6 +233,7 @@ __strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
}
|
||||
|
||||
assert (base == 0);
|
||||
base = 10;
|
||||
if (*nptr == '0')
|
||||
{
|
||||
if (nptr[1] == 'x' || nptr[1] == 'X')
|
||||
@ -243,8 +244,6 @@ __strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
else
|
||||
base = 8;
|
||||
}
|
||||
else
|
||||
base = 10;
|
||||
|
||||
while (*nptr >= '0' && *nptr <= '9')
|
||||
{
|
||||
@ -257,8 +256,9 @@ __strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
errno = ERANGE;
|
||||
return sign > 0 ? LONG_MAX : LONG_MIN;
|
||||
}
|
||||
result *= 10;
|
||||
result *= base;
|
||||
result += digval;
|
||||
++nptr;
|
||||
}
|
||||
|
||||
return (long int) result * sign;
|
||||
@ -295,6 +295,7 @@ __strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
}
|
||||
|
||||
assert (base == 0);
|
||||
base = 10;
|
||||
if (*nptr == '0')
|
||||
{
|
||||
if (nptr[1] == 'x' || nptr[1] == 'X')
|
||||
@ -305,8 +306,6 @@ __strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
else
|
||||
base = 8;
|
||||
}
|
||||
else
|
||||
base = 10;
|
||||
|
||||
while (*nptr >= '0' && *nptr <= '9')
|
||||
{
|
||||
@ -317,8 +316,9 @@ __strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
errno = ERANGE;
|
||||
return ULONG_MAX;
|
||||
}
|
||||
result *= 10;
|
||||
result *= base;
|
||||
result += digval;
|
||||
++nptr;
|
||||
}
|
||||
|
||||
return result * sign;
|
||||
|
@ -287,6 +287,7 @@ dl_main (const ElfW(Phdr) *phdr,
|
||||
char *file;
|
||||
int has_interp = 0;
|
||||
unsigned int i;
|
||||
int paths_initialized = 0;
|
||||
|
||||
/* Process the environment variable which control the behaviour. */
|
||||
process_envvars (&mode, &lazy);
|
||||
@ -376,6 +377,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
/* Initialize the data structures for the search paths for shared
|
||||
objects. */
|
||||
_dl_init_paths (library_path);
|
||||
paths_initialized = 1;
|
||||
|
||||
if (mode == verify)
|
||||
{
|
||||
@ -493,7 +495,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
_exit (0);
|
||||
}
|
||||
|
||||
if (*user_entry != (ElfW(Addr)) &ENTRY_POINT)
|
||||
if (! paths_initialized)
|
||||
/* Initialize the data structures for the search paths for shared
|
||||
objects. */
|
||||
_dl_init_paths (library_path);
|
||||
|
@ -51,19 +51,9 @@ __gconv (gconv_t cd, const char **inbuf, const char *inbufend, char **outbuf,
|
||||
|
||||
do
|
||||
{
|
||||
/* See whether the input size is reasoable for the output
|
||||
size. If not adjust it. */
|
||||
size_t inlen = ((inbufend - *inbuf) / cd->steps->max_needed_from
|
||||
* cd->steps->max_needed_from);
|
||||
|
||||
if (cd->nsteps > 1)
|
||||
inlen = MIN (inlen, (((outbufend - cd->data[last_step].outbuf)
|
||||
/ cd->steps[last_step].max_needed_to)
|
||||
* cd->steps[last_step].max_needed_to));
|
||||
|
||||
last_start = *inbuf;
|
||||
result = (*cd->steps->fct) (cd->steps, cd->data, inbuf,
|
||||
*inbuf + inlen, converted, 0);
|
||||
result = (*cd->steps->fct) (cd->steps, cd->data, inbuf, inbufend,
|
||||
converted, 0);
|
||||
}
|
||||
while (result == GCONV_EMPTY_INPUT && last_start != *inbuf
|
||||
&& *inbuf + cd->steps->min_needed_from <= inbufend);
|
||||
|
@ -71,14 +71,16 @@ __gconv_open (const char *toset, const char *fromset, gconv_t *handle)
|
||||
/* Allocate the buffer. */
|
||||
if (!data[cnt].is_last)
|
||||
{
|
||||
data[cnt].outbuf =
|
||||
(char *) malloc (GCONV_NCHAR_GOAL
|
||||
* steps[cnt].max_needed_to);
|
||||
size_t size = (GCONV_NCHAR_GOAL
|
||||
* steps[cnt].max_needed_to);
|
||||
|
||||
data[cnt].outbuf = (char *) malloc (size);
|
||||
if (data[cnt].outbuf == NULL)
|
||||
{
|
||||
res = GCONV_NOMEM;
|
||||
break;
|
||||
}
|
||||
data[cnt].outbufend = data[cnt].outbuf + size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -181,7 +181,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
#define LOOPFCT FROM_LOOP
|
||||
#define BODY \
|
||||
{ \
|
||||
if (*((uint32_t *) inptr) > '\x7f') \
|
||||
if (*((uint32_t *) inptr) > 0x7f) \
|
||||
{ \
|
||||
/* This is no correct ANSI_X3.4-1968 character. */ \
|
||||
result = GCONV_ILLEGAL_INPUT; \
|
||||
@ -208,6 +208,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
|
||||
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
|
||||
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
|
||||
#define MAX_NEEDED_OUTPUT MAX_NEEDED_TO
|
||||
#define LOOPFCT FROM_LOOP
|
||||
#define BODY \
|
||||
{ \
|
||||
@ -266,6 +267,7 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
#define FUNCTION_NAME __gconv_transform_utf8_internal
|
||||
|
||||
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
|
||||
#define MAX_NEEDED_INPUT MAX_NEEDED_FROM
|
||||
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
|
||||
#define LOOPFCT FROM_LOOP
|
||||
#define BODY \
|
||||
@ -278,69 +280,75 @@ internal_ucs4_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
ch = *inptr; \
|
||||
\
|
||||
if (ch < 0x80) \
|
||||
/* One byte sequence. */ \
|
||||
cnt = 1; \
|
||||
else if ((ch & 0xe0) == 0xc0) \
|
||||
{ \
|
||||
cnt = 2; \
|
||||
ch &= 0x1f; \
|
||||
} \
|
||||
else if ((ch & 0xf0) == 0xe0) \
|
||||
{ \
|
||||
/* We expect three bytes. */ \
|
||||
cnt = 3; \
|
||||
ch &= 0x0f; \
|
||||
} \
|
||||
else if ((ch & 0xf8) == 0xf0) \
|
||||
{ \
|
||||
/* We expect four bytes. */ \
|
||||
cnt = 4; \
|
||||
ch &= 0x07; \
|
||||
} \
|
||||
else if ((ch & 0xfc) == 0xf8) \
|
||||
{ \
|
||||
/* We expect five bytes. */ \
|
||||
cnt = 5; \
|
||||
ch &= 0x03; \
|
||||
} \
|
||||
else if ((ch & 0xfe) == 0xfc) \
|
||||
{ \
|
||||
/* We expect six bytes. */ \
|
||||
cnt = 6; \
|
||||
ch &= 0x01; \
|
||||
/* One byte sequence. */ \
|
||||
cnt = 1; \
|
||||
++inptr; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
/* This is an illegal encoding. */ \
|
||||
result = GCONV_ILLEGAL_INPUT; \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
if (NEED_LENGTH_TEST && inptr + cnt >= inend) \
|
||||
{ \
|
||||
/* We don't have enough input. */ \
|
||||
result = GCONV_INCOMPLETE_INPUT; \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
/* Read the possible remaining bytes. */ \
|
||||
for (i = 1; i < cnt; ++i) \
|
||||
{ \
|
||||
uint32_t byte = inptr[i]; \
|
||||
\
|
||||
if ((byte & 0xc0) != 0x80) \
|
||||
if ((ch & 0xe0) == 0xc0) \
|
||||
{ \
|
||||
cnt = 2; \
|
||||
ch &= 0x1f; \
|
||||
} \
|
||||
else if ((ch & 0xf0) == 0xe0) \
|
||||
{ \
|
||||
/* We expect three bytes. */ \
|
||||
cnt = 3; \
|
||||
ch &= 0x0f; \
|
||||
} \
|
||||
else if ((ch & 0xf8) == 0xf0) \
|
||||
{ \
|
||||
/* We expect four bytes. */ \
|
||||
cnt = 4; \
|
||||
ch &= 0x07; \
|
||||
} \
|
||||
else if ((ch & 0xfc) == 0xf8) \
|
||||
{ \
|
||||
/* We expect five bytes. */ \
|
||||
cnt = 5; \
|
||||
ch &= 0x03; \
|
||||
} \
|
||||
else if ((ch & 0xfe) == 0xfc) \
|
||||
{ \
|
||||
/* We expect six bytes. */ \
|
||||
cnt = 6; \
|
||||
ch &= 0x01; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
/* This is an illegal encoding. */ \
|
||||
result = GCONV_ILLEGAL_INPUT; \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
ch <<= 6; \
|
||||
ch |= byte & 0x3f; \
|
||||
if (NEED_LENGTH_TEST && inptr + cnt > inend) \
|
||||
{ \
|
||||
/* We don't have enough input. */ \
|
||||
result = GCONV_INCOMPLETE_INPUT; \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
/* Read the possible remaining bytes. */ \
|
||||
for (i = 1; i < cnt; ++i) \
|
||||
{ \
|
||||
uint32_t byte = inptr[i]; \
|
||||
\
|
||||
if ((byte & 0xc0) != 0x80) \
|
||||
{ \
|
||||
/* This is an illegal encoding. */ \
|
||||
result = GCONV_ILLEGAL_INPUT; \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
ch <<= 6; \
|
||||
ch |= byte & 0x3f; \
|
||||
} \
|
||||
inptr += cnt; \
|
||||
} \
|
||||
\
|
||||
/* Now adjust the pointers and store the result. */ \
|
||||
inptr += cnt; \
|
||||
*((uint32_t *) outptr)++ = ch; \
|
||||
}
|
||||
#include <iconv/loop.c>
|
||||
|
@ -32,8 +32,6 @@
|
||||
bytes needed. It defaults to MIN_NEEDED_INPUT
|
||||
MAX_NEEDED_OUTPUT likewise for output bytes.
|
||||
|
||||
Both values have a default of 1.
|
||||
|
||||
LOOPFCT name of the function created. If not specified
|
||||
the name is `loop' but this prevents the use
|
||||
of multiple functions in the same file.
|
||||
@ -55,7 +53,7 @@
|
||||
|
||||
/* We need at least one byte for the next round. */
|
||||
#ifndef MIN_NEEDED_INPUT
|
||||
# define MIN_NEEDED_INPUT 1
|
||||
# error "MIN_NEEDED_INPUT definition missing"
|
||||
#endif
|
||||
|
||||
/* Let's see how many bytes we produce. */
|
||||
@ -65,7 +63,7 @@
|
||||
|
||||
/* We produce at least one byte in the next round. */
|
||||
#ifndef MIN_NEEDED_OUTPUT
|
||||
# define MIN_NEEDED_OUTPUT 1
|
||||
# error "MIN_NEEDED_OUTPUT definition missing"
|
||||
#endif
|
||||
|
||||
/* Let's see how many bytes we produce. */
|
||||
|
@ -196,6 +196,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
|
||||
/* This variable is used to count the number of characters we
|
||||
actually converted. */
|
||||
size_t converted = 0;
|
||||
size_t last_converted;
|
||||
|
||||
/* We preserve the initial values of the pointer variables. */
|
||||
const char *inptr = *inbuf;
|
||||
@ -211,6 +212,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
|
||||
outptr = outbuf;
|
||||
|
||||
/* Save the state. */
|
||||
last_converted = converted;
|
||||
#ifdef SAVE_RESET_STATE
|
||||
SAVE_RESET_STATE (1);
|
||||
#endif
|
||||
@ -242,7 +244,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
|
||||
/* Write out all output which was produced. */
|
||||
if (outbuf > outptr)
|
||||
{
|
||||
const char *outerr = outbuf;
|
||||
const char *outerr = data->outbuf;
|
||||
int result;
|
||||
|
||||
result = (*fct) (next_step, next_data, &outerr, outbuf,
|
||||
@ -264,6 +266,7 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
|
||||
outbuf = outptr;
|
||||
|
||||
/* Reset the state. */
|
||||
converted = last_converted;
|
||||
# ifdef SAVE_RESET_STATE
|
||||
SAVE_RESET_STATE (0);
|
||||
# endif
|
||||
@ -287,8 +290,8 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
|
||||
|
||||
/* We must run out of output buffer space in this
|
||||
rerun. */
|
||||
assert (nstatus == GCONV_FULL_OUTPUT
|
||||
&& outbuf == outerr);
|
||||
assert (outbuf == outerr);
|
||||
assert (nstatus == GCONV_FULL_OUTPUT);
|
||||
#endif /* reset input buffer */
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ endif
|
||||
include ../Rules
|
||||
|
||||
.PHONY: do-iconv-test
|
||||
#tests: do-iconv-test
|
||||
tests: do-iconv-test
|
||||
|
||||
do-iconv-test: run-iconv-test.sh $(objpfx)gconv-modules \
|
||||
$(addprefix $(objpfx),$(modules.so)) \
|
||||
|
@ -18,22 +18,24 @@
|
||||
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# Each line consists of at least three entries:
|
||||
# Each line consists of at least four entries:
|
||||
# 1. input file name.
|
||||
# 2. output file name; this is different from the input file name only for
|
||||
# conversions which do not produce the same output when the transformation
|
||||
# is applied back and forth.
|
||||
# 3.
|
||||
# 3. Y or N depending of whether the character set contains ASCII as a
|
||||
# subset or not.
|
||||
# 4.
|
||||
# ...
|
||||
# N. target coded character set.
|
||||
|
||||
ISO-8859-1 ISO-8859-1 UTF8
|
||||
ISO-8859-2 ISO-8859-2 UCS4 UTF8
|
||||
ISO-8859-3 ISO-8859-3 UTF8
|
||||
ISO-8859-4 ISO-8859-4 UTF8
|
||||
ISO-8859-5 ISO-8859-5 UTF8
|
||||
ISO-8859-6 ISO-8859-6 UTF8
|
||||
ISO-8859-7 ISO-8859-7 UTF8
|
||||
ISO-8859-8 ISO-8859-8 UTF8
|
||||
ISO-8859-9 ISO-8859-9 UTF8
|
||||
ISO-8859-10 ISO-8859-10 UCS2 UTF8
|
||||
ISO-8859-1 ISO-8859-1 Y UTF8
|
||||
ISO-8859-2 ISO-8859-2 Y UCS4 UTF8
|
||||
ISO-8859-3 ISO-8859-3 Y UTF8
|
||||
ISO-8859-4 ISO-8859-4 Y UTF8
|
||||
ISO-8859-5 ISO-8859-5 Y UTF8
|
||||
ISO-8859-6 ISO-8859-6 Y UTF8
|
||||
ISO-8859-7 ISO-8859-7 Y UTF8
|
||||
ISO-8859-8 ISO-8859-8 Y UTF8
|
||||
ISO-8859-9 ISO-8859-9 Y UTF8
|
||||
ISO-8859-10 ISO-8859-10 Y UCS2 UTF8
|
||||
|
@ -8431,7 +8431,7 @@ static const char from_ucs4_tab13[][2] =
|
||||
{ \
|
||||
uint32_t ch = *inptr; \
|
||||
\
|
||||
if (ch >= '\xa1' && ch <= '\xff') \
|
||||
if (ch >= 0xa1 && ch <= 0xff) \
|
||||
{ \
|
||||
/* Two-byte character. First test whether the next character \
|
||||
is also available. */ \
|
||||
@ -8448,9 +8448,9 @@ static const char from_ucs4_tab13[][2] =
|
||||
idx = (ch - 0xa1) * 157; \
|
||||
ch2 = inptr[1]; \
|
||||
/* See whether the second byte is in the correct range. */ \
|
||||
if (ch2 >= '\x40' && ch2 <= '\x7e') \
|
||||
if (ch2 >= 0x40 && ch2 <= 0x7e) \
|
||||
idx += ch2 - 0x40; \
|
||||
else if (ch2 >= '\xa1' && ch2 <= '\xfe') \
|
||||
else if (ch2 >= 0xa1 && ch2 <= 0xfe) \
|
||||
idx += 0x3f + (ch2 - 0xa1); \
|
||||
else \
|
||||
{ \
|
||||
@ -8463,7 +8463,7 @@ static const char from_ucs4_tab13[][2] =
|
||||
ch = big5_to_ucs[idx]; \
|
||||
\
|
||||
/* Is this character defined? */ \
|
||||
if (ch == L'\0' && *inptr != '\0') \
|
||||
if (ch == 0 && *inptr != '\0') \
|
||||
{ \
|
||||
/* This is an illegal character. */ \
|
||||
result = GCONV_ILLEGAL_INPUT; \
|
||||
|
@ -39,8 +39,8 @@
|
||||
|
||||
|
||||
/* Next, define the other direction. */
|
||||
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
|
||||
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
|
||||
#define MIN_NEEDED_INPUT MIN_NEEDED_TO
|
||||
#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM
|
||||
#define LOOPFCT TO_LOOP
|
||||
#define BODY \
|
||||
{ \
|
||||
|
@ -37,37 +37,50 @@ ICONV="$codir/elf/ld.so --library-path $codir $codir/iconv/iconv_prog"
|
||||
|
||||
# We read the file named TESTS. All non-empty lines not starting with
|
||||
# `#' are interpreted as commands.
|
||||
while read from to targets; do
|
||||
failed=0
|
||||
while read from to subset targets; do
|
||||
# Ignore empty and comment lines.
|
||||
if test -z "$targets" || test "$from" = '#'; then continue; fi
|
||||
|
||||
for t in $targets; do
|
||||
$ICONV -f $from -t $t testdata/$from > $temp1 ||
|
||||
{ echo "*** conversion from $from to $t failed"; exit 1; }
|
||||
{ echo "*** conversion from $from to $t failed"; failed=1; }
|
||||
if test -s testdata/$from..$t; then
|
||||
cmp $temp1 testdata/$from..$t >& /dev/null ||
|
||||
{ echo "*** $from -> $t conversion failed"; exit 1; }
|
||||
{ echo "*** $from -> $t conversion failed"; failed=1; }
|
||||
fi
|
||||
$ICONV -f $t -t $to -o $temp2 $temp1 ||
|
||||
{ echo "*** conversion from $t to $to failed"; exit 1; }
|
||||
{ echo "*** conversion from $t to $to failed"; failed=1; }
|
||||
test -s $temp1 && cmp testdata/$from $temp2 >& /dev/null ||
|
||||
{ echo "*** $from -> t -> $to conversion failed"; exit 1; }
|
||||
{ echo "*** $from -> t -> $to conversion failed"; failed=1; }
|
||||
rm -f $temp1 $temp2
|
||||
|
||||
# Now test some bigger text, entirely in ASCII.
|
||||
$ICONV -f $from -t $t testdata/suntzus |
|
||||
$ICONV -f $t -t $to > $temp1 ||
|
||||
{ echo "*** conversion $from->$t->$to of suntzus failed"; exit 1; }
|
||||
cmp testdata/suntzus.txt $temp1 ||
|
||||
{ echo "*** conversion $from->$t->$to of suntzus incorrect"; exit 1; }
|
||||
# Now test some bigger text, entirely in ASCII. If ASCII is no subset
|
||||
# of the coded character set we test we convert the test to this
|
||||
# coded character set. Otherwise we convert to all the TARGETS.
|
||||
if test $subset = Y; then
|
||||
$ICONV -f $from -t $t testdata/suntzus |
|
||||
$ICONV -f $t -t $to > $temp1 ||
|
||||
{ echo "*** conversion $from->$t->$to of suntzus failed"; failed=1; }
|
||||
cmp testdata/suntzus $temp1 ||
|
||||
{ echo "*** conversion $from->$t->$to of suntzus incorrect";
|
||||
failed=1; }
|
||||
else
|
||||
$ICONV -f ASCII -t $to testdata/suntzus |
|
||||
$ICONV -f $to -f ASCII > $temp1 ||
|
||||
{ echo "*** conversion ASCII->$to->ASCII of suntzus failed";
|
||||
failed=1; }
|
||||
cmp testdata/suntzus $temp1 ||
|
||||
{ echo "*** conversion ASCII->$to->ASCII of suntzus incorrect";
|
||||
failed=1; }
|
||||
fi
|
||||
rm -f $temp1
|
||||
|
||||
# All tests ok.
|
||||
echo "$from -> $t -> $to ok"
|
||||
done
|
||||
done < TESTS
|
||||
|
||||
exit $?
|
||||
exit $failed
|
||||
# Local Variables:
|
||||
# mode:shell-script
|
||||
# End:
|
||||
|
1693
iconvdata/testdata/suntzus
vendored
Normal file
1693
iconvdata/testdata/suntzus
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -75,7 +75,7 @@ $(objpfx)mach-syscalls.mk: syscalls.awk Makefile
|
||||
$(CC) $(CPPFLAGS) -E -x c-header - \
|
||||
-D_MACH_`echo $(base-machine) | tr a-z A-Z`_SYSCALL_SW_H_=1 | \
|
||||
sed -n -e 's/^kernel_trap(\(.*\),\([-0-9]*\),\([0-9]*\))$$/\1 \2 \3/p'\
|
||||
| awk -f $< > $@-new
|
||||
| $(AWK) -f $< > $@-new
|
||||
cat $@-dep >> $@-new; rm -f $@-dep
|
||||
mv $@-new $@
|
||||
generated += mach-syscalls.mk
|
||||
@ -117,8 +117,8 @@ mach/mach_interface.uh mach/mach_host.uh mach/mach_port.uh: $(objpfx)mach-syscal
|
||||
ifdef mach-shortcuts
|
||||
$(mach-shortcuts:%=$(objpfx)%.c): $(objpfx)%.c: shortcut.awk \
|
||||
$(objpfx)RPC_%_rpc.c
|
||||
gawk -v alias=$* -v call=__$* -v rpc=__$*_rpc -v syscall=__syscall_$* \
|
||||
-f $^ > $@-new
|
||||
$(AWK) -v alias=$* -v call=__$* -v rpc=__$*_rpc \
|
||||
-v syscall=__syscall_$* -f $^ > $@-new
|
||||
mv $@-new $@
|
||||
generated += $(mach-shortcuts:%=%.c)
|
||||
endif # mach-shortcuts
|
||||
@ -148,5 +148,5 @@ include ../Rules
|
||||
generated += errsystems.c
|
||||
$(objpfx)errsystems.c: errsystems.awk err_*.sub \
|
||||
$(wildcard $(addsuffix /err_*.sub,$(+sysdep_dirs)))
|
||||
gawk -v subsys='$(filter-out $<,$^)' -f $^ > $@.n
|
||||
$(AWK) -v subsys='$(filter-out $<,$^)' -f $^ > $@.n
|
||||
mv $@.n $@
|
||||
|
@ -21,8 +21,6 @@
|
||||
subdir := manual
|
||||
export subdir := $(subdir)
|
||||
|
||||
# We need GNU awk for the xtract-typefun script.
|
||||
GAWK = gawk
|
||||
# Allow override
|
||||
INSTALL_INFO = install-info
|
||||
|
||||
@ -62,7 +60,7 @@ chapters-incl := $(chapters-incl1) $(chapters-incl2)
|
||||
|
||||
define find-includes
|
||||
(echo '$(@F) :=' \\ ;\
|
||||
awk '$$1 == "@include" { print $$2 " \\" }' $^) > $@.new
|
||||
$(AWK) '$$1 == "@include" { print $$2 " \\" }' $^) > $@.new
|
||||
mv -f $@.new $@
|
||||
endef
|
||||
|
||||
@ -78,7 +76,7 @@ libc.dvi: texinfo.tex
|
||||
# Generate the summary from the Texinfo source files for each chapter.
|
||||
summary.texi: stamp-summary ;
|
||||
stamp-summary: summary.awk $(chapters) $(chapters-incl)
|
||||
awk -f $^ \
|
||||
$(AWK) -f $^ \
|
||||
| sort -df +1 -2 | tr '\014' '\012' > summary-tmp
|
||||
./move-if-change summary-tmp summary.texi
|
||||
# touch is broken on our machines. Sigh.
|
||||
@ -88,10 +86,10 @@ stamp-summary: summary.awk $(chapters) $(chapters-incl)
|
||||
# access to the documentation of the function, variables, and other
|
||||
# definitions.
|
||||
dir-add.texinfo: xtract-typefun.awk $(chapters) $(chapters-incl)
|
||||
(echo "@dircategory GNU C library functions"; \
|
||||
$(SHELL) -c '(echo "@dircategory GNU C library functions"; \
|
||||
echo "@direntry"; \
|
||||
$(GAWK) -f $^ | sort; \
|
||||
echo "@end direntry";) > $@.new
|
||||
$(AWK) -f $^; \
|
||||
echo "@end direntry";)' > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
# Generate Texinfo files from the C source for the example programs.
|
||||
|
@ -289,7 +289,7 @@ include the header files @file{sys/types.h} and @file{unistd.h}.
|
||||
|
||||
@comment unistd.h
|
||||
@comment POSIX.1
|
||||
@deftypefun int seteuid(uid_t @var{neweuid})
|
||||
@deftypefun int seteuid (uid_t @var{neweuid})
|
||||
This function sets the effective user ID of a process to @var{newuid},
|
||||
provided that the process is allowed to change its effective user ID. A
|
||||
privileged process (effective user ID zero) can change its effective
|
||||
|
@ -4,23 +4,38 @@ BEGIN {
|
||||
}
|
||||
|
||||
/^@node/ {
|
||||
last_node = gensub (/@node +([^@,]+).*/, "\\1", 1);
|
||||
name = $0;
|
||||
sub(/^@node +/, "", name);
|
||||
sub(/[@,].*$/, "", name);
|
||||
last_node = name;
|
||||
}
|
||||
|
||||
/^@deftype(fn|vr)/ {
|
||||
# The string we want is $4, except that if there were brace blocks
|
||||
# before that point then it gets shifted to the right, since awk
|
||||
# doesn't know from brace blocks.
|
||||
id = 4; check = 2; squig = 0;
|
||||
while(check < id)
|
||||
{
|
||||
if($check ~ /{/) squig++;
|
||||
if($check ~ /}/) squig--;
|
||||
if(squig) id++;
|
||||
check++;
|
||||
}
|
||||
|
||||
printf ("* %s: (libc)%s.\n", $id, last_node);
|
||||
}
|
||||
|
||||
/^@deftypefun/ {
|
||||
printf ("* %s: (libc)%s.\n",
|
||||
gensub (/@deftypefunx? +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]*).*/, "\\2", 1),
|
||||
last_node);
|
||||
}
|
||||
# Likewise, except it's $3 theoretically.
|
||||
id = 3; check = 2; squig = 0;
|
||||
while(check < id)
|
||||
{
|
||||
if($check ~ /{/) squig++;
|
||||
if($check ~ /}/) squig--;
|
||||
if(squig) id++;
|
||||
check++;
|
||||
}
|
||||
|
||||
/^@deftypevr/ {
|
||||
printf ("* %s: (libc)%s.\n",
|
||||
gensub (/@deftypevrx? +([^{ ]+|\{[^}]+\}) +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]*).*/, "\\3", 1),
|
||||
last_node);
|
||||
}
|
||||
|
||||
/^@deftypefn/ {
|
||||
printf ("* %s: (libc)%s.\n",
|
||||
gensub (/@deftypefnx? +([^{ ]+|\{[^}]+\}) +[^{ ]*(\{[^}]+\})? +([[:alpha:]_][[:alnum:]_]*).*/, "\\3", 1),
|
||||
last_node);
|
||||
printf ("* %s: (libc)%s.\n", $id, last_node);
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ extern char **_dl_argv;
|
||||
extern char **_environ;
|
||||
extern size_t _dl_pagesize;
|
||||
extern const char *_dl_platform;
|
||||
extern unsigned long _dl_hwcap;
|
||||
extern unsigned long int _dl_hwcap;
|
||||
extern size_t _dl_platformlen;
|
||||
extern void _end;
|
||||
extern void ENTRY_POINT (void);
|
||||
@ -48,7 +48,6 @@ int __libc_enable_secure;
|
||||
int __libc_multiple_libcs; /* Defining this here avoids the inclusion
|
||||
of init-first. */
|
||||
static ElfW(auxv_t) *_dl_auxv;
|
||||
static unsigned long int hwcap;
|
||||
unsigned long int _dl_hwcap_mask = HWCAP_IMPORTANT;
|
||||
|
||||
|
||||
@ -241,10 +240,11 @@ _dl_show_auxv (void)
|
||||
_dl_sysdep_message ("AT_PLATFORM: ", av->a_un.a_ptr, "\n", NULL);
|
||||
break;
|
||||
case AT_HWCAP:
|
||||
hwcap = av->a_un.a_val;
|
||||
if (_dl_procinfo (hwcap) < 0)
|
||||
_dl_hwcap = av->a_un.a_val;
|
||||
if (_dl_procinfo (_dl_hwcap) < 0)
|
||||
_dl_sysdep_message ("AT_HWCAP: ",
|
||||
_itoa_word (hwcap, buf + sizeof buf - 1, 16, 0),
|
||||
_itoa_word (_dl_hwcap, buf + sizeof buf - 1,
|
||||
16, 0),
|
||||
"\n", NULL);
|
||||
break;
|
||||
}
|
||||
@ -284,7 +284,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
|
||||
size_t *max_capstrlen)
|
||||
{
|
||||
/* Determine how many important bits are set. */
|
||||
unsigned long int mask = _dl_hwcap_mask;
|
||||
unsigned long int masked = _dl_hwcap & _dl_hwcap_mask;
|
||||
size_t cnt = platform != NULL;
|
||||
size_t n, m;
|
||||
size_t total;
|
||||
@ -293,8 +293,9 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
|
||||
struct r_strlenpair *rp;
|
||||
char *cp;
|
||||
|
||||
for (n = 0; (~((1UL << n) - 1) & mask) != 0; ++n)
|
||||
if ((mask & (1UL << n)) != 0)
|
||||
/* Count the number of bits set in the masked value. */
|
||||
for (n = 0; (~((1UL << n) - 1) & masked) != 0; ++n)
|
||||
if ((masked & (1UL << n)) != 0)
|
||||
++cnt;
|
||||
|
||||
if (cnt == 0)
|
||||
@ -318,12 +319,12 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
|
||||
/* Create temporary data structure to generate result table. */
|
||||
temp = (struct r_strlenpair *) alloca (cnt * sizeof (*temp));
|
||||
m = 0;
|
||||
for (n = 0; mask != 0; ++n)
|
||||
if ((mask & (1UL << n)) != 0)
|
||||
for (n = 0; masked != 0; ++n)
|
||||
if ((masked & (1UL << n)) != 0)
|
||||
{
|
||||
temp[m].str = _dl_hwcap_string (n);
|
||||
temp[m].len = strlen (temp[m].str);
|
||||
mask ^= 1UL << n;
|
||||
masked ^= 1UL << n;
|
||||
++m;
|
||||
}
|
||||
if (platform != NULL)
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
$(..)sysdeps/gnu/errlist.c: $(..)sysdeps/gnu/errlist.awk \
|
||||
$(..)manual/errno.texi
|
||||
awk -f $^ > $@-tmp
|
||||
$(AWK) -f $^ > $@-tmp
|
||||
# Make it unwritable so noone will edit it by mistake.
|
||||
-chmod a-w $@-tmp
|
||||
mv -f $@-tmp $@
|
||||
|
@ -34,9 +34,14 @@ BEGIN {
|
||||
print "";
|
||||
print "#ifndef SYS_ERRLIST";
|
||||
print "# define SYS_ERRLIST _sys_errlist";
|
||||
print "# define SYS_ERRLIST_ALIAS sys_errlist";
|
||||
print "#endif";
|
||||
print "#ifndef SYS_NERR";
|
||||
print "# define SYS_NERR _sys_nerr";
|
||||
print "# define SYS_NERR_ALIAS sys_nerr";
|
||||
print "#endif";
|
||||
print "#ifndef ERR_REMAP";
|
||||
print "# define ERR_REMAP(n) n";
|
||||
print "#endif";
|
||||
print "";
|
||||
print "const char *const SYS_ERRLIST[] =";
|
||||
@ -70,7 +75,7 @@ errnoh == 3 && $1 == "@comment" && $2 == "errno" \
|
||||
errnoh == 4 && $1 == "@end" && $2 == "deftypevr" \
|
||||
{
|
||||
printf "/*%s */\n", desc;
|
||||
printf " [%s] = N_(\"%s\"),\n", e, etext;
|
||||
printf " [ERR_REMAP (%s)] = N_(\"%s\"),\n", e, etext;
|
||||
print "#endif";
|
||||
errnoh = 0;
|
||||
next;
|
||||
@ -85,8 +90,10 @@ END {
|
||||
print " };";
|
||||
print "";
|
||||
print "const int SYS_NERR = sizeof SYS_ERRLIST / sizeof SYS_ERRLIST [0];";
|
||||
print "#if !defined HAVE_ELF || !defined PIC || !defined DO_VERSIONING";
|
||||
print "weak_alias (_sys_errlist, sys_errlist)";
|
||||
print "weak_alias (_sys_nerr, sys_nerr)";
|
||||
print "#ifdef SYS_ERRLIST_ALIAS";
|
||||
print "weak_alias (_sys_errlist, SYS_ERRLIST_ALIAS)";
|
||||
print "#endif";
|
||||
print "#ifdef SYS_NERR_ALIAS";
|
||||
print "weak_alias (_sys_nerr, SYS_NERR_ALIAS)";
|
||||
print "#endif";
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
errlist.c
|
||||
errnos.awk
|
||||
err_hurd.sub
|
||||
libc-ldscript
|
||||
|
@ -87,7 +87,7 @@ $(common-objpfx)errnos.d: $(mach-errnos-deps)
|
||||
$(hurd)/errnos.h: $(common-objpfx)stamp-errnos ;
|
||||
$(common-objpfx)stamp-errnos: $(hurd)/errnos.awk $(errno.texinfo) \
|
||||
$(mach-errnos-deps)
|
||||
gawk -f $^ > $(hurd)/errnos.h-tmp
|
||||
$(AWK) -f $^ > $(hurd)/errnos.h-tmp
|
||||
# Make it unwritable so noone will edit it by mistake.
|
||||
-chmod a-w $(hurd)/errnos.h-tmp
|
||||
./$(..)move-if-change $(hurd)/errnos.h-tmp $(hurd)/errnos.h
|
||||
|
26
sysdeps/mach/hurd/errlist.c
Normal file
26
sysdeps/mach/hurd/errlist.c
Normal file
@ -0,0 +1,26 @@
|
||||
/* Copyright (C) 1998 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 Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* SYS_ERRLIST cannot have Unix semantics on the Hurd, so it is easier
|
||||
just to rename it. We also need to remap error codes to array
|
||||
indices by taking their subcode. */
|
||||
#define SYS_ERRLIST _hurd_errlist
|
||||
#define SYS_NERR _hurd_nerr
|
||||
#define ERR_REMAP(n) (n & 0x3fff)
|
||||
|
||||
#include <sysdeps/gnu/errlist.c>
|
@ -54,7 +54,7 @@ $(common-objpfx)sys/param.h: $(sysincludedir)/sys/param.h
|
||||
(echo '#ifndef _SYS_PARAM_H'; \
|
||||
echo '#define _SYS_PARAM_H 1'; \
|
||||
echo '#include <endian.h>'; \
|
||||
awk < $< \
|
||||
$(AWK) < $< \
|
||||
'/^#define[ ]*NULL/ { print "#ifndef NULL"; \
|
||||
print $$0; \
|
||||
print "#endif"; \
|
||||
@ -142,7 +142,7 @@ $(common-objpfx)make-errnos: $(common-objpfx)make-errnos.c
|
||||
|
||||
$(common-objpfx)make-errnos.c: $(sysdep_dir)/unix/errnos-tmpl.c \
|
||||
$(sysdep_dir)/unix/errnos.awk $(common-objpfx)errnos
|
||||
awk -f $(word 2,$^) errnos="`tr '\012' ' ' < $(word 3,$^)`" $< > $@T
|
||||
$(AWK) -f $(word 2,$^) errnos="`tr '\012' ' ' < $(word 3,$^)`" $< > $@T
|
||||
mv $@T $@
|
||||
|
||||
$(common-objpfx)errnos: $(wildcard $(sysincludedir)/errno.h \
|
||||
@ -176,7 +176,7 @@ $(common-objpfx)make-ioctls: $(common-objpfx)make-ioctls.c
|
||||
$(common-objpfx)make-ioctls.c: $(sysdep_dir)/unix/ioctls-tmpl.c \
|
||||
$(sysdep_dir)/unix/ioctls.awk \
|
||||
$(common-objpfx)ioctls
|
||||
awk -f $(word 2,$^) requests="`cat $(word 3,$^)`" $< > $@T
|
||||
$(AWK) -f $(word 2,$^) requests="`cat $(word 3,$^)`" $< > $@T
|
||||
mv $@T $@
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,94,95,96,97,98 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
|
||||
@ -480,7 +480,7 @@ my_strftime (s, maxsize, format, tp)
|
||||
|
||||
for (f = format; *f != '\0'; ++f)
|
||||
{
|
||||
int pad; /* Padding for number ('-', '_', or 0). */
|
||||
int pad = 0; /* Padding for number ('-', '_', or 0). */
|
||||
int modifier; /* Field modifier ('E', 'O', or 0). */
|
||||
int digits; /* Max digits for numeric format. */
|
||||
int number_value; /* Numeric value to be printed. */
|
||||
@ -570,7 +570,6 @@ my_strftime (s, maxsize, format, tp)
|
||||
#endif /* ! DO_MULTIBYTE */
|
||||
|
||||
/* Check for flags that can modify a format. */
|
||||
pad = 0;
|
||||
while (1)
|
||||
{
|
||||
switch (*++f)
|
||||
|
@ -89,7 +89,7 @@ $(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
|
||||
# The extra kludge for the $(tzlinks) files is necessary since running zic
|
||||
# this file requires all other files to exist. Blech!
|
||||
(echo 'define $*-zones' ;\
|
||||
awk '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
|
||||
$(AWK) '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
|
||||
echo 'endef' ;\
|
||||
echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\
|
||||
echo 'ifdef $*-zones' ;\
|
||||
|
@ -31,7 +31,7 @@ __btowc (c)
|
||||
char buf[sizeof (wchar_t)];
|
||||
struct gconv_step_data data;
|
||||
char inbuf[1];
|
||||
char *inptr = inbuf;
|
||||
const char *inptr = inbuf;
|
||||
size_t converted;
|
||||
int status;
|
||||
|
||||
|
@ -46,7 +46,7 @@ __wcsnrtombs (dst, src, nwc, len, ps)
|
||||
struct gconv_step_data data;
|
||||
const wchar_t *srcend;
|
||||
int status;
|
||||
size_t result;
|
||||
size_t result = 0;
|
||||
|
||||
/* Tell where we want the result. */
|
||||
data.is_last = 1;
|
||||
|
@ -42,7 +42,7 @@ __wcsrtombs (dst, src, len, ps)
|
||||
{
|
||||
struct gconv_step_data data;
|
||||
int status;
|
||||
size_t result;
|
||||
size_t result = 0;
|
||||
|
||||
/* Tell where we want the result. */
|
||||
data.is_last = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user