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