rebuilt with enable-obsolete-rpc required by pwdutils [release 2.19-2mamba;Sun Apr 20 2014]
This commit is contained in:
parent
1708819a92
commit
6bf54b868f
@ -1,2 +1,8 @@
|
|||||||
# glibc
|
# glibc
|
||||||
|
|
||||||
|
The glibc package contains standard libraries which are used by multiple programs on the system.
|
||||||
|
In order to save disk space and memory, as well as to make upgrading easier, common system code is kept in one place and shared between programs.
|
||||||
|
This particular package contains the most important sets of shared libraries: the standard C library and the standard math library. Without these two libraries, a Linux system will not function.
|
||||||
|
The glibc package also contains national language (locale) support.
|
||||||
|
|
||||||
|
|
||||||
|
37
glibc-2.10.1-binutils-2.20.patch
Normal file
37
glibc-2.10.1-binutils-2.20.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
diff -Nru glibc-2.10.1.orig/configure glibc-2.10.1/configure
|
||||||
|
--- glibc-2.10.1.orig/configure 2009-05-17 14:19:31.000000000 +0200
|
||||||
|
+++ glibc-2.10.1/configure 2009-11-03 19:44:54.000000000 +0100
|
||||||
|
@@ -4839,7 +4839,7 @@
|
||||||
|
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||||
|
case $ac_prog_version in
|
||||||
|
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||||
|
- 2.1[3-9]*)
|
||||||
|
+ 2.2[0-9]*)
|
||||||
|
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||||
|
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||||
|
|
||||||
|
@@ -4902,7 +4902,7 @@
|
||||||
|
ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||||
|
case $ac_prog_version in
|
||||||
|
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||||
|
- 2.1[3-9]*)
|
||||||
|
+ 2.2[0-9]*)
|
||||||
|
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||||
|
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||||
|
|
||||||
|
diff -Nru glibc-2.10.1.orig/configure.in glibc-2.10.1/configure.in
|
||||||
|
--- glibc-2.10.1.orig/configure.in 2009-04-04 01:51:47.000000000 +0200
|
||||||
|
+++ glibc-2.10.1/configure.in 2009-11-03 19:44:33.000000000 +0100
|
||||||
|
@@ -897,10 +897,10 @@
|
||||||
|
# Accept binutils 2.13 or newer.
|
||||||
|
AC_CHECK_PROG_VER(AS, $AS, --version,
|
||||||
|
[GNU assembler.* \([0-9]*\.[0-9.]*\)],
|
||||||
|
- [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
|
||||||
|
+ [2.2[0-9]*], AS=: critic_missing="$critic_missing as")
|
||||||
|
AC_CHECK_PROG_VER(LD, $LD, --version,
|
||||||
|
[GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
|
||||||
|
- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
|
||||||
|
+ [2.2[0-9]*], LD=: critic_missing="$critic_missing ld")
|
||||||
|
|
||||||
|
# We need the physical current working directory. We cannot use the
|
||||||
|
# "pwd -P" shell builtin since that's not portable. Instead we try to
|
31
glibc-2.11.2-gcc-4.5.0.patch
Normal file
31
glibc-2.11.2-gcc-4.5.0.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
diff -Naur glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c
|
||||||
|
glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||||
|
--- glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000
|
||||||
|
+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 02:24:02.000000000 +0100
|
||||||
|
@@ -45,6 +45,11 @@
|
||||||
|
/* Embed an #include to pull in the alignment and .end directives. */
|
||||||
|
asm ("\n#include \"defs.h\"");
|
||||||
|
|
||||||
|
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||||
|
+asm ("\n#undef __i686");
|
||||||
|
+asm ("\n#define __i686 __i686");
|
||||||
|
+asm ("\n#endif");
|
||||||
|
+
|
||||||
|
/* The initial common code ends here. */
|
||||||
|
asm ("\n/*...@header_ends*/");
|
||||||
|
|
||||||
|
diff -Naur glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||||
|
glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||||
|
--- glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000
|
||||||
|
+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 02:24:02.000000000 +0100
|
||||||
|
@@ -29,6 +29,10 @@
|
||||||
|
#include <dl-sysdep.h>
|
||||||
|
#include <tls.h>
|
||||||
|
|
||||||
|
+#if defined __i686 && defined __ASSEMBLER__
|
||||||
|
+#undef __i686
|
||||||
|
+#define __i686 __i686
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* For Linux we can use the system call table in the header file
|
||||||
|
/usr/include/asm/unistd.h
|
39
glibc-2.13-fix_prelink_ld_so.patch
Normal file
39
glibc-2.13-fix_prelink_ld_so.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 25b3aadaf646bff18d6527e03717c87bf50b3a50 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schwab <schwab@redhat.com>
|
||||||
|
Date: Tue, 28 Sep 2010 15:11:48 +0200
|
||||||
|
Subject: [PATCH] Don't try to write to _rtld_global_ro after performing relro protection
|
||||||
|
|
||||||
|
---
|
||||||
|
ChangeLog | 5 +++++
|
||||||
|
elf/rtld.c | 8 ++++----
|
||||||
|
2 files changed, 9 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index 9a560b3..201c9cf 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -2168,6 +2168,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
we need it in the memory handling later. */
|
||||||
|
GLRO(dl_initial_searchlist) = *GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist;
|
||||||
|
|
||||||
|
+ /* Remember the last search directory added at startup, now that
|
||||||
|
+ malloc will no longer be the one from dl-minimal.c. */
|
||||||
|
+ GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
|
||||||
|
+
|
||||||
|
if (prelinked)
|
||||||
|
{
|
||||||
|
if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL)
|
||||||
|
@@ -2288,10 +2292,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
lossage);
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Remember the last search directory added at startup, now that
|
||||||
|
- malloc will no longer be the one from dl-minimal.c. */
|
||||||
|
- GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
|
||||||
|
-
|
||||||
|
if (! prelinked && rtld_multiple_ref)
|
||||||
|
{
|
||||||
|
/* There was an explicit ref to the dynamic linker as a shared lib.
|
||||||
|
--
|
||||||
|
1.7.3.4
|
||||||
|
|
22
glibc-2.14-fix-resolver-crash-typo.patch
Normal file
22
glibc-2.14-fix-resolver-crash-typo.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
diff --git a/resolv/res_send.c b/resolv/res_send.c
|
||||||
|
index 97142b7..a001c1e 100644
|
||||||
|
--- a/resolv/res_send.c
|
||||||
|
+++ b/resolv/res_send.c
|
||||||
|
@@ -549,7 +549,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
|
||||||
|
ns, ansp, ansp2, nansp2, resplen2);
|
||||||
|
if (n < 0)
|
||||||
|
return (-1);
|
||||||
|
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
|
||||||
|
+ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
|
||||||
|
goto next_ns;
|
||||||
|
} else {
|
||||||
|
/* Use datagrams. */
|
||||||
|
@@ -559,7 +559,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
|
||||||
|
ansp2, nansp2, resplen2);
|
||||||
|
if (n < 0)
|
||||||
|
return (-1);
|
||||||
|
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
|
||||||
|
+ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
|
||||||
|
goto next_ns;
|
||||||
|
if (v_circuit)
|
||||||
|
// XXX Check whether both requests failed or
|
56
glibc-2.14-rpc_nis_headers_restore.patch
Normal file
56
glibc-2.14-rpc_nis_headers_restore.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
--- glibc-2.14/nis/Makefile
|
||||||
|
+++ glibc-2.14-2/nis/Makefile
|
||||||
|
@@ -23,9 +23,9 @@ subdir := nis
|
||||||
|
|
||||||
|
aux := nis_hash
|
||||||
|
|
||||||
|
+headers := $(wildcard rpcsvc/*.[hx])
|
||||||
|
distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
|
||||||
|
- nisplus-parser.h nis_xdr.h nss \
|
||||||
|
- $(wildcard rpcsvc/*.[hx])
|
||||||
|
+ nisplus-parser.h nis_xdr.h nss
|
||||||
|
|
||||||
|
# These are the databases available for the nis (and perhaps later nisplus)
|
||||||
|
# service. This must be a superset of the services in nss.
|
||||||
|
@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes))
|
||||||
|
|
||||||
|
include ../Rules
|
||||||
|
|
||||||
|
+CFLAGS-nis_findserv.c += -fno-strict-aliasing
|
||||||
|
+CFLAGS-ypclnt.c += -fno-strict-aliasing
|
||||||
|
|
||||||
|
$(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version)
|
||||||
|
$(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \
|
||||||
|
--- glibc-2.14/sunrpc/Makefile
|
||||||
|
+++ glibc-2.14-2/sunrpc/Makefile
|
||||||
|
@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
|
||||||
|
des_crypt.h)
|
||||||
|
headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
|
||||||
|
$(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
|
||||||
|
-headers = rpc/netdb.h
|
||||||
|
+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
|
||||||
|
install-others = $(inst_sysconfdir)/rpc
|
||||||
|
generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
|
||||||
|
$(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
|
||||||
|
@@ -152,6 +152,10 @@ CFLAGS-openchild.c = -fexceptions
|
||||||
|
|
||||||
|
CPPFLAGS += -D_RPC_THREAD_SAFE_
|
||||||
|
|
||||||
|
+CFLAGS-clnt_tcp.c += -fno-strict-aliasing
|
||||||
|
+CFLAGS-clnt_udp.c += -fno-strict-aliasing
|
||||||
|
+CFLAGS-clnt_unix.c += -fno-strict-aliasing
|
||||||
|
+
|
||||||
|
$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
|
||||||
|
$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
|
||||||
|
$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
|
||||||
|
--- a/include/libc-symbols.h
|
||||||
|
+++ b/include/libc-symbols.h
|
||||||
|
@@ -635,7 +635,7 @@ for linking")
|
||||||
|
# define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
|
||||||
|
# define libc_hidden_def(name) hidden_def (name)
|
||||||
|
# define libc_hidden_weak(name) hidden_weak (name)
|
||||||
|
-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
|
||||||
|
+# define libc_hidden_nolink(name, version) hidden_def (name)
|
||||||
|
# define libc_hidden_ver(local, name) hidden_ver (local, name)
|
||||||
|
# define libc_hidden_data_def(name) hidden_data_def (name)
|
||||||
|
# define libc_hidden_data_weak(name) hidden_data_weak (name)
|
118
glibc-2.14.1-fix-segfault-at-dl-lookup.patch
Normal file
118
glibc-2.14.1-fix-segfault-at-dl-lookup.patch
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
On Monday, June 06, 2011 13:00:50 Mike Frysinger wrote:
|
||||||
|
> On Monday, June 06, 2011 04:51:29 Andreas Schwab wrote:
|
||||||
|
> > Paweł Sikora <pluto@agmk.net> writes:
|
||||||
|
> > > git bisect shows first bad commit:
|
||||||
|
> > >
|
||||||
|
> > > 4bff6e0175ed195871f4e01cc4c4c33274b8f6e3 is the first bad commit
|
||||||
|
> > > commit 4bff6e0175ed195871f4e01cc4c4c33274b8f6e3
|
||||||
|
> > > Author: Andreas Schwab <schwab@redhat.com>
|
||||||
|
> > > Date: Fri Feb 25 20:49:48 2011 -0500
|
||||||
|
> > >
|
||||||
|
> > > Fix memory leak in dlopen with RTLD_NOLOAD.
|
||||||
|
> >
|
||||||
|
> > See <http://sourceware.org/ml/libc-hacker/2010-09/msg00009.html> and
|
||||||
|
> > <http://sourceware.org/ml/libc-hacker/2011-02/msg00004.html> for the
|
||||||
|
> > original, working patches.
|
||||||
|
>
|
||||||
|
> thanks, i'm seeing basically the same crash with the mpd server (music
|
||||||
|
> daemon)
|
||||||
|
|
||||||
|
in case it's helpful to someone else, this is the patch i'm using
|
||||||
|
-mike
|
||||||
|
|
||||||
|
partially revert 4bff6e0175ed195871f4e01cc4c4c33274b8f6e3
|
||||||
|
|
||||||
|
http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
|
||||||
|
|
||||||
|
--- a/elf/dl-libc.c
|
||||||
|
+++ b/elf/dl-libc.c
|
||||||
|
@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
|
||||||
|
if (! old->dont_free)
|
||||||
|
free (old);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ /* Free the initfini dependency list. */
|
||||||
|
+ if (l->l_free_initfini)
|
||||||
|
+ free (l->l_initfini);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -2240,6 +2240,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
lnp->dont_free = 1;
|
||||||
|
lnp = lnp->next;
|
||||||
|
}
|
||||||
|
+ l->l_free_initfini = 0;
|
||||||
|
|
||||||
|
if (l != &GL(dl_rtld_map))
|
||||||
|
_dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
|
||||||
|
--- a/elf/dl-close.c
|
||||||
|
+++ b/elf/dl-close.c
|
||||||
|
@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
|
||||||
|
if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
|
||||||
|
|| dl_close_state != not_pending)
|
||||||
|
{
|
||||||
|
- if (map->l_direct_opencount == 0)
|
||||||
|
- {
|
||||||
|
- if (map->l_type == lt_loaded)
|
||||||
|
- dl_close_state = rerun;
|
||||||
|
- else if (map->l_type == lt_library)
|
||||||
|
- {
|
||||||
|
- struct link_map **oldp = map->l_initfini;
|
||||||
|
- map->l_initfini = map->l_orig_initfini;
|
||||||
|
- _dl_scope_free (oldp);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
|
||||||
|
+ dl_close_state = rerun;
|
||||||
|
|
||||||
|
/* There are still references to this object. Do nothing more. */
|
||||||
|
if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
|
||||||
|
--- a/elf/dl-deps.c
|
||||||
|
+++ b/elf/dl-deps.c
|
||||||
|
@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
|
||||||
|
nneeded * sizeof needed[0]);
|
||||||
|
atomic_write_barrier ();
|
||||||
|
l->l_initfini = l_initfini;
|
||||||
|
+ l->l_free_initfini = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If we have no auxiliary objects just go on to the next map. */
|
||||||
|
@@ -662,6 +663,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
|
||||||
|
l_initfini[nlist] = NULL;
|
||||||
|
atomic_write_barrier ();
|
||||||
|
map->l_initfini = l_initfini;
|
||||||
|
+ map->l_free_initfini = 1;
|
||||||
|
if (l_reldeps != NULL)
|
||||||
|
{
|
||||||
|
atomic_write_barrier ();diff --git a/include/link.h b/include/link.h
|
||||||
|
@@ -686,5 +686,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
|
||||||
|
_dl_scope_free (old_l_reldeps);
|
||||||
|
}
|
||||||
|
if (old_l_initfini != NULL)
|
||||||
|
- map->l_orig_initfini = old_l_initfini;
|
||||||
|
+ _dl_scope_free (old_l_initfini);
|
||||||
|
|
||||||
|
--- a/include/link.h
|
||||||
|
+++ b/include/link.h
|
||||||
|
@@ -192,6 +192,9 @@ struct link_map
|
||||||
|
during LD_TRACE_PRELINKING=1
|
||||||
|
contains any DT_SYMBOLIC
|
||||||
|
libraries. */
|
||||||
|
+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
|
||||||
|
+ freed, ie. not allocated with
|
||||||
|
+ the dummy malloc in ld.so. */
|
||||||
|
|
||||||
|
/* Collected information about own RPATH directories. */
|
||||||
|
struct r_search_path_struct l_rpath_dirs;
|
||||||
|
@@ -240,9 +240,6 @@ struct link_map
|
||||||
|
|
||||||
|
/* List of object in order of the init and fini calls. */
|
||||||
|
struct link_map **l_initfini;
|
||||||
|
- /* The init and fini list generated at startup, saved when the
|
||||||
|
- object is also loaded dynamically. */
|
||||||
|
- struct link_map **l_orig_initfini;
|
||||||
|
|
||||||
|
/* List of the dependencies introduced through symbol binding. */
|
||||||
|
struct link_map_reldeps
|
40
glibc-2.16.0-localedata_openmamba.patch
Normal file
40
glibc-2.16.0-localedata_openmamba.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff -Nru glibc-2.16.0.orig/localedata/SUPPORTED.openmamba glibc-2.16.0/localedata/SUPPORTED.openmamba
|
||||||
|
--- glibc-2.16.0.orig/localedata/SUPPORTED.openmamba 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ glibc-2.16.0/localedata/SUPPORTED.openmamba 2012-11-18 13:28:51.661087792 +0100
|
||||||
|
@@ -0,0 +1,36 @@
|
||||||
|
+# This file names the currently supported and somewhat tested locales.
|
||||||
|
+# If you have any additions please file a glibc bug report.
|
||||||
|
+SUPPORTED-LOCALES=\
|
||||||
|
+de_AT.UTF-8/UTF-8 \
|
||||||
|
+de_AT/ISO-8859-1 \
|
||||||
|
+de_AT@euro/ISO-8859-15 \
|
||||||
|
+de_DE.UTF-8/UTF-8 \
|
||||||
|
+de_DE/ISO-8859-1 \
|
||||||
|
+de_DE@euro/ISO-8859-15 \
|
||||||
|
+en_GB.UTF-8/UTF-8 \
|
||||||
|
+en_GB/ISO-8859-1 \
|
||||||
|
+en_HK.UTF-8/UTF-8 \
|
||||||
|
+en_HK/ISO-8859-1 \
|
||||||
|
+en_IE.UTF-8/UTF-8 \
|
||||||
|
+en_IE/ISO-8859-1 \
|
||||||
|
+en_IE@euro/ISO-8859-15 \
|
||||||
|
+en_IN/UTF-8 \
|
||||||
|
+en_PH.UTF-8/UTF-8 \
|
||||||
|
+en_PH/ISO-8859-1 \
|
||||||
|
+en_US.UTF-8/UTF-8 \
|
||||||
|
+en_US/ISO-8859-1 \
|
||||||
|
+es_ES.UTF-8/UTF-8 \
|
||||||
|
+es_ES/ISO-8859-1 \
|
||||||
|
+es_ES@euro/ISO-8859-15 \
|
||||||
|
+es_MX.UTF-8/UTF-8 \
|
||||||
|
+es_MX/ISO-8859-1 \
|
||||||
|
+fa_IR/UTF-8 \
|
||||||
|
+fr_FR.UTF-8/UTF-8 \
|
||||||
|
+fr_FR/ISO-8859-1 \
|
||||||
|
+fr_FR@euro/ISO-8859-15 \
|
||||||
|
+it_CH.UTF-8/UTF-8 \
|
||||||
|
+it_CH/ISO-8859-1 \
|
||||||
|
+it_IT.UTF-8/UTF-8 \
|
||||||
|
+it_IT/ISO-8859-1 \
|
||||||
|
+it_IT@euro/ISO-8859-15 \
|
||||||
|
+ja_JP.EUC-JP/EUC-JP \
|
11
glibc-2.16.0-tetex-3.0.patch
Normal file
11
glibc-2.16.0-tetex-3.0.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- glibc-2.16.0.orig/manual/texinfo.tex 2012-06-30 21:12:34.000000000 +0200
|
||||||
|
+++ glibc-2.16.0/manual/texinfo.tex 2012-07-02 01:11:41.500955548 +0200
|
||||||
|
@@ -1107,7 +1107,7 @@
|
||||||
|
% #1 is a control sequence in which to do the replacements,
|
||||||
|
% which we \xdef.
|
||||||
|
\def\txiescapepdf#1{%
|
||||||
|
- \ifx\pdfescapestring\relax
|
||||||
|
+ \ifx\pdfescapestring\thisisundefined
|
||||||
|
% No primitive available; should we give a warning or log?
|
||||||
|
% Many times it won't matter.
|
||||||
|
\else
|
38
glibc-2.4-manual-syntax-fix.patch
Normal file
38
glibc-2.4-manual-syntax-fix.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff -Nru glibc-2.4.orig/manual/arith.texi glibc-2.4/manual/arith.texi
|
||||||
|
--- glibc-2.4.orig/manual/arith.texi 2004-10-06 05:02:14.000000000 +0200
|
||||||
|
+++ glibc-2.4/manual/arith.texi 2006-06-09 13:14:46.000000000 +0200
|
||||||
|
@@ -778,8 +778,7 @@
|
||||||
|
|
||||||
|
@comment fenv.h
|
||||||
|
@comment ISO
|
||||||
|
-@deftypefun int fesetexceptflag (const fexcept_t *@var{flagp}, int
|
||||||
|
-@var{excepts})
|
||||||
|
+@deftypefun int fesetexceptflag (const fexcept_t *@var{flagp}, int@var{excepts})
|
||||||
|
This function restores the flags for the exceptions indicated by
|
||||||
|
@var{excepts} to the values stored in the variable pointed to by
|
||||||
|
@var{flagp}.
|
||||||
|
diff -Nru glibc-2.4.orig/manual/errno.texi glibc-2.4/manual/errno.texi
|
||||||
|
--- glibc-2.4.orig/manual/errno.texi 2005-12-24 21:21:03.000000000 +0100
|
||||||
|
+++ glibc-2.4/manual/errno.texi 2006-06-09 13:14:46.000000000 +0200
|
||||||
|
@@ -1494,7 +1494,7 @@
|
||||||
|
|
||||||
|
@comment error.h
|
||||||
|
@comment GNU
|
||||||
|
-@deftypevar {void (*} error_print_progname ) (void)
|
||||||
|
+@deftypevar {void *} error_print_progname (void)
|
||||||
|
If the @code{error_print_progname} variable is defined to a non-zero
|
||||||
|
value the function pointed to is called by @code{error} or
|
||||||
|
@code{error_at_line}. It is expected to print the program name or do
|
||||||
|
diff -Nru glibc-2.4.orig/manual/sysinfo.texi glibc-2.4/manual/sysinfo.texi
|
||||||
|
--- glibc-2.4.orig/manual/sysinfo.texi 2003-11-29 07:38:43.000000000 +0100
|
||||||
|
+++ glibc-2.4/manual/sysinfo.texi 2006-06-09 13:14:46.000000000 +0200
|
||||||
|
@@ -1066,8 +1066,7 @@
|
||||||
|
|
||||||
|
@comment sysctl.h
|
||||||
|
@comment BSD
|
||||||
|
-@deftypefun int sysctl (int *@var{names}, int @var{nlen}, void *@var{oldval},
|
||||||
|
- size_t *@var{oldlenp}, void *@var{newval}, size_t @var{newlen})
|
||||||
|
+@deftypefun int sysctl (int *@var{names}, int @var{nlen}, void *@var{oldval},size_t *@var{oldlenp}, void *@var{newval}, size_t @var{newlen})
|
||||||
|
|
||||||
|
@code{sysctl} gets or sets a specified system parameter. There are so
|
||||||
|
many of these parameters that it is not practical to list them all here,
|
361
glibc-2.6.1-strlcpy_strlcat-1.patch
Normal file
361
glibc-2.6.1-strlcpy_strlcat-1.patch
Normal file
@ -0,0 +1,361 @@
|
|||||||
|
Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
|
||||||
|
Date: 2007-10-07
|
||||||
|
Initial Package Version: 2.6.1
|
||||||
|
Upstream Status: Rejected Upstream
|
||||||
|
http://sources.redhat.com/ml/libc-alpha/2000-08/msg00052.html
|
||||||
|
Origin: OpenBSD, then see the url above, the ported to Owl/Openwall.
|
||||||
|
http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/glibc/\
|
||||||
|
glibc-2.3.5-openbsd-strlcpy-strlcat.diff
|
||||||
|
Then I retrieved the latest copies of strlcat.c and strlcpy.c from OpenBSD-cvs,
|
||||||
|
which had trivial changes.
|
||||||
|
Description: http://www.courtesan.com/todd/papers/strlcpy.html
|
||||||
|
|
||||||
|
diff -Naur glibc-2.6.1.orig/manual/strlcpy.3 glibc-2.6.1/manual/strlcpy.3
|
||||||
|
--- glibc-2.6.1.orig/manual/strlcpy.3 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ glibc-2.6.1/manual/strlcpy.3 2007-08-04 06:48:03.000000000 +0000
|
||||||
|
@@ -0,0 +1,186 @@
|
||||||
|
+.\" $OpenBSD: strlcpy.3,v 1.18 2005/08/06 03:24:19 jaredy Exp $
|
||||||
|
+.\"
|
||||||
|
+.\" Copyright (c) 1998, 2000 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
+.\"
|
||||||
|
+.\" Permission to use, copy, modify, and distribute this software for any
|
||||||
|
+.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
+.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
+.\"
|
||||||
|
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
+.\"
|
||||||
|
+.Dd June 22, 1998
|
||||||
|
+.Dt STRLCPY 3
|
||||||
|
+.Os
|
||||||
|
+.Sh NAME
|
||||||
|
+.Nm strlcpy ,
|
||||||
|
+.Nm strlcat
|
||||||
|
+.Nd size-bounded string copying and concatenation
|
||||||
|
+.Sh SYNOPSIS
|
||||||
|
+.Fd #include <string.h>
|
||||||
|
+.Ft size_t
|
||||||
|
+.Fn strlcpy "char *dst" "const char *src" "size_t size"
|
||||||
|
+.Ft size_t
|
||||||
|
+.Fn strlcat "char *dst" "const char *src" "size_t size"
|
||||||
|
+.Sh DESCRIPTION
|
||||||
|
+The
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat
|
||||||
|
+functions copy and concatenate strings respectively.
|
||||||
|
+They are designed
|
||||||
|
+to be safer, more consistent, and less error prone replacements for
|
||||||
|
+.Xr strncpy 3
|
||||||
|
+and
|
||||||
|
+.Xr strncat 3 .
|
||||||
|
+Unlike those functions,
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat
|
||||||
|
+take the full size of the buffer (not just the length) and guarantee to
|
||||||
|
+NUL-terminate the result (as long as
|
||||||
|
+.Fa size
|
||||||
|
+is larger than 0 or, in the case of
|
||||||
|
+.Fn strlcat ,
|
||||||
|
+as long as there is at least one byte free in
|
||||||
|
+.Fa dst ) .
|
||||||
|
+Note that a byte for the NUL should be included in
|
||||||
|
+.Fa size .
|
||||||
|
+Also note that
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat
|
||||||
|
+only operate on true
|
||||||
|
+.Dq C
|
||||||
|
+strings.
|
||||||
|
+This means that for
|
||||||
|
+.Fn strlcpy
|
||||||
|
+.Fa src
|
||||||
|
+must be NUL-terminated and for
|
||||||
|
+.Fn strlcat
|
||||||
|
+both
|
||||||
|
+.Fa src
|
||||||
|
+and
|
||||||
|
+.Fa dst
|
||||||
|
+must be NUL-terminated.
|
||||||
|
+.Pp
|
||||||
|
+The
|
||||||
|
+.Fn strlcpy
|
||||||
|
+function copies up to
|
||||||
|
+.Fa size
|
||||||
|
+- 1 characters from the NUL-terminated string
|
||||||
|
+.Fa src
|
||||||
|
+to
|
||||||
|
+.Fa dst ,
|
||||||
|
+NUL-terminating the result.
|
||||||
|
+.Pp
|
||||||
|
+The
|
||||||
|
+.Fn strlcat
|
||||||
|
+function appends the NUL-terminated string
|
||||||
|
+.Fa src
|
||||||
|
+to the end of
|
||||||
|
+.Fa dst .
|
||||||
|
+It will append at most
|
||||||
|
+.Fa size
|
||||||
|
+- strlen(dst) - 1 bytes, NUL-terminating the result.
|
||||||
|
+.Sh RETURN VALUES
|
||||||
|
+The
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat
|
||||||
|
+functions return the total length of the string they tried to create.
|
||||||
|
+For
|
||||||
|
+.Fn strlcpy
|
||||||
|
+that means the length of
|
||||||
|
+.Fa src .
|
||||||
|
+For
|
||||||
|
+.Fn strlcat
|
||||||
|
+that means the initial length of
|
||||||
|
+.Fa dst
|
||||||
|
+plus
|
||||||
|
+the length of
|
||||||
|
+.Fa src .
|
||||||
|
+While this may seem somewhat confusing, it was done to make
|
||||||
|
+truncation detection simple.
|
||||||
|
+.Pp
|
||||||
|
+Note, however, that if
|
||||||
|
+.Fn strlcat
|
||||||
|
+traverses
|
||||||
|
+.Fa size
|
||||||
|
+characters without finding a NUL, the length of the string is considered
|
||||||
|
+to be
|
||||||
|
+.Fa size
|
||||||
|
+and the destination string will not be NUL-terminated (since there was
|
||||||
|
+no space for the NUL).
|
||||||
|
+This keeps
|
||||||
|
+.Fn strlcat
|
||||||
|
+from running off the end of a string.
|
||||||
|
+In practice this should not happen (as it means that either
|
||||||
|
+.Fa size
|
||||||
|
+is incorrect or that
|
||||||
|
+.Fa dst
|
||||||
|
+is not a proper
|
||||||
|
+.Dq C
|
||||||
|
+string).
|
||||||
|
+The check exists to prevent potential security problems in incorrect code.
|
||||||
|
+.Sh EXAMPLES
|
||||||
|
+The following code fragment illustrates the simple case:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+char *s, *p, buf[BUFSIZ];
|
||||||
|
+
|
||||||
|
+\&...
|
||||||
|
+
|
||||||
|
+(void)strlcpy(buf, s, sizeof(buf));
|
||||||
|
+(void)strlcat(buf, p, sizeof(buf));
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+To detect truncation, perhaps while building a pathname, something
|
||||||
|
+like the following might be used:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+char *dir, *file, pname[MAXPATHLEN];
|
||||||
|
+
|
||||||
|
+\&...
|
||||||
|
+
|
||||||
|
+if (strlcpy(pname, dir, sizeof(pname)) >= sizeof(pname))
|
||||||
|
+ goto toolong;
|
||||||
|
+if (strlcat(pname, file, sizeof(pname)) >= sizeof(pname))
|
||||||
|
+ goto toolong;
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+Since it is known how many characters were copied the first time, things
|
||||||
|
+can be sped up a bit by using a copy instead of an append:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+char *dir, *file, pname[MAXPATHLEN];
|
||||||
|
+size_t n;
|
||||||
|
+
|
||||||
|
+\&...
|
||||||
|
+
|
||||||
|
+n = strlcpy(pname, dir, sizeof(pname));
|
||||||
|
+if (n >= sizeof(pname))
|
||||||
|
+ goto toolong;
|
||||||
|
+if (strlcpy(pname + n, file, sizeof(pname) - n) >= sizeof(pname) - n)
|
||||||
|
+ goto toolong;
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+However, one may question the validity of such optimizations, as they
|
||||||
|
+defeat the whole purpose of
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat .
|
||||||
|
+As a matter of fact, the first version of this manual page got it wrong.
|
||||||
|
+.Sh SEE ALSO
|
||||||
|
+.Xr snprintf 3 ,
|
||||||
|
+.Xr strncat 3 ,
|
||||||
|
+.Xr strncpy 3
|
||||||
|
+.Sh HISTORY
|
||||||
|
+The
|
||||||
|
+.Fn strlcpy
|
||||||
|
+and
|
||||||
|
+.Fn strlcat
|
||||||
|
+functions first appeared in
|
||||||
|
+.Ox 2.4 .
|
||||||
|
diff -Naur glibc-2.6.1.orig/string/Makefile glibc-2.6.1/string/Makefile
|
||||||
|
--- glibc-2.6.1.orig/string/Makefile 2007-02-01 16:10:11.000000000 +0000
|
||||||
|
+++ glibc-2.6.1/string/Makefile 2007-08-04 06:48:35.000000000 +0000
|
||||||
|
@@ -40,7 +40,12 @@
|
||||||
|
addsep replace) \
|
||||||
|
envz basename \
|
||||||
|
strcoll_l strxfrm_l string-inlines memrchr \
|
||||||
|
- xpg-strerror strerror_l
|
||||||
|
+ xpg-strerror strerror_l strlcat strlcpy
|
||||||
|
+
|
||||||
|
+# These routines will be omitted from the libc shared object.
|
||||||
|
+# Instead the static object files will be included in a special archive
|
||||||
|
+# linked against when the shared library will be used.
|
||||||
|
+static-only-routines = strlcat strlcpy
|
||||||
|
|
||||||
|
# Gcc internally generates calls to unbounded memcpy and memset
|
||||||
|
# for -fbounded-pointer compiles. Glibc uses memchr for explicit checks.
|
||||||
|
diff -Naur glibc-2.6.1.orig/string/string.h glibc-2.6.1/string/string.h
|
||||||
|
--- glibc-2.6.1.orig/string/string.h 2007-02-01 16:08:52.000000000 +0000
|
||||||
|
+++ glibc-2.6.1/string/string.h 2007-08-04 06:48:03.000000000 +0000
|
||||||
|
@@ -354,6 +354,24 @@
|
||||||
|
extern char *strsep (char **__restrict __stringp,
|
||||||
|
__const char *__restrict __delim)
|
||||||
|
__THROW __nonnull ((1, 2));
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Appends __src to string __dst of size __n (unlike strncat, __n is the
|
||||||
|
+ * full size of __dst, not space left). At most __n-1 characters
|
||||||
|
+ * will be copied. Always NUL terminates (unless __n <= strlen(__dst)).
|
||||||
|
+ * Returns strlen(__src) + MIN(__n, strlen(initial __dst)).
|
||||||
|
+ * If retval >= __n, truncation occurred.
|
||||||
|
+ */
|
||||||
|
+extern size_t strlcat (char *__dst, __const char *__src, size_t __n)
|
||||||
|
+ __THROW __nonnull ((1, 2));
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Copy __src to string __dst of size __n. At most __n-1 characters
|
||||||
|
+ * will be copied. Always NUL terminates (unless __n == 0).
|
||||||
|
+ * Returns strlen(__src); if retval >= __n, truncation occurred.
|
||||||
|
+ */
|
||||||
|
+extern size_t strlcpy (char *__dst, __const char *__src, size_t __n)
|
||||||
|
+ __THROW __nonnull ((1, 2));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
diff -Naur glibc-2.6.1.orig/string/strlcat.c glibc-2.6.1/string/strlcat.c
|
||||||
|
--- glibc-2.6.1.orig/string/strlcat.c 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ glibc-2.6.1/string/strlcat.c 2007-08-04 06:48:03.000000000 +0000
|
||||||
|
@@ -0,0 +1,55 @@
|
||||||
|
+/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
+ *
|
||||||
|
+ * Permission to use, copy, modify, and distribute this software for any
|
||||||
|
+ * purpose with or without fee is hereby granted, provided that the above
|
||||||
|
+ * copyright notice and this permission notice appear in all copies.
|
||||||
|
+ *
|
||||||
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include <sys/types.h>
|
||||||
|
+#include <string.h>
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Appends src to string dst of size siz (unlike strncat, siz is the
|
||||||
|
+ * full size of dst, not space left). At most siz-1 characters
|
||||||
|
+ * will be copied. Always NUL terminates (unless siz <= strlen(dst)).
|
||||||
|
+ * Returns strlen(src) + MIN(siz, strlen(initial dst)).
|
||||||
|
+ * If retval >= siz, truncation occurred.
|
||||||
|
+ */
|
||||||
|
+size_t
|
||||||
|
+strlcat(char *dst, const char *src, size_t siz)
|
||||||
|
+{
|
||||||
|
+ char *d = dst;
|
||||||
|
+ const char *s = src;
|
||||||
|
+ size_t n = siz;
|
||||||
|
+ size_t dlen;
|
||||||
|
+
|
||||||
|
+ /* Find the end of dst and adjust bytes left but don't go past end */
|
||||||
|
+ while (n-- != 0 && *d != '\0')
|
||||||
|
+ d++;
|
||||||
|
+ dlen = d - dst;
|
||||||
|
+ n = siz - dlen;
|
||||||
|
+
|
||||||
|
+ if (n == 0)
|
||||||
|
+ return(dlen + strlen(s));
|
||||||
|
+ while (*s != '\0') {
|
||||||
|
+ if (n != 1) {
|
||||||
|
+ *d++ = *s;
|
||||||
|
+ n--;
|
||||||
|
+ }
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+ *d = '\0';
|
||||||
|
+
|
||||||
|
+ return(dlen + (s - src)); /* count does not include NUL */
|
||||||
|
+}
|
||||||
|
diff -Naur glibc-2.6.1.orig/string/strlcpy.c glibc-2.6.1/string/strlcpy.c
|
||||||
|
--- glibc-2.6.1.orig/string/strlcpy.c 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ glibc-2.6.1/string/strlcpy.c 2007-08-04 06:48:03.000000000 +0000
|
||||||
|
@@ -0,0 +1,51 @@
|
||||||
|
+/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
+ *
|
||||||
|
+ * Permission to use, copy, modify, and distribute this software for any
|
||||||
|
+ * purpose with or without fee is hereby granted, provided that the above
|
||||||
|
+ * copyright notice and this permission notice appear in all copies.
|
||||||
|
+ *
|
||||||
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include <sys/types.h>
|
||||||
|
+#include <string.h>
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Copy src to string dst of size siz. At most siz-1 characters
|
||||||
|
+ * will be copied. Always NUL terminates (unless siz == 0).
|
||||||
|
+ * Returns strlen(src); if retval >= siz, truncation occurred.
|
||||||
|
+ */
|
||||||
|
+size_t
|
||||||
|
+strlcpy(char *dst, const char *src, size_t siz)
|
||||||
|
+{
|
||||||
|
+ char *d = dst;
|
||||||
|
+ const char *s = src;
|
||||||
|
+ size_t n = siz;
|
||||||
|
+
|
||||||
|
+ /* Copy as many bytes as will fit */
|
||||||
|
+ if (n != 0) {
|
||||||
|
+ while (--n != 0) {
|
||||||
|
+ if ((*d++ = *s++) == '\0')
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* Not enough room in dst, add NUL and traverse rest of src */
|
||||||
|
+ if (n == 0) {
|
||||||
|
+ if (siz != 0)
|
||||||
|
+ *d = '\0'; /* NUL-terminate dst */
|
||||||
|
+ while (*s++)
|
||||||
|
+ ;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return(s - src - 1); /* count does not include NUL */
|
||||||
|
+}
|
29
glibc-2.7-gcc-4.3.patch
Normal file
29
glibc-2.7-gcc-4.3.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
Submitted By: Tushar Teredesai <tushar@linuxfromscratch.org>
|
||||||
|
Date: 2008-04-18
|
||||||
|
Initial Package Version: 2.7
|
||||||
|
Upstream Status: Fixed
|
||||||
|
Origin: glibc cvs
|
||||||
|
Description: Fix compilation with gcc-4.3
|
||||||
|
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvs/glibc/libc/configure,v
|
||||||
|
retrieving revision 1.462
|
||||||
|
retrieving revision 1.463
|
||||||
|
diff -u -r1.462 -r1.463
|
||||||
|
--- libc/configure 2008/01/24 20:21:23 1.462
|
||||||
|
+++ libc/configure 2008/02/01 00:20:07 1.463
|
||||||
|
@@ -5065,8 +5065,12 @@
|
||||||
|
# header directory and add that to the list. NOTE: Only does the right
|
||||||
|
# thing on a system that doesn't need fixincludes. (Not presently a problem.)
|
||||||
|
if test -n "$sysheaders"; then
|
||||||
|
- ccheaders=`$CC -print-file-name=include`
|
||||||
|
- SYSINCLUDES="-nostdinc -isystem $ccheaders \
|
||||||
|
+ SYSINCLUDES=-nostdinc
|
||||||
|
+ for d in include include-fixed; do
|
||||||
|
+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
|
||||||
|
+ SYSINCLUDES="$SYSINCLUDES -isystem $i"
|
||||||
|
+ done
|
||||||
|
+ SYSINCLUDES="$SYSINCLUDES \
|
||||||
|
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
|
||||||
|
if test -n "$CXX"; then
|
||||||
|
cxxversion=`$CXX -dumpversion 2>&5` &&
|
26
glibc-2.7-lowlevellock.patch
Normal file
26
glibc-2.7-lowlevellock.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
2007-11-01 Ryan S. Arnold <rsa@us.ibm.com>
|
||||||
|
|
||||||
|
* nptl/sysdeps/unix/sysv/linux/lowlevellock.c
|
||||||
|
(__lll_timedlock_wait) Wake before returning timeout.
|
||||||
|
|
||||||
|
--- glibc-2.7/nptl/sysdeps/unix/sysv/linux/lowlevellock.c 2007-08-14 14:59:34.000000000 -0500
|
||||||
|
+++ glibc-2.7.new/nptl/sysdeps/unix/sysv/linux/lowlevellock.c 2007-11-01 12:25:49.000000000 -0500
|
||||||
|
@@ -76,12 +76,16 @@
|
||||||
|
--rt.tv_sec;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
|
||||||
|
/* Already timed out? */
|
||||||
|
if (rt.tv_sec < 0)
|
||||||
|
- return ETIMEDOUT;
|
||||||
|
+ {
|
||||||
|
+ if (oldval == 0)
|
||||||
|
+ lll_futex_wake (futex, 1, private);
|
||||||
|
+ return ETIMEDOUT;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Wait. */
|
||||||
|
- int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
|
||||||
|
if (oldval != 0)
|
||||||
|
lll_futex_timed_wait (futex, 2, &rt, private);
|
||||||
|
}
|
12
glibc-2.7-memcpy_chk_S.patch
Normal file
12
glibc-2.7-memcpy_chk_S.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- sysdeps/i386/i586/memcpy_chk.S.i586 2007-10-02 07:00:06.000000000 -0700
|
||||||
|
+++ sysdeps/i386/i586/memcpy_chk.S 2007-10-02 06:58:51.000000000 -0700
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include <sysdeps/i386/i686/memcpy_chk.S>
|
||||||
|
--- sysdeps/i386/i586/mempcpy_chk.S.i586 2007-10-02 07:00:06.000000000 -0700
|
||||||
|
+++ sysdeps/i386/i586/mempcpy_chk.S 2007-10-02 06:58:51.000000000 -0700
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include <sysdeps/i386/i686/mempcpy_chk.S>
|
||||||
|
--- sysdeps/i386/i586/memset_chk.S.i586 2007-10-02 07:00:06.000000000 -0700
|
||||||
|
+++ sysdeps/i386/i586/memset_chk.S 2007-10-02 06:58:51.000000000 -0700
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include <sysdeps/i386/i686/memset_chk.S>
|
45
glibc-2.7-only-lookup-ipv6-if-it-makes-sense.patch
Normal file
45
glibc-2.7-only-lookup-ipv6-if-it-makes-sense.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
diff -Nru glibc-2.7.orig/sysdeps/posix/getaddrinfo.c glibc-2.7/sysdeps/posix/getaddrinfo.c
|
||||||
|
--- glibc-2.7.orig/sysdeps/posix/getaddrinfo.c 2007-10-17 18:05:12.000000000 +0200
|
||||||
|
+++ glibc-2.7/sysdeps/posix/getaddrinfo.c 2008-02-05 19:53:08.000000000 +0100
|
||||||
|
@@ -263,7 +263,7 @@
|
||||||
|
static int
|
||||||
|
gaih_inet (const char *name, const struct gaih_service *service,
|
||||||
|
const struct addrinfo *req, struct addrinfo **pai,
|
||||||
|
- unsigned int *naddrs)
|
||||||
|
+ unsigned int *naddrs, bool usable_ipv6)
|
||||||
|
{
|
||||||
|
const struct gaih_typeproto *tp = gaih_inet_typeproto;
|
||||||
|
struct gaih_servtuple *st = (struct gaih_servtuple *) &nullserv;
|
||||||
|
@@ -706,7 +706,7 @@
|
||||||
|
if (fct != NULL)
|
||||||
|
{
|
||||||
|
if (req->ai_family == AF_INET6
|
||||||
|
- || req->ai_family == AF_UNSPEC)
|
||||||
|
+ || (req->ai_family == AF_UNSPEC && usable_ipv6))
|
||||||
|
{
|
||||||
|
gethosts (AF_INET6, struct in6_addr);
|
||||||
|
no_inet6_data = no_data;
|
||||||
|
@@ -1914,7 +1914,7 @@
|
||||||
|
if (hints->ai_family == AF_UNSPEC || hints->ai_family == AF_INET
|
||||||
|
|| hints->ai_family == AF_INET6)
|
||||||
|
{
|
||||||
|
- last_i = gaih_inet (name, pservice, hints, end, &naddrs);
|
||||||
|
+ last_i = gaih_inet (name, pservice, hints, end, &naddrs, seen_ipv6);
|
||||||
|
if (last_i != 0)
|
||||||
|
{
|
||||||
|
freeaddrinfo (p);
|
||||||
|
diff -Nru glibc-2.7.orig/sysdeps/unix/sysv/linux/check_pf.c glibc-2.7/sysdeps/unix/sysv/linux/check_pf.c
|
||||||
|
--- glibc-2.7.orig/sysdeps/unix/sysv/linux/check_pf.c 2007-08-29 18:49:45.000000000 +0200
|
||||||
|
+++ glibc-2.7/sysdeps/unix/sysv/linux/check_pf.c 2008-02-05 19:50:30.000000000 +0100
|
||||||
|
@@ -201,7 +201,10 @@
|
||||||
|
{
|
||||||
|
out_v6:
|
||||||
|
if (!IN6_IS_ADDR_LOOPBACK (address ?: local))
|
||||||
|
- *seen_ipv6 = true;
|
||||||
|
+ if (ifam->ifa_scope < RT_SCOPE_LINK)
|
||||||
|
+ {
|
||||||
|
+ *seen_ipv6 = true;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ifam->ifa_flags & (IFA_F_DEPRECATED
|
11
glibc-2.7-x86-fnstsw.patch
Normal file
11
glibc-2.7-x86-fnstsw.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- glibc-2.7/sysdeps/i386/fpu/ftestexcept.c.vaniglia 2009-01-28 22:38:10.000000000 +0100
|
||||||
|
+++ glibc-2.7/sysdeps/i386/fpu/ftestexcept.c 2009-01-28 22:39:05.000000000 +0100
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
int
|
||||||
|
fetestexcept (int excepts)
|
||||||
|
{
|
||||||
|
- int temp;
|
||||||
|
+ short temp;
|
||||||
|
int xtemp = 0;
|
||||||
|
|
||||||
|
/* Get current exceptions. */
|
12
glibc-2.9-arm_local_args6.patch
Normal file
12
glibc-2.9-arm_local_args6.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h.orig
|
||||||
|
+++ ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
|
||||||
|
@@ -73,6 +73,9 @@
|
||||||
|
# define DOCARGS_5 DOCARGS_4
|
||||||
|
# define UNDOCARGS_5 UNDOCARGS_4
|
||||||
|
|
||||||
|
+# define DOCARGS_6 DOCARGS_5
|
||||||
|
+# define UNDOCARGS_6 UNDOCARGS_5
|
||||||
|
+
|
||||||
|
# ifdef IS_IN_libpthread
|
||||||
|
# define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
|
||||||
|
# define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
|
19
glibc-ports-2.15-arm-libmemusage-libc_nonshared.patch
Normal file
19
glibc-ports-2.15-arm-libmemusage-libc_nonshared.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
commit 2d80bda39073a35af4b904d27fa1511cd309b26f
|
||||||
|
Author: Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
Date: Fri Jan 6 20:14:44 2012 +0000
|
||||||
|
|
||||||
|
Add ARM dependency of libmemusage.so on libc_nonshared.a.
|
||||||
|
|
||||||
|
diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile
|
||||||
|
index 5651161..1a88430 100644
|
||||||
|
--- a/ports/sysdeps/arm/Makefile
|
||||||
|
+++ b/ports/sysdeps/arm/Makefile
|
||||||
|
@@ -7,3 +7,8 @@ endif
|
||||||
|
ifeq ($(subdir),csu)
|
||||||
|
gen-as-const-headers += tlsdesc.sym
|
||||||
|
endif
|
||||||
|
+
|
||||||
|
+# to pull in __aeabi_read_tp, needed for tls
|
||||||
|
+ifeq ($(subdir),malloc)
|
||||||
|
+$(objpfx)libmemusage.so: $(common-objpfx)libc_nonshared.a
|
||||||
|
+endif
|
1134
glibc.spec
Normal file
1134
glibc.spec
Normal file
File diff suppressed because it is too large
Load Diff
25
nscd-conf
Normal file
25
nscd-conf
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# Name Service Cache Daemon configuration file
|
||||||
|
#
|
||||||
|
logfile /var/log/nscd/nscd.log
|
||||||
|
threads 6
|
||||||
|
server-user nscd
|
||||||
|
debug-level 0
|
||||||
|
|
||||||
|
enable-cache passwd yes
|
||||||
|
positive-time-to-live passwd 600
|
||||||
|
negative-time-to-live passwd 20
|
||||||
|
suggested-size passwd 211
|
||||||
|
check-files passwd yes
|
||||||
|
|
||||||
|
enable-cache group yes
|
||||||
|
positive-time-to-live group 3600
|
||||||
|
negative-time-to-live group 60
|
||||||
|
suggested-size group 211
|
||||||
|
check-files group yes
|
||||||
|
|
||||||
|
enable-cache hosts no
|
||||||
|
positive-time-to-live hosts 3600
|
||||||
|
negative-time-to-live hosts 6
|
||||||
|
suggested-size hosts 211
|
||||||
|
check-files hosts yes
|
48
nscd-initscript
Normal file
48
nscd-initscript
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Begin $rc_base/init.d/nscd - Name Service Cache Daemon loader
|
||||||
|
#
|
||||||
|
# Created by Silvan Calarco - silvan.calarco@qilinux.it
|
||||||
|
#
|
||||||
|
# nscd This starts and stops nscd daemon.
|
||||||
|
#
|
||||||
|
# chkconfig: 2345 17 93
|
||||||
|
#
|
||||||
|
# description: Syslogd and Klogd loaders
|
||||||
|
#
|
||||||
|
|
||||||
|
source /etc/sysconfig/rc
|
||||||
|
source $rc_functions
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -n "Starting name service cache daemon..."
|
||||||
|
nscd
|
||||||
|
evaluate_retval
|
||||||
|
echo
|
||||||
|
;;
|
||||||
|
|
||||||
|
stop)
|
||||||
|
echo -n "Stopping name service cache daemon..."
|
||||||
|
killproc nscd
|
||||||
|
evaluate_retval
|
||||||
|
echo
|
||||||
|
;;
|
||||||
|
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
sleep 1
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
|
||||||
|
status)
|
||||||
|
statusproc nscd
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|status}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# End $rc_base/init.d/sysklogd
|
||||||
|
|
8
nscd-logrotate
Normal file
8
nscd-logrotate
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/var/log/nscd/nscd.log {
|
||||||
|
weekly
|
||||||
|
rotate 5
|
||||||
|
copytruncate
|
||||||
|
compress
|
||||||
|
notifempty
|
||||||
|
missingok
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user