wok-next rev 19578

glibc: fix build.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Dec 26 10:36:28 2016 +0200 (2016-12-26)
parents 6b0977689017
children 9ed08571171f
files glibc/receipt glibc/stuff/glibc-2.13-gcc_fix-1.patch glibc/stuff/glibc-2.14-reexport-rpc-interface.patch glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch glibc/stuff/glibc-2.14-revert-4768ae77.patch glibc/stuff/glibc-2.14.1-CVE-2015-0235.patch glibc/stuff/glibc-2.14.1-fixes-1.patch glibc/stuff/glibc-2.14.1-gcc_fix-1.patch glibc/stuff/glibc-2.14.1-sort-1.patch glibc/stuff/glibc-po.patch
line diff
     1.1 --- a/glibc/receipt	Mon Dec 26 01:30:19 2016 +0200
     1.2 +++ b/glibc/receipt	Mon Dec 26 10:36:28 2016 +0200
     1.3 @@ -74,6 +74,8 @@
     1.4  
     1.5  	# Glibc FHS Patch - LFS 7.10
     1.6  	patch -p1 -i $stuff/glibc-2.24-fhs-1.patch
     1.7 +	# Remove restricted '\v' from po files
     1.8 +	patch -p1 -i $stuff/glibc-po.patch
     1.9  
    1.10  	{
    1.11  		mkdir build
    1.12 @@ -101,7 +103,7 @@
    1.13  	comp_summary "$time0" "$time1" "$size0" "$size1"
    1.14  
    1.15  	# If temporary toolchain was previously used, switch to regular toolchain.
    1.16 -	if [ ! -d /tools ]; then
    1.17 +	if [ -d /tools ]; then
    1.18  		mv /tools/bin/ld /tools/bin/ld-old
    1.19  		mv /tools/$(gcc -dumpmachine)/bin/ld /tools/$(gcc -dumpmachine)/bin/ld-old
    1.20  		mv /tools/bin/ld-new /tools/bin/ld
     2.1 --- a/glibc/stuff/glibc-2.13-gcc_fix-1.patch	Mon Dec 26 01:30:19 2016 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,49 +0,0 @@
     2.4 -Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
     2.5 -Date:                    2010-04-18
     2.6 -Initial Package Version: 2.11.1
     2.7 -Upstream Status:         Not Submitted
     2.8 -Origin:                  http://www.eglibc.org/archives/patches/msg00073.html
     2.9 -Description:             Fixes the following build problem with GCC-4.5.0:
    2.10 -
    2.11 -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
    2.12 -./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
    2.13 -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
    2.14 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    2.15 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    2.16 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    2.17 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
    2.18 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    2.19 -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
    2.20 -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
    2.21 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
    2.22 -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
    2.23 -
    2.24 -diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
    2.25 ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 20:10:20.000000000 +0000
    2.26 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c	2010-04-17 11:34:06.882681001 +0000
    2.27 -@@ -45,6 +45,11 @@
    2.28 - /* Embed an #include to pull in the alignment and .end directives. */
    2.29 - asm ("\n#include \"defs.h\"");
    2.30 - 
    2.31 -+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
    2.32 -+asm ("\n#undef __i686");
    2.33 -+asm ("\n#define __i686 __i686");
    2.34 -+asm ("\n#endif");
    2.35 -+
    2.36 - /* The initial common code ends here. */
    2.37 - asm ("\n/*@HEADER_ENDS*/");
    2.38 - 
    2.39 -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
    2.40 ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 20:10:20.000000000 +0000
    2.41 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-04-17 11:34:06.882681001 +0000
    2.42 -@@ -29,6 +29,10 @@
    2.43 - #include <dl-sysdep.h>
    2.44 - #include <tls.h>
    2.45 - 
    2.46 -+#if defined __i686 && defined __ASSEMBLER__
    2.47 -+#undef __i686
    2.48 -+#define __i686 __i686
    2.49 -+#endif
    2.50 - 
    2.51 - /* For Linux we can use the system call table in the header file
    2.52 - 	/usr/include/asm/unistd.h
     3.1 --- a/glibc/stuff/glibc-2.14-reexport-rpc-interface.patch	Mon Dec 26 01:30:19 2016 +0200
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,26 +0,0 @@
     3.4 -diff --git a/include/libc-symbols.h b/include/libc-symbols.h
     3.5 -index 67e1ca2..5e7cca5 100644
     3.6 ---- a/include/libc-symbols.h
     3.7 -+++ b/include/libc-symbols.h
     3.8 -@@ -635,7 +635,7 @@ for linking")
     3.9 - # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
    3.10 - # define libc_hidden_def(name) hidden_def (name)
    3.11 - # define libc_hidden_weak(name) hidden_weak (name)
    3.12 --# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
    3.13 -+# define libc_hidden_nolink(name, version) hidden_def (name)
    3.14 - # define libc_hidden_ver(local, name) hidden_ver (local, name)
    3.15 - # define libc_hidden_data_def(name) hidden_data_def (name)
    3.16 - # define libc_hidden_data_weak(name) hidden_data_weak (name)
    3.17 -diff --git a/sunrpc/Makefile b/sunrpc/Makefile
    3.18 -index 5134ce9..40c73d1 100644
    3.19 ---- a/sunrpc/Makefile
    3.20 -+++ b/sunrpc/Makefile
    3.21 -@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
    3.22 - 				    des_crypt.h)
    3.23 - headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
    3.24 - 		       $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
    3.25 --headers = rpc/netdb.h
    3.26 -+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
    3.27 - install-others = $(inst_sysconfdir)/rpc
    3.28 - generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
    3.29 - 	    $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
     4.1 --- a/glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch	Mon Dec 26 01:30:19 2016 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,28 +0,0 @@
     4.4 -From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
     4.5 -From: Andreas Schwab <schwab@redhat.com>
     4.6 -Date: Tue, 17 May 2011 17:42:30 +0200
     4.7 -Subject: [PATCH] Reinstall NIS RPC headers
     4.8 -
     4.9 ----
    4.10 - nis/Makefile |    4 ++--
    4.11 - 1 files changed, 2 insertions(+), 2 deletions(-)
    4.12 -
    4.13 -diff --git a/nis/Makefile b/nis/Makefile
    4.14 -index b5c9609..d2934d9 100644
    4.15 ---- a/nis/Makefile
    4.16 -+++ b/nis/Makefile
    4.17 -@@ -23,9 +23,9 @@ subdir	:= nis
    4.18 - 
    4.19 - aux			:= nis_hash
    4.20 - 
    4.21 -+headers			:= $(wildcard rpcsvc/*.[hx])
    4.22 - distribute		:= nss-nis.h nss-nisplus.h nis_intern.h Banner \
    4.23 --			   nisplus-parser.h nis_xdr.h nss \
    4.24 --			   $(wildcard rpcsvc/*.[hx])
    4.25 -+			   nisplus-parser.h nis_xdr.h nss
    4.26 - 
    4.27 - # These are the databases available for the nis (and perhaps later nisplus)
    4.28 - # service.  This must be a superset of the services in nss.
    4.29 --- 
    4.30 -1.7.5.4
    4.31 -
     5.1 --- a/glibc/stuff/glibc-2.14-revert-4768ae77.patch	Mon Dec 26 01:30:19 2016 +0200
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,37 +0,0 @@
     5.4 -diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
     5.5 ---- glibc-orig//resolv/res_send.c	2011-06-10 18:59:03.041436996 +1000
     5.6 -+++ glibc/resolv/res_send.c	2011-06-10 19:08:09.379309323 +1000
     5.7 -@@ -549,7 +549,7 @@
     5.8 -				    ns, ansp, ansp2, nansp2, resplen2);
     5.9 -			if (n < 0)
    5.10 -				return (-1);
    5.11 --			if (n == 0 && (buf2 == NULL || *resplen2 == 0))
    5.12 -+			if (n == 0)
    5.13 -				goto next_ns;
    5.14 -		} else {
    5.15 -			/* Use datagrams. */
    5.16 -@@ -559,7 +559,7 @@
    5.17 -				    ansp2, nansp2, resplen2);
    5.18 -			if (n < 0)
    5.19 -				return (-1);
    5.20 --			if (n == 0 && (buf2 == NULL || *resplen2 == 0))
    5.21 -+			if (n == 0)
    5.22 -				goto next_ns;
    5.23 -			if (v_circuit)
    5.24 -			  // XXX Check whether both requests failed or
    5.25 -@@ -1275,14 +1275,10 @@
    5.26 -				(*thisresplenp > *thisanssizp)
    5.27 -				? *thisanssizp : *thisresplenp);
    5.28 -
    5.29 --			if (recvresp1 || (buf2 != NULL && recvresp2)) {
    5.30 --			  *resplen2 = 0;
    5.31 -+			if (recvresp1 || (buf2 != NULL && recvresp2))
    5.32 -			  return resplen;
    5.33 --			}
    5.34 -			if (buf2 != NULL)
    5.35 -			  {
    5.36 --			    /* No data from the first reply.  */
    5.37 --			    resplen = 0;
    5.38 -			    /* We are waiting for a possible second reply.  */
    5.39 -			    if (hp->id == anhp->id)
    5.40 -			      recvresp1 = 1;
     6.1 --- a/glibc/stuff/glibc-2.14.1-CVE-2015-0235.patch	Mon Dec 26 01:30:19 2016 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,149 +0,0 @@
     6.4 -CVE-2015-0235 GHOST
     6.5 -From https://sourceware.org/git/?p=glibc.git;a=commit;h=d5dd6189d506068ed11c8bfa1e1e9bffde04decd
     6.6 ---- glibc-2.14.1/nss/digits_dots.c
     6.7 -+++ glibc-2.14.1/nss/digits_dots.c
     6.8 -@@ -47,7 +47,10 @@
     6.9 -     {
    6.10 -       if (h_errnop)
    6.11 - 	*h_errnop = NETDB_INTERNAL;
    6.12 --      *result = NULL;
    6.13 -+      if (buffer_size == NULL)
    6.14 -+        *status = NSS_STATUS_TRYAGAIN;
    6.15 -+      else
    6.16 -+        *result = NULL;
    6.17 -       return -1;
    6.18 -     }
    6.19 - 
    6.20 -@@ -84,14 +87,16 @@
    6.21 - 	}
    6.22 - 
    6.23 -       size_needed = (sizeof (*host_addr)
    6.24 --		     + sizeof (*h_addr_ptrs) + strlen (name) + 1);
    6.25 -+		     + sizeof (*h_addr_ptrs)
    6.26 -+		     + sizeof (*h_alias_ptr) + strlen (name) + 1);
    6.27 - 
    6.28 -       if (buffer_size == NULL)
    6.29 -         {
    6.30 - 	  if (buflen < size_needed)
    6.31 - 	    {
    6.32 -+	      *status = NSS_STATUS_TRYAGAIN;
    6.33 - 	      if (h_errnop != NULL)
    6.34 --		*h_errnop = TRY_AGAIN;
    6.35 -+		*h_errnop = NETDB_INTERNAL;
    6.36 - 	      __set_errno (ERANGE);
    6.37 - 	      goto done;
    6.38 - 	    }
    6.39 -@@ -110,7 +115,7 @@
    6.40 - 	      *buffer_size = 0;
    6.41 - 	      __set_errno (save);
    6.42 - 	      if (h_errnop != NULL)
    6.43 --		*h_errnop = TRY_AGAIN;
    6.44 -+		*h_errnop = NETDB_INTERNAL;
    6.45 - 	      *result = NULL;
    6.46 - 	      goto done;
    6.47 - 	    }
    6.48 -@@ -150,7 +155,9 @@
    6.49 - 		  if (! ok)
    6.50 - 		    {
    6.51 - 		      *h_errnop = HOST_NOT_FOUND;
    6.52 --		      if (buffer_size)
    6.53 -+		      if (buffer_size == NULL)
    6.54 -+		        *status = NSS_STATUS_NOTFOUND;
    6.55 -+		      else
    6.56 - 			*result = NULL;
    6.57 - 		      goto done;
    6.58 - 		    }
    6.59 -@@ -202,15 +209,6 @@
    6.60 - 
    6.61 -       if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':')
    6.62 - 	{
    6.63 --	  const char *cp;
    6.64 --	  char *hostname;
    6.65 --	  typedef unsigned char host_addr_t[16];
    6.66 --	  host_addr_t *host_addr;
    6.67 --	  typedef char *host_addr_list_t[2];
    6.68 --	  host_addr_list_t *h_addr_ptrs;
    6.69 --	  size_t size_needed;
    6.70 --	  int addr_size;
    6.71 --
    6.72 - 	  switch (af)
    6.73 - 	    {
    6.74 - 	    default:
    6.75 -@@ -226,7 +224,10 @@
    6.76 - 	      /* This is not possible.  We cannot represent an IPv6 address
    6.77 - 		 in an `struct in_addr' variable.  */
    6.78 - 	      *h_errnop = HOST_NOT_FOUND;
    6.79 --	      *result = NULL;
    6.80 -+	      if (buffer_size == NULL)
    6.81 -+	        *status = NSS_STATUS_NOTFOUND;
    6.82 -+	      else
    6.83 -+	        *result = NULL;
    6.84 - 	      goto done;
    6.85 - 
    6.86 - 	    case AF_INET6:
    6.87 -@@ -234,42 +235,6 @@
    6.88 - 	      break;
    6.89 - 	    }
    6.90 - 
    6.91 --	  size_needed = (sizeof (*host_addr)
    6.92 --			 + sizeof (*h_addr_ptrs) + strlen (name) + 1);
    6.93 --
    6.94 --	  if (buffer_size == NULL && buflen < size_needed)
    6.95 --	    {
    6.96 --	      if (h_errnop != NULL)
    6.97 --		*h_errnop = TRY_AGAIN;
    6.98 --	      __set_errno (ERANGE);
    6.99 --	      goto done;
   6.100 --	    }
   6.101 --	  else if (buffer_size != NULL && *buffer_size < size_needed)
   6.102 --	    {
   6.103 --	      char *new_buf;
   6.104 --	      *buffer_size = size_needed;
   6.105 --	      new_buf = realloc (*buffer, *buffer_size);
   6.106 --
   6.107 --	      if (new_buf == NULL)
   6.108 --		{
   6.109 --		  save = errno;
   6.110 --		  free (*buffer);
   6.111 --		  __set_errno (save);
   6.112 --		  *buffer = NULL;
   6.113 --		  *buffer_size = 0;
   6.114 --		  *result = NULL;
   6.115 --		  goto done;
   6.116 --		}
   6.117 --	      *buffer = new_buf;
   6.118 --	    }
   6.119 --
   6.120 --	  memset (*buffer, '\0', size_needed);
   6.121 --
   6.122 --	  host_addr = (host_addr_t *) *buffer;
   6.123 --	  h_addr_ptrs = (host_addr_list_t *)
   6.124 --	    ((char *) host_addr + sizeof (*host_addr));
   6.125 --	  hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
   6.126 --
   6.127 - 	  for (cp = name;; ++cp)
   6.128 - 	    {
   6.129 - 	      if (!*cp)
   6.130 -@@ -282,7 +247,9 @@
   6.131 - 		  if (inet_pton (AF_INET6, name, host_addr) <= 0)
   6.132 - 		    {
   6.133 - 		      *h_errnop = HOST_NOT_FOUND;
   6.134 --		      if (buffer_size)
   6.135 -+		      if (buffer_size == NULL)
   6.136 -+		        *status = NSS_STATUS_NOTFOUND;
   6.137 -+		      else
   6.138 - 			*result = NULL;
   6.139 - 		      goto done;
   6.140 - 		    }
   6.141 ---- glibc-2.14.1/nss/getXXbyYY_r.c
   6.142 -+++ glibc-2.14.1/nss/getXXbyYY_r.c
   6.143 -@@ -180,6 +180,9 @@
   6.144 -     case -1:
   6.145 -       return errno;
   6.146 -     case 1:
   6.147 -+#ifdef NEED_H_ERRNO
   6.148 -+      any_service = true;
   6.149 -+#endif
   6.150 -       goto done;
   6.151 -     }
   6.152 - #endif
     7.1 --- a/glibc/stuff/glibc-2.14.1-fixes-1.patch	Mon Dec 26 01:30:19 2016 +0200
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,159 +0,0 @@
     7.4 -Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
     7.5 -Date:                    2011-10-07
     7.6 -Initial Package Version: 2.14.1
     7.7 -Upstream Status:         From upstream
     7.8 -Origin:                  Matt Burgess
     7.9 -Description:             Fixes Firefox crashes and a bug when programs link to
    7.10 -                         SDL.
    7.11 -
    7.12 -diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c
    7.13 ---- glibc-2.14.1.orig/elf/dl-close.c	2011-10-07 09:48:55.000000000 +0000
    7.14 -+++ glibc-2.14.1/elf/dl-close.c	2011-10-07 19:43:10.346411120 +0000
    7.15 -@@ -119,17 +119,8 @@
    7.16 -   if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
    7.17 -       || dl_close_state != not_pending)
    7.18 -     {
    7.19 --      if (map->l_direct_opencount == 0)
    7.20 --	{
    7.21 --	  if (map->l_type == lt_loaded)
    7.22 --	    dl_close_state = rerun;
    7.23 --	  else if (map->l_type == lt_library)
    7.24 --	    {
    7.25 --	      struct link_map **oldp = map->l_initfini;
    7.26 --	      map->l_initfini = map->l_orig_initfini;
    7.27 --	      _dl_scope_free (oldp);
    7.28 --	    }
    7.29 --	}
    7.30 -+      if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
    7.31 -+	dl_close_state = rerun;
    7.32 - 
    7.33 -       /* There are still references to this object.  Do nothing more.  */
    7.34 -       if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
    7.35 -diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c
    7.36 ---- glibc-2.14.1.orig/elf/dl-deps.c	2011-10-07 09:48:55.000000000 +0000
    7.37 -+++ glibc-2.14.1/elf/dl-deps.c	2011-10-07 19:43:10.348432639 +0000
    7.38 -@@ -478,6 +478,7 @@
    7.39 - 		  nneeded * sizeof needed[0]);
    7.40 - 	  atomic_write_barrier ();
    7.41 - 	  l->l_initfini = l_initfini;
    7.42 -+	  l->l_free_initfini = 1;
    7.43 - 	}
    7.44 - 
    7.45 -       /* If we have no auxiliary objects just go on to the next map.  */
    7.46 -@@ -678,6 +679,7 @@
    7.47 -   l_initfini[nlist] = NULL;
    7.48 -   atomic_write_barrier ();
    7.49 -   map->l_initfini = l_initfini;
    7.50 -+  map->l_free_initfini = 1;
    7.51 -   if (l_reldeps != NULL)
    7.52 -     {
    7.53 -       atomic_write_barrier ();
    7.54 -@@ -686,7 +688,7 @@
    7.55 -       _dl_scope_free (old_l_reldeps);
    7.56 -     }
    7.57 -   if (old_l_initfini != NULL)
    7.58 --      map->l_orig_initfini = old_l_initfini;
    7.59 -+    _dl_scope_free (old_l_initfini);
    7.60 - 
    7.61 -   if (errno_reason)
    7.62 -     _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
    7.63 -diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c
    7.64 ---- glibc-2.14.1.orig/elf/dl-libc.c	2011-10-07 09:48:55.000000000 +0000
    7.65 -+++ glibc-2.14.1/elf/dl-libc.c	2011-10-07 19:43:10.352411141 +0000
    7.66 -@@ -279,6 +279,10 @@
    7.67 - 	      if (! old->dont_free)
    7.68 - 		free (old);
    7.69 - 	    }
    7.70 -+
    7.71 -+	  /* Free the initfini dependency list.  */
    7.72 -+	  if (l->l_free_initfini)
    7.73 -+	    free (l->l_initfini);
    7.74 - 	}
    7.75 - 
    7.76 -       if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
    7.77 -diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c
    7.78 ---- glibc-2.14.1.orig/elf/rtld.c	2011-10-07 09:48:55.000000000 +0000
    7.79 -+++ glibc-2.14.1/elf/rtld.c	2011-10-07 19:43:10.355406263 +0000
    7.80 -@@ -2263,6 +2263,7 @@
    7.81 - 	      lnp->dont_free = 1;
    7.82 - 	      lnp = lnp->next;
    7.83 - 	    }
    7.84 -+	  l->l_free_initfini = 0;
    7.85 - 
    7.86 - 	  if (l != &GL(dl_rtld_map))
    7.87 - 	    _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
    7.88 -diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h
    7.89 ---- glibc-2.14.1.orig/include/link.h	2011-10-07 09:48:55.000000000 +0000
    7.90 -+++ glibc-2.14.1/include/link.h	2011-10-07 19:43:10.357462703 +0000
    7.91 -@@ -192,6 +192,9 @@
    7.92 - 						 during LD_TRACE_PRELINKING=1
    7.93 - 						 contains any DT_SYMBOLIC
    7.94 - 						 libraries.  */
    7.95 -+    unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
    7.96 -+				       freed, ie. not allocated with
    7.97 -+				       the dummy malloc in ld.so.  */
    7.98 - 
    7.99 -     /* Collected information about own RPATH directories.  */
   7.100 -     struct r_search_path_struct l_rpath_dirs;
   7.101 -@@ -240,9 +243,6 @@
   7.102 - 
   7.103 -     /* List of object in order of the init and fini calls.  */
   7.104 -     struct link_map **l_initfini;
   7.105 --    /* The init and fini list generated at startup, saved when the
   7.106 --       object is also loaded dynamically.  */
   7.107 --    struct link_map **l_orig_initfini;
   7.108 - 
   7.109 -     /* List of the dependencies introduced through symbol binding.  */
   7.110 -     struct link_map_reldeps
   7.111 -diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c
   7.112 ---- glibc-2.14.1.orig/resolv/res_query.c	2011-10-07 09:48:55.000000000 +0000
   7.113 -+++ glibc-2.14.1/resolv/res_query.c	2011-10-07 19:43:10.361412711 +0000
   7.114 -@@ -122,6 +122,7 @@
   7.115 - 		  int *resplen2)
   7.116 - {
   7.117 - 	HEADER *hp = (HEADER *) answer;
   7.118 -+	HEADER *hp2;
   7.119 - 	int n, use_malloc = 0;
   7.120 - 	u_int oflags = statp->_flags;
   7.121 - 
   7.122 -@@ -239,26 +240,25 @@
   7.123 - 	  /* __libc_res_nsend might have reallocated the buffer.  */
   7.124 - 	  hp = (HEADER *) *answerp;
   7.125 - 
   7.126 --	/* We simplify the following tests by assigning HP to HP2.  It
   7.127 --	   is easy to verify that this is the same as ignoring all
   7.128 --	   tests of HP2.  */
   7.129 --	HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
   7.130 --
   7.131 --	if (n < (int) sizeof (HEADER) && answerp2 != NULL
   7.132 --	    && *resplen2 > (int) sizeof (HEADER))
   7.133 -+	/* We simplify the following tests by assigning HP to HP2 or
   7.134 -+	   vice versa.  It is easy to verify that this is the same as
   7.135 -+	   ignoring all tests of HP or HP2.  */
   7.136 -+	if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
   7.137 - 	  {
   7.138 --	    /* Special case of partial answer.  */
   7.139 --	    assert (hp != hp2);
   7.140 --	    hp = hp2;
   7.141 -+	    hp2 = hp;
   7.142 - 	  }
   7.143 --	else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
   7.144 --		 && n > (int) sizeof (HEADER))
   7.145 -+	else
   7.146 - 	  {
   7.147 --	    /* Special case of partial answer.  */
   7.148 --	    assert (hp != hp2);
   7.149 --	    hp2 = hp;
   7.150 -+	    hp2 = (HEADER *) *answerp2;
   7.151 -+	    if (n < (int) sizeof (HEADER))
   7.152 -+	      {
   7.153 -+	        hp = hp2;
   7.154 -+	      }
   7.155 - 	  }
   7.156 - 
   7.157 -+	/* Make sure both hp and hp2 are defined */
   7.158 -+	assert((hp != NULL) && (hp2 != NULL));
   7.159 -+
   7.160 - 	if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
   7.161 - 	    && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
   7.162 - #ifdef DEBUG
     8.1 --- a/glibc/stuff/glibc-2.14.1-gcc_fix-1.patch	Mon Dec 26 01:30:19 2016 +0200
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,49 +0,0 @@
     8.4 -Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
     8.5 -Date:                    2010-04-18
     8.6 -Initial Package Version: 2.11.1
     8.7 -Upstream Status:         Not Submitted
     8.8 -Origin:                  http://www.eglibc.org/archives/patches/msg00073.html
     8.9 -Description:             Fixes the following build problem with GCC-4.5.0:
    8.10 -
    8.11 -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
    8.12 -./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
    8.13 -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
    8.14 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    8.15 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    8.16 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    8.17 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
    8.18 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
    8.19 -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
    8.20 -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
    8.21 -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
    8.22 -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
    8.23 -
    8.24 -diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
    8.25 ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 20:10:20.000000000 +0000
    8.26 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c	2010-04-17 11:34:06.882681001 +0000
    8.27 -@@ -45,6 +45,11 @@
    8.28 - /* Embed an #include to pull in the alignment and .end directives. */
    8.29 - asm ("\n#include \"defs.h\"");
    8.30 - 
    8.31 -+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
    8.32 -+asm ("\n#undef __i686");
    8.33 -+asm ("\n#define __i686 __i686");
    8.34 -+asm ("\n#endif");
    8.35 -+
    8.36 - /* The initial common code ends here. */
    8.37 - asm ("\n/*@HEADER_ENDS*/");
    8.38 - 
    8.39 -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
    8.40 ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 20:10:20.000000000 +0000
    8.41 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-04-17 11:34:06.882681001 +0000
    8.42 -@@ -29,6 +29,10 @@
    8.43 - #include <dl-sysdep.h>
    8.44 - #include <tls.h>
    8.45 - 
    8.46 -+#if defined __i686 && defined __ASSEMBLER__
    8.47 -+#undef __i686
    8.48 -+#define __i686 __i686
    8.49 -+#endif
    8.50 - 
    8.51 - /* For Linux we can use the system call table in the header file
    8.52 - 	/usr/include/asm/unistd.h
     9.1 --- a/glibc/stuff/glibc-2.14.1-sort-1.patch	Mon Dec 26 01:30:19 2016 +0200
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,273 +0,0 @@
     9.4 -Submitted By:            Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org>
     9.5 -Date:                    2012-02-24
     9.6 -Initial Package Version: 2.14.1
     9.7 -Upstream Status:         From upstream
     9.8 -Origin:                  Upstream
     9.9 -Description:             Sort objects by dependency before relocation.
    9.10 -                         Fixes segfault in dlopen for several programs.
    9.11 -
    9.12 -diff --git a/Makeconfig b/Makeconfig
    9.13 -index 2db2821..68547b2 100644
    9.14 ---- a/Makeconfig
    9.15 -+++ b/Makeconfig
    9.16 -@@ -938,6 +938,12 @@ libdl =
    9.17 - endif
    9.18 - endif
    9.19 - 
    9.20 -+ifeq ($(build-shared),yes)
    9.21 -+libm = $(common-objpfx)math/libm.so$(libm.so-version)
    9.22 -+else
    9.23 -+libm = $(common-objpfx)math/libm.a
    9.24 -+endif
    9.25 -+
    9.26 - # These are the subdirectories containing the library source.  The order
    9.27 - # is more or less arbitrary.  The sorting step will take care of the
    9.28 - # dependencies.
    9.29 -diff --git a/elf/Makefile b/elf/Makefile
    9.30 -index 052e763..3f1772a 100644
    9.31 ---- a/elf/Makefile
    9.32 -+++ b/elf/Makefile
    9.33 -@@ -124,7 +124,8 @@ distribute	:= rtld-Rules \
    9.34 - 		   tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
    9.35 - 		   tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
    9.36 - 		   tst-initorder.c \
    9.37 --		   tst-initorder2.c
    9.38 -+		   tst-initorder2.c \
    9.39 -+		   tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
    9.40 - 
    9.41 - CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
    9.42 - CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
    9.43 -@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
    9.44 - 	 tst-audit1 tst-audit2 \
    9.45 - 	 tst-stackguard1 tst-addr1 tst-thrlock \
    9.46 - 	 tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
    9.47 --	 tst-initorder tst-initorder2
    9.48 -+	 tst-initorder tst-initorder2 tst-relsort1
    9.49 - #	 reldep9
    9.50 - test-srcs = tst-pathopt
    9.51 - selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
    9.52 -@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
    9.53 - 		tst-initordera1 tst-initorderb1 \
    9.54 - 		tst-initordera2 tst-initorderb2 \
    9.55 - 		tst-initordera3 tst-initordera4 \
    9.56 --		tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
    9.57 -+		tst-initorder2a tst-initorder2b tst-initorder2c \
    9.58 -+		tst-initorder2d \
    9.59 -+		tst-relsort1mod1 tst-relsort1mod2
    9.60 - ifeq (yes,$(have-initfini-array))
    9.61 - modules-names += tst-array2dep tst-array5dep
    9.62 - endif
    9.63 -@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
    9.64 - CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
    9.65 - CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
    9.66 - endif
    9.67 -+
    9.68 -+$(objpfx)tst-relsort1: $(libdl)
    9.69 -+$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
    9.70 -+$(objpfx)tst-relsort1mod2.so: $(libm)
    9.71 -+$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
    9.72 -+			   $(objpfx)tst-relsort1mod2.so
    9.73 -diff --git a/elf/dl-open.c b/elf/dl-open.c
    9.74 -index a0b5c50..a56bdc1 100644
    9.75 ---- a/elf/dl-open.c
    9.76 -+++ b/elf/dl-open.c
    9.77 -@@ -1,5 +1,5 @@
    9.78 - /* Load a shared object at runtime, relocate it, and run its initializer.
    9.79 --   Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
    9.80 -+   Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    9.81 -    This file is part of the GNU C Library.
    9.82 - 
    9.83 -    The GNU C Library is free software; you can redistribute it and/or
    9.84 -@@ -303,45 +303,109 @@ dl_open_worker (void *a)
    9.85 -   if (GLRO(dl_lazy))
    9.86 -     reloc_mode |= mode & RTLD_LAZY;
    9.87 - 
    9.88 --  /* Relocate the objects loaded.  We do this in reverse order so that copy
    9.89 --     relocs of earlier objects overwrite the data written by later objects.  */
    9.90 --
    9.91 -+  /* Sort the objects by dependency for the relocation process.  This
    9.92 -+     allows IFUNC relocations to work and it also means copy
    9.93 -+     relocation of dependencies are if necessary overwritten.  */
    9.94 -+  size_t nmaps = 0;
    9.95 -   struct link_map *l = new;
    9.96 --  while (l->l_next)
    9.97 --    l = l->l_next;
    9.98 --  while (1)
    9.99 -+  do
   9.100 -+    {
   9.101 -+      if (! l->l_real->l_relocated)
   9.102 -+	++nmaps;
   9.103 -+      l = l->l_next;
   9.104 -+    }
   9.105 -+  while (l != NULL);
   9.106 -+  struct link_map *maps[nmaps];
   9.107 -+  nmaps = 0;
   9.108 -+  l = new;
   9.109 -+  do
   9.110 -     {
   9.111 -       if (! l->l_real->l_relocated)
   9.112 -+	maps[nmaps++] = l;
   9.113 -+      l = l->l_next;
   9.114 -+    }
   9.115 -+  while (l != NULL);
   9.116 -+  if (nmaps > 1)
   9.117 -+    {
   9.118 -+      char seen[nmaps];
   9.119 -+      memset (seen, '\0', nmaps);
   9.120 -+      size_t i = 0;
   9.121 -+      while (1)
   9.122 - 	{
   9.123 --#ifdef SHARED
   9.124 --	  if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
   9.125 -+	  ++seen[i];
   9.126 -+	  struct link_map *thisp = maps[i];
   9.127 -+
   9.128 -+	  /* Find the last object in the list for which the current one is
   9.129 -+	     a dependency and move the current object behind the object
   9.130 -+	     with the dependency.  */
   9.131 -+	  size_t k = nmaps - 1;
   9.132 -+	  while (k > i)
   9.133 - 	    {
   9.134 --	      /* If this here is the shared object which we want to profile
   9.135 --		 make sure the profile is started.  We can find out whether
   9.136 --		 this is necessary or not by observing the `_dl_profile_map'
   9.137 --		 variable.  If was NULL but is not NULL afterwars we must
   9.138 --		 start the profiling.  */
   9.139 --	      struct link_map *old_profile_map = GL(dl_profile_map);
   9.140 -+	      struct link_map **runp = maps[k]->l_initfini;
   9.141 -+	      if (runp != NULL)
   9.142 -+		/* Look through the dependencies of the object.  */
   9.143 -+		while (*runp != NULL)
   9.144 -+		  if (__builtin_expect (*runp++ == thisp, 0))
   9.145 -+		    {
   9.146 -+		      /* Move the current object to the back past the last
   9.147 -+			 object with it as the dependency.  */
   9.148 -+		      memmove (&maps[i], &maps[i + 1],
   9.149 -+			       (k - i) * sizeof (maps[0]));
   9.150 -+		      maps[k] = thisp;
   9.151 -+
   9.152 -+		      if (seen[i + 1] > 1)
   9.153 -+			{
   9.154 -+			  ++i;
   9.155 -+			  goto next_clear;
   9.156 -+			}
   9.157 -+
   9.158 -+		      char this_seen = seen[i];
   9.159 -+		      memmove (&seen[i], &seen[i + 1],
   9.160 -+			       (k - i) * sizeof (seen[0]));
   9.161 -+		      seen[k] = this_seen;
   9.162 -+
   9.163 -+		      goto next;
   9.164 -+		    }
   9.165 -+
   9.166 -+	      --k;
   9.167 -+	    }
   9.168 - 
   9.169 --	      _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
   9.170 -+	  if (++i == nmaps)
   9.171 -+	    break;
   9.172 -+	next_clear:
   9.173 -+	  memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
   9.174 -+	next:;
   9.175 -+	}
   9.176 -+    }
   9.177 - 
   9.178 --	      if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
   9.179 --		{
   9.180 --		  /* We must prepare the profiling.  */
   9.181 --		  _dl_start_profile ();
   9.182 -+  for (size_t i = nmaps; i-- > 0; )
   9.183 -+    {
   9.184 -+      l = maps[i];
   9.185 - 
   9.186 --		  /* Prevent unloading the object.  */
   9.187 --		  GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
   9.188 --		}
   9.189 -+#ifdef SHARED
   9.190 -+      if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
   9.191 -+	{
   9.192 -+	  /* If this here is the shared object which we want to profile
   9.193 -+	     make sure the profile is started.  We can find out whether
   9.194 -+	     this is necessary or not by observing the `_dl_profile_map'
   9.195 -+	     variable.  If it was NULL but is not NULL afterwars we must
   9.196 -+	     start the profiling.  */
   9.197 -+	  struct link_map *old_profile_map = GL(dl_profile_map);
   9.198 -+
   9.199 -+	  _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
   9.200 -+
   9.201 -+	  if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
   9.202 -+	    {
   9.203 -+	      /* We must prepare the profiling.  */
   9.204 -+	      _dl_start_profile ();
   9.205 -+
   9.206 -+	      /* Prevent unloading the object.  */
   9.207 -+	      GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
   9.208 - 	    }
   9.209 --	  else
   9.210 --#endif
   9.211 --	    _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
   9.212 - 	}
   9.213 --
   9.214 --      if (l == new)
   9.215 --	break;
   9.216 --      l = l->l_prev;
   9.217 -+      else
   9.218 -+#endif
   9.219 -+	_dl_relocate_object (l, l->l_scope, reloc_mode, 0);
   9.220 -     }
   9.221 - 
   9.222 -   /* If the file is not loaded now as a dependency, add the search
   9.223 -diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
   9.224 -new file mode 100644
   9.225 -index 0000000..972100c
   9.226 ---- /dev/null
   9.227 -+++ b/elf/tst-relsort1.c
   9.228 -@@ -0,0 +1,19 @@
   9.229 -+#include <dlfcn.h>
   9.230 -+#include <stdio.h>
   9.231 -+
   9.232 -+
   9.233 -+static int
   9.234 -+do_test ()
   9.235 -+{
   9.236 -+  const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
   9.237 -+  void *h = dlopen (lib, RTLD_NOW);
   9.238 -+  if (h == NULL)
   9.239 -+    {
   9.240 -+      puts (dlerror ());
   9.241 -+      return 1;
   9.242 -+    }
   9.243 -+  return 0;
   9.244 -+}
   9.245 -+
   9.246 -+#define TEST_FUNCTION do_test ()
   9.247 -+#include "../test-skeleton.c"
   9.248 -diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
   9.249 -new file mode 100644
   9.250 -index 0000000..9e4a943
   9.251 ---- /dev/null
   9.252 -+++ b/elf/tst-relsort1mod1.c
   9.253 -@@ -0,0 +1,7 @@
   9.254 -+extern int foo (double);
   9.255 -+
   9.256 -+int
   9.257 -+bar (void)
   9.258 -+{
   9.259 -+  return foo (1.2);
   9.260 -+}
   9.261 -diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
   9.262 -new file mode 100644
   9.263 -index 0000000..a2c3e55
   9.264 ---- /dev/null
   9.265 -+++ b/elf/tst-relsort1mod2.c
   9.266 -@@ -0,0 +1,7 @@
   9.267 -+#include <math.h>
   9.268 -+
   9.269 -+int
   9.270 -+foo (double d)
   9.271 -+{
   9.272 -+  return floor (d) != 0.0;
   9.273 -+}
   9.274 --- 
   9.275 -1.7.3.4
   9.276 -
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/glibc/stuff/glibc-po.patch	Mon Dec 26 10:36:28 2016 +0200
    10.3 @@ -0,0 +1,249 @@
    10.4 +warning: internationalized messages should not contain the '\v' escape sequence
    10.5 +
    10.6 +--- a/po/cs.po
    10.7 ++++ b/po/cs.po
    10.8 +@@ -153,7 +153,8 @@
    10.9 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.10 + "is -, output is written to standard output.\n"
   10.11 + msgstr ""
   10.12 +-"Generuje katalog zpráv.\vJe-li VSTUPNÍ_SOUBOR -, vstup bude načten ze standardního vstupu.\n"
   10.13 ++"Generuje katalog zpráv.\n"
   10.14 ++"Je-li VSTUPNÍ_SOUBOR -, vstup bude načten ze standardního vstupu.\n"
   10.15 + "Je-li VÝSTUPNÍ_SOUBOR -, výstup bude zapsán na standardní výstup.\n"
   10.16 + 
   10.17 + #: catgets/gencat.c:123
   10.18 +--- a/po/da.po
   10.19 ++++ b/po/da.po
   10.20 +@@ -131,7 +131,8 @@
   10.21 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.22 + "is -, output is written to standard output.\n"
   10.23 + msgstr ""
   10.24 +-"Generér meddelelseskatalog.\vHvis INDFIL er '-' læses inddata fra standard ind.\n"
   10.25 ++"Generér meddelelseskatalog.\n"
   10.26 ++"Hvis INDFIL er '-' læses inddata fra standard ind.\n"
   10.27 + "Hvis UDFIL er '-' skrives uddata til standard ud.\n"
   10.28 + 
   10.29 + #: catgets/gencat.c:123
   10.30 +--- a/po/de.po
   10.31 ++++ b/po/de.po
   10.32 +@@ -131,7 +131,8 @@
   10.33 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.34 + "is -, output is written to standard output.\n"
   10.35 + msgstr ""
   10.36 +-"Einen Message-Katalog generieren.\vWenn als INPUT-FILE - angegeben wird, wird\n"
   10.37 ++"Einen Message-Katalog generieren.\n"
   10.38 ++"Wenn als INPUT-FILE - angegeben wird, wird\n"
   10.39 + "von der Standardeingabe gelesen.  Wenn die OUTPUT-FILE - ist, wird auf die\n"
   10.40 + "Standardausgabe geschrieben.\n"
   10.41 + 
   10.42 +--- a/po/en_GB.po
   10.43 ++++ b/po/en_GB.po
   10.44 +@@ -1878,11 +1878,12 @@
   10.45 + 
   10.46 + #: catgets/gencat.c:116
   10.47 + msgid ""
   10.48 +-"Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard "
   10.49 ++"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard "
   10.50 + "input.  If OUTPUT-FILE\n"
   10.51 + "is -, output is written to standard output.\n"
   10.52 + msgstr ""
   10.53 +-"Generate message catalogue.\\vIf INPUT-FILE is -, input is read from standard "
   10.54 ++"Generate message catalogue.\n"
   10.55 ++"If INPUT-FILE is -, input is read from standard "
   10.56 + "input.  If OUTPUT-FILE\n"
   10.57 + "is -, output is written to standard output.\n"
   10.58 + 
   10.59 +--- a/po/eo.po
   10.60 ++++ a/po/eo.po
   10.61 +@@ -138,7 +138,8 @@
   10.62 + "is -, output is written to standard output.\n"
   10.63 + msgstr ""
   10.64 + "  \n"
   10.65 +-"Generas mesaĝan katalogon.\vSe ENIGDOSIERO estas «-», ĉefenigujo legiĝas.  Se ELIGDOSIERO estas «-», la eligo skribiĝas al ĉefeligujo.\n"
   10.66 ++"Generas mesaĝan katalogon.\n"
   10.67 ++"Se ENIGDOSIERO estas «-», ĉefenigujo legiĝas.  Se ELIGDOSIERO estas «-», la eligo skribiĝas al ĉefeligujo.\n"
   10.68 + 
   10.69 + #: catgets/gencat.c:123
   10.70 + msgid ""
   10.71 +--- a/po/es.po
   10.72 ++++ b/po/es.po
   10.73 +@@ -151,7 +151,8 @@
   10.74 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.75 + "is -, output is written to standard output.\n"
   10.76 + msgstr ""
   10.77 +-"Genera un catálogo de mensajes.\vSi FICHERO-ENTRADA es -, la entrada\n"
   10.78 ++"Genera un catálogo de mensajes.\n"
   10.79 ++"Si FICHERO-ENTRADA es -, la entrada\n"
   10.80 + "se lee de la entrada estándar. Si FICHERO-SALIDA es -, el resultado se\n"
   10.81 + "escribe en la salida estándar.\n"
   10.82 + 
   10.83 +--- a/po/fi.po
   10.84 ++++ b/po/fi.po
   10.85 +@@ -151,7 +151,8 @@
   10.86 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.87 + "is -, output is written to standard output.\n"
   10.88 + msgstr ""
   10.89 +-"Luo viestikatalogi.\vJos SYÖTETIEDOSTO on -, syöte luetaan vakiosyötteestä.  Jos TULOSTIEDOSTO\n"
   10.90 ++"Luo viestikatalogi.\n"
   10.91 ++"Jos SYÖTETIEDOSTO on -, syöte luetaan vakiosyötteestä.  Jos TULOSTIEDOSTO\n"
   10.92 + "on -, tuloste kirjoitetaan vakiotulosteeseen.\n"
   10.93 + 
   10.94 + #: catgets/gencat.c:123
   10.95 +--- a/po/fr.po
   10.96 ++++ b/po/fr.po
   10.97 +@@ -136,7 +136,8 @@
   10.98 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
   10.99 + "is -, output is written to standard output.\n"
  10.100 + msgstr ""
  10.101 +-"Génère le catalogue de messages.\vSi le FICHIER_D_ENTRÉE est -, l'entrée est lue depuis l'entrée standard.\n"
  10.102 ++"Génère le catalogue de messages.\n"
  10.103 ++"Si le FICHIER_D_ENTRÉE est -, l'entrée est lue depuis l'entrée standard.\n"
  10.104 + "Si le FICHIER_DE_SORTIE est -, la sortie est dirigée sur la sortie standard.\n"
  10.105 + 
  10.106 + #: catgets/gencat.c:123
  10.107 +--- a/po/hr.po
  10.108 ++++ b/po/hr.po
  10.109 +@@ -132,7 +132,9 @@
  10.110 + msgid ""
  10.111 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.112 + "is -, output is written to standard output.\n"
  10.113 +-msgstr "Napravi katalog poruka.\vAko je ULAZNA-DATOTEKA -, ulaz se čita sa standardnog ulaza. Ako je IZLAZNA-DATOTEKA -, izlaz se ispisuje na standardni izlaz.\n"
  10.114 ++msgstr ""
  10.115 ++"Napravi katalog poruka.\n"
  10.116 ++"Ako je ULAZNA-DATOTEKA -, ulaz se čita sa standardnog ulaza. Ako je IZLAZNA-DATOTEKA -, izlaz se ispisuje na standardni izlaz.\n"
  10.117 + 
  10.118 + #: catgets/gencat.c:123
  10.119 + msgid ""
  10.120 +--- a/po/hu.po
  10.121 ++++ b/po/hu.po
  10.122 +@@ -132,7 +132,8 @@
  10.123 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.124 + "is -, output is written to standard output.\n"
  10.125 + msgstr ""
  10.126 +-"Üzenetkatalógus előállítása\v Ha a BEMENETIFÁJL a -, akkor a szabványos bemenetet olvassa. Ha a \n"
  10.127 ++"Üzenetkatalógus előállítása\n"
  10.128 ++"Ha a BEMENETIFÁJL a -, akkor a szabványos bemenetet olvassa. Ha a \n"
  10.129 + "KIMENETIFÁJL a -, akkor a szabványos kimenetre ír.\n"
  10.130 + 
  10.131 + #: catgets/gencat.c:123
  10.132 +--- a/po/ia.po
  10.133 ++++ b/po/ia.po
  10.134 +@@ -131,7 +131,8 @@
  10.135 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.136 + "is -, output is written to standard output.\n"
  10.137 + msgstr ""
  10.138 +-"Generar un catalogo de messages.\vSi FILE-INPUT es -, le entrata se lege del input standard.\n"
  10.139 ++"Generar un catalogo de messages.\n"
  10.140 ++"Si FILE-INPUT es -, le entrata se lege del input standard.\n"
  10.141 + "Si FILE-OUTPUT es -, le resultato se scribe al output standard.\n"
  10.142 + 
  10.143 + #: catgets/gencat.c:123
  10.144 +--- a/po/it.po
  10.145 ++++ b/po/it.po
  10.146 +@@ -143,7 +143,8 @@
  10.147 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.148 + "is -, output is written to standard output.\n"
  10.149 + msgstr ""
  10.150 +-"Genera un catalogo di messaggi.\vSe FILE-INPUT è -, l'input è letto dallo standard input.\n"
  10.151 ++"Genera un catalogo di messaggi.\n"
  10.152 ++"Se FILE-INPUT è -, l'input è letto dallo standard input.\n"
  10.153 + "Se FILE-OUTPUT è -, l'output è scritto sullo standard output.\n"
  10.154 + 
  10.155 + #: catgets/gencat.c:123
  10.156 +--- a/po/nl.po
  10.157 ++++ b/po/nl.po
  10.158 +@@ -145,7 +145,8 @@
  10.159 + "is -, output is written to standard output.\n"
  10.160 + msgstr ""
  10.161 + "  \n"
  10.162 +-"Een berichtencatalogus genereren.\vAls INVOERBESTAND '-' is, wordt van standaardinvoer gelezen.\n"
  10.163 ++"Een berichtencatalogus genereren.\n"
  10.164 ++"Als INVOERBESTAND '-' is, wordt van standaardinvoer gelezen.\n"
  10.165 + "Als UITVOERBESTAND '-' is, wordt naar standaarduitvoer geschreven.\n"
  10.166 + 
  10.167 + #: catgets/gencat.c:123
  10.168 +--- a/po/pl.po
  10.169 ++++ b/po/pl.po
  10.170 +@@ -131,7 +131,8 @@
  10.171 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.172 + "is -, output is written to standard output.\n"
  10.173 + msgstr ""
  10.174 +-"Generowanie katalogu komunikatów.\vJeśli PLIK-WE to -, dane są czytane ze standardowego wejścia. Jeśli PLIK-WY\n"
  10.175 ++"Generowanie katalogu komunikatów.\n"
  10.176 ++"Jeśli PLIK-WE to -, dane są czytane ze standardowego wejścia. Jeśli PLIK-WY\n"
  10.177 + "to -, dane są zapisywane na standardowe wyjście.\n"
  10.178 + 
  10.179 + #: catgets/gencat.c:123
  10.180 +--- a/po/ru.po
  10.181 ++++ b/po/ru.po
  10.182 +@@ -138,7 +138,8 @@
  10.183 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.184 + "is -, output is written to standard output.\n"
  10.185 + msgstr ""
  10.186 +-"Генерирует каталог сообщений.\vЕсли ВХОДНОЙ-ФАЙЛ задан как -, читает стандартный ввод.  Если\n"
  10.187 ++"Генерирует каталог сообщений.\n"
  10.188 ++"Если ВХОДНОЙ-ФАЙЛ задан как -, читает стандартный ввод.  Если\n"
  10.189 + "ВЫХОДНОЙ-ФАЙЛ задан как -, результат печатается на стандартный вывод.\n"
  10.190 + 
  10.191 + #: catgets/gencat.c:123
  10.192 +--- a/po/sl.po
  10.193 ++++ b/po/sl.po
  10.194 +@@ -131,7 +131,9 @@
  10.195 + msgid ""
  10.196 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.197 + "is -, output is written to standard output.\n"
  10.198 +-msgstr "Ustvari katalog sporočil.\vČe je VHODNA_DATOTEKA enaka -, se vhod bere s standardnega vhoda. Če je IZHODNA_DATOTEKA enaka -, se izhod zapisuje na standardni izhod.\n"
  10.199 ++msgstr ""
  10.200 ++"Ustvari katalog sporočil.\n"
  10.201 ++"Če je VHODNA_DATOTEKA enaka -, se vhod bere s standardnega vhoda. Če je IZHODNA_DATOTEKA enaka -, se izhod zapisuje na standardni izhod.\n"
  10.202 + 
  10.203 + #: catgets/gencat.c:123
  10.204 + msgid ""
  10.205 +--- a/po/sv.po
  10.206 ++++ b/po/sv.po
  10.207 +@@ -131,7 +131,8 @@
  10.208 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.209 + "is -, output is written to standard output.\n"
  10.210 + msgstr ""
  10.211 +-"Skapa meddelandekatalog.\vOm INFIL är - så läses standard in.  Om UTFIL\n"
  10.212 ++"Skapa meddelandekatalog.\n"
  10.213 ++"Om INFIL är - så läses standard in.  Om UTFIL\n"
  10.214 + "är - så skrivs resultatet till standard ut.\n"
  10.215 + 
  10.216 + #: catgets/gencat.c:123
  10.217 +--- a/po/uk.po
  10.218 ++++ b/po/uk.po
  10.219 +@@ -133,7 +133,8 @@
  10.220 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.221 + "is -, output is written to standard output.\n"
  10.222 + msgstr ""
  10.223 +-"Створити каталог повідомлень.\vЯкщо як файл ВХІДНИЙ-ФАЙЛ\n"
  10.224 ++"Створити каталог повідомлень.\n"
  10.225 ++"Якщо як файл ВХІДНИЙ-ФАЙЛ\n"
  10.226 + "вказано -, вивід відбуватиметься у стандартний вивід.\n"
  10.227 + 
  10.228 + #: catgets/gencat.c:123
  10.229 +--- a/po/zh_CN.po
  10.230 ++++ b/po/zh_CN.po
  10.231 +@@ -137,7 +137,8 @@
  10.232 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.233 + "is -, output is written to standard output.\n"
  10.234 + msgstr ""
  10.235 +-"产生消息 catelog。\\v如果输入文件名是 -, 将从标准输入读取输入。\n"
  10.236 ++"产生消息 catelog。\n"
  10.237 ++"如果输入文件名是 -, 将从标准输入读取输入。\n"
  10.238 + "如果输出文件名是 -, 则输出将写到标准输出去。\n"
  10.239 + 
  10.240 + #: catgets/gencat.c:123
  10.241 +--- a/po/zh_TW.po
  10.242 ++++ b/po/zh_TW.po
  10.243 +@@ -134,7 +134,8 @@
  10.244 + "Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
  10.245 + "is -, output is written to standard output.\n"
  10.246 + msgstr ""
  10.247 +-"產生訊息 catelog。\\v如果輸入檔名是 -, 將從標準輸入讀取輸入。\n"
  10.248 ++"產生訊息 catelog。\n"
  10.249 ++"如果輸入檔名是 -, 將從標準輸入讀取輸入。\n"
  10.250 + "如果輸出檔名是 -, 則輸出將寫到標準輸出去。\n"
  10.251 + 
  10.252 + #: catgets/gencat.c:123