Updated to fedora-glibc-20051219T1003

This commit is contained in:
Jakub Jelinek 2005-12-19 12:11:38 +00:00
parent 3ccb96cd41
commit 2c6cfe6853
1125 changed files with 7341 additions and 4605 deletions

2188
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -557,6 +557,10 @@ else
+gccwarn := -Wall -Wwrite-strings -Winline -Wstrict-prototypes
endif
# We do not depend on the address of constants in different files to be
# actually different, so allow the compiler to merge them all.
+merge-constants = -fmerge-all-constants
# This is the program that generates makefile dependencies from C source files.
# The -MP flag tells GCC >= 3.2 (which we now require) to produce dummy
# targets for headers so that removed headers don't break the build.
@ -611,21 +615,22 @@ ifeq "$(strip $(+cflags))" ""
+cflags := $(default_cflags)
endif # $(+cflags) == ""
+cflags := $(+cflags) $(addprefix -mcpu=,$(with-cpu)) $(+gccwarn)
+cflags += $(addprefix -mcpu=,$(with-cpu)) $(+gccwarn) $(+merge-constants)
+gcc-nowarn := -w
# Don't duplicate options if we inherited variables from the parent.
+cflags := $(sort $(+cflags))
# These are flags given to the C compiler to tell it to look for include
# files (including ones given in angle brackets) in the current directory,
# in the parent library source directory and in the include directory.
# These are flags given to the C compiler to tell it to look for
# include files (including ones given in angle brackets) in the parent
# library source directory, in the include directory, and in the
# current directory.
# `+sysdep-includes' will be defined by Makerules.
+includes = -I$(..)include -I. \
$(patsubst %/,-I%,$(objpfx)) $(patsubst %/,-I%,$(..)) \
+includes = -I$(..)include $(patsubst %/,-I%,$(..)) \
$(libio-include) $(includes) \
$(+sysdep-includes) $(sysincludes)
$(+sysdep-includes) $(sysincludes) -I. \
$(patsubst %/,-I%,$(objpfx))
# Since libio has several internal header files, we use a -I instead
# of many little headers in the include directory.

View File

@ -235,7 +235,7 @@ mostlyclean: parent-mostlyclean
tests-clean:
@$(MAKE) subdir_testclean no_deps=t
tests: $(objpfx)c++-types-check.out
tests: $(objpfx)c++-types-check.out $(objpfx)check-local-headers.out
ifneq ($(CXX),no)
check-data := $(firstword $(wildcard \
$(foreach M,$(config-machine) $(base-machine),\
@ -250,6 +250,9 @@ $(objpfx)c++-types-check.out:
endif
endif
$(objpfx)check-local-headers.out: scripts/check-local-headers.sh
scripts/check-local-headers.sh "$(includedir)" "$(objpfx)" > $@
ifneq ($(PERL),no)
installed-headers = argp/argp.h assert/assert.h catgets/nl_types.h \
crypt/crypt.h ctype/ctype.h debug/execinfo.h \

View File

@ -1,5 +1,3 @@
# Generated from $Id$.
srcdir = @srcdir@
# Uncomment the line below if you want to do parallel build.

View File

@ -208,53 +208,6 @@ before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
# later directory would be chosen over a .c file in an earlier directory,
# which does not preserve the desired sysdeps ordering behavior.
# It matters that this set of rules, for compiling from sources in
# the current directory (the $srcdir/$subdir) come before the
# generated sysdep rules in included from sysd-rules below. When
# compiling in the source tree, generated sources go into the current
# directory, and those should be chosen before any sources in sysdeps.
define o-iterator-doit
$(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: %.s $(before-compile); $$(compile-command.s)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: %.c $(before-compile); $$(compile-command.c)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
# Omit the objpfx rules when building in the source tree, because
# objpfx is empty and so these rules just override the ones above.
ifdef objpfx
# Define first rules to find the source files in $(objpfx).
# Generated source files will end up there.
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.S $(before-compile); $$(compile-command.S)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.s $(before-compile); $$(compile-command.s)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
endif
# System-dependent makefiles can put in `inhibit-sysdep-asm' wildcard
# patterns matching sysdep directories whose assembly source files should
# be suppressed.
@ -304,6 +257,7 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \
echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \
done; \
echo "\$$(objpfx)m_%.c: s_%.c; \$$(+make-include-of-dep)"; \
echo 'sysd-rules-done = t') > $@T
mv -f $@T $@
@ -318,6 +272,53 @@ echo '#include <$<>' > $@T
mv -f $@T $@
endef
# It matters that this set of rules, for compiling from sources in
# the current directory (the $srcdir/$subdir) come before the
# generated sysdep rules in included from sysd-rules below. When
# compiling in the source tree, generated sources go into the current
# directory, and those should be chosen before any sources in sysdeps.
define o-iterator-doit
$(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: %.s $(before-compile); $$(compile-command.s)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: %.c $(before-compile); $$(compile-command.c)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
# Omit the objpfx rules when building in the source tree, because
# objpfx is empty and so these rules just override the ones above.
ifdef objpfx
# Define first rules to find the source files in $(objpfx).
# Generated source files will end up there.
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.S $(before-compile); $$(compile-command.S)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.s $(before-compile); $$(compile-command.s)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c)
endef
object-suffixes-left := $(all-object-suffixes)
include $(o-iterator)
endif
# Generate version maps, but wait until sysdep-subdirs is known
ifeq ($(sysd-sorted-done),t)
ifeq ($(versioning),yes)

4
NEWS
View File

@ -1,4 +1,4 @@
GNU C Library NEWS -- history of user-visible changes. 2005-11-11
GNU C Library NEWS -- history of user-visible changes. 2005-12-15
Copyright (C) 1992-2002,2003,2004,2005 Free Software Foundation, Inc.
See the end for copying conditions.
@ -28,7 +28,7 @@ Version 2.4
recommend using the stable 2.3 branch.
* New interfaces: fdopendir, openat, fstatat, fchownat, futimesat, renameat,
unlinkat.
unlinkat, mkdirat, mkfifoat, mknodat, linkat, symlinkat, readlinkat.
Version 2.3.6

View File

@ -2,23 +2,21 @@
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1996.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
# include "config.h"
#endif
#include <argp.h>

View File

@ -1,5 +1,4 @@
/* @configure_input@ -*- C -*-
Generated from $Id$.
This is used only by the generic `uname' function for systems with no real
`uname' call. If this data is not correct, it does not matter much. */

View File

@ -1,5 +1,4 @@
# @configure_input@
# From $Id$.
# Don't edit this file. Put configuration parameters in configparms instead.
version = @VERSION@

View File

@ -60,5 +60,7 @@ ld {
_dl_make_stack_executable;
# Only here for gdb while a better method is developed.
_dl_debug_state;
# Pointer protection.
__pointer_chk_guard;
}
}

View File

@ -3,20 +3,18 @@
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@suse.de>, 1999.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <error.h>

View File

@ -1,22 +1,20 @@
/* Return the canonical absolute name of a given file inside chroot.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#include <string.h>

View File

@ -112,7 +112,8 @@ _dl_signal_error (int errcode, const char *objname, const char *occation,
lcatch->errstring = _dl_out_of_memory;
lcatch->malloced = false;
}
longjmp (lcatch->env, errcode ?: -1);
/* We do not restore the signal mask because none was saved. */
__longjmp (lcatch->env, errcode ?: -1);
}
else
{
@ -169,7 +170,8 @@ _dl_catch_error (const char **objname, const char **errstring,
struct catch **const catchp = &CATCH_HOOK;
old = *catchp;
errcode = setjmp (c.env);
/* Do not save the signal mask. */
errcode = __sigsetjmp (c.env, 0);
if (__builtin_expect (errcode, 0) == 0)
{
*catchp = &c;

View File

@ -1,5 +1,5 @@
/* Minimal replacements for basic facilities used in the dynamic linker.
Copyright (C) 1995-1998,2000-2002,2004 Free Software Foundation, Inc.
Copyright (C) 1995-1998,2000-2002,2004,2005 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
@ -148,12 +148,6 @@ __sigjmp_save (sigjmp_buf env, int savemask __attribute__ ((unused)))
env[0].__mask_was_saved = 0;
return 0;
}
void weak_function
longjmp (jmp_buf env, int val)
{
__longjmp (env[0].__jmpbuf, val);
}
/* Define our own version of the internal function used by strerror. We
only provide the messages for some common errors. This avoids pulling

View File

@ -2,20 +2,18 @@
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@suse.de>, 1999.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define PROCINFO_CLASS static
#include <alloca.h>

View File

@ -1,22 +1,20 @@
/* Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
/* Copyright (C) 1999-2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@suse.de>, 1999 and
Jakub Jelinek <jakub@redhat.com>, 1999.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* The code in this file and in readelflib is a heavily simplified
version of the readelf program that's part of the current binutils

View File

@ -90,6 +90,15 @@ INTDEF(_dl_argv)
uintptr_t __stack_chk_guard attribute_relro;
#endif
/* Only exported for architectures that don't store the pointer guard
value in thread local area. */
uintptr_t __pointer_chk_guard_local
attribute_relro attribute_hidden __attribute__ ((nocommon));
#ifndef THREAD_SET_POINTER_GUARD
strong_alias (__pointer_chk_guard_local, __pointer_chk_guard)
#endif
/* List of auditing DSOs. */
static struct audit_list
{
@ -142,6 +151,7 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
._dl_hwcap_mask = HWCAP_IMPORTANT,
._dl_lazy = 1,
._dl_fpu_control = _FPU_DEFAULT,
._dl_pointer_guard = 1,
/* Function pointers. */
._dl_debug_printf = _dl_debug_printf,
@ -1823,6 +1833,22 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
__stack_chk_guard = stack_chk_guard;
#endif
/* Set up the pointer guard as well, if necessary. */
if (GLRO(dl_pointer_guard))
{
// XXX If it is cheap, we should use a separate value.
uintptr_t pointer_chk_guard = stack_chk_guard;
#ifndef HP_TIMING_NONAVAIL
hp_timing_t now;
HP_TIMING_NOW (now);
pointer_chk_guard ^= now;
#endif
#ifdef THREAD_SET_POINTER_GUARD
THREAD_SET_POINTER_GUARD (pointer_chk_guard);
#endif
__pointer_chk_guard_local = pointer_chk_guard;
}
if (__builtin_expect (mode, normal) != normal)
{
/* We were run just to list the shared libraries. It is
@ -2575,7 +2601,13 @@ process_envvars (enum mode *modep)
#endif
if (!INTUSE(__libc_enable_secure)
&& memcmp (envline, "USE_LOAD_BIAS", 13) == 0)
GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
{
GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
break;
}
if (memcmp (envline, "POINTER_GUARD", 13) == 0)
GLRO(dl_pointer_guard) = envline[14] == '0';
break;
case 14:

View File

@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-fc4
fedora-sync-date := 2005-11-19 19:59 UTC
fedora-sync-tag := fedora-glibc-20051119T1959
fedora-sync-date := 2005-12-19 10:03 UTC
fedora-sync-tag := fedora-glibc-20051219T1003

View File

@ -1,4 +1,4 @@
%define glibcrelease 18
%define glibcrelease 19
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define xenarches i686 athlon
@ -30,7 +30,7 @@ Patch1: %{name}-ppc-assume.patch
Patch2: %{name}-ia64-lib64.patch
Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root
Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers,
Obsoletes: gencat, locale, ldconfig, locale-ja
Obsoletes: gencat, locale, ldconfig, locale-ja, glibc-profile
Provides: ldconfig
Autoreq: false
Requires: glibc-common = %{version}-%{release}
@ -150,24 +150,6 @@ executables.
Install glibc-headers if you are going to develop programs which will
use the standard C libraries.
%package profile
Summary: The GNU libc libraries, including support for gprof profiling.
Group: Development/Libraries
Obsoletes: libc-profile
Autoreq: true
%description profile
The glibc-profile package includes the GNU libc libraries and support
for profiling using the gprof program. Profiling is analyzing a
program's functions to see how much CPU time they use and determining
which functions are calling other functions during execution. To use
gprof to profile a program, your program needs to use the GNU libc
libraries included in glibc-profile (instead of the standard GNU libc
libraries included in the glibc package).
If you are going to use the gprof program to profile a program, you'll
need to install the glibc-profile package.
%package common
Summary: Common binaries and locale data for glibc
Conflicts: %{name} < %{version}
@ -503,7 +485,8 @@ CC="$GCC" CFLAGS="$build_CFLAGS" ../configure --prefix=%{_prefix} \
--enable-add-ons=nptl$AddOns --without-cvs $EnableKernel \
--with-headers=%{_prefix}/include --enable-bind-now \
--with-tls --with-__thread --build %{nptl_target_cpu}-redhat-linux \
--host %{nptl_target_cpu}-redhat-linux
--host %{nptl_target_cpu}-redhat-linux \
--disable-profile
make %{?_smp_mflags} -r CFLAGS="$build_CFLAGS" PARALLELMFLAGS=-s
cd ..
@ -512,7 +495,6 @@ cd ..
build_nptl linuxnptl
%if %{buildxen}
EnableKernel="$EnableKernel --disable-profile"
build_nptl linuxnptl-nosegneg -mno-tls-direct-seg-refs
%endif
@ -691,7 +673,6 @@ for i in $RPM_BUILD_ROOT%{_prefix}/bin/{xtrace,memusage}; do
chmod 755 $i; rm -f $i.tmp
done
grep '%{_prefix}/%{_lib}/lib.*_p\.a' < rpm.filelist > profile.filelist || :
grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist
grep '%{_prefix}/include/gnu/stubs-[32164]\+\.h' < rpm.filelist >> devel.filelist || :
@ -934,7 +915,7 @@ case "$-" in *x*) save_trace=yes;; esac
set +x
echo Cutting down the list of unpackaged files
for i in `sed '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //' \
common.filelist devel.filelist headers.filelist profile.filelist \
common.filelist devel.filelist headers.filelist \
utils.filelist nscd.filelist`; do
[ -f "$RPM_BUILD_ROOT$i" ] && rm -f "$RPM_BUILD_ROOT$i" || :
done
@ -1051,9 +1032,6 @@ rm -f *.filelist*
%files -f headers.filelist headers
%defattr(-,root,root)
%files -f profile.filelist profile
%defattr(-,root,root)
%files -f utils.filelist utils
%defattr(-,root,root)
@ -1095,6 +1073,14 @@ rm -f *.filelist*
%endif
%changelog
* Mon Dec 19 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-19
- update from CVS
- sysdeps/generic reorg
- setjmp/longjmp jump pointer mangling
- rebuilt with GCC 4.1-RH prerelease, worked around broken _Pragma ()
handling in it
- remove glibc-profile subpackage
* Sat Nov 19 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-18
- update from CVS
- change <sys/stat.h> for broken apps that #define const /**/,

View File

@ -33,63 +33,7 @@
* the rights to redistribute these changes.
*/
/*
* HISTORY
* $Log$
* Revision 1.15 2001/09/19 03:04:09 drepper
* (bcopy): Removed.
* (realloc): Replace bcopy with memcpy.
*
* Revision 1.14 2001/04/01 05:03:14 roland
* 2001-03-11 Roland McGrath <roland@frob.com>
*
* * mach/mach_error.h: Fix ancient #endif syntax.
* * hurd/hurdmalloc.c: Likewise.
*
* Revision 1.13 1996/12/20 01:32:01 drepper
* Update from main archive 961219
*
* Revision 1.12 1996/11/15 19:44:13 thomas
* Tue Nov 12 16:58:41 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
*
* * mach/msg-destroy.c (mach_msg_destroy_port,
* mach_msg_destroy_memory): Use prototype syntax.
* * hurd/hurdmalloc.c (more_memory, malloc_fork_prepare,
* malloc_fork_parent, malloc_fork_child): Likewise.
*
* Revision 1.11 1996/06/06 15:13:47 miles
* Changes to bring in line with the hurd libthreads/malloc.c:
* (more_memory): Use assert_perror instead of MACH_CALL.
* "cthread_internals.h": Include removed.
* (realloc): Use LOG2_MIN_SIZE.
* (LOG2_MIN_SIZE): New macro.
* (realloc): Don't bother allocating a new block if the
* new size request fits in the old one and doesn't waste any space.
* Only free the old block if we successfully got a new one.
* [MCHECK] (struct header): New type.
* (union header): Only define if !MCHECK.
* (HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros.
* [MCHECK] (MIN_SIZE): Add correct definition for this case.
* (more_memory, malloc, free, realloc): Use above macros, and add
* appropriate checks & frobs in MCHECK case.
*
* Revision 1.6 1996/03/07 21:13:08 miles
* (realloc):
* Use LOG2_MIN_SIZE.
* Don't bother allocating a new block if the new size request fits in the old
* one and doesn't waste any space.
* Only free the old block if we successfully got a new one.
* (LOG2_MIN_SIZE): New macro.
*
* Revision 1.5 1996/03/06 23:51:04 miles
* [MCHECK] (struct header): New type.
* (union header): Only define if !MCHECK.
* (HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros.
* [MCHECK] (MIN_SIZE): Add correct definition for this case.
* (more_memory, malloc, free, realloc):
* Use above macros, and add appropriate checks & frobs in MCHECK case.
*
* Revision 1.4 1994/05/05 11:21:42 roland
* entered into RCS
* (pre-GNU) HISTORY
*
* Revision 2.7 91/05/14 17:57:34 mrt
* Correcting copyright

View File

@ -1,21 +1,19 @@
/* Copyright (C) 2001 Free Software Foundation, Inc.
/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* For iconv we don't have to handle repertoire maps. Provide dummy
definitions to allow the use of linereader.c unchanged. */

View File

@ -1,6 +1,6 @@
/* Convert characters in input buffer using conversion descriptor to
output buffer.
Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1997-2001, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -20,10 +20,13 @@
02111-1307 USA. */
#include <assert.h>
#include <gconv_int.h>
#include <sys/param.h>
#include <dlfcn.h>
#include <stddef.h>
#include <sys/param.h>
#include <gconv_int.h>
#include <sysdep.h>
int
internal_function
@ -45,9 +48,15 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
cd->__data[last_step].__outbuf = outbuf != NULL ? *outbuf : NULL;
cd->__data[last_step].__outbufend = outbufend;
__gconv_fct fct = cd->__steps->__fct;
#ifdef PTR_DEMANGLE
if (cd->__steps->__shlib_handle != NULL)
PTR_DEMANGLE (fct);
#endif
if (inbuf == NULL || *inbuf == NULL)
/* We just flush. */
result = DL_CALL_FCT (cd->__steps->__fct,
result = DL_CALL_FCT (fct,
(cd->__steps, cd->__data, NULL, NULL, NULL,
irreversible,
cd->__data[last_step].__outbuf == NULL ? 2 : 1, 0));
@ -60,7 +69,7 @@ __gconv (__gconv_t cd, const unsigned char **inbuf,
do
{
last_start = *inbuf;
result = DL_CALL_FCT (cd->__steps->__fct,
result = DL_CALL_FCT (fct,
(cd->__steps, cd->__data, inbuf, inbufend,
NULL, irreversible, 0, 0));
}

View File

@ -1,5 +1,5 @@
/* Table for builtin transformation mapping.
Copyright (C) 1997-1999, 2000-2002 Free Software Foundation, Inc.
Copyright (C) 1997-1999, 2000-2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -20,6 +20,7 @@
#include <endian.h>
#include <limits.h>
#include <stdint.h>
#include <string.h>
#include <gconv_int.h>
@ -27,16 +28,16 @@
#include <assert.h>
static struct builtin_map
static const struct builtin_map
{
const char *name;
__gconv_fct fct;
__gconv_btowc_fct btowc_fct;
int min_needed_from;
int max_needed_from;
int min_needed_to;
int max_needed_to;
int8_t min_needed_from;
int8_t max_needed_from;
int8_t min_needed_to;
int8_t max_needed_to;
} map[] =
{

View File

@ -1,5 +1,5 @@
/* Provide access to the collection of available transformation modules.
Copyright (C) 1997-2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1997-2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -18,6 +18,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <assert.h>
#include <limits.h>
#include <search.h>
#include <stdlib.h>
@ -28,6 +29,7 @@
#include <dlfcn.h>
#include <gconv_int.h>
#include <sysdep.h>
/* Simple data structure for alias mapping. We have two names, `from'
@ -180,7 +182,15 @@ free_derivation (void *p)
for (cnt = 0; cnt < deriv->nsteps; ++cnt)
if (deriv->steps[cnt].__counter > 0
&& deriv->steps[cnt].__end_fct != NULL)
DL_CALL_FCT (deriv->steps[cnt].__end_fct, (&deriv->steps[cnt]));
{
assert (deriv->steps[cnt].__shlib_handle != NULL);
__gconv_end_fct end_fct = deriv->steps[cnt].__end_fct;
#ifdef PTR_DEMANGLE
PTR_DEMANGLE (end_fct);
#endif
DL_CALL_FCT (end_fct, (&deriv->steps[cnt]));
}
/* Free the name strings. */
free ((char *) deriv->steps[0].__from_name);
@ -196,22 +206,30 @@ void
internal_function
__gconv_release_step (struct __gconv_step *step)
{
if (--step->__counter == 0)
/* Skip builtin modules; they are not reference counted. */
if (step->__shlib_handle != NULL && --step->__counter == 0)
{
/* Call the destructor. */
if (step->__end_fct != NULL)
DL_CALL_FCT (step->__end_fct, (step));
{
assert (step->__shlib_handle != NULL);
__gconv_end_fct end_fct = step->__end_fct;
#ifdef PTR_DEMANGLE
PTR_DEMANGLE (end_fct);
#endif
DL_CALL_FCT (end_fct, (step));
}
#ifndef STATIC_GCONV
/* Skip builtin modules; they are not reference counted. */
if (step->__shlib_handle != NULL)
{
/* Release the loaded module. */
__gconv_release_shlib (step->__shlib_handle);
step->__shlib_handle = NULL;
}
/* Release the loaded module. */
__gconv_release_shlib (step->__shlib_handle);
step->__shlib_handle = NULL;
#endif
}
else
/* Builtin modules should not have end functions. */
assert (step->__end_fct == NULL);
}
static int
@ -272,10 +290,15 @@ gen_steps (struct derivation_step *best, const char *toset,
result[step_cnt].__btowc_fct = NULL;
/* Call the init function. */
if (result[step_cnt].__init_fct != NULL)
__gconv_init_fct init_fct = result[step_cnt].__init_fct;
if (init_fct != NULL)
{
status = DL_CALL_FCT (result[step_cnt].__init_fct,
(&result[step_cnt]));
assert (result[step_cnt].__shlib_handle != NULL);
# ifdef PTR_DEMANGLE
PTR_DEMANGLE (init_fct);
# endif
status = DL_CALL_FCT (init_fct, (&result[step_cnt]));
if (__builtin_expect (status, __GCONV_OK) != __GCONV_OK)
{
@ -285,6 +308,11 @@ gen_steps (struct derivation_step *best, const char *toset,
result[step_cnt].__end_fct = NULL;
break;
}
# ifdef PTR_MANGLE
if (result[step_cnt].__btowc_fct != NULL)
PTR_MANGLE (result[step_cnt].__btowc_fct);
# endif
}
}
else
@ -362,8 +390,19 @@ increment_counter (struct __gconv_step *steps, size_t nsteps)
}
/* Call the init function. */
if (step->__init_fct != NULL)
DL_CALL_FCT (step->__init_fct, (step));
__gconv_init_fct init_fct = step->__init_fct;
if (init_fct != NULL)
{
#ifdef PTR_DEMANGLE
PTR_DEMANGLE (init_fct);
#endif
DL_CALL_FCT (init_fct, (step));
#ifdef PTR_MANGLE
if (step->__btowc_fct != NULL)
PTR_MANGLE (step->__btowc_fct);
#endif
}
}
}
return result;

View File

@ -1,5 +1,5 @@
/* Handle loading/unloading of shared object for transformation.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -29,6 +29,7 @@
#include <sys/param.h>
#include <gconv_int.h>
#include <sysdep.h>
#ifdef DEBUG
@ -130,6 +131,14 @@ __gconv_find_shlib (const char *name)
found->init_fct = __libc_dlsym (found->handle, "gconv_init");
found->end_fct = __libc_dlsym (found->handle, "gconv_end");
#ifdef PTR_MANGLE
PTR_MANGLE (found->fct);
if (found->init_fct != NULL)
PTR_MANGLE (found->init_fct);
if (found->end_fct != NULL)
PTR_MANGLE (found->end_fct);
#endif
/* We have succeeded in loading the shared object. */
found->counter = 1;
}

View File

@ -1,22 +1,20 @@
/* Convert using charmaps and possibly iconv().
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <assert.h>
#include <errno.h>

View File

@ -3,20 +3,18 @@
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <argp.h>
#include <assert.h>

View File

@ -3,20 +3,18 @@
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
The GNU C Library is distributed in the hope that it will be useful,
This program 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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU 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. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <argp.h>
#include <assert.h>

View File

@ -144,6 +144,8 @@
# include <dlfcn.h>
#endif
#include <sysdep.h>
#ifndef DL_CALL_FCT
# define DL_CALL_FCT(fct, args) fct args
#endif
@ -393,10 +395,17 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
{
struct __gconv_step *next_step = step + 1;
struct __gconv_step_data *next_data = data + 1;
__gconv_fct fct;
__gconv_fct fct = NULL;
int status;
fct = (data->__flags & __GCONV_IS_LAST) ? NULL : next_step->__fct;
if ((data->__flags & __GCONV_IS_LAST) == 0)
{
fct = next_step->__fct;
#ifdef PTR_DEMANGLE
if (next_step->__shlib_handle != NULL)
PTR_DEMANGLE (fct);
#endif
}
/* If the function is called with no input this means we have to reset
to the initial state. The possibly partly converted input is

View File

@ -25,6 +25,6 @@ extern int __alphasort64 (const void *a, const void *b)
__attribute_pure__;
extern int __versionsort64 (const void *a, const void *b)
__attribute_pure__;
extern DIR *__alloc_dir (int fd, bool close_fd, struct stat64 *statp)
extern DIR *__alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
internal_function;
#endif

View File

@ -21,5 +21,8 @@ libc_hidden_proto (__fcntl)
/* Helper functions for the various *at functions. For Linux. */
extern void __atfct_seterrno (int errval, int fd, const char *buf)
attribute_hidden;
extern void __atfct_seterrno_2 (int errval, int fd1, const char *buf1,
int fd2, const char *buf2)
attribute_hidden;
#endif

1
include/sys/sendfile.h Normal file
View File

@ -0,0 +1 @@
#include <io/sys/sendfile.h>

View File

@ -29,6 +29,7 @@ extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
{
return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
}
libc_hidden_proto (__xmknodat)
/* The `stat', `fstat', `lstat' functions have to be handled special since

Some files were not shown because too many files have changed in this diff Show More