mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-20 21:33:08 +00:00
glibc: Remove obsolete versions
The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - glibc-linaro-2.20-2014.11 - glibc-2.12.2 - glibc-2.13 - glibc-2.14.1 - glibc-2.15 - glibc-2.16.0 - glibc-2.18 - glibc-2.20 - glibc-2.21 - glibc-2.22 Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
parent
793b250345
commit
3d2b48fb7a
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
sysdeps/sparc/sparc32/sem_trywait.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/sparc/sparc32/sem_trywait.c
|
|
||||||
+++ b/sysdeps/sparc/sparc32/sem_trywait.c
|
|
||||||
@@ -22,6 +22,7 @@
|
|
||||||
#include <lowlevellock.h>
|
|
||||||
#include <internaltypes.h>
|
|
||||||
#include <semaphore.h>
|
|
||||||
+#include <sparc-nptl.h>
|
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yvan Roux <yvan.roux@linaro.org>
|
|
||||||
Date: Fri, 15 Apr 2016 13:29:26 +0200
|
|
||||||
Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with
|
|
||||||
-Wparentheses
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nis_call.c | 20 +++++++++++---------
|
|
||||||
stdlib/setenv.c | 24 +++++++++++++-----------
|
|
||||||
2 files changed, 24 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
--- a/nis/nis_call.c
|
|
||||||
+++ b/nis/nis_call.c
|
|
||||||
@@ -680,16 +680,18 @@
|
|
||||||
/* Choose which entry should be evicted from the cache. */
|
|
||||||
loc = &nis_server_cache[0];
|
|
||||||
if (*loc != NULL)
|
|
||||||
- for (i = 1; i < 16; ++i)
|
|
||||||
- if (nis_server_cache[i] == NULL)
|
|
||||||
- {
|
|
||||||
+ {
|
|
||||||
+ for (i = 1; i < 16; ++i)
|
|
||||||
+ if (nis_server_cache[i] == NULL)
|
|
||||||
+ {
|
|
||||||
+ loc = &nis_server_cache[i];
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
+ || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
+ && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
loc = &nis_server_cache[i];
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
- || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
- && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
- loc = &nis_server_cache[i];
|
|
||||||
+ }
|
|
||||||
old = *loc;
|
|
||||||
*loc = new;
|
|
||||||
|
|
||||||
--- a/stdlib/setenv.c
|
|
||||||
+++ b/stdlib/setenv.c
|
|
||||||
@@ -262,18 +262,20 @@
|
|
||||||
ep = __environ;
|
|
||||||
if (ep != NULL)
|
|
||||||
while (*ep != NULL)
|
|
||||||
- if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
- {
|
|
||||||
- /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
- char **dp = ep;
|
|
||||||
+ {
|
|
||||||
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
+ {
|
|
||||||
+ /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
+ char **dp = ep;
|
|
||||||
|
|
||||||
- do
|
|
||||||
- dp[0] = dp[1];
|
|
||||||
- while (*dp++);
|
|
||||||
- /* Continue the loop in case NAME appears again. */
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- ++ep;
|
|
||||||
+ do
|
|
||||||
+ dp[0] = dp[1];
|
|
||||||
+ while (*dp++);
|
|
||||||
+ /* Continue the loop in case NAME appears again. */
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ ++ep;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
UNLOCK;
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
|||||||
commit 5542236837c5c41435f8282ec92799f480c36f18
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Tue Jul 21 22:50:29 2015 -0700
|
|
||||||
|
|
||||||
Port the 0x7efe...feff pattern to GCC 6.
|
|
||||||
|
|
||||||
See Steve Ellcey's bug report in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html
|
|
||||||
* string/memrchr.c (MEMRCHR):
|
|
||||||
* string/rawmemchr.c (RAWMEMCHR):
|
|
||||||
* string/strchr.c (strchr):
|
|
||||||
* string/strchrnul.c (STRCHRNUL):
|
|
||||||
Rewrite code to avoid issues with signed shift overflow.
|
|
||||||
|
|
||||||
---
|
|
||||||
string/memrchr.c | 11 ++---------
|
|
||||||
string/rawmemchr.c | 11 ++---------
|
|
||||||
string/strchr.c | 9 ++-------
|
|
||||||
string/strchrnul.c | 9 ++-------
|
|
||||||
4 files changed, 8 insertions(+), 32 deletions(-)
|
|
||||||
|
|
||||||
--- a/string/memrchr.c
|
|
||||||
+++ b/string/memrchr.c
|
|
||||||
@@ -96,15 +96,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/rawmemchr.c
|
|
||||||
+++ b/string/rawmemchr.c
|
|
||||||
@@ -86,15 +86,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchr.c
|
|
||||||
+++ b/string/strchr.c
|
|
||||||
@@ -60,13 +60,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchrnul.c
|
|
||||||
+++ b/string/strchrnul.c
|
|
||||||
@@ -66,13 +66,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
@ -1,197 +0,0 @@
|
|||||||
commit 9dd346ff431fc761f1b748bd4da8bb59f7652094
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Oct 20 11:54:09 2015 +0000
|
|
||||||
|
|
||||||
Convert 113 more function definitions to prototype style (files with assertions).
|
|
||||||
|
|
||||||
This mostly automatically-generated patch converts 113 function
|
|
||||||
definitions in glibc from old-style K&R to prototype-style. Following
|
|
||||||
my other recent such patches, this one deals with the case of function
|
|
||||||
definitions in files that either contain assertions or where grep
|
|
||||||
suggested they might contain assertions - and thus where it isn't
|
|
||||||
possible to use a simple object code comparison as a sanity check on
|
|
||||||
the correctness of the patch, because line numbers are changed.
|
|
||||||
|
|
||||||
A few such automatically-generated changes needed to be supplemented
|
|
||||||
by manual changes for the result to compile. openat64 had a prototype
|
|
||||||
declaration with "..." but an old-style definition in
|
|
||||||
sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the
|
|
||||||
generated prototype in the definition (I've filed
|
|
||||||
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> for diagnosing
|
|
||||||
such cases in GCC; the old state was undefined behavior not requiring
|
|
||||||
a diagnostic, but one seems a good idea). In addition, as Florian has
|
|
||||||
noted regparm attribute mismatches between declaration and definition
|
|
||||||
are only diagnosed for prototype definitions, and five functions
|
|
||||||
needed internal_function added to their definitions (in the case of
|
|
||||||
__pthread_mutex_cond_lock, via the macro definition of
|
|
||||||
__pthread_mutex_lock) to compile on i386.
|
|
||||||
|
|
||||||
After this patch is in, remaining old-style definitions are probably
|
|
||||||
most readily fixed manually before we can turn on
|
|
||||||
-Wold-style-definition for all builds.
|
|
||||||
|
|
||||||
Tested for x86_64 and x86 (testsuite).
|
|
||||||
|
|
||||||
* crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style
|
|
||||||
function definition.
|
|
||||||
* crypt/sha256-crypt.c (__sha256_crypt_r): Likewise.
|
|
||||||
* crypt/sha512-crypt.c (__sha512_crypt_r): Likewise.
|
|
||||||
* debug/backtracesyms.c (__backtrace_symbols): Likewise.
|
|
||||||
* elf/dl-minimal.c (_itoa): Likewise.
|
|
||||||
* hurd/hurdmalloc.c (malloc): Likewise.
|
|
||||||
(free): Likewise.
|
|
||||||
(realloc): Likewise.
|
|
||||||
* inet/inet6_option.c (inet6_option_space): Likewise.
|
|
||||||
(inet6_option_init): Likewise.
|
|
||||||
(inet6_option_append): Likewise.
|
|
||||||
(inet6_option_alloc): Likewise.
|
|
||||||
(inet6_option_next): Likewise.
|
|
||||||
(inet6_option_find): Likewise.
|
|
||||||
* io/ftw.c (FTW_NAME): Likewise.
|
|
||||||
(NFTW_NAME): Likewise.
|
|
||||||
(NFTW_NEW_NAME): Likewise.
|
|
||||||
(NFTW_OLD_NAME): Likewise.
|
|
||||||
* libio/iofwide.c (_IO_fwide): Likewise.
|
|
||||||
* libio/strops.c (_IO_str_init_static_internal): Likewise.
|
|
||||||
(_IO_str_init_static): Likewise.
|
|
||||||
(_IO_str_init_readonly): Likewise.
|
|
||||||
(_IO_str_overflow): Likewise.
|
|
||||||
(_IO_str_underflow): Likewise.
|
|
||||||
(_IO_str_count): Likewise.
|
|
||||||
(_IO_str_seekoff): Likewise.
|
|
||||||
(_IO_str_pbackfail): Likewise.
|
|
||||||
(_IO_str_finish): Likewise.
|
|
||||||
* libio/wstrops.c (_IO_wstr_init_static): Likewise.
|
|
||||||
(_IO_wstr_overflow): Likewise.
|
|
||||||
(_IO_wstr_underflow): Likewise.
|
|
||||||
(_IO_wstr_count): Likewise.
|
|
||||||
(_IO_wstr_seekoff): Likewise.
|
|
||||||
(_IO_wstr_pbackfail): Likewise.
|
|
||||||
(_IO_wstr_finish): Likewise.
|
|
||||||
* locale/programs/localedef.c (normalize_codeset): Likewise.
|
|
||||||
* locale/programs/locarchive.c (add_locale_to_archive): Likewise.
|
|
||||||
(add_locales_to_archive): Likewise.
|
|
||||||
(delete_locales_from_archive): Likewise.
|
|
||||||
* malloc/malloc.c (__libc_mallinfo): Likewise.
|
|
||||||
* math/gen-auto-libm-tests.c (init_fp_formats): Likewise.
|
|
||||||
* misc/tsearch.c (__tfind): Likewise.
|
|
||||||
* nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise.
|
|
||||||
* nptl/pthread_attr_getdetachstate.c
|
|
||||||
(__pthread_attr_getdetachstate): Likewise.
|
|
||||||
* nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getinheritsched.c
|
|
||||||
(__pthread_attr_getinheritsched): Likewise.
|
|
||||||
* nptl/pthread_attr_getschedparam.c
|
|
||||||
(__pthread_attr_getschedparam): Likewise.
|
|
||||||
* nptl/pthread_attr_getschedpolicy.c
|
|
||||||
(__pthread_attr_getschedpolicy): Likewise.
|
|
||||||
* nptl/pthread_attr_getscope.c (__pthread_attr_getscope):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstack.c (__pthread_attr_getstack):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise.
|
|
||||||
(__pthread_attr_init_2_0): Likewise.
|
|
||||||
* nptl/pthread_attr_setdetachstate.c
|
|
||||||
(__pthread_attr_setdetachstate): Likewise.
|
|
||||||
* nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setinheritsched.c
|
|
||||||
(__pthread_attr_setinheritsched): Likewise.
|
|
||||||
* nptl/pthread_attr_setschedparam.c
|
|
||||||
(__pthread_attr_setschedparam): Likewise.
|
|
||||||
* nptl/pthread_attr_setschedpolicy.c
|
|
||||||
(__pthread_attr_setschedpolicy): Likewise.
|
|
||||||
* nptl/pthread_attr_setscope.c (__pthread_attr_setscope):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstack.c (__pthread_attr_setstack):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_condattr_setclock.c (pthread_condattr_setclock):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_create.c (__find_in_stack_list): Likewise.
|
|
||||||
* nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise.
|
|
||||||
* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to
|
|
||||||
use internal_function.
|
|
||||||
* nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to
|
|
||||||
prototype-style function definition.
|
|
||||||
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
|
|
||||||
(__pthread_mutex_cond_lock_adjust): Likewise. Use
|
|
||||||
internal_function.
|
|
||||||
* nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock):
|
|
||||||
Convert to prototype-style function definition.
|
|
||||||
* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
|
|
||||||
Likewise.
|
|
||||||
(__pthread_mutex_unlock): Likewise.
|
|
||||||
* nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise.
|
|
||||||
* nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise.
|
|
||||||
* nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise.
|
|
||||||
* nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise.
|
|
||||||
* nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise.
|
|
||||||
* nss/makedb.c (process_input): Likewise.
|
|
||||||
* posix/fnmatch.c (__strchrnul): Likewise.
|
|
||||||
(__wcschrnul): Likewise.
|
|
||||||
(fnmatch): Likewise.
|
|
||||||
* posix/fnmatch_loop.c (FCT): Likewise.
|
|
||||||
* posix/glob.c (globfree): Likewise.
|
|
||||||
(__glob_pattern_type): Likewise.
|
|
||||||
(__glob_pattern_p): Likewise.
|
|
||||||
* posix/regcomp.c (re_compile_pattern): Likewise.
|
|
||||||
(re_set_syntax): Likewise.
|
|
||||||
(re_compile_fastmap): Likewise.
|
|
||||||
(regcomp): Likewise.
|
|
||||||
(regerror): Likewise.
|
|
||||||
(regfree): Likewise.
|
|
||||||
* posix/regexec.c (regexec): Likewise.
|
|
||||||
(re_match): Likewise.
|
|
||||||
(re_search): Likewise.
|
|
||||||
(re_match_2): Likewise.
|
|
||||||
(re_search_2): Likewise.
|
|
||||||
(re_search_stub): Likewise. Use internal_function
|
|
||||||
(re_copy_regs): Likewise.
|
|
||||||
(re_set_registers): Convert to prototype-style function
|
|
||||||
definition.
|
|
||||||
(prune_impossible_nodes): Likewise. Use internal_function.
|
|
||||||
* resolv/inet_net_pton.c (inet_net_pton): Convert to
|
|
||||||
prototype-style function definition.
|
|
||||||
(inet_net_pton_ipv4): Likewise.
|
|
||||||
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise.
|
|
||||||
* sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise.
|
|
||||||
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
|
|
||||||
* sysdeps/pthread/timer_delete.c (timer_delete): Likewise.
|
|
||||||
* sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise.
|
|
||||||
Make variadic.
|
|
||||||
* time/strptime_l.c (localtime_r): Convert to prototype-style
|
|
||||||
function definition.
|
|
||||||
* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise.
|
|
||||||
* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise.
|
|
||||||
* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise.
|
|
||||||
* wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/dl-openat64.c | 5 +----
|
|
||||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/dl-openat64.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/dl-openat64.c
|
|
||||||
@@ -23,10 +23,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
-openat64 (dfd, file, oflag)
|
|
||||||
- int dfd;
|
|
||||||
- const char *file;
|
|
||||||
- int oflag;
|
|
||||||
+openat64 (int dfd, const char *file, int oflag, ...)
|
|
||||||
{
|
|
||||||
assert ((oflag & O_CREAT) == 0);
|
|
||||||
|
|
@ -1,171 +0,0 @@
|
|||||||
commit 6565fcb6e189d67b5a3f321453daebb805056d73
|
|
||||||
Author: Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
Date: Fri Sep 18 20:27:20 2015 +0100
|
|
||||||
|
|
||||||
Fix several build failures with GCC6 due to unused static variables.
|
|
||||||
|
|
||||||
2015-09-18 Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
|
|
||||||
* resolv/base64.c (rcsid): Remove unused static.
|
|
||||||
* sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused
|
|
||||||
static. (tqpi1): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/uexp.h (one): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise.
|
|
||||||
* timezone/private.h (time_t_min): Likewise. (time_t_max):
|
|
||||||
Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
resolv/base64.c | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/atnat2.h | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/uexp.h | 2 +-
|
|
||||||
sysdeps/ieee754/dbl-64/upow.h | 2 --
|
|
||||||
sysdeps/ieee754/flt-32/e_log10f.c | 2 --
|
|
||||||
sysdeps/ieee754/flt-32/s_cosf.c | 2 --
|
|
||||||
sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_erfl.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 -
|
|
||||||
timezone/private.h | 10 ----------
|
|
||||||
10 files changed, 1 insertion(+), 28 deletions(-)
|
|
||||||
|
|
||||||
--- a/resolv/base64.c
|
|
||||||
+++ b/resolv/base64.c
|
|
||||||
@@ -40,10 +40,6 @@
|
|
||||||
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#if !defined(LINT) && !defined(CODECENTER)
|
|
||||||
-static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $";
|
|
||||||
-#endif /* not lint */
|
|
||||||
-
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
@@ -65,10 +65,8 @@
|
|
||||||
/**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */
|
|
||||||
@@ -129,10 +127,8 @@
|
|
||||||
/**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
@@ -29,7 +29,7 @@
|
|
||||||
|
|
||||||
#include "mydefs.h"
|
|
||||||
|
|
||||||
-const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
err_0 = 1.000014, err_1 = 0.000016;
|
|
||||||
const static int4 bigint = 0x40862002,
|
|
||||||
badint = 0x40876000,smallint = 0x3C8fffff;
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
@@ -34,7 +34,6 @@
|
|
||||||
/**/ nZERO = {{0x80000000, 0}}, /* -0.0 */
|
|
||||||
/**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */
|
|
||||||
/**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */
|
|
||||||
-/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
@@ -48,7 +47,6 @@
|
|
||||||
/**/ nZERO = {{0, 0x80000000}}, /* -0.0 */
|
|
||||||
/**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */
|
|
||||||
/**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */
|
|
||||||
-/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
--- a/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
@@ -22,8 +22,6 @@
|
|
||||||
log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */
|
|
||||||
log10_2lo = 7.9034151668e-07; /* 0x355427db */
|
|
||||||
|
|
||||||
-static const float zero = 0.0;
|
|
||||||
-
|
|
||||||
float
|
|
||||||
__ieee754_log10f(float x)
|
|
||||||
{
|
|
||||||
--- a/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
@@ -21,8 +21,6 @@
|
|
||||||
#include <math.h>
|
|
||||||
#include <math_private.h>
|
|
||||||
|
|
||||||
-static const float one=1.0;
|
|
||||||
-
|
|
||||||
#ifndef COSF
|
|
||||||
# define COSF_FUNC __cosf
|
|
||||||
#else
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
@@ -74,7 +74,6 @@
|
|
||||||
static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
|
|
||||||
static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
|
|
||||||
static const long double one = 1.0L;
|
|
||||||
-static const long double zero = 0.0L;
|
|
||||||
static const long double huge = 1.0e4000L;
|
|
||||||
|
|
||||||
/* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2)
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
@@ -140,7 +140,6 @@
|
|
||||||
|
|
||||||
static const long double
|
|
||||||
tiny = 1e-4931L,
|
|
||||||
- half = 0.5L,
|
|
||||||
one = 1.0L,
|
|
||||||
two = 2.0L,
|
|
||||||
/* 2/sqrt(pi) - 1 */
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
@@ -116,7 +116,6 @@
|
|
||||||
|
|
||||||
static const long double sqrth = 0.7071067811865475244008443621048490392848L;
|
|
||||||
/* ln (2^16384 * (1 - 2^-113)) */
|
|
||||||
-static const long double maxlog = 1.1356523406294143949491931077970764891253E4L;
|
|
||||||
static const long double zero = 0.0L;
|
|
||||||
|
|
||||||
long double
|
|
||||||
--- a/timezone/private.h
|
|
||||||
+++ b/timezone/private.h
|
|
||||||
@@ -326,16 +326,6 @@
|
|
||||||
#define TYPE_SIGNED(type) (((type) -1) < 0)
|
|
||||||
#endif /* !defined TYPE_SIGNED */
|
|
||||||
|
|
||||||
-/* The minimum and maximum finite time values. */
|
|
||||||
-static time_t const time_t_min =
|
|
||||||
- (TYPE_SIGNED(time_t)
|
|
||||||
- ? (time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1)
|
|
||||||
- : 0);
|
|
||||||
-static time_t const time_t_max =
|
|
||||||
- (TYPE_SIGNED(time_t)
|
|
||||||
- ? - (~ 0 < 0) - ((time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1))
|
|
||||||
- : -1);
|
|
||||||
-
|
|
||||||
#ifndef INT_STRLEN_MAXIMUM
|
|
||||||
/*
|
|
||||||
** 302 / 1000 is log10(2.0) rounded up.
|
|
@ -1,26 +0,0 @@
|
|||||||
commit 976ef870542580cf5fed896c2c652b3e1a95f9da
|
|
||||||
Author: Steve Ellcey <sellcey@mips.com>
|
|
||||||
Date: Fri Dec 11 09:19:37 2015 -0800
|
|
||||||
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
* sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f):
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
@@ -65,7 +65,9 @@
|
|
||||||
|
|
||||||
/* compute q[0],q[1],...q[jk] */
|
|
||||||
for (i=0;i<=jk;i++) {
|
|
||||||
- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
|
|
||||||
+ for(j=0,fw=0.0;j<=jx;j++)
|
|
||||||
+ fw += x[j]*f[jx+i-j];
|
|
||||||
+ q[i] = fw;
|
|
||||||
}
|
|
||||||
|
|
||||||
jz = jk;
|
|
@ -1,38 +0,0 @@
|
|||||||
commit 328c44c3670ebf6c1bd790acddce65a12998cd6c
|
|
||||||
Author: Roland McGrath <roland@hack.frob.com>
|
|
||||||
Date: Fri Apr 17 12:11:58 2015 -0700
|
|
||||||
|
|
||||||
Fuller check for invalid NSID in _dl_open.
|
|
||||||
|
|
||||||
---
|
|
||||||
elf/dl-open.c | 12 +++++++++---
|
|
||||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/elf/dl-open.c
|
|
||||||
+++ b/elf/dl-open.c
|
|
||||||
@@ -211,7 +211,7 @@
|
|
||||||
struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen);
|
|
||||||
|
|
||||||
if (l)
|
|
||||||
- call_map = l;
|
|
||||||
+ call_map = l;
|
|
||||||
|
|
||||||
if (args->nsid == __LM_ID_CALLER)
|
|
||||||
args->nsid = call_map->l_ns;
|
|
||||||
@@ -627,8 +627,14 @@
|
|
||||||
/* Never allow loading a DSO in a namespace which is empty. Such
|
|
||||||
direct placements is only causing problems. Also don't allow
|
|
||||||
loading into a namespace used for auditing. */
|
|
||||||
- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0)
|
|
||||||
- && (GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER)
|
|
||||||
+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns))
|
|
||||||
+ /* This prevents the [NSID] index expressions from being
|
|
||||||
+ evaluated, so the compiler won't think that we are
|
|
||||||
+ accessing an invalid index here in the !SHARED case where
|
|
||||||
+ DL_NNS is 1 and so any NSID != 0 is invalid. */
|
|
||||||
+ || DL_NNS == 1
|
|
||||||
+ || GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
|| GL(dl_ns)[nsid]._ns_loaded->l_auditing))
|
|
||||||
_dl_signal_error (EINVAL, file, NULL,
|
|
||||||
N_("invalid target namespace in dlmopen()"));
|
|
@ -1,41 +0,0 @@
|
|||||||
From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexey Neyman <stilor@att.net>
|
|
||||||
Date: Wed, 8 Mar 2017 14:31:10 -0800
|
|
||||||
Subject: [PATCH] Fix combreloc test with BSD grep
|
|
||||||
|
|
||||||
The test for "-z combreloc" fails when cross-compiling on a machine
|
|
||||||
that uses BSD grep (e.g. on macos). grep complains about empty
|
|
||||||
subexpression and exits with non-zero status, which is interpreted
|
|
||||||
by configure as "not found". As a result, support for "-z combreloc"
|
|
||||||
(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
|
|
||||||
|
|
||||||
* configure.ac: Avoid empty subexpression in grep.
|
|
||||||
|
|
||||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
||||||
---
|
|
||||||
configure | 2 +-
|
|
||||||
configure.ac | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -6025,7 +6025,7 @@
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
test $ac_status = 0; }; }
|
|
||||||
then
|
|
||||||
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1397,7 +1397,7 @@
|
|
||||||
dnl introducing new options this is not easily doable. Instead use a tool
|
|
||||||
dnl which always is cross-platform: readelf. To detect whether -z combreloc
|
|
||||||
dnl look for a section named .rel.dyn.
|
|
||||||
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
@ -1,62 +0,0 @@
|
|||||||
commit 5874510faaf3cbd0bb112aaacab9f225002beed1
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Nov 8 23:44:51 2016 +0000
|
|
||||||
|
|
||||||
Fix rpcgen buffer overrun (bug 20790).
|
|
||||||
|
|
||||||
Building with GCC 7 produces an error building rpcgen:
|
|
||||||
|
|
||||||
rpc_parse.c: In function 'get_prog_declaration':
|
|
||||||
rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=]
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
~~~~^
|
|
||||||
rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
That buffer overrun is for the case where the .x file declares a
|
|
||||||
program with a million arguments. The strcpy two lines above can
|
|
||||||
generate a buffer overrun much more simply for a long argument name.
|
|
||||||
|
|
||||||
The limit on length of line read by rpcgen (MAXLINESIZE == 1024)
|
|
||||||
provides a bound on the buffer size needed, so this patch just changes
|
|
||||||
the buffer size to MAXLINESIZE to avoid both possible buffer
|
|
||||||
overruns. A testcase is added that rpcgen does not crash with a
|
|
||||||
500-character argument name, where it previously crashed.
|
|
||||||
|
|
||||||
It would not at all surprise me if there are many other ways of
|
|
||||||
crashing rpcgen with either valid or invalid input; fuzz testing would
|
|
||||||
likely find various such bugs, though I don't think they are that
|
|
||||||
important to fix (rpcgen is not that likely to be used with untrusted
|
|
||||||
.x files as input). (As well as fuzz-findable bugs there are probably
|
|
||||||
also issues when various int variables get overflowed on very large
|
|
||||||
input.) The test infrastructure for rpcgen-not-crashing tests would
|
|
||||||
need extending if tests are to be added for cases where rpcgen should
|
|
||||||
produce an error, as opposed to cases where it should succeed.
|
|
||||||
|
|
||||||
Tested for x86_64 and x86.
|
|
||||||
|
|
||||||
[BZ #20790]
|
|
||||||
* sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size
|
|
||||||
to MAXLINESIZE.
|
|
||||||
* sunrpc/bug20790.x: New file.
|
|
||||||
* sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New
|
|
||||||
variable.
|
|
||||||
[$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests).
|
|
||||||
[$(run-built-tests) = yes] ($(rpcgen-tests)): New rule.
|
|
||||||
|
|
||||||
---
|
|
||||||
sunrpc/rpc_parse.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sunrpc/rpc_parse.c
|
|
||||||
+++ b/sunrpc/rpc_parse.c
|
|
||||||
@@ -521,7 +521,7 @@
|
|
||||||
get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ )
|
|
||||||
{
|
|
||||||
token tok;
|
|
||||||
- char name[10]; /* argument name */
|
|
||||||
+ char name[MAXLINESIZE]; /* argument name */
|
|
||||||
|
|
||||||
if (dkind == DEF_PROGRAM)
|
|
||||||
{
|
|
@ -1,35 +0,0 @@
|
|||||||
commit e223d1fe72e820d96f43831412ab267a1ace04d0
|
|
||||||
Author: steve ellcey-CA Eng-Software <sellcey@sellcey-thinkpad.caveonetworks.com>
|
|
||||||
Date: Fri Oct 14 12:53:27 2016 -0700
|
|
||||||
|
|
||||||
Fix warnings from latest GCC.
|
|
||||||
|
|
||||||
* sysdeps/ieee754/dbl-64/e_pow.c (checkint) Make conditions explicitly
|
|
||||||
boolean.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/ieee754/dbl-64/e_pow.c | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/e_pow.c
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/e_pow.c
|
|
||||||
@@ -462,15 +462,15 @@
|
|
||||||
return (n & 1) ? -1 : 1; /* odd or even */
|
|
||||||
if (k > 20)
|
|
||||||
{
|
|
||||||
- if (n << (k - 20))
|
|
||||||
+ if (n << (k - 20) != 0)
|
|
||||||
return 0; /* if not integer */
|
|
||||||
- return (n << (k - 21)) ? -1 : 1;
|
|
||||||
+ return (n << (k - 21) != 0) ? -1 : 1;
|
|
||||||
}
|
|
||||||
if (n)
|
|
||||||
return 0; /*if not integer */
|
|
||||||
if (k == 20)
|
|
||||||
return (m & 1) ? -1 : 1;
|
|
||||||
- if (m << (k + 12))
|
|
||||||
+ if (m << (k + 12) != 0)
|
|
||||||
return 0;
|
|
||||||
- return (m << (k + 11)) ? -1 : 1;
|
|
||||||
+ return (m << (k + 11) != 0) ? -1 : 1;
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Dec 21 23:44:01 2016 +0000
|
|
||||||
|
|
||||||
Fix nss_nisplus build with mainline GCC (bug 20978).
|
|
||||||
|
|
||||||
glibc build with current mainline GCC fails because
|
|
||||||
nis/nss_nisplus/nisplus-alias.c contains code
|
|
||||||
|
|
||||||
if (name != NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
char buf[strlen (name) + 9 + tablename_len];
|
|
||||||
|
|
||||||
producing an error about strlen being called on a pointer that is
|
|
||||||
always NULL (and a subsequent use of that pointer with a %s format in
|
|
||||||
snprintf).
|
|
||||||
|
|
||||||
As Andreas noted, the bogus conditional comes from a 1997 change:
|
|
||||||
|
|
||||||
- if (name == NULL || strlen(name) > 8)
|
|
||||||
- return NSS_STATUS_NOTFOUND;
|
|
||||||
- else
|
|
||||||
+ if (name != NULL || strlen(name) <= 8)
|
|
||||||
|
|
||||||
So the intention is clearly to return an error for NULL name.
|
|
||||||
|
|
||||||
This patch duly inverts the sense of the conditional. It fixes the
|
|
||||||
build with GCC mainline, and passes usual glibc testsuite testing for
|
|
||||||
x86_64. However, I have not tried any actual substantive nisplus
|
|
||||||
testing, do not have an environment for such testing, and do not know
|
|
||||||
whether it is possible that strlen (name) or tablename_len might be
|
|
||||||
large so that the VLA for buf is actually a security issue. However,
|
|
||||||
if it is a security issue, there are plenty of other similar instances
|
|
||||||
in the nisplus code (that haven't been hidden by a bogus comparison
|
|
||||||
with NULL) - and nis_table.c:__create_ib_request uses strdupa on the
|
|
||||||
string passed to nis_list, so a local fix in the caller wouldn't
|
|
||||||
suffice anyway (see bug 20987). (Calls to strdupa and other such
|
|
||||||
macros that use alloca must be considered equally questionable
|
|
||||||
regarding stack overflow issues as direct calls to alloca and VLA
|
|
||||||
declarations.)
|
|
||||||
|
|
||||||
[BZ #20978]
|
|
||||||
* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
|
|
||||||
Compare name == NULL, not name != NULL.
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nss_nisplus/nisplus-alias.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
+++ b/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
@@ -291,7 +291,7 @@
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (name != NULL)
|
|
||||||
+ if (name == NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
@ -1,73 +0,0 @@
|
|||||||
commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Jun 27 17:12:13 2017 +0000
|
|
||||||
|
|
||||||
Fix strftime build with GCC 8.
|
|
||||||
|
|
||||||
Building with current GCC mainline fails with:
|
|
||||||
|
|
||||||
strftime_l.c: In function '__strftime_internal':
|
|
||||||
strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros]
|
|
||||||
digits = d > width ? d : width; \
|
|
||||||
^
|
|
||||||
strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER'
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
^~~~~~~~~
|
|
||||||
strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause
|
|
||||||
else
|
|
||||||
^~~~
|
|
||||||
|
|
||||||
In fact this particular instance is harmless; the code looks like:
|
|
||||||
|
|
||||||
if (modifier == L_('O'))
|
|
||||||
goto bad_format;
|
|
||||||
else
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
|
|
||||||
and because of the goto, it doesn't matter that part of the expansion
|
|
||||||
isn't under the "else" conditional. But it's also clearly bad style
|
|
||||||
to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD
|
|
||||||
to use do { } while (0) to avoid such problems.
|
|
||||||
|
|
||||||
Tested (full testsuite) for x86_64 (GCC 6), and with
|
|
||||||
build-many-glibcs.py with GCC mainline, in conjunction with my libgcc
|
|
||||||
patch <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
|
|
||||||
|
|
||||||
* time/strftime_l.c (DO_NUMBER): Define using do { } while (0).
|
|
||||||
(DO_NUMBER_SPACEPAD): Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
time/strftime_l.c | 22 ++++++++++++++++------
|
|
||||||
1 file changed, 16 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/time/strftime_l.c
|
|
||||||
+++ b/time/strftime_l.c
|
|
||||||
@@ -738,12 +738,22 @@
|
|
||||||
format_char = *f;
|
|
||||||
switch (format_char)
|
|
||||||
{
|
|
||||||
-#define DO_NUMBER(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number
|
|
||||||
-#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number_spacepad
|
|
||||||
+#define DO_NUMBER(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
+#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number_spacepad; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
|
|
||||||
case L_('%'):
|
|
||||||
if (modifier != 0)
|
|
@ -1,29 +0,0 @@
|
|||||||
commit 2180fee114b778515b3f560e5ff1e795282e60b0
|
|
||||||
Author: Steve Ellcey <sellcey@caviumnetworks.com>
|
|
||||||
Date: Wed Nov 15 08:58:48 2017 -0800
|
|
||||||
|
|
||||||
Check length of ifname before copying it into to ifreq structure.
|
|
||||||
|
|
||||||
[BZ #22442]
|
|
||||||
* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex):
|
|
||||||
Check if ifname is too long.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/if_index.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
@@ -43,6 +43,12 @@
|
|
||||||
if (fd < 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
+ if (strlen (ifname) >= IFNAMSIZ)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENODEV);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
|
|
||||||
if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
|
|
||||||
{
|
|
@ -1,80 +0,0 @@
|
|||||||
commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c
|
|
||||||
Author: Martin Sebor <msebor@redhat.com>
|
|
||||||
Date: Wed Nov 15 17:39:59 2017 -0700
|
|
||||||
|
|
||||||
The -Wstringop-truncation option new in GCC 8 detects common misuses
|
|
||||||
of the strncat and strncpy function that may result in truncating
|
|
||||||
the copied string before the terminating NUL. To avoid false positive
|
|
||||||
warnings for correct code that intentionally creates sequences of
|
|
||||||
characters that aren't guaranteed to be NUL-terminated, arrays that
|
|
||||||
are intended to store such sequences should be decorated with a new
|
|
||||||
nonstring attribute. This change add this attribute to Glibc and
|
|
||||||
uses it to suppress such false positives.
|
|
||||||
|
|
||||||
ChangeLog:
|
|
||||||
* misc/sys/cdefs.h (__attribute_nonstring__): New macro.
|
|
||||||
* sysdeps/gnu/bits/utmp.h (struct utmp): Use it.
|
|
||||||
* sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same.
|
|
||||||
|
|
||||||
---
|
|
||||||
misc/sys/cdefs.h | 9 +++++++++
|
|
||||||
sysdeps/gnu/bits/utmp.h | 9 ++++++---
|
|
||||||
sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++---
|
|
||||||
3 files changed, 21 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/misc/sys/cdefs.h
|
|
||||||
+++ b/misc/sys/cdefs.h
|
|
||||||
@@ -393,6 +393,15 @@
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if __GNUC_PREREQ (8, 0)
|
|
||||||
+/* Describes a char array whose address can safely be passed as the first
|
|
||||||
+ argument to strncpy and strncat, as the char array is not necessarily
|
|
||||||
+ a NUL-terminated string. */
|
|
||||||
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
|
|
||||||
+#else
|
|
||||||
+# define __attribute_nonstring__
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <bits/wordsize.h>
|
|
||||||
|
|
||||||
#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
|
|
||||||
--- a/sysdeps/gnu/bits/utmp.h
|
|
||||||
+++ b/sysdeps/gnu/bits/utmp.h
|
|
||||||
@@ -59,10 +59,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
||||||
--- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
@@ -59,10 +59,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
@ -1,47 +0,0 @@
|
|||||||
commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Nov 22 18:44:23 2017 +0000
|
|
||||||
|
|
||||||
Avoid use of strlen in getlogin_r (bug 22447).
|
|
||||||
|
|
||||||
Building glibc with current mainline GCC fails, among other reasons,
|
|
||||||
because of an error for use of strlen on the nonstring ut_user field.
|
|
||||||
This patch changes the problem code in getlogin_r to use __strnlen
|
|
||||||
instead. It also needs to set the trailing NUL byte of the result
|
|
||||||
explicitly, because of the case where ut_user does not have such a
|
|
||||||
trailing NUL byte (but the result should always have one).
|
|
||||||
|
|
||||||
Tested for x86_64. Also tested that, in conjunction with
|
|
||||||
<https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, it fixes
|
|
||||||
the build for arm with mainline GCC.
|
|
||||||
|
|
||||||
[BZ #22447]
|
|
||||||
* sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not
|
|
||||||
strlen to compute length of ut_user and set trailing NUL byte of
|
|
||||||
result explicitly.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/getlogin_r.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/getlogin_r.c
|
|
||||||
+++ b/sysdeps/unix/getlogin_r.c
|
|
||||||
@@ -82,7 +82,7 @@
|
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
{
|
|
||||||
- size_t needed = strlen (ut->ut_user) + 1;
|
|
||||||
+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1;
|
|
||||||
|
|
||||||
if (needed > name_len)
|
|
||||||
{
|
|
||||||
@@ -91,7 +91,8 @@
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- memcpy (name, ut->ut_user, needed);
|
|
||||||
+ memcpy (name, ut->ut_user, needed - 1);
|
|
||||||
+ name[needed - 1] = 0;
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
commit e69897bf202e18034cbef26f363bae64de70a196
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Sun Nov 12 22:00:28 2017 -0800
|
|
||||||
|
|
||||||
timezone: pacify GCC -Wstringop-truncation
|
|
||||||
|
|
||||||
Problem reported by Martin Sebor in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
|
|
||||||
* timezone/zic.c (writezone): Use memcpy, not strncpy.
|
|
||||||
|
|
||||||
---
|
|
||||||
timezone/zic.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/timezone/zic.c
|
|
||||||
+++ b/timezone/zic.c
|
|
||||||
@@ -1713,7 +1713,7 @@
|
|
||||||
}
|
|
||||||
#define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp))
|
|
||||||
tzh = tzh0;
|
|
||||||
- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
tzh.tzh_version[0] = version;
|
|
||||||
convert(thistypecnt, tzh.tzh_ttisgmtcnt);
|
|
||||||
convert(thistypecnt, tzh.tzh_ttisstdcnt);
|
|
4
packages/glibc-linaro/2.20-2014.11/chksum
vendored
4
packages/glibc-linaro/2.20-2014.11/chksum
vendored
@ -1,4 +0,0 @@
|
|||||||
md5 glibc-linaro-2.20-2014.11.tar.xz ca2035b47d86856ffdd201ce2a12e60e
|
|
||||||
sha1 glibc-linaro-2.20-2014.11.tar.xz 3ca068cd6bbb9e61d0651faa19c462a4d1c41f84
|
|
||||||
sha256 glibc-linaro-2.20-2014.11.tar.xz 2db756f9f9281f78443cd04fc544fc2d8bce38037d5f75c8284bd8b0ccf9c9ed
|
|
||||||
sha512 glibc-linaro-2.20-2014.11.tar.xz 79910b5f1a9b27519c24888253e644398b2da4789fd093fd800cfc5051322f26c38161edd602690647e2f9b9ab99f8cdde78c9e7d8513a4df584c05b19069e05
|
|
@ -1 +0,0 @@
|
|||||||
obsolete='yes'
|
|
@ -1,7 +0,0 @@
|
|||||||
master='glibc'
|
|
||||||
origin='Linaro'
|
|
||||||
repository='git https://git.linaro.org/toolchain/glibc.git'
|
|
||||||
relevantpattern='*|-'
|
|
||||||
mirrors='$(CT_Mirrors Linaro glibc ${CT_GLIBC_LINARO_VERSION})'
|
|
||||||
experimental='yes'
|
|
||||||
archive_formats='.tar.xz'
|
|
@ -1,41 +0,0 @@
|
|||||||
From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexey Neyman <stilor@att.net>
|
|
||||||
Date: Wed, 8 Mar 2017 14:31:10 -0800
|
|
||||||
Subject: [PATCH] Fix combreloc test with BSD grep
|
|
||||||
|
|
||||||
The test for "-z combreloc" fails when cross-compiling on a machine
|
|
||||||
that uses BSD grep (e.g. on macos). grep complains about empty
|
|
||||||
subexpression and exits with non-zero status, which is interpreted
|
|
||||||
by configure as "not found". As a result, support for "-z combreloc"
|
|
||||||
(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
|
|
||||||
|
|
||||||
* configure.ac: Avoid empty subexpression in grep.
|
|
||||||
|
|
||||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
||||||
---
|
|
||||||
configure | 2 +-
|
|
||||||
configure.in | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -6710,7 +6710,7 @@
|
|
||||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
||||||
(exit $ac_status); }; }
|
|
||||||
then
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1671,7 +1671,7 @@
|
|
||||||
dnl introducing new options this is not easily doable. Instead use a tool
|
|
||||||
dnl which always is cross-platform: readelf. To detect whether -z combreloc
|
|
||||||
dnl look for a section named .rel.dyn.
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
@ -1,34 +0,0 @@
|
|||||||
commit ae7080d30c68cfa0c81ce3422dca948f64a94f50
|
|
||||||
Author: Jia Liu <proljc@gmail.com>
|
|
||||||
Date: Sat Sep 7 00:01:08 2013 +0800
|
|
||||||
|
|
||||||
sunrpc/rpc/types.h: fix OS X and FreeBSD build problems
|
|
||||||
|
|
||||||
When I build arm-linux-gcc on OS X, I find glibc will get a build error
|
|
||||||
in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK.
|
|
||||||
For FreeBSD, Add __FreeBSD__ to make it build OK, too.
|
|
||||||
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html
|
|
||||||
Signed-off-by: Jia Liu <proljc@gmail.com>
|
|
||||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
||||||
|
|
||||||
---
|
|
||||||
sunrpc/rpc/types.h | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/sunrpc/rpc/types.h
|
|
||||||
+++ b/sunrpc/rpc/types.h
|
|
||||||
@@ -68,6 +68,11 @@
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined __APPLE_CC__ || defined __FreeBSD__
|
|
||||||
+# define __u_char_defined
|
|
||||||
+# define __daddr_t_defined
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef __u_char_defined
|
|
||||||
typedef __u_char u_char;
|
|
||||||
typedef __u_short u_short;
|
|
37
packages/glibc/2.12.2/0002-march-i686.patch
vendored
37
packages/glibc/2.12.2/0002-march-i686.patch
vendored
@ -1,37 +0,0 @@
|
|||||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
|
||||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
|
||||||
|
|
||||||
---
|
|
||||||
nptl/sysdeps/pthread/pt-initfini.c | 5 +++++
|
|
||||||
sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++
|
|
||||||
2 files changed, 9 insertions(+)
|
|
||||||
|
|
||||||
--- a/nptl/sysdeps/pthread/pt-initfini.c
|
|
||||||
+++ b/nptl/sysdeps/pthread/pt-initfini.c
|
|
||||||
@@ -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*/");
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
@@ -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
|
|
31
packages/glibc/2.12.2/0003-typedef-caddr.patch
vendored
31
packages/glibc/2.12.2/0003-typedef-caddr.patch
vendored
@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
posix/sys/types.h | 3 +++
|
|
||||||
sunrpc/rpc/types.h | 3 +++
|
|
||||||
2 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/posix/sys/types.h
|
|
||||||
+++ b/posix/sys/types.h
|
|
||||||
@@ -114,7 +114,10 @@
|
|
||||||
#ifdef __USE_BSD
|
|
||||||
# ifndef __daddr_t_defined
|
|
||||||
typedef __daddr_t daddr_t;
|
|
||||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
|
||||||
typedef __caddr_t caddr_t;
|
|
||||||
+# define __caddr_t_defined
|
|
||||||
+# endif
|
|
||||||
# define __daddr_t_defined
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
--- a/sunrpc/rpc/types.h
|
|
||||||
+++ b/sunrpc/rpc/types.h
|
|
||||||
@@ -85,7 +85,10 @@
|
|
||||||
#endif
|
|
||||||
#ifndef __daddr_t_defined
|
|
||||||
typedef __daddr_t daddr_t;
|
|
||||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
|
||||||
typedef __caddr_t caddr_t;
|
|
||||||
+# define __caddr_t_defined
|
|
||||||
+# endif
|
|
||||||
# define __daddr_t_defined
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
commit 5874510faaf3cbd0bb112aaacab9f225002beed1
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Nov 8 23:44:51 2016 +0000
|
|
||||||
|
|
||||||
Fix rpcgen buffer overrun (bug 20790).
|
|
||||||
|
|
||||||
Building with GCC 7 produces an error building rpcgen:
|
|
||||||
|
|
||||||
rpc_parse.c: In function 'get_prog_declaration':
|
|
||||||
rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=]
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
~~~~^
|
|
||||||
rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
That buffer overrun is for the case where the .x file declares a
|
|
||||||
program with a million arguments. The strcpy two lines above can
|
|
||||||
generate a buffer overrun much more simply for a long argument name.
|
|
||||||
|
|
||||||
The limit on length of line read by rpcgen (MAXLINESIZE == 1024)
|
|
||||||
provides a bound on the buffer size needed, so this patch just changes
|
|
||||||
the buffer size to MAXLINESIZE to avoid both possible buffer
|
|
||||||
overruns. A testcase is added that rpcgen does not crash with a
|
|
||||||
500-character argument name, where it previously crashed.
|
|
||||||
|
|
||||||
It would not at all surprise me if there are many other ways of
|
|
||||||
crashing rpcgen with either valid or invalid input; fuzz testing would
|
|
||||||
likely find various such bugs, though I don't think they are that
|
|
||||||
important to fix (rpcgen is not that likely to be used with untrusted
|
|
||||||
.x files as input). (As well as fuzz-findable bugs there are probably
|
|
||||||
also issues when various int variables get overflowed on very large
|
|
||||||
input.) The test infrastructure for rpcgen-not-crashing tests would
|
|
||||||
need extending if tests are to be added for cases where rpcgen should
|
|
||||||
produce an error, as opposed to cases where it should succeed.
|
|
||||||
|
|
||||||
Tested for x86_64 and x86.
|
|
||||||
|
|
||||||
[BZ #20790]
|
|
||||||
* sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size
|
|
||||||
to MAXLINESIZE.
|
|
||||||
* sunrpc/bug20790.x: New file.
|
|
||||||
* sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New
|
|
||||||
variable.
|
|
||||||
[$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests).
|
|
||||||
[$(run-built-tests) = yes] ($(rpcgen-tests)): New rule.
|
|
||||||
|
|
||||||
---
|
|
||||||
sunrpc/rpc_parse.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sunrpc/rpc_parse.c
|
|
||||||
+++ b/sunrpc/rpc_parse.c
|
|
||||||
@@ -520,7 +520,7 @@
|
|
||||||
get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ )
|
|
||||||
{
|
|
||||||
token tok;
|
|
||||||
- char name[10]; /* argument name */
|
|
||||||
+ char name[MAXLINESIZE]; /* argument name */
|
|
||||||
|
|
||||||
if (dkind == DEF_PROGRAM)
|
|
||||||
{
|
|
@ -1,64 +0,0 @@
|
|||||||
commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Dec 21 23:44:01 2016 +0000
|
|
||||||
|
|
||||||
Fix nss_nisplus build with mainline GCC (bug 20978).
|
|
||||||
|
|
||||||
glibc build with current mainline GCC fails because
|
|
||||||
nis/nss_nisplus/nisplus-alias.c contains code
|
|
||||||
|
|
||||||
if (name != NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
char buf[strlen (name) + 9 + tablename_len];
|
|
||||||
|
|
||||||
producing an error about strlen being called on a pointer that is
|
|
||||||
always NULL (and a subsequent use of that pointer with a %s format in
|
|
||||||
snprintf).
|
|
||||||
|
|
||||||
As Andreas noted, the bogus conditional comes from a 1997 change:
|
|
||||||
|
|
||||||
- if (name == NULL || strlen(name) > 8)
|
|
||||||
- return NSS_STATUS_NOTFOUND;
|
|
||||||
- else
|
|
||||||
+ if (name != NULL || strlen(name) <= 8)
|
|
||||||
|
|
||||||
So the intention is clearly to return an error for NULL name.
|
|
||||||
|
|
||||||
This patch duly inverts the sense of the conditional. It fixes the
|
|
||||||
build with GCC mainline, and passes usual glibc testsuite testing for
|
|
||||||
x86_64. However, I have not tried any actual substantive nisplus
|
|
||||||
testing, do not have an environment for such testing, and do not know
|
|
||||||
whether it is possible that strlen (name) or tablename_len might be
|
|
||||||
large so that the VLA for buf is actually a security issue. However,
|
|
||||||
if it is a security issue, there are plenty of other similar instances
|
|
||||||
in the nisplus code (that haven't been hidden by a bogus comparison
|
|
||||||
with NULL) - and nis_table.c:__create_ib_request uses strdupa on the
|
|
||||||
string passed to nis_list, so a local fix in the caller wouldn't
|
|
||||||
suffice anyway (see bug 20987). (Calls to strdupa and other such
|
|
||||||
macros that use alloca must be considered equally questionable
|
|
||||||
regarding stack overflow issues as direct calls to alloca and VLA
|
|
||||||
declarations.)
|
|
||||||
|
|
||||||
[BZ #20978]
|
|
||||||
* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
|
|
||||||
Compare name == NULL, not name != NULL.
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nss_nisplus/nisplus-alias.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
+++ b/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
@@ -293,7 +293,7 @@
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (name != NULL)
|
|
||||||
+ if (name == NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
32
packages/glibc/2.12.2/0006-obstack-common.patch
vendored
32
packages/glibc/2.12.2/0006-obstack-common.patch
vendored
@ -1,32 +0,0 @@
|
|||||||
commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2
|
|
||||||
Author: Peter Collingbourne <pcc@google.com>
|
|
||||||
Date: Wed May 15 20:28:08 2013 +0200
|
|
||||||
|
|
||||||
Move _obstack_compat out of common
|
|
||||||
|
|
||||||
it is impossible to create an alias of a common symbol (as
|
|
||||||
compat_symbol does), because common symbols do not have a section or
|
|
||||||
an offset until linked. GNU as tolerates aliases of common symbols by
|
|
||||||
simply creating another common symbol, but other assemblers (notably
|
|
||||||
LLVM's integrated assembler) are less tolerant.
|
|
||||||
|
|
||||||
2013-05-15 Peter Collingbourne <pcc@google.com>
|
|
||||||
|
|
||||||
* malloc/obstack.c (_obstack_compat): Add initializer.
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
malloc/obstack.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/malloc/obstack.c
|
|
||||||
+++ b/malloc/obstack.c
|
|
||||||
@@ -117,7 +117,7 @@
|
|
||||||
/* A looong time ago (before 1994, anyway; we're not sure) this global variable
|
|
||||||
was used by non-GNU-C macros to avoid multiple evaluation. The GNU C
|
|
||||||
library still exports it because somebody might use it. */
|
|
||||||
-struct obstack *_obstack_compat;
|
|
||||||
+struct obstack *_obstack_compat = 0;
|
|
||||||
compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
|
|
||||||
# endif
|
|
||||||
# endif
|
|
72
packages/glibc/2.12.2/0007-new-tools.patch
vendored
72
packages/glibc/2.12.2/0007-new-tools.patch
vendored
@ -1,72 +0,0 @@
|
|||||||
---
|
|
||||||
configure | 8 ++++----
|
|
||||||
configure.in | 8 ++++----
|
|
||||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -5189,7 +5189,7 @@
|
|
||||||
ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 3.4* | 4.[0-9]* )
|
|
||||||
+ 3.4* | [4-9].* | [1-9][0-9]* )
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5252,7 +5252,7 @@
|
|
||||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 3.79* | 3.[89]*)
|
|
||||||
+ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5379,7 +5379,7 @@
|
|
||||||
ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 4.*)
|
|
||||||
+ [4-9].*)
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5439,7 +5439,7 @@
|
|
||||||
# Found it, now check the version.
|
|
||||||
{ $as_echo "$as_me:$LINENO: checking version of $SED" >&5
|
|
||||||
$as_echo_n "checking version of $SED... " >&6; }
|
|
||||||
- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
||||||
+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
3.0[2-9]*|3.[1-9]*|[4-9]*)
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1026,11 +1026,11 @@
|
|
||||||
# These programs are version sensitive.
|
|
||||||
AC_CHECK_TOOL_PREFIX
|
|
||||||
AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
|
|
||||||
- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
|
|
||||||
+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ],
|
|
||||||
critic_missing="$critic_missing gcc")
|
|
||||||
AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
|
|
||||||
[GNU Make[^0-9]*\([0-9][0-9.]*\)],
|
|
||||||
- [3.79* | 3.[89]*], critic_missing="$critic_missing make")
|
|
||||||
+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
|
|
||||||
|
|
||||||
AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
|
|
||||||
[GNU gettext.* \([0-9]*\.[0-9.]*\)],
|
|
||||||
@@ -1038,10 +1038,10 @@
|
|
||||||
MSGFMT=: aux_missing="$aux_missing msgfmt")
|
|
||||||
AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
|
|
||||||
[GNU texinfo.* \([0-9][0-9.]*\)],
|
|
||||||
- [4.*],
|
|
||||||
+ [[4-9].*],
|
|
||||||
MAKEINFO=: aux_missing="$aux_missing makeinfo")
|
|
||||||
AC_CHECK_PROG_VER(SED, sed, --version,
|
|
||||||
- [GNU sed version \([0-9]*\.[0-9.]*\)],
|
|
||||||
+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)],
|
|
||||||
[3.0[2-9]*|3.[1-9]*|[4-9]*],
|
|
||||||
SED=: aux_missing="$aux_missing sed")
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
|||||||
commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Jun 27 17:12:13 2017 +0000
|
|
||||||
|
|
||||||
Fix strftime build with GCC 8.
|
|
||||||
|
|
||||||
Building with current GCC mainline fails with:
|
|
||||||
|
|
||||||
strftime_l.c: In function '__strftime_internal':
|
|
||||||
strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros]
|
|
||||||
digits = d > width ? d : width; \
|
|
||||||
^
|
|
||||||
strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER'
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
^~~~~~~~~
|
|
||||||
strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause
|
|
||||||
else
|
|
||||||
^~~~
|
|
||||||
|
|
||||||
In fact this particular instance is harmless; the code looks like:
|
|
||||||
|
|
||||||
if (modifier == L_('O'))
|
|
||||||
goto bad_format;
|
|
||||||
else
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
|
|
||||||
and because of the goto, it doesn't matter that part of the expansion
|
|
||||||
isn't under the "else" conditional. But it's also clearly bad style
|
|
||||||
to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD
|
|
||||||
to use do { } while (0) to avoid such problems.
|
|
||||||
|
|
||||||
Tested (full testsuite) for x86_64 (GCC 6), and with
|
|
||||||
build-many-glibcs.py with GCC mainline, in conjunction with my libgcc
|
|
||||||
patch <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
|
|
||||||
|
|
||||||
* time/strftime_l.c (DO_NUMBER): Define using do { } while (0).
|
|
||||||
(DO_NUMBER_SPACEPAD): Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
time/strftime_l.c | 22 ++++++++++++++++------
|
|
||||||
1 file changed, 16 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/time/strftime_l.c
|
|
||||||
+++ b/time/strftime_l.c
|
|
||||||
@@ -742,12 +742,22 @@
|
|
||||||
format_char = *f;
|
|
||||||
switch (format_char)
|
|
||||||
{
|
|
||||||
-#define DO_NUMBER(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number
|
|
||||||
-#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number_spacepad
|
|
||||||
+#define DO_NUMBER(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
+#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number_spacepad; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
|
|
||||||
case L_('%'):
|
|
||||||
if (modifier != 0)
|
|
@ -1,29 +0,0 @@
|
|||||||
commit 2180fee114b778515b3f560e5ff1e795282e60b0
|
|
||||||
Author: Steve Ellcey <sellcey@caviumnetworks.com>
|
|
||||||
Date: Wed Nov 15 08:58:48 2017 -0800
|
|
||||||
|
|
||||||
Check length of ifname before copying it into to ifreq structure.
|
|
||||||
|
|
||||||
[BZ #22442]
|
|
||||||
* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex):
|
|
||||||
Check if ifname is too long.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/if_index.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
@@ -54,6 +54,12 @@
|
|
||||||
if (fd < 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
+ if (strlen (ifname) >= IFNAMSIZ)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENODEV);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
|
|
||||||
if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
|
|
||||||
{
|
|
80
packages/glibc/2.12.2/0010-utmp-nonstring.patch
vendored
80
packages/glibc/2.12.2/0010-utmp-nonstring.patch
vendored
@ -1,80 +0,0 @@
|
|||||||
commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c
|
|
||||||
Author: Martin Sebor <msebor@redhat.com>
|
|
||||||
Date: Wed Nov 15 17:39:59 2017 -0700
|
|
||||||
|
|
||||||
The -Wstringop-truncation option new in GCC 8 detects common misuses
|
|
||||||
of the strncat and strncpy function that may result in truncating
|
|
||||||
the copied string before the terminating NUL. To avoid false positive
|
|
||||||
warnings for correct code that intentionally creates sequences of
|
|
||||||
characters that aren't guaranteed to be NUL-terminated, arrays that
|
|
||||||
are intended to store such sequences should be decorated with a new
|
|
||||||
nonstring attribute. This change add this attribute to Glibc and
|
|
||||||
uses it to suppress such false positives.
|
|
||||||
|
|
||||||
ChangeLog:
|
|
||||||
* misc/sys/cdefs.h (__attribute_nonstring__): New macro.
|
|
||||||
* sysdeps/gnu/bits/utmp.h (struct utmp): Use it.
|
|
||||||
* sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same.
|
|
||||||
|
|
||||||
---
|
|
||||||
misc/sys/cdefs.h | 9 +++++++++
|
|
||||||
sysdeps/gnu/bits/utmp.h | 9 ++++++---
|
|
||||||
sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++---
|
|
||||||
3 files changed, 21 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/misc/sys/cdefs.h
|
|
||||||
+++ b/misc/sys/cdefs.h
|
|
||||||
@@ -350,6 +350,15 @@
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if __GNUC_PREREQ (8, 0)
|
|
||||||
+/* Describes a char array whose address can safely be passed as the first
|
|
||||||
+ argument to strncpy and strncat, as the char array is not necessarily
|
|
||||||
+ a NUL-terminated string. */
|
|
||||||
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
|
|
||||||
+#else
|
|
||||||
+# define __attribute_nonstring__
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <bits/wordsize.h>
|
|
||||||
|
|
||||||
#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
|
|
||||||
--- a/sysdeps/gnu/bits/utmp.h
|
|
||||||
+++ b/sysdeps/gnu/bits/utmp.h
|
|
||||||
@@ -61,10 +61,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
||||||
--- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
@@ -61,10 +61,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
@ -1,47 +0,0 @@
|
|||||||
commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Nov 22 18:44:23 2017 +0000
|
|
||||||
|
|
||||||
Avoid use of strlen in getlogin_r (bug 22447).
|
|
||||||
|
|
||||||
Building glibc with current mainline GCC fails, among other reasons,
|
|
||||||
because of an error for use of strlen on the nonstring ut_user field.
|
|
||||||
This patch changes the problem code in getlogin_r to use __strnlen
|
|
||||||
instead. It also needs to set the trailing NUL byte of the result
|
|
||||||
explicitly, because of the case where ut_user does not have such a
|
|
||||||
trailing NUL byte (but the result should always have one).
|
|
||||||
|
|
||||||
Tested for x86_64. Also tested that, in conjunction with
|
|
||||||
<https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, it fixes
|
|
||||||
the build for arm with mainline GCC.
|
|
||||||
|
|
||||||
[BZ #22447]
|
|
||||||
* sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not
|
|
||||||
strlen to compute length of ut_user and set trailing NUL byte of
|
|
||||||
result explicitly.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/getlogin_r.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/getlogin_r.c
|
|
||||||
+++ b/sysdeps/unix/getlogin_r.c
|
|
||||||
@@ -83,7 +83,7 @@
|
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
{
|
|
||||||
- size_t needed = strlen (ut->ut_user) + 1;
|
|
||||||
+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1;
|
|
||||||
|
|
||||||
if (needed > name_len)
|
|
||||||
{
|
|
||||||
@@ -92,7 +92,8 @@
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- memcpy (name, ut->ut_user, needed);
|
|
||||||
+ memcpy (name, ut->ut_user, needed - 1);
|
|
||||||
+ name[needed - 1] = 0;
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
commit e69897bf202e18034cbef26f363bae64de70a196
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Sun Nov 12 22:00:28 2017 -0800
|
|
||||||
|
|
||||||
timezone: pacify GCC -Wstringop-truncation
|
|
||||||
|
|
||||||
Problem reported by Martin Sebor in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
|
|
||||||
* timezone/zic.c (writezone): Use memcpy, not strncpy.
|
|
||||||
|
|
||||||
---
|
|
||||||
timezone/zic.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/timezone/zic.c
|
|
||||||
+++ b/timezone/zic.c
|
|
||||||
@@ -1648,7 +1648,7 @@
|
|
||||||
#define DO(field) (void) fwrite((void *) tzh.field, \
|
|
||||||
(size_t) sizeof tzh.field, (size_t) 1, fp)
|
|
||||||
tzh = tzh0;
|
|
||||||
- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
tzh.tzh_version[0] = ZIC_VERSION;
|
|
||||||
convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt);
|
|
||||||
convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt);
|
|
12
packages/glibc/2.12.2/chksum
vendored
12
packages/glibc/2.12.2/chksum
vendored
@ -1,12 +0,0 @@
|
|||||||
md5 glibc-2.12.2.tar.xz e0043f4f8e1aa61acc62fdf0f4d6133d
|
|
||||||
sha1 glibc-2.12.2.tar.xz 1602bb3647e71747595a72fde059fce0a5ba04ec
|
|
||||||
sha256 glibc-2.12.2.tar.xz 0eb4fdf7301a59d3822194f20a2782858955291dd93be264b8b8d4d56f87203f
|
|
||||||
sha512 glibc-2.12.2.tar.xz efc1c9c3e10bb2d7d7a8529796961bf41406128132b71af2225d327317ea61438f3b19084099e15b4208b35388228640f6c7a21a807abd87ffec795248a6c306
|
|
||||||
md5 glibc-2.12.2.tar.bz2 903fcfa547df2f453476800e0838fe52
|
|
||||||
sha1 glibc-2.12.2.tar.bz2 3ef6d36eee2dc7c4351f215f689e6a04c161a35e
|
|
||||||
sha256 glibc-2.12.2.tar.bz2 22f8eb3c49b9eb5e88fc249daf8670899adef24eb1f74708fb150a6502fa1216
|
|
||||||
sha512 glibc-2.12.2.tar.bz2 8197ece913e572ce3f7dfa0a33d520418aea2d8b85ccda3100118bca9f650e21fb7a8d14b1b4a5587a252c07e70c6fe85f84605a0be9dec649e92d6028979c40
|
|
||||||
md5 glibc-2.12.2.tar.gz 49a8a5a74b624dcd15ec1689ede7e062
|
|
||||||
sha1 glibc-2.12.2.tar.gz 738ac9b88a7e89e2a9a419db13af8ee12a38f192
|
|
||||||
sha256 glibc-2.12.2.tar.gz 6b7392a7b339a3f2db6e4bc8d5418cf29116d9e7e36b313e845cb65e449c5346
|
|
||||||
sha512 glibc-2.12.2.tar.gz a2e11c9824bf975b0c14c2d48f2bdbfb69a54b6c43760cf19babea187771e8d848d03e54f68be2d22074405d192ff2cc459c09a04db6779ab593ce67854a9ce9
|
|
1
packages/glibc/2.12.2/version.desc
vendored
1
packages/glibc/2.12.2/version.desc
vendored
@ -1 +0,0 @@
|
|||||||
obsolete='yes'
|
|
@ -1,17 +0,0 @@
|
|||||||
Respect environment CPPFLAGS when we run ./configure so we can inject
|
|
||||||
random -D things without having to set CFLAGS/ASFLAGS
|
|
||||||
|
|
||||||
---
|
|
||||||
Makeconfig | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/Makeconfig
|
|
||||||
+++ b/Makeconfig
|
|
||||||
@@ -697,6 +697,7 @@
|
|
||||||
$(foreach lib,$(libof-$(basename $(@F))) \
|
|
||||||
$(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
|
|
||||||
$(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
|
||||||
+CPPFLAGS += $(CPPFLAGS-config)
|
|
||||||
override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
|
|
||||||
$(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
|
|
||||||
$(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
|
|
@ -1,75 +0,0 @@
|
|||||||
From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yvan Roux <yvan.roux@linaro.org>
|
|
||||||
Date: Fri, 15 Apr 2016 13:29:26 +0200
|
|
||||||
Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with
|
|
||||||
-Wparentheses
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nis_call.c | 20 +++++++++++---------
|
|
||||||
stdlib/setenv.c | 24 +++++++++++++-----------
|
|
||||||
2 files changed, 24 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
--- a/nis/nis_call.c
|
|
||||||
+++ b/nis/nis_call.c
|
|
||||||
@@ -682,16 +682,18 @@
|
|
||||||
/* Choose which entry should be evicted from the cache. */
|
|
||||||
loc = &nis_server_cache[0];
|
|
||||||
if (*loc != NULL)
|
|
||||||
- for (i = 1; i < 16; ++i)
|
|
||||||
- if (nis_server_cache[i] == NULL)
|
|
||||||
- {
|
|
||||||
+ {
|
|
||||||
+ for (i = 1; i < 16; ++i)
|
|
||||||
+ if (nis_server_cache[i] == NULL)
|
|
||||||
+ {
|
|
||||||
+ loc = &nis_server_cache[i];
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
+ || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
+ && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
loc = &nis_server_cache[i];
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
- || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
- && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
- loc = &nis_server_cache[i];
|
|
||||||
+ }
|
|
||||||
old = *loc;
|
|
||||||
*loc = new;
|
|
||||||
|
|
||||||
--- a/stdlib/setenv.c
|
|
||||||
+++ b/stdlib/setenv.c
|
|
||||||
@@ -328,18 +328,20 @@
|
|
||||||
ep = __environ;
|
|
||||||
if (ep != NULL)
|
|
||||||
while (*ep != NULL)
|
|
||||||
- if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
- {
|
|
||||||
- /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
- char **dp = ep;
|
|
||||||
+ {
|
|
||||||
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
+ {
|
|
||||||
+ /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
+ char **dp = ep;
|
|
||||||
|
|
||||||
- do
|
|
||||||
- dp[0] = dp[1];
|
|
||||||
- while (*dp++);
|
|
||||||
- /* Continue the loop in case NAME appears again. */
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- ++ep;
|
|
||||||
+ do
|
|
||||||
+ dp[0] = dp[1];
|
|
||||||
+ while (*dp++);
|
|
||||||
+ /* Continue the loop in case NAME appears again. */
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ ++ep;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
UNLOCK;
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
|||||||
commit 5542236837c5c41435f8282ec92799f480c36f18
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Tue Jul 21 22:50:29 2015 -0700
|
|
||||||
|
|
||||||
Port the 0x7efe...feff pattern to GCC 6.
|
|
||||||
|
|
||||||
See Steve Ellcey's bug report in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html
|
|
||||||
* string/memrchr.c (MEMRCHR):
|
|
||||||
* string/rawmemchr.c (RAWMEMCHR):
|
|
||||||
* string/strchr.c (strchr):
|
|
||||||
* string/strchrnul.c (STRCHRNUL):
|
|
||||||
Rewrite code to avoid issues with signed shift overflow.
|
|
||||||
|
|
||||||
---
|
|
||||||
string/memrchr.c | 11 ++---------
|
|
||||||
string/rawmemchr.c | 11 ++---------
|
|
||||||
string/strchr.c | 9 ++-------
|
|
||||||
string/strchrnul.c | 9 ++-------
|
|
||||||
4 files changed, 8 insertions(+), 32 deletions(-)
|
|
||||||
|
|
||||||
--- a/string/memrchr.c
|
|
||||||
+++ b/string/memrchr.c
|
|
||||||
@@ -98,15 +98,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/rawmemchr.c
|
|
||||||
+++ b/string/rawmemchr.c
|
|
||||||
@@ -90,15 +90,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchr.c
|
|
||||||
+++ b/string/strchr.c
|
|
||||||
@@ -65,13 +65,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchrnul.c
|
|
||||||
+++ b/string/strchrnul.c
|
|
||||||
@@ -63,13 +63,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
159
packages/glibc/2.13/0003-unused-variables.patch
vendored
159
packages/glibc/2.13/0003-unused-variables.patch
vendored
@ -1,159 +0,0 @@
|
|||||||
commit 6565fcb6e189d67b5a3f321453daebb805056d73
|
|
||||||
Author: Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
Date: Fri Sep 18 20:27:20 2015 +0100
|
|
||||||
|
|
||||||
Fix several build failures with GCC6 due to unused static variables.
|
|
||||||
|
|
||||||
2015-09-18 Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
|
|
||||||
* resolv/base64.c (rcsid): Remove unused static.
|
|
||||||
* sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused
|
|
||||||
static. (tqpi1): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/uexp.h (one): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise.
|
|
||||||
* timezone/private.h (time_t_min): Likewise. (time_t_max):
|
|
||||||
Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
resolv/base64.c | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/atnat2.h | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/uexp.h | 2 +-
|
|
||||||
sysdeps/ieee754/dbl-64/upow.h | 2 --
|
|
||||||
sysdeps/ieee754/flt-32/e_log10f.c | 6 ------
|
|
||||||
sysdeps/ieee754/flt-32/s_cosf.c | 6 ------
|
|
||||||
sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_erfl.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 -
|
|
||||||
9 files changed, 1 insertion(+), 26 deletions(-)
|
|
||||||
|
|
||||||
--- a/resolv/base64.c
|
|
||||||
+++ b/resolv/base64.c
|
|
||||||
@@ -40,10 +40,6 @@
|
|
||||||
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#if !defined(LINT) && !defined(CODECENTER)
|
|
||||||
-static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $";
|
|
||||||
-#endif /* not lint */
|
|
||||||
-
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
@@ -69,10 +69,8 @@
|
|
||||||
/**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */
|
|
||||||
@@ -139,10 +137,8 @@
|
|
||||||
/**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
|
|
||||||
#include "mydefs.h"
|
|
||||||
|
|
||||||
-const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
err_0 = 1.000014, err_1 = 0.000016;
|
|
||||||
const static int4 bigint = 0x40862002,
|
|
||||||
badint = 0x40876000,smallint = 0x3C8fffff;
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
@@ -36,7 +36,6 @@
|
|
||||||
/**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */
|
|
||||||
/**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */
|
|
||||||
/**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */
|
|
||||||
-/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
@@ -51,7 +50,6 @@
|
|
||||||
/**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */
|
|
||||||
/**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */
|
|
||||||
/**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */
|
|
||||||
-/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
--- a/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
@@ -31,12 +31,6 @@
|
|
||||||
log10_2lo = 7.9034151668e-07; /* 0x355427db */
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
-static const float zero = 0.0;
|
|
||||||
-#else
|
|
||||||
-static float zero = 0.0;
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#ifdef __STDC__
|
|
||||||
float __ieee754_log10f(float x)
|
|
||||||
#else
|
|
||||||
float __ieee754_log10f(x)
|
|
||||||
--- a/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
@@ -22,12 +22,6 @@
|
|
||||||
#include "math_private.h"
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
-static const float one=1.0;
|
|
||||||
-#else
|
|
||||||
-static float one=1.0;
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#ifdef __STDC__
|
|
||||||
float __cosf(float x)
|
|
||||||
#else
|
|
||||||
float __cosf(x)
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
@@ -74,7 +74,6 @@
|
|
||||||
static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
|
|
||||||
static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
|
|
||||||
static const long double one = 1.0L;
|
|
||||||
-static const long double zero = 0.0L;
|
|
||||||
static const long double huge = 1.0e4000L;
|
|
||||||
|
|
||||||
/* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2)
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
@@ -142,7 +142,6 @@
|
|
||||||
static long double
|
|
||||||
#endif
|
|
||||||
tiny = 1e-4931L,
|
|
||||||
- half = 0.5L,
|
|
||||||
one = 1.0L,
|
|
||||||
two = 2.0L,
|
|
||||||
/* 2/sqrt(pi) - 1 */
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
@@ -116,7 +116,6 @@
|
|
||||||
|
|
||||||
static const long double sqrth = 0.7071067811865475244008443621048490392848L;
|
|
||||||
/* ln (2^16384 * (1 - 2^-113)) */
|
|
||||||
-static const long double maxlog = 1.1356523406294143949491931077970764891253E4L;
|
|
||||||
static const long double zero = 0.0L;
|
|
||||||
|
|
||||||
long double
|
|
@ -1,26 +0,0 @@
|
|||||||
commit 976ef870542580cf5fed896c2c652b3e1a95f9da
|
|
||||||
Author: Steve Ellcey <sellcey@mips.com>
|
|
||||||
Date: Fri Dec 11 09:19:37 2015 -0800
|
|
||||||
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
* sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f):
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
@@ -82,7 +82,9 @@
|
|
||||||
|
|
||||||
/* compute q[0],q[1],...q[jk] */
|
|
||||||
for (i=0;i<=jk;i++) {
|
|
||||||
- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
|
|
||||||
+ for(j=0,fw=0.0;j<=jx;j++)
|
|
||||||
+ fw += x[j]*f[jx+i-j];
|
|
||||||
+ q[i] = fw;
|
|
||||||
}
|
|
||||||
|
|
||||||
jz = jk;
|
|
@ -1,29 +0,0 @@
|
|||||||
commit 328c44c3670ebf6c1bd790acddce65a12998cd6c
|
|
||||||
Author: Roland McGrath <roland@hack.frob.com>
|
|
||||||
Date: Fri Apr 17 12:11:58 2015 -0700
|
|
||||||
|
|
||||||
Fuller check for invalid NSID in _dl_open.
|
|
||||||
|
|
||||||
---
|
|
||||||
elf/dl-open.c | 10 ++++++++--
|
|
||||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/elf/dl-open.c
|
|
||||||
+++ b/elf/dl-open.c
|
|
||||||
@@ -526,8 +526,14 @@
|
|
||||||
/* Never allow loading a DSO in a namespace which is empty. Such
|
|
||||||
direct placements is only causing problems. Also don't allow
|
|
||||||
loading into a namespace used for auditing. */
|
|
||||||
- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0)
|
|
||||||
- && (GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
+ else if ((nsid != LM_ID_BASE && nsid != __LM_ID_CALLER)
|
|
||||||
+ && ((nsid < 0 || nsid >= GL(dl_nns))
|
|
||||||
+ /* This prevents the [NSID] index expressions from being
|
|
||||||
+ evaluated, so the compiler won't think that we are
|
|
||||||
+ accessing an invalid index here in the !SHARED case where
|
|
||||||
+ DL_NNS is 1 and so any NSID != 0 is invalid. */
|
|
||||||
+ || DL_NNS == 1
|
|
||||||
+ || GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
|| GL(dl_ns)[nsid]._ns_loaded->l_auditing))
|
|
||||||
_dl_signal_error (EINVAL, file, NULL,
|
|
||||||
N_("invalid target namespace in dlmopen()"));
|
|
@ -1,51 +0,0 @@
|
|||||||
revert cfi additions to clone on i386/x86_64 to workaround problems in
|
|
||||||
gcc's unwinder code. this is not a bug in glibc, it triggers problems
|
|
||||||
elsewhere. this cfi code does not gain us a whole lot anyways.
|
|
||||||
|
|
||||||
http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/i386/clone.S | 4 ----
|
|
||||||
sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ----
|
|
||||||
2 files changed, 8 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/clone.S
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/clone.S
|
|
||||||
@@ -120,9 +120,6 @@
|
|
||||||
ret
|
|
||||||
|
|
||||||
L(thread_start):
|
|
||||||
- cfi_startproc;
|
|
||||||
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
||||||
- cfi_undefined (eip);
|
|
||||||
/* Note: %esi is zero. */
|
|
||||||
movl %esi,%ebp /* terminate the stack frame */
|
|
||||||
#ifdef RESET_PID
|
|
||||||
@@ -155,7 +152,6 @@
|
|
||||||
jmp L(haspid)
|
|
||||||
.previous
|
|
||||||
#endif
|
|
||||||
- cfi_endproc;
|
|
||||||
|
|
||||||
cfi_startproc
|
|
||||||
PSEUDO_END (BP_SYM (__clone))
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
||||||
@@ -89,9 +89,6 @@
|
|
||||||
ret
|
|
||||||
|
|
||||||
L(thread_start):
|
|
||||||
- cfi_startproc;
|
|
||||||
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
||||||
- cfi_undefined (rip);
|
|
||||||
/* Clear the frame pointer. The ABI suggests this be done, to mark
|
|
||||||
the outermost frame obviously. */
|
|
||||||
xorl %ebp, %ebp
|
|
||||||
@@ -116,7 +113,6 @@
|
|
||||||
/* Call exit with return value from function call. */
|
|
||||||
movq %rax, %rdi
|
|
||||||
call HIDDEN_JUMPTARGET (_exit)
|
|
||||||
- cfi_endproc;
|
|
||||||
|
|
||||||
cfi_startproc;
|
|
||||||
PSEUDO_END (BP_SYM (__clone))
|
|
19
packages/glibc/2.13/0007-disable-ldconfig.patch
vendored
19
packages/glibc/2.13/0007-disable-ldconfig.patch
vendored
@ -1,19 +0,0 @@
|
|||||||
do not bother running ldconfig on DESTDIR. it wants to write the temp cache
|
|
||||||
file outside of the chroot. doesnt matter anyways as we wont use the cache
|
|
||||||
results (portage will rebuild cache), so running ldconfig is simply a waste
|
|
||||||
of time.
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -116,6 +116,7 @@
|
|
||||||
rm -f $(symbolic-link-list)
|
|
||||||
|
|
||||||
install:
|
|
||||||
+dont-bother-with-destdir:
|
|
||||||
-test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \
|
|
||||||
$(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \
|
|
||||||
$(slibdir) $(libdir)
|
|
@ -1,41 +0,0 @@
|
|||||||
From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexey Neyman <stilor@att.net>
|
|
||||||
Date: Wed, 8 Mar 2017 14:31:10 -0800
|
|
||||||
Subject: [PATCH] Fix combreloc test with BSD grep
|
|
||||||
|
|
||||||
The test for "-z combreloc" fails when cross-compiling on a machine
|
|
||||||
that uses BSD grep (e.g. on macos). grep complains about empty
|
|
||||||
subexpression and exits with non-zero status, which is interpreted
|
|
||||||
by configure as "not found". As a result, support for "-z combreloc"
|
|
||||||
(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
|
|
||||||
|
|
||||||
* configure.ac: Avoid empty subexpression in grep.
|
|
||||||
|
|
||||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
||||||
---
|
|
||||||
configure | 2 +-
|
|
||||||
configure.in | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -6504,7 +6504,7 @@
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
test $ac_status = 0; }; }
|
|
||||||
then
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1673,7 +1673,7 @@
|
|
||||||
dnl introducing new options this is not easily doable. Instead use a tool
|
|
||||||
dnl which always is cross-platform: readelf. To detect whether -z combreloc
|
|
||||||
dnl look for a section named .rel.dyn.
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
@ -1,86 +0,0 @@
|
|||||||
grab some updates from FreeBSD
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/201979
|
|
||||||
|
|
||||||
---
|
|
||||||
misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 36 insertions(+)
|
|
||||||
|
|
||||||
--- a/misc/sys/queue.h
|
|
||||||
+++ b/misc/sys/queue.h
|
|
||||||
@@ -136,6 +136,11 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.le_next))
|
|
||||||
|
|
||||||
+#define LIST_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = LIST_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* List access methods.
|
|
||||||
*/
|
|
||||||
@@ -197,6 +202,16 @@
|
|
||||||
#define SLIST_FOREACH(var, head, field) \
|
|
||||||
for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
|
|
||||||
|
|
||||||
+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = SLIST_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \
|
|
||||||
+ for ((varp) = &SLIST_FIRST((head)); \
|
|
||||||
+ ((var) = *(varp)) != NULL; \
|
|
||||||
+ (varp) = &SLIST_NEXT((var), field))
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Singly-linked List access methods.
|
|
||||||
*/
|
|
||||||
@@ -242,6 +257,12 @@
|
|
||||||
(head)->stqh_last = &(elm)->field.stqe_next; \
|
|
||||||
} while (/*CONSTCOND*/0)
|
|
||||||
|
|
||||||
+#define STAILQ_LAST(head, type, field) \
|
|
||||||
+ (STAILQ_EMPTY((head)) ? \
|
|
||||||
+ NULL : \
|
|
||||||
+ ((struct type *)(void *) \
|
|
||||||
+ ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
|
|
||||||
+
|
|
||||||
#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
|
|
||||||
if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
|
|
||||||
(head)->stqh_last = &(elm)->field.stqe_next; \
|
|
||||||
@@ -271,6 +292,11 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.stqe_next))
|
|
||||||
|
|
||||||
+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = STAILQ_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define STAILQ_CONCAT(head1, head2) do { \
|
|
||||||
if (!STAILQ_EMPTY((head2))) { \
|
|
||||||
*(head1)->stqh_last = (head2)->stqh_first; \
|
|
||||||
@@ -437,11 +463,21 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.tqe_next))
|
|
||||||
|
|
||||||
+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = TAILQ_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
|
|
||||||
for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
|
|
||||||
(var); \
|
|
||||||
(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
|
|
||||||
|
|
||||||
+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \
|
|
||||||
+ for ((var) = TAILQ_LAST((head), headname); \
|
|
||||||
+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define TAILQ_CONCAT(head1, head2, field) do { \
|
|
||||||
if (!TAILQ_EMPTY(head2)) { \
|
|
||||||
*(head1)->tqh_last = (head2)->tqh_first; \
|
|
27
packages/glibc/2.13/0010-manual-no-perl.patch
vendored
27
packages/glibc/2.13/0010-manual-no-perl.patch
vendored
@ -1,27 +0,0 @@
|
|||||||
If we're using a cvs snapshot which updates the source files, and
|
|
||||||
perl isn't installed yet, then we can't regen the docs. Not a big
|
|
||||||
deal, so just whine a little and continue on our merry way.
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/60132
|
|
||||||
|
|
||||||
---
|
|
||||||
manual/Makefile | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/manual/Makefile
|
|
||||||
+++ b/manual/Makefile
|
|
||||||
@@ -104,9 +104,14 @@
|
|
||||||
libm-err.texi: stamp-libm-err
|
|
||||||
stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
|
|
||||||
$(dir)/libm-test-ulps))
|
|
||||||
+ifneq ($(PERL),no)
|
|
||||||
pwd=`pwd`; \
|
|
||||||
$(PERL) $< $$pwd/.. > libm-err-tmp
|
|
||||||
$(move-if-change) libm-err-tmp libm-err.texi
|
|
||||||
+else
|
|
||||||
+ echo "Unable to rebuild math docs, no perl installed"
|
|
||||||
+ touch libm-err.texi
|
|
||||||
+endif
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
# Generate Texinfo files from the C source for the example programs.
|
|
@ -1,56 +0,0 @@
|
|||||||
# DP: Description: Fix localedef segfault when run under exec-shield,
|
|
||||||
# PaX or similar. (#231438, #198099)
|
|
||||||
# DP: Dpatch Author: James Troup <james@nocrew.org>
|
|
||||||
# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
|
|
||||||
# DP: Upstream status: Unknown
|
|
||||||
# DP: Status Details: Unknown
|
|
||||||
# DP: Date: 2004-03-16
|
|
||||||
---
|
|
||||||
# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++
|
|
||||||
# 1 file changed, 36 insertions(+)
|
|
||||||
#
|
|
||||||
--- a/locale/programs/3level.h
|
|
||||||
+++ b/locale/programs/3level.h
|
|
||||||
@@ -203,6 +203,42 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/* GCC ATM seems to do a poor job with pointers to nested functions passed
|
|
||||||
+ to inlined functions. Help it a little bit with this hack. */
|
|
||||||
+#define wchead_table_iterate(tp, fn) \
|
|
||||||
+do \
|
|
||||||
+ { \
|
|
||||||
+ struct wchead_table *t = (tp); \
|
|
||||||
+ uint32_t index1; \
|
|
||||||
+ for (index1 = 0; index1 < t->level1_size; index1++) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup1 = t->level1[index1]; \
|
|
||||||
+ if (lookup1 != ((uint32_t) ~0)) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup1_shifted = lookup1 << t->q; \
|
|
||||||
+ uint32_t index2; \
|
|
||||||
+ for (index2 = 0; index2 < (1 << t->q); index2++) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \
|
|
||||||
+ if (lookup2 != ((uint32_t) ~0)) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup2_shifted = lookup2 << t->p; \
|
|
||||||
+ uint32_t index3; \
|
|
||||||
+ for (index3 = 0; index3 < (1 << t->p); index3++) \
|
|
||||||
+ { \
|
|
||||||
+ struct element_t *lookup3 \
|
|
||||||
+ = t->level3[index3 + lookup2_shifted]; \
|
|
||||||
+ if (lookup3 != NULL) \
|
|
||||||
+ fn ((((index1 << t->q) + index2) << t->p) + index3, \
|
|
||||||
+ lookup3); \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } while (0)
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NO_FINALIZE
|
|
42
packages/glibc/2.13/0012-resolv-dynamic.patch
vendored
42
packages/glibc/2.13/0012-resolv-dynamic.patch
vendored
@ -1,42 +0,0 @@
|
|||||||
ripped from SuSE
|
|
||||||
|
|
||||||
if /etc/resolv.conf is updated, then make sure applications
|
|
||||||
already running get the updated information.
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/177416
|
|
||||||
|
|
||||||
---
|
|
||||||
resolv/res_libc.c | 15 +++++++++++++++
|
|
||||||
1 file changed, 15 insertions(+)
|
|
||||||
|
|
||||||
--- a/resolv/res_libc.c
|
|
||||||
+++ b/resolv/res_libc.c
|
|
||||||
@@ -22,6 +22,7 @@
|
|
||||||
#include <arpa/nameser.h>
|
|
||||||
#include <resolv.h>
|
|
||||||
#include <bits/libc-lock.h>
|
|
||||||
+#include <sys/stat.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* The following bit is copied from res_data.c (where it is #ifdef'ed
|
|
||||||
@@ -95,6 +96,20 @@
|
|
||||||
__res_maybe_init (res_state resp, int preinit)
|
|
||||||
{
|
|
||||||
if (resp->options & RES_INIT) {
|
|
||||||
+ static time_t last_mtime, last_check;
|
|
||||||
+ time_t now;
|
|
||||||
+ struct stat statbuf;
|
|
||||||
+
|
|
||||||
+ time (&now);
|
|
||||||
+ if (now != last_check) {
|
|
||||||
+ last_check = now;
|
|
||||||
+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) {
|
|
||||||
+ last_mtime = statbuf.st_mtime;
|
|
||||||
+ atomicinclock (lock);
|
|
||||||
+ atomicinc (__res_initstamp);
|
|
||||||
+ atomicincunlock (lock);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
if (__res_initstamp != resp->_u._ext.initstamp) {
|
|
||||||
if (resp->nscount > 0)
|
|
||||||
__res_iclose (resp, true);
|
|
42
packages/glibc/2.13/0013-localedef-mmap.patch
vendored
42
packages/glibc/2.13/0013-localedef-mmap.patch
vendored
@ -1,42 +0,0 @@
|
|||||||
sniped from Debian
|
|
||||||
http://bugs.gentoo.org/289615
|
|
||||||
|
|
||||||
2009-10-27 Aurelien Jarno <aurelien@aurel32.net>
|
|
||||||
|
|
||||||
* locale/programs/locarchive.c: use MMAP_SHARED to reserve memory
|
|
||||||
used later with MMAP_FIXED | MMAP_SHARED to cope with different
|
|
||||||
alignment restrictions.
|
|
||||||
|
|
||||||
---
|
|
||||||
locale/programs/locarchive.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/locale/programs/locarchive.c
|
|
||||||
+++ b/locale/programs/locarchive.c
|
|
||||||
@@ -134,7 +134,7 @@
|
|
||||||
size_t reserved = RESERVE_MMAP_SIZE;
|
|
||||||
int xflags = 0;
|
|
||||||
if (total < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
||||||
@@ -396,7 +396,7 @@
|
|
||||||
size_t reserved = RESERVE_MMAP_SIZE;
|
|
||||||
int xflags = 0;
|
|
||||||
if (total < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
||||||
@@ -614,7 +614,7 @@
|
|
||||||
int xflags = 0;
|
|
||||||
void *p;
|
|
||||||
if (st.st_size < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
27
packages/glibc/2.13/0014-fadvise64_64.patch
vendored
27
packages/glibc/2.13/0014-fadvise64_64.patch
vendored
@ -1,27 +0,0 @@
|
|||||||
ripped from Debian
|
|
||||||
|
|
||||||
sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++
|
|
||||||
1 file changed, 13 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/posix_fadvise.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c
|
|
||||||
@@ -35,6 +35,19 @@
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
+# ifdef __NR_fadvise64_64
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
|
|
||||||
+ __LONG_LONG_PAIR ((long) (offset >> 31),
|
|
||||||
+ (long) offset),
|
|
||||||
+ __LONG_LONG_PAIR ((long) (len >> 31),
|
|
||||||
+ (long) len),
|
|
||||||
+ advise);
|
|
||||||
+ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
|
|
||||||
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
|
|
||||||
+ return 0;
|
|
||||||
+# else
|
|
||||||
return ENOSYS;
|
|
||||||
+# endif
|
|
||||||
#endif
|
|
||||||
}
|
|
27
packages/glibc/2.13/0015-section-comments.patch
vendored
27
packages/glibc/2.13/0015-section-comments.patch
vendored
@ -1,27 +0,0 @@
|
|||||||
http://sources.redhat.com/ml/binutils/2004-04/msg00665.html
|
|
||||||
|
|
||||||
fixes building on some architectures (like m68k/arm/cris/etc...) because
|
|
||||||
it does the right thing
|
|
||||||
|
|
||||||
---
|
|
||||||
include/libc-symbols.h | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/include/libc-symbols.h
|
|
||||||
+++ b/include/libc-symbols.h
|
|
||||||
@@ -239,12 +239,12 @@
|
|
||||||
# define __make_section_unallocated(section_string)
|
|
||||||
# endif
|
|
||||||
|
|
||||||
-/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
|
|
||||||
+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus
|
|
||||||
section attributes on what looks like a comment to the assembler. */
|
|
||||||
# ifdef HAVE_SECTION_QUOTES
|
|
||||||
-# define __sec_comment "\"\n\t#\""
|
|
||||||
+# define __sec_comment "\"\n#APP\n\t#\""
|
|
||||||
# else
|
|
||||||
-# define __sec_comment "\n\t#"
|
|
||||||
+# define __sec_comment "\n#APP\n\t#"
|
|
||||||
# endif
|
|
||||||
# define link_warning(symbol, msg) \
|
|
||||||
__make_section_unallocated (".gnu.warning." #symbol) \
|
|
36
packages/glibc/2.13/0016-no-inline-gmon.patch
vendored
36
packages/glibc/2.13/0016-no-inline-gmon.patch
vendored
@ -1,36 +0,0 @@
|
|||||||
http://bugs.gentoo.org/196245
|
|
||||||
http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html
|
|
||||||
|
|
||||||
Attached is a patch to add __attribute__ ((noinline)) to
|
|
||||||
call_gmon_start.
|
|
||||||
|
|
||||||
Without this patch, the sec script that processed initfini.s removes a
|
|
||||||
part of inlined call_gmon_start, causing undefined label errors.
|
|
||||||
|
|
||||||
This patch solves the problem by forcing gcc not to inline
|
|
||||||
call_gmon_start with __attribute__ ((noinline)).
|
|
||||||
|
|
||||||
Tested by building for arm-none-lixux-gnueabi. OK to apply?
|
|
||||||
|
|
||||||
Kazu Hirata
|
|
||||||
|
|
||||||
2006-05-07 Kazu Hirata <kazu@codesourcery.com>
|
|
||||||
|
|
||||||
* sysdeps/generic/initfini.c (call_gmon_start): Add
|
|
||||||
__attribute__ ((noinline)).
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/generic/initfini.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/generic/initfini.c
|
|
||||||
+++ b/sysdeps/generic/initfini.c
|
|
||||||
@@ -70,7 +70,7 @@
|
|
||||||
/* The beginning of _init: */
|
|
||||||
asm ("\n/*@_init_PROLOG_BEGINS*/");
|
|
||||||
|
|
||||||
-static void
|
|
||||||
+static void __attribute__ ((noinline))
|
|
||||||
call_gmon_start(void)
|
|
||||||
{
|
|
||||||
extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
|
|
@ -1,20 +0,0 @@
|
|||||||
many ports hit this warning:
|
|
||||||
../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset'
|
|
||||||
../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset'
|
|
||||||
|
|
||||||
snipped from suse
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/check_native.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/check_native.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/check_native.c
|
|
||||||
@@ -23,6 +23,7 @@
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <string.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <net/if.h>
|
|
48
packages/glibc/2.13/0018-fix-pr631.patch
vendored
48
packages/glibc/2.13/0018-fix-pr631.patch
vendored
@ -1,48 +0,0 @@
|
|||||||
From dank@kegel.com
|
|
||||||
Wed Jun 15 09:12:43 PDT 2005
|
|
||||||
|
|
||||||
Fixes
|
|
||||||
|
|
||||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
|
||||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
|
||||||
... 53 lines deleted ...
|
|
||||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
|
||||||
collect2: ld returned 1 exit status
|
|
||||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
|
||||||
|
|
||||||
when building glibc with --enable-static-nss.
|
|
||||||
|
|
||||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
|
||||||
|
|
||||||
---
|
|
||||||
Makeconfig | 2 +-
|
|
||||||
elf/Makefile | 7 +++++++
|
|
||||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/Makeconfig
|
|
||||||
+++ b/Makeconfig
|
|
||||||
@@ -531,7 +531,7 @@
|
|
||||||
|
|
||||||
# The static libraries.
|
|
||||||
ifeq (yes,$(build-static))
|
|
||||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
|
||||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
|
||||||
else
|
|
||||||
ifeq (yes,$(build-shared))
|
|
||||||
# We can try to link the programs with lib*_pic.a...
|
|
||||||
--- a/elf/Makefile
|
|
||||||
+++ b/elf/Makefile
|
|
||||||
@@ -146,6 +146,13 @@
|
|
||||||
install-bin-script = ldd
|
|
||||||
endif
|
|
||||||
|
|
||||||
+ifeq (yes,$(build-static-nss))
|
|
||||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
|
||||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
|
||||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
|
||||||
+ $(resolvobjdir)/libresolv.a
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
others = sprof sln
|
|
||||||
install-bin = sprof
|
|
||||||
others-static = sln
|
|
43
packages/glibc/2.13/0019-assume-pipe2.patch
vendored
43
packages/glibc/2.13/0019-assume-pipe2.patch
vendored
@ -1,43 +0,0 @@
|
|||||||
http://bugs.gentoo.org/250342
|
|
||||||
http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685
|
|
||||||
|
|
||||||
we cant assume sock_cloexec and pipe2 are bound together as the former defines
|
|
||||||
are found in glibc only while the latter are a combo of kernel headers and
|
|
||||||
glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub
|
|
||||||
inside of glibc, we hit a problem. for example:
|
|
||||||
|
|
||||||
#include <grp.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
getgrnam("portage");
|
|
||||||
if (!popen("ls", "r"))
|
|
||||||
perror("popen()");
|
|
||||||
}
|
|
||||||
|
|
||||||
getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both
|
|
||||||
__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against
|
|
||||||
older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS
|
|
||||||
stub for it. so popen() will always fail as glibc assumes pipe2() works.
|
|
||||||
|
|
||||||
---
|
|
||||||
socket/have_sock_cloexec.c | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/socket/have_sock_cloexec.c
|
|
||||||
+++ b/socket/have_sock_cloexec.c
|
|
||||||
@@ -16,9 +16,14 @@
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
+#include <fcntl.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC
|
|
||||||
int __have_sock_cloexec;
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2
|
|
||||||
+int __have_pipe2;
|
|
||||||
+#endif
|
|
35
packages/glibc/2.13/0020-china.patch
vendored
35
packages/glibc/2.13/0020-china.patch
vendored
@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
localedata/locales/zh_TW | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/localedata/locales/zh_TW
|
|
||||||
+++ b/localedata/locales/zh_TW
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
comment_char %
|
|
||||||
escape_char /
|
|
||||||
%
|
|
||||||
-% Chinese language locale for Taiwan R.O.C.
|
|
||||||
+% Chinese language locale for Taiwan
|
|
||||||
% charmap: BIG5-CP950
|
|
||||||
%
|
|
||||||
% Original Author:
|
|
||||||
@@ -17,7 +17,7 @@
|
|
||||||
% Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf
|
|
||||||
|
|
||||||
LC_IDENTIFICATION
|
|
||||||
-title "Chinese locale for Taiwan R.O.C."
|
|
||||||
+title "Chinese locale for Taiwan"
|
|
||||||
source ""
|
|
||||||
address ""
|
|
||||||
contact ""
|
|
||||||
@@ -25,7 +25,7 @@
|
|
||||||
tel ""
|
|
||||||
fax ""
|
|
||||||
language "Chinese"
|
|
||||||
-territory "Taiwan R.O.C."
|
|
||||||
+territory "Taiwan"
|
|
||||||
revision "0.2"
|
|
||||||
date "2000-08-02"
|
|
||||||
%
|
|
118
packages/glibc/2.13/0021-new-valencian-locale.patch
vendored
118
packages/glibc/2.13/0021-new-valencian-locale.patch
vendored
@ -1,118 +0,0 @@
|
|||||||
http://bugs.gentoo.org/show_bug.cgi?id=131815
|
|
||||||
http://sourceware.org/bugzilla/show_bug.cgi?id=2522
|
|
||||||
|
|
||||||
---
|
|
||||||
localedata/SUPPORTED | 2
|
|
||||||
localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
2 files changed, 98 insertions(+)
|
|
||||||
|
|
||||||
--- a/localedata/SUPPORTED
|
|
||||||
+++ b/localedata/SUPPORTED
|
|
||||||
@@ -72,6 +72,8 @@
|
|
||||||
ca_ES.UTF-8/UTF-8 \
|
|
||||||
ca_ES/ISO-8859-1 \
|
|
||||||
ca_ES@euro/ISO-8859-15 \
|
|
||||||
+ca_ES.UTF-8@valencia/UTF-8 \
|
|
||||||
+ca_ES@valencia/ISO-8859-15 \
|
|
||||||
ca_FR.UTF-8/UTF-8 \
|
|
||||||
ca_FR/ISO-8859-15 \
|
|
||||||
ca_IT.UTF-8/UTF-8 \
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/localedata/locales/ca_ES@valencia
|
|
||||||
@@ -0,0 +1,96 @@
|
|
||||||
+comment_char %
|
|
||||||
+escape_char /
|
|
||||||
+%
|
|
||||||
+% Valencian (southern Catalan) locale for Spain with Euro
|
|
||||||
+%
|
|
||||||
+% Note that this locale is almost the same as ca_ES@euro. The point of having
|
|
||||||
+% a separate locale is only for PO translations, which have a lot of social
|
|
||||||
+% support and are very appreciated by the Valencian-speaking community.
|
|
||||||
+%
|
|
||||||
+% Contact: Jordi Mallach
|
|
||||||
+% Email: jordi@gnu.org
|
|
||||||
+% Tel:
|
|
||||||
+% Fax:
|
|
||||||
+% Language: ca
|
|
||||||
+% Territory: ES
|
|
||||||
+% Option: euro
|
|
||||||
+% Revision: 1.0
|
|
||||||
+% Date: 2006-04-06
|
|
||||||
+% Application: general
|
|
||||||
+% Users: general
|
|
||||||
+% Repertoiremap: mnemonic,ds
|
|
||||||
+% Charset: ISO-8859-15
|
|
||||||
+% Distribution and use is free, also
|
|
||||||
+% for commercial purposes.
|
|
||||||
+
|
|
||||||
+LC_IDENTIFICATION
|
|
||||||
+title "Valencian (southern Catalan) locale for Spain with Euro"
|
|
||||||
+source ""
|
|
||||||
+address ""
|
|
||||||
+contact "Jordi Mallach"
|
|
||||||
+email "jordi@gnu.org"
|
|
||||||
+tel ""
|
|
||||||
+fax ""
|
|
||||||
+language "Catalan"
|
|
||||||
+territory "Spain"
|
|
||||||
+revision "1.0"
|
|
||||||
+date "2006-04-06"
|
|
||||||
+%
|
|
||||||
+category "ca_ES@valencia:2006";LC_IDENTIFICATION
|
|
||||||
+category "ca_ES@valencia:2006";LC_CTYPE
|
|
||||||
+category "ca_ES@valencia:2006";LC_COLLATE
|
|
||||||
+category "ca_ES@valencia:2006";LC_MONETARY
|
|
||||||
+category "ca_ES@valencia:2006";LC_NUMERIC
|
|
||||||
+category "ca_ES@valencia:2006";LC_TIME
|
|
||||||
+category "ca_ES@valencia:2006";LC_MESSAGES
|
|
||||||
+category "ca_ES@valencia:2006";LC_PAPER
|
|
||||||
+category "ca_ES@valencia:2006";LC_NAME
|
|
||||||
+category "ca_ES@valencia:2006";LC_ADDRESS
|
|
||||||
+category "ca_ES@valencia:2006";LC_TELEPHONE
|
|
||||||
+category "ca_ES@valencia:2006";LC_MEASUREMENT
|
|
||||||
+
|
|
||||||
+END LC_IDENTIFICATION
|
|
||||||
+
|
|
||||||
+LC_CTYPE
|
|
||||||
+copy "i18n"
|
|
||||||
+END LC_CTYPE
|
|
||||||
+
|
|
||||||
+LC_COLLATE
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_COLLATE
|
|
||||||
+
|
|
||||||
+LC_MONETARY
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_MONETARY
|
|
||||||
+
|
|
||||||
+LC_NUMERIC
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_NUMERIC
|
|
||||||
+
|
|
||||||
+LC_TIME
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_TIME
|
|
||||||
+
|
|
||||||
+LC_MESSAGES
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_MESSAGES
|
|
||||||
+
|
|
||||||
+LC_PAPER
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_PAPER
|
|
||||||
+
|
|
||||||
+LC_NAME
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_NAME
|
|
||||||
+
|
|
||||||
+LC_ADDRESS
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_ADDRESS
|
|
||||||
+
|
|
||||||
+LC_TELEPHONE
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_TELEPHONE
|
|
||||||
+
|
|
||||||
+LC_MEASUREMENT
|
|
||||||
+copy "ca_ES"
|
|
||||||
+END LC_MEASUREMENT
|
|
@ -1,34 +0,0 @@
|
|||||||
commit ae7080d30c68cfa0c81ce3422dca948f64a94f50
|
|
||||||
Author: Jia Liu <proljc@gmail.com>
|
|
||||||
Date: Sat Sep 7 00:01:08 2013 +0800
|
|
||||||
|
|
||||||
sunrpc/rpc/types.h: fix OS X and FreeBSD build problems
|
|
||||||
|
|
||||||
When I build arm-linux-gcc on OS X, I find glibc will get a build error
|
|
||||||
in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK.
|
|
||||||
For FreeBSD, Add __FreeBSD__ to make it build OK, too.
|
|
||||||
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html
|
|
||||||
URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html
|
|
||||||
Signed-off-by: Jia Liu <proljc@gmail.com>
|
|
||||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
||||||
|
|
||||||
---
|
|
||||||
sunrpc/rpc/types.h | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/sunrpc/rpc/types.h
|
|
||||||
+++ b/sunrpc/rpc/types.h
|
|
||||||
@@ -69,6 +69,11 @@
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined __APPLE_CC__ || defined __FreeBSD__
|
|
||||||
+# define __u_char_defined
|
|
||||||
+# define __daddr_t_defined
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef __u_char_defined
|
|
||||||
typedef __u_char u_char;
|
|
||||||
typedef __u_short u_short;
|
|
43
packages/glibc/2.13/0023-nscd-one-fork.patch
vendored
43
packages/glibc/2.13/0023-nscd-one-fork.patch
vendored
@ -1,43 +0,0 @@
|
|||||||
only fork one to assist in stop-start-daemon assumptions about daemon behavior
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/190785
|
|
||||||
|
|
||||||
---
|
|
||||||
nscd/nscd.c | 12 +++---------
|
|
||||||
1 file changed, 3 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
--- a/nscd/nscd.c
|
|
||||||
+++ b/nscd/nscd.c
|
|
||||||
@@ -182,6 +182,9 @@
|
|
||||||
if (pid != 0)
|
|
||||||
exit (0);
|
|
||||||
|
|
||||||
+ if (write_pid (_PATH_NSCDPID) < 0)
|
|
||||||
+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno));
|
|
||||||
+
|
|
||||||
int nullfd = open (_PATH_DEVNULL, O_RDWR);
|
|
||||||
if (nullfd != -1)
|
|
||||||
{
|
|
||||||
@@ -231,12 +234,6 @@
|
|
||||||
for (i = min_close_fd; i < getdtablesize (); i++)
|
|
||||||
close (i);
|
|
||||||
|
|
||||||
- pid = fork ();
|
|
||||||
- if (pid == -1)
|
|
||||||
- error (EXIT_FAILURE, errno, _("cannot fork"));
|
|
||||||
- if (pid != 0)
|
|
||||||
- exit (0);
|
|
||||||
-
|
|
||||||
setsid ();
|
|
||||||
|
|
||||||
if (chdir ("/") != 0)
|
|
||||||
@@ -245,9 +242,6 @@
|
|
||||||
|
|
||||||
openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON);
|
|
||||||
|
|
||||||
- if (write_pid (_PATH_NSCDPID) < 0)
|
|
||||||
- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno));
|
|
||||||
-
|
|
||||||
if (!init_logfile ())
|
|
||||||
dbg_log (_("Could not create log file"));
|
|
||||||
|
|
249
packages/glibc/2.13/0024-hppa-nptl-carlos.patch
vendored
249
packages/glibc/2.13/0024-hppa-nptl-carlos.patch
vendored
@ -1,249 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
elf/rtld.c | 10 +++++-----
|
|
||||||
include/atomic.h | 26 +++++++++++++-------------
|
|
||||||
nptl/Makefile | 35 ++++++++++++++++++++++++++++++++---
|
|
||||||
nptl/pthread_barrier_wait.c | 2 +-
|
|
||||||
nptl/sysdeps/pthread/Makefile | 2 ++
|
|
||||||
stdio-common/Makefile | 2 +-
|
|
||||||
sunrpc/clnt_udp.c | 2 +-
|
|
||||||
7 files changed, 55 insertions(+), 24 deletions(-)
|
|
||||||
|
|
||||||
--- a/elf/rtld.c
|
|
||||||
+++ b/elf/rtld.c
|
|
||||||
@@ -392,14 +392,14 @@
|
|
||||||
know it is available. We do not have to clear the memory if we
|
|
||||||
do not have to use the temporary bootstrap_map. Global variables
|
|
||||||
are initialized to zero by default. */
|
|
||||||
-#ifndef DONT_USE_BOOTSTRAP_MAP
|
|
||||||
+#if !defined DONT_USE_BOOTSTRAP_MAP
|
|
||||||
# ifdef HAVE_BUILTIN_MEMSET
|
|
||||||
__builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info));
|
|
||||||
# else
|
|
||||||
- for (size_t cnt = 0;
|
|
||||||
- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]);
|
|
||||||
- ++cnt)
|
|
||||||
- bootstrap_map.l_info[cnt] = 0;
|
|
||||||
+ /* Clear the whole bootstrap_map structure */
|
|
||||||
+ for (char *cnt = (char *)&(bootstrap_map);
|
|
||||||
+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map));
|
|
||||||
+ *cnt++ = '\0');
|
|
||||||
# endif
|
|
||||||
# if USE___THREAD
|
|
||||||
bootstrap_map.l_tls_modid = 0;
|
|
||||||
--- a/include/atomic.h
|
|
||||||
+++ b/include/atomic.h
|
|
||||||
@@ -185,7 +185,7 @@
|
|
||||||
__typeof (*(mem)) __atg5_value = (newvalue); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg5_oldval = *__atg5_memp; \
|
|
||||||
+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \
|
|
||||||
__atg5_oldval), 0)); \
|
|
||||||
@@ -206,7 +206,7 @@
|
|
||||||
__typeof (*(mem)) __atg6_value = (value); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg6_oldval = *__atg6_memp; \
|
|
||||||
+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg6_memp, \
|
|
||||||
__atg6_oldval \
|
|
||||||
@@ -224,7 +224,7 @@
|
|
||||||
__typeof (*(mem)) __atg7_value = (value); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg7_oldv = *__atg7_memp; \
|
|
||||||
+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(catomic_compare_and_exchange_bool_acq (__atg7_memp, \
|
|
||||||
__atg7_oldv \
|
|
||||||
@@ -242,7 +242,7 @@
|
|
||||||
__typeof (mem) __atg8_memp = (mem); \
|
|
||||||
__typeof (*(mem)) __atg8_value = (value); \
|
|
||||||
do { \
|
|
||||||
- __atg8_oldval = *__atg8_memp; \
|
|
||||||
+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \
|
|
||||||
if (__atg8_oldval >= __atg8_value) \
|
|
||||||
break; \
|
|
||||||
} while (__builtin_expect \
|
|
||||||
@@ -259,7 +259,7 @@
|
|
||||||
__typeof (mem) __atg9_memp = (mem); \
|
|
||||||
__typeof (*(mem)) __atg9_value = (value); \
|
|
||||||
do { \
|
|
||||||
- __atg9_oldv = *__atg9_memp; \
|
|
||||||
+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \
|
|
||||||
if (__atg9_oldv >= __atg9_value) \
|
|
||||||
break; \
|
|
||||||
} while (__builtin_expect \
|
|
||||||
@@ -277,7 +277,7 @@
|
|
||||||
__typeof (mem) __atg10_memp = (mem); \
|
|
||||||
__typeof (*(mem)) __atg10_value = (value); \
|
|
||||||
do { \
|
|
||||||
- __atg10_oldval = *__atg10_memp; \
|
|
||||||
+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \
|
|
||||||
if (__atg10_oldval <= __atg10_value) \
|
|
||||||
break; \
|
|
||||||
} while (__builtin_expect \
|
|
||||||
@@ -361,7 +361,7 @@
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
- __atg11_oldval = *__atg11_memp; \
|
|
||||||
+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \
|
|
||||||
if (__builtin_expect (__atg11_oldval <= 0, 0)) \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
@@ -400,7 +400,7 @@
|
|
||||||
__typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg14_old = (*__atg14_memp); \
|
|
||||||
+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg14_memp, \
|
|
||||||
__atg14_old | __atg14_mask,\
|
|
||||||
@@ -418,7 +418,7 @@
|
|
||||||
__typeof (*(mem)) __atg15_mask = (mask); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg15_old = (*__atg15_memp); \
|
|
||||||
+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg15_memp, \
|
|
||||||
__atg15_old & __atg15_mask, \
|
|
||||||
@@ -450,7 +450,7 @@
|
|
||||||
__typeof (*(mem)) __atg16_mask = (mask); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg16_old = (*__atg16_memp); \
|
|
||||||
+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg16_memp, \
|
|
||||||
__atg16_old & __atg16_mask,\
|
|
||||||
@@ -468,7 +468,7 @@
|
|
||||||
__typeof (*(mem)) __atg17_mask = (mask); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg17_old = (*__atg17_memp); \
|
|
||||||
+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg17_memp, \
|
|
||||||
__atg17_old | __atg17_mask, \
|
|
||||||
@@ -484,7 +484,7 @@
|
|
||||||
__typeof (*(mem)) __atg18_mask = (mask); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg18_old = (*__atg18_memp); \
|
|
||||||
+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(catomic_compare_and_exchange_bool_acq (__atg18_memp, \
|
|
||||||
__atg18_old | __atg18_mask,\
|
|
||||||
@@ -500,7 +500,7 @@
|
|
||||||
__typeof (*(mem)) __atg19_mask = (mask); \
|
|
||||||
\
|
|
||||||
do \
|
|
||||||
- __atg19_old = (*__atg19_memp); \
|
|
||||||
+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \
|
|
||||||
while (__builtin_expect \
|
|
||||||
(atomic_compare_and_exchange_bool_acq (__atg19_memp, \
|
|
||||||
__atg19_old | __atg19_mask,\
|
|
||||||
--- a/nptl/Makefile
|
|
||||||
+++ b/nptl/Makefile
|
|
||||||
@@ -265,9 +265,9 @@
|
|
||||||
# Files which must not be linked with libpthread.
|
|
||||||
tests-nolibpthread = tst-unload
|
|
||||||
|
|
||||||
-# This sets the stack resource limit to 1023kb, which is not a multiple
|
|
||||||
-# of the page size since every architecture's page size is > 1k.
|
|
||||||
-tst-oddstacklimit-ENV = ; ulimit -s 1023;
|
|
||||||
+# This sets the stack resource limit to 8193kb, which is not a multiple
|
|
||||||
+# of the page size since every architecture's page size is 4096 bytes.
|
|
||||||
+tst-oddstacklimit-ENV = ; ulimit -s 8193;
|
|
||||||
|
|
||||||
distribute = eintr.c tst-cleanup4aux.c
|
|
||||||
|
|
||||||
@@ -426,6 +426,35 @@
|
|
||||||
CFLAGS-tst-cleanupx4.c += -fexceptions
|
|
||||||
CFLAGS-tst-oncex3.c += -fexceptions
|
|
||||||
CFLAGS-tst-oncex4.c += -fexceptions
|
|
||||||
+
|
|
||||||
+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed
|
|
||||||
+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s)
|
|
||||||
+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s)
|
|
||||||
+
|
|
||||||
CFLAGS-tst-align.c += $(stack-align-test-flags)
|
|
||||||
CFLAGS-tst-align3.c += $(stack-align-test-flags)
|
|
||||||
CFLAGS-tst-initializers1.c = -W -Wall -Werror
|
|
||||||
--- a/nptl/pthread_barrier_wait.c
|
|
||||||
+++ b/nptl/pthread_barrier_wait.c
|
|
||||||
@@ -64,7 +64,7 @@
|
|
||||||
do
|
|
||||||
lll_futex_wait (&ibarrier->curr_event, event,
|
|
||||||
ibarrier->private ^ FUTEX_PRIVATE_FLAG);
|
|
||||||
- while (event == ibarrier->curr_event);
|
|
||||||
+ while (event == *(volatile unsigned int *)&ibarrier->curr_event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make sure the init_count is stored locally or in a register. */
|
|
||||||
--- a/nptl/sysdeps/pthread/Makefile
|
|
||||||
+++ b/nptl/sysdeps/pthread/Makefile
|
|
||||||
@@ -33,7 +33,9 @@
|
|
||||||
|
|
||||||
ifeq ($(have-forced-unwind),yes)
|
|
||||||
tests += tst-mqueue8x
|
|
||||||
+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed
|
|
||||||
CFLAGS-tst-mqueue8x.c += -fexceptions
|
|
||||||
+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
--- a/stdio-common/Makefile
|
|
||||||
+++ b/stdio-common/Makefile
|
|
||||||
@@ -82,7 +82,7 @@
|
|
||||||
$(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)'
|
|
||||||
endif
|
|
||||||
|
|
||||||
-CFLAGS-vfprintf.c = -Wno-uninitialized
|
|
||||||
+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch
|
|
||||||
CFLAGS-vfwprintf.c = -Wno-uninitialized
|
|
||||||
CFLAGS-tst-printf.c = -Wno-format
|
|
||||||
CFLAGS-tstdiomisc.c = -Wno-format
|
|
||||||
--- a/sunrpc/clnt_udp.c
|
|
||||||
+++ b/sunrpc/clnt_udp.c
|
|
||||||
@@ -456,7 +456,7 @@
|
|
||||||
while (inlen < 0 && errno == EINTR);
|
|
||||||
if (inlen < 0)
|
|
||||||
{
|
|
||||||
- if (errno == EWOULDBLOCK)
|
|
||||||
+ if (errno == EWOULDBLOCK || errno == EAGAIN)
|
|
||||||
continue;
|
|
||||||
cu->cu_error.re_errno = errno;
|
|
||||||
return (cu->cu_error.re_status = RPC_CANTRECV);
|
|
@ -1,69 +0,0 @@
|
|||||||
With latest versions of glibc, a lot of apps failed on a PaX enabled
|
|
||||||
system with:
|
|
||||||
cannot enable executable stack as shared object requires: Permission denied
|
|
||||||
|
|
||||||
This is due to PaX 'exec-protecting' the stack, and ld.so then trying
|
|
||||||
to make the stack executable due to some libraries not containing the
|
|
||||||
PT_GNU_STACK section. Bug #32960. <azarah@gentoo.org> (12 Nov 2003).
|
|
||||||
|
|
||||||
Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (20 Dec 2005).
|
|
||||||
|
|
||||||
---
|
|
||||||
nptl/allocatestack.c | 3 ++-
|
|
||||||
sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++---
|
|
||||||
2 files changed, 18 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/nptl/allocatestack.c
|
|
||||||
+++ b/nptl/allocatestack.c
|
|
||||||
@@ -329,7 +329,8 @@
|
|
||||||
# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
|
|
||||||
#endif
|
|
||||||
if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
|
||||||
- return errno;
|
|
||||||
+ if (errno != EACCES) /* PAX is enabled */
|
|
||||||
+ return errno;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
--- a/sysdeps/unix/sysv/linux/dl-execstack.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/dl-execstack.c
|
|
||||||
@@ -63,7 +63,10 @@
|
|
||||||
else
|
|
||||||
# endif
|
|
||||||
{
|
|
||||||
- result = errno;
|
|
||||||
+ if (errno == EACCES) /* PAX is enabled */
|
|
||||||
+ result = 0;
|
|
||||||
+ else
|
|
||||||
+ result = errno;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -89,7 +92,12 @@
|
|
||||||
page -= size;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- if (errno != ENOMEM) /* Unexpected failure mode. */
|
|
||||||
+ if (errno == EACCES) /* PAX is enabled */
|
|
||||||
+ {
|
|
||||||
+ result = 0;
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+ else if (errno != ENOMEM) /* Unexpected failure mode. */
|
|
||||||
{
|
|
||||||
result = errno;
|
|
||||||
goto out;
|
|
||||||
@@ -115,7 +123,12 @@
|
|
||||||
page += size;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- if (errno != ENOMEM) /* Unexpected failure mode. */
|
|
||||||
+ if (errno == EACCES) /* PAX is enabled */
|
|
||||||
+ {
|
|
||||||
+ result = 0;
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+ else if (errno != ENOMEM) /* Unexpected failure mode. */
|
|
||||||
{
|
|
||||||
result = errno;
|
|
||||||
goto out;
|
|
@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
elf/elf.h | 13 +++++++++++++
|
|
||||||
1 file changed, 13 insertions(+)
|
|
||||||
|
|
||||||
--- a/elf/elf.h
|
|
||||||
+++ b/elf/elf.h
|
|
||||||
@@ -580,6 +580,7 @@
|
|
||||||
#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
|
|
||||||
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
|
|
||||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
|
||||||
+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
|
|
||||||
#define PT_LOSUNW 0x6ffffffa
|
|
||||||
#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
|
|
||||||
#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
|
|
||||||
@@ -593,6 +594,18 @@
|
|
||||||
#define PF_X (1 << 0) /* Segment is executable */
|
|
||||||
#define PF_W (1 << 1) /* Segment is writable */
|
|
||||||
#define PF_R (1 << 2) /* Segment is readable */
|
|
||||||
+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
|
|
||||||
+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
|
|
||||||
+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
|
|
||||||
+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
|
|
||||||
+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
|
|
||||||
+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
|
|
||||||
+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
|
|
||||||
+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
|
|
||||||
+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
|
|
||||||
+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
|
|
||||||
+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
|
|
||||||
+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
|
|
||||||
#define PF_MASKOS 0x0ff00000 /* OS-specific */
|
|
||||||
#define PF_MASKPROC 0xf0000000 /* Processor-specific */
|
|
||||||
|
|
@ -1,196 +0,0 @@
|
|||||||
when glibc runs its tests, it does so by invoking the local library loader.
|
|
||||||
in Gentoo, we build/run inside of our "sandbox" which itself is linked against
|
|
||||||
libdl (so that it can load libraries and pull out symbols). the trouble
|
|
||||||
is that when you upgrade from an older glibc to the new one, often times
|
|
||||||
internal symbols change name or abi. this is normally OK as you cannot use
|
|
||||||
libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so
|
|
||||||
we always say "keep all of the glibc libraries from the same build". but
|
|
||||||
when glibc runs its tests, it uses dynamic paths to point to its new local
|
|
||||||
copies of libraries. if the test doesnt use libdl, then glibc doesnt add
|
|
||||||
its path, and when sandbox triggers the loading of libdl, glibc does so
|
|
||||||
from the host system system. this gets us into the case of all libraries
|
|
||||||
are from the locally compiled version of glibc except for libdl.so.
|
|
||||||
|
|
||||||
Fix by Wormo
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/56898
|
|
||||||
|
|
||||||
---
|
|
||||||
grp/tst_fgetgrent.sh | 3 ++-
|
|
||||||
iconvdata/run-iconv-test.sh | 2 +-
|
|
||||||
iconvdata/tst-table.sh | 5 ++++-
|
|
||||||
intl/tst-codeset.sh | 3 +++
|
|
||||||
intl/tst-gettext.sh | 5 ++++-
|
|
||||||
intl/tst-gettext2.sh | 5 ++++-
|
|
||||||
intl/tst-translit.sh | 5 ++++-
|
|
||||||
malloc/tst-mtrace.sh | 5 ++++-
|
|
||||||
nptl/tst-tls6.sh | 4 ++--
|
|
||||||
posix/globtest.sh | 2 +-
|
|
||||||
posix/tst-getconf.sh | 5 ++++-
|
|
||||||
posix/wordexp-tst.sh | 5 ++++-
|
|
||||||
12 files changed, 37 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
--- a/grp/tst_fgetgrent.sh
|
|
||||||
+++ b/grp/tst_fgetgrent.sh
|
|
||||||
@@ -24,7 +24,8 @@
|
|
||||||
rtld_installed_name=$1; shift
|
|
||||||
|
|
||||||
testout=${common_objpfx}/grp/tst_fgetgrent.out
|
|
||||||
-library_path=${common_objpfx}
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
|
|
||||||
result=0
|
|
||||||
|
|
||||||
--- a/iconvdata/run-iconv-test.sh
|
|
||||||
+++ b/iconvdata/run-iconv-test.sh
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
export GCONV_PATH
|
|
||||||
|
|
||||||
# We have to have some directories in the library path.
|
|
||||||
-LIBPATH=$codir:$codir/iconvdata
|
|
||||||
+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn
|
|
||||||
|
|
||||||
# How the start the iconv(1) program.
|
|
||||||
ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \
|
|
||||||
--- a/iconvdata/tst-table.sh
|
|
||||||
+++ b/iconvdata/tst-table.sh
|
|
||||||
@@ -59,8 +59,11 @@
|
|
||||||
irreversible=${charset}.irreversible
|
|
||||||
fi
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
# iconv in one direction.
|
|
||||||
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
+${common_objpfx}elf/ld.so --library-path $library_path \
|
|
||||||
${objpfx}tst-table-from ${charset} \
|
|
||||||
> ${objpfx}tst-${charset}.table
|
|
||||||
|
|
||||||
--- a/intl/tst-codeset.sh
|
|
||||||
+++ b/intl/tst-codeset.sh
|
|
||||||
@@ -37,6 +37,9 @@
|
|
||||||
LOCPATH=${common_objpfx}localedata
|
|
||||||
export LOCPATH
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
${objpfx}tst-codeset > ${objpfx}tst-codeset.out
|
|
||||||
|
|
||||||
--- a/intl/tst-gettext.sh
|
|
||||||
+++ b/intl/tst-gettext.sh
|
|
||||||
@@ -51,9 +51,12 @@
|
|
||||||
LOCPATH=${common_objpfx}localedata
|
|
||||||
export LOCPATH
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
# Now run the test.
|
|
||||||
MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \
|
|
||||||
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
+${common_objpfx}elf/ld.so --library-path $library_path \
|
|
||||||
${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
--- a/intl/tst-gettext2.sh
|
|
||||||
+++ b/intl/tst-gettext2.sh
|
|
||||||
@@ -65,8 +65,11 @@
|
|
||||||
LOCPATH=${objpfx}domaindir
|
|
||||||
export LOCPATH
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
# Now run the test.
|
|
||||||
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
+${common_objpfx}elf/ld.so --library-path $library_path \
|
|
||||||
${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir &&
|
|
||||||
cmp ${objpfx}tst-gettext2.out - <<EOF
|
|
||||||
String1 - Lang1: 1st string
|
|
||||||
--- a/intl/tst-translit.sh
|
|
||||||
+++ b/intl/tst-translit.sh
|
|
||||||
@@ -36,7 +36,10 @@
|
|
||||||
LOCPATH=${common_objpfx}localedata
|
|
||||||
export LOCPATH
|
|
||||||
|
|
||||||
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
+${common_objpfx}elf/ld.so --library-path $library_path \
|
|
||||||
${objpfx}tst-translit > ${objpfx}tst-translit.out ${objpfx}domaindir
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
--- a/malloc/tst-mtrace.sh
|
|
||||||
+++ b/malloc/tst-mtrace.sh
|
|
||||||
@@ -24,9 +24,12 @@
|
|
||||||
status=0
|
|
||||||
trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \
|
|
||||||
LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
|
|
||||||
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
|
|
||||||
+${common_objpfx}elf/ld.so --library-path $library_path \
|
|
||||||
${common_objpfx}malloc/tst-mtrace || status=1
|
|
||||||
|
|
||||||
if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then
|
|
||||||
--- a/nptl/tst-tls6.sh
|
|
||||||
+++ b/nptl/tst-tls6.sh
|
|
||||||
@@ -5,8 +5,8 @@
|
|
||||||
rtld_installed_name=$1; shift
|
|
||||||
logfile=$common_objpfx/nptl/tst-tls6.out
|
|
||||||
|
|
||||||
-# We have to find libc and nptl
|
|
||||||
-library_path=${common_objpfx}:${common_objpfx}nptl
|
|
||||||
+# We have to find libc and nptl (also libdl in case sandbox is in use)
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn
|
|
||||||
tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
|
|
||||||
${common_objpfx}/nptl/tst-tls5"
|
|
||||||
|
|
||||||
--- a/posix/globtest.sh
|
|
||||||
+++ b/posix/globtest.sh
|
|
||||||
@@ -18,7 +18,7 @@
|
|
||||||
esac
|
|
||||||
|
|
||||||
# We have to find the libc and the NSS modules.
|
|
||||||
-library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn
|
|
||||||
|
|
||||||
# Since we use `sort' we must make sure to use the same locale everywhere.
|
|
||||||
LC_ALL=C
|
|
||||||
--- a/posix/tst-getconf.sh
|
|
||||||
+++ b/posix/tst-getconf.sh
|
|
||||||
@@ -10,7 +10,10 @@
|
|
||||||
else
|
|
||||||
rtld_installed_name=$1; shift
|
|
||||||
runit() {
|
|
||||||
- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@"
|
|
||||||
+
|
|
||||||
+ # make sure libdl is also in path in case sandbox is in use
|
|
||||||
+ library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@"
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
--- a/posix/wordexp-tst.sh
|
|
||||||
+++ b/posix/wordexp-tst.sh
|
|
||||||
@@ -19,8 +19,11 @@
|
|
||||||
"
|
|
||||||
export IFS
|
|
||||||
|
|
||||||
+# make sure libdl is also in path in case sandbox is in use
|
|
||||||
+library_path=${common_objpfx}:${common_objpfx}/dlfcn
|
|
||||||
+
|
|
||||||
failed=0
|
|
||||||
-${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
|
|
||||||
+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
|
|
||||||
${common_objpfx}posix/wordexp-test '$*' > ${testout}1
|
|
||||||
cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1
|
|
||||||
wordexp returned 0
|
|
@ -1,17 +0,0 @@
|
|||||||
timezone data has been split into the package sys-libs/timezone-data
|
|
||||||
|
|
||||||
---
|
|
||||||
Makeconfig | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/Makeconfig
|
|
||||||
+++ b/Makeconfig
|
|
||||||
@@ -944,7 +944,7 @@
|
|
||||||
stdlib stdio-common libio malloc string wcsmbs time dirent \
|
|
||||||
grp pwd posix io termios resource misc socket sysvipc gmon \
|
|
||||||
gnulib iconv iconvdata wctype manual shadow gshadow po argp \
|
|
||||||
- crypt nss localedata timezone rt conform debug \
|
|
||||||
+ crypt nss localedata rt conform debug \
|
|
||||||
$(add-on-subdirs) $(dlfcn) $(binfmt-subdir)
|
|
||||||
|
|
||||||
ifndef avoid-generated
|
|
18
packages/glibc/2.13/0029-alpha-xstat.patch
vendored
18
packages/glibc/2.13/0029-alpha-xstat.patch
vendored
@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/kernel-features.h | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
@@ -386,6 +386,11 @@
|
|
||||||
# define __ASSUME_GETDENTS32_D_TYPE 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */
|
|
||||||
+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__
|
|
||||||
+# define __ASSUME_STAT64_SYSCALL 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* Starting with version 2.5.3, the initial location returned by `brk'
|
|
||||||
after exec is always rounded up to the next page. */
|
|
||||||
#if __LINUX_KERNEL_VERSION >= 132355
|
|
17
packages/glibc/2.13/0030-alpha-creat.patch
vendored
17
packages/glibc/2.13/0030-alpha-creat.patch
vendored
@ -1,17 +0,0 @@
|
|||||||
alpha does not have a __NR_creat
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/227275
|
|
||||||
http://sourceware.org/bugzilla/show_bug.cgi?id=6650
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/wordsize-64/creat64.c | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/wordsize-64/creat64.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/wordsize-64/creat64.c
|
|
||||||
@@ -1 +1,5 @@
|
|
||||||
/* Defined as alias for the syscall. */
|
|
||||||
+#include <sysdep.h>
|
|
||||||
+#ifndef __NR_creat
|
|
||||||
+#include "../../../../../io/creat64.c"
|
|
||||||
+#endif
|
|
@ -1,122 +0,0 @@
|
|||||||
2009-07-25 Aurelien Jarno <aurelien@aurel32.net>
|
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/kernel-features.h: define
|
|
||||||
__ASSUME_FDATASYNC.
|
|
||||||
* sysdeps/unix/sysv/linux/fdatasync.c: New file.
|
|
||||||
* sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with
|
|
||||||
-fexceptions.
|
|
||||||
* sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync.
|
|
||||||
|
|
||||||
sysdeps/unix/sysv/linux/Makefile | 1
|
|
||||||
sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++
|
|
||||||
sysdeps/unix/sysv/linux/kernel-features.h | 6 ++
|
|
||||||
sysdeps/unix/sysv/linux/syscalls.list | 1
|
|
||||||
4 files changed, 76 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/Makefile
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/Makefile
|
|
||||||
@@ -20,6 +20,7 @@
|
|
||||||
setfsuid setfsgid makedev epoll_pwait signalfd \
|
|
||||||
eventfd eventfd_read eventfd_write prlimit
|
|
||||||
|
|
||||||
+CFLAGS-fdatasync.c = -fexceptions
|
|
||||||
CFLAGS-gethostid.c = -fexceptions
|
|
||||||
|
|
||||||
sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/fdatasync.c
|
|
||||||
@@ -0,0 +1,69 @@
|
|
||||||
+/* fdatasync -- synchronize at least the data part of a file with
|
|
||||||
+ the underlying media. Linux version.
|
|
||||||
+
|
|
||||||
+ Copyright (C) 2007 Free Software Foundation, Inc.
|
|
||||||
+ This file is part of the GNU C Library.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, write to the Free
|
|
||||||
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
+ 02111-1307 USA. */
|
|
||||||
+
|
|
||||||
+#include <errno.h>
|
|
||||||
+#include <unistd.h>
|
|
||||||
+
|
|
||||||
+#include <sysdep-cancel.h>
|
|
||||||
+#include <sys/syscall.h>
|
|
||||||
+#include <bp-checks.h>
|
|
||||||
+
|
|
||||||
+#include <kernel-features.h>
|
|
||||||
+
|
|
||||||
+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC
|
|
||||||
+static int __have_no_fdatasync;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+do_fdatasync (int fd)
|
|
||||||
+{
|
|
||||||
+#ifdef __ASSUME_FDATASYNC
|
|
||||||
+ return INLINE_SYSCALL (fdatasync, 1, fd);
|
|
||||||
+#elif defined __NR_fdatasync
|
|
||||||
+ if (!__builtin_expect (__have_no_fdatasync, 0))
|
|
||||||
+ {
|
|
||||||
+ int result = INLINE_SYSCALL (fdatasync, 1, fd);
|
|
||||||
+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS)
|
|
||||||
+ return result;
|
|
||||||
+
|
|
||||||
+ __have_no_fdatasync = 1;
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+ return INLINE_SYSCALL (fsync, 1, fd);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+__fdatasync (int fd)
|
|
||||||
+{
|
|
||||||
+ if (SINGLE_THREAD_P)
|
|
||||||
+ return do_fdatasync (fd);
|
|
||||||
+
|
|
||||||
+ int oldtype = LIBC_CANCEL_ASYNC ();
|
|
||||||
+
|
|
||||||
+ int result = do_fdatasync (fd);
|
|
||||||
+
|
|
||||||
+ LIBC_CANCEL_RESET (oldtype);
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+weak_alias (__fdatasync, fdatasync)
|
|
||||||
+
|
|
||||||
--- a/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
@@ -459,6 +459,12 @@
|
|
||||||
# define __ASSUME_FUTEX_LOCK_PI 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it
|
|
||||||
+ was already present in 2.0 kernels on other architectures. */
|
|
||||||
+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616)
|
|
||||||
+# define __ASSUME_FDATASYNC 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* Support for utimensat syscall was added in 2.6.22, on SH
|
|
||||||
only after 2.6.22-rc1. */
|
|
||||||
#if __LINUX_KERNEL_VERSION >= 0x020616 \
|
|
||||||
--- a/sysdeps/unix/sysv/linux/syscalls.list
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/syscalls.list
|
|
||||||
@@ -11,7 +11,6 @@
|
|
||||||
epoll_create1 EXTRA epoll_create1 i:i epoll_create1
|
|
||||||
epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl
|
|
||||||
epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait
|
|
||||||
-fdatasync - fdatasync Ci:i fdatasync
|
|
||||||
flock - flock i:ii __flock flock
|
|
||||||
fork - fork i: __libc_fork __fork fork
|
|
||||||
get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms
|
|
412
packages/glibc/2.13/0032-ppc-atomic.patch
vendored
412
packages/glibc/2.13/0032-ppc-atomic.patch
vendored
@ -1,412 +0,0 @@
|
|||||||
sniped from suse
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/powerpc/bits/atomic.h | 66 ++++++++++-----------
|
|
||||||
sysdeps/powerpc/powerpc32/bits/atomic.h | 16 ++---
|
|
||||||
sysdeps/powerpc/powerpc64/bits/atomic.h | 98 ++++++++++++++++----------------
|
|
||||||
3 files changed, 90 insertions(+), 90 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/powerpc/bits/atomic.h
|
|
||||||
+++ b/sysdeps/powerpc/bits/atomic.h
|
|
||||||
@@ -85,14 +85,14 @@
|
|
||||||
__typeof (*(mem)) __tmp; \
|
|
||||||
__typeof (mem) __memp = (mem); \
|
|
||||||
__asm __volatile ( \
|
|
||||||
- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
" cmpw %0,%2\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %3,0,%1\n" \
|
|
||||||
+ " stwcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (__memp), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*__memp) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp; \
|
|
||||||
})
|
|
||||||
@@ -102,14 +102,14 @@
|
|
||||||
__typeof (*(mem)) __tmp; \
|
|
||||||
__typeof (mem) __memp = (mem); \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
" cmpw %0,%2\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %3,0,%1\n" \
|
|
||||||
+ " stwcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (__memp), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (__memp) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp; \
|
|
||||||
})
|
|
||||||
@@ -118,12 +118,12 @@
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val; \
|
|
||||||
__asm __volatile ( \
|
|
||||||
- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \
|
|
||||||
- " stwcx. %3,0,%2\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ " stwcx. %2,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
" " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&r" (__val), "+Z" (*mem) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -132,11 +132,11 @@
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \
|
|
||||||
- " stwcx. %3,0,%2\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
+ " stwcx. %2,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&r" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&r" (__val), "+Z" (*mem) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -144,12 +144,12 @@
|
|
||||||
#define __arch_atomic_exchange_and_add_32(mem, value) \
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val, __tmp; \
|
|
||||||
- __asm __volatile ("1: lwarx %0,0,%3\n" \
|
|
||||||
- " add %1,%0,%4\n" \
|
|
||||||
- " stwcx. %1,0,%3\n" \
|
|
||||||
+ __asm __volatile ("1: lwarx %0,%y2\n" \
|
|
||||||
+ " add %1,%0,%3\n" \
|
|
||||||
+ " stwcx. %1,%y2\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -157,12 +157,12 @@
|
|
||||||
#define __arch_atomic_increment_val_32(mem) \
|
|
||||||
({ \
|
|
||||||
__typeof (*(mem)) __val; \
|
|
||||||
- __asm __volatile ("1: lwarx %0,0,%2\n" \
|
|
||||||
+ __asm __volatile ("1: lwarx %0,%y1\n" \
|
|
||||||
" addi %0,%0,1\n" \
|
|
||||||
- " stwcx. %0,0,%2\n" \
|
|
||||||
+ " stwcx. %0,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "+Z" (*mem) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -170,27 +170,27 @@
|
|
||||||
#define __arch_atomic_decrement_val_32(mem) \
|
|
||||||
({ \
|
|
||||||
__typeof (*(mem)) __val; \
|
|
||||||
- __asm __volatile ("1: lwarx %0,0,%2\n" \
|
|
||||||
+ __asm __volatile ("1: lwarx %0,%y1\n" \
|
|
||||||
" subi %0,%0,1\n" \
|
|
||||||
- " stwcx. %0,0,%2\n" \
|
|
||||||
+ " stwcx. %0,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "+Z" (*mem) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __arch_atomic_decrement_if_positive_32(mem) \
|
|
||||||
({ int __val, __tmp; \
|
|
||||||
- __asm __volatile ("1: lwarx %0,0,%3\n" \
|
|
||||||
+ __asm __volatile ("1: lwarx %0,%y2\n" \
|
|
||||||
" cmpwi 0,%0,0\n" \
|
|
||||||
" addi %1,%0,-1\n" \
|
|
||||||
" ble 2f\n" \
|
|
||||||
- " stwcx. %1,0,%3\n" \
|
|
||||||
+ " stwcx. %1,%y2\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
--- a/sysdeps/powerpc/powerpc32/bits/atomic.h
|
|
||||||
+++ b/sysdeps/powerpc/powerpc32/bits/atomic.h
|
|
||||||
@@ -44,14 +44,14 @@
|
|
||||||
({ \
|
|
||||||
unsigned int __tmp; \
|
|
||||||
__asm __volatile ( \
|
|
||||||
- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
" subf. %0,%2,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %3,0,%1\n" \
|
|
||||||
+ " stwcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (mem), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
@@ -60,14 +60,14 @@
|
|
||||||
({ \
|
|
||||||
unsigned int __tmp; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \
|
|
||||||
+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
" subf. %0,%2,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %3,0,%1\n" \
|
|
||||||
+ " stwcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (mem), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
--- a/sysdeps/powerpc/powerpc64/bits/atomic.h
|
|
||||||
+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h
|
|
||||||
@@ -44,14 +44,14 @@
|
|
||||||
({ \
|
|
||||||
unsigned int __tmp, __tmp2; \
|
|
||||||
__asm __volatile (" clrldi %1,%1,32\n" \
|
|
||||||
- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \
|
|
||||||
" subf. %0,%1,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %4,0,%2\n" \
|
|
||||||
+ " stwcx. %4,%y2\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__tmp), "=r" (__tmp2) \
|
|
||||||
- : "b" (mem), "1" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \
|
|
||||||
+ : "1" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
@@ -61,14 +61,14 @@
|
|
||||||
unsigned int __tmp, __tmp2; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
" clrldi %1,%1,32\n" \
|
|
||||||
- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \
|
|
||||||
+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \
|
|
||||||
" subf. %0,%1,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stwcx. %4,0,%2\n" \
|
|
||||||
+ " stwcx. %4,%y2\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " \
|
|
||||||
- : "=&r" (__tmp), "=r" (__tmp2) \
|
|
||||||
- : "b" (mem), "1" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \
|
|
||||||
+ : "1" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
@@ -82,14 +82,14 @@
|
|
||||||
({ \
|
|
||||||
unsigned long __tmp; \
|
|
||||||
__asm __volatile ( \
|
|
||||||
- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
" subf. %0,%2,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stdcx. %3,0,%1\n" \
|
|
||||||
+ " stdcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (mem), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
@@ -98,14 +98,14 @@
|
|
||||||
({ \
|
|
||||||
unsigned long __tmp; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
" subf. %0,%2,%0\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stdcx. %3,0,%1\n" \
|
|
||||||
+ " stdcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (mem), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp != 0; \
|
|
||||||
})
|
|
||||||
@@ -115,14 +115,14 @@
|
|
||||||
__typeof (*(mem)) __tmp; \
|
|
||||||
__typeof (mem) __memp = (mem); \
|
|
||||||
__asm __volatile ( \
|
|
||||||
- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
" cmpd %0,%2\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stdcx. %3,0,%1\n" \
|
|
||||||
+ " stdcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (__memp), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*__memp) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp; \
|
|
||||||
})
|
|
||||||
@@ -132,14 +132,14 @@
|
|
||||||
__typeof (*(mem)) __tmp; \
|
|
||||||
__typeof (mem) __memp = (mem); \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
" cmpd %0,%2\n" \
|
|
||||||
" bne 2f\n" \
|
|
||||||
- " stdcx. %3,0,%1\n" \
|
|
||||||
+ " stdcx. %3,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " \
|
|
||||||
- : "=&r" (__tmp) \
|
|
||||||
- : "b" (__memp), "r" (oldval), "r" (newval) \
|
|
||||||
+ : "=&r" (__tmp), "+Z" (*__memp) \
|
|
||||||
+ : "r" (oldval), "r" (newval) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__tmp; \
|
|
||||||
})
|
|
||||||
@@ -148,12 +148,12 @@
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \
|
|
||||||
- " stdcx. %3,0,%2\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \
|
|
||||||
+ " stdcx. %2,%y1\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
" " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&r" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&r" (__val), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -162,11 +162,11 @@
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val; \
|
|
||||||
__asm __volatile (__ARCH_REL_INSTR "\n" \
|
|
||||||
- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \
|
|
||||||
- " stdcx. %3,0,%2\n" \
|
|
||||||
+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \
|
|
||||||
+ " stdcx. %2,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&r" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&r" (__val), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -174,12 +174,12 @@
|
|
||||||
#define __arch_atomic_exchange_and_add_64(mem, value) \
|
|
||||||
({ \
|
|
||||||
__typeof (*mem) __val, __tmp; \
|
|
||||||
- __asm __volatile ("1: ldarx %0,0,%3\n" \
|
|
||||||
- " add %1,%0,%4\n" \
|
|
||||||
- " stdcx. %1,0,%3\n" \
|
|
||||||
+ __asm __volatile ("1: ldarx %0,%y2\n" \
|
|
||||||
+ " add %1,%0,%3\n" \
|
|
||||||
+ " stdcx. %1,%y2\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "r" (value), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : "r" (value) \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -187,12 +187,12 @@
|
|
||||||
#define __arch_atomic_increment_val_64(mem) \
|
|
||||||
({ \
|
|
||||||
__typeof (*(mem)) __val; \
|
|
||||||
- __asm __volatile ("1: ldarx %0,0,%2\n" \
|
|
||||||
+ __asm __volatile ("1: ldarx %0,%y1\n" \
|
|
||||||
" addi %0,%0,1\n" \
|
|
||||||
- " stdcx. %0,0,%2\n" \
|
|
||||||
+ " stdcx. %0,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "+Z" (*(mem)) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
@@ -200,27 +200,27 @@
|
|
||||||
#define __arch_atomic_decrement_val_64(mem) \
|
|
||||||
({ \
|
|
||||||
__typeof (*(mem)) __val; \
|
|
||||||
- __asm __volatile ("1: ldarx %0,0,%2\n" \
|
|
||||||
+ __asm __volatile ("1: ldarx %0,%y1\n" \
|
|
||||||
" subi %0,%0,1\n" \
|
|
||||||
- " stdcx. %0,0,%2\n" \
|
|
||||||
+ " stdcx. %0,%y1\n" \
|
|
||||||
" bne- 1b" \
|
|
||||||
- : "=&b" (__val), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "+Z" (*(mem)) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __arch_atomic_decrement_if_positive_64(mem) \
|
|
||||||
({ int __val, __tmp; \
|
|
||||||
- __asm __volatile ("1: ldarx %0,0,%3\n" \
|
|
||||||
+ __asm __volatile ("1: ldarx %0,%y2\n" \
|
|
||||||
" cmpdi 0,%0,0\n" \
|
|
||||||
" addi %1,%0,-1\n" \
|
|
||||||
" ble 2f\n" \
|
|
||||||
- " stdcx. %1,0,%3\n" \
|
|
||||||
+ " stdcx. %1,%y2\n" \
|
|
||||||
" bne- 1b\n" \
|
|
||||||
"2: " __ARCH_ACQ_INSTR \
|
|
||||||
- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \
|
|
||||||
- : "b" (mem), "m" (*mem) \
|
|
||||||
+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \
|
|
||||||
+ : \
|
|
||||||
: "cr0", "memory"); \
|
|
||||||
__val; \
|
|
||||||
})
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
elf/dl-lookup.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/elf/dl-lookup.c
|
|
||||||
+++ b/elf/dl-lookup.c
|
|
||||||
@@ -301,6 +301,12 @@
|
|
||||||
/* FALLTHROUGH */
|
|
||||||
case STB_GLOBAL:
|
|
||||||
success:
|
|
||||||
+#ifdef __mips__
|
|
||||||
+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF
|
|
||||||
+ symbols, we skip them. */
|
|
||||||
+ if (sym->st_shndx == SHN_UNDEF)
|
|
||||||
+ break;
|
|
||||||
+#endif
|
|
||||||
/* Global definition. Just what we need. */
|
|
||||||
result->s = sym;
|
|
||||||
result->m = (struct link_map *) map;
|
|
16
packages/glibc/2.13/0034-alpha-atfcts.patch
vendored
16
packages/glibc/2.13/0034-alpha-atfcts.patch
vendored
@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/kernel-features.h | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
|
|
||||||
@@ -437,7 +437,8 @@
|
|
||||||
the code. On PPC they were introduced in 2.6.17-rc1,
|
|
||||||
on SH in 2.6.19-rc1. */
|
|
||||||
#if __LINUX_KERNEL_VERSION >= 0x020611 \
|
|
||||||
- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613)
|
|
||||||
+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \
|
|
||||||
+ && (!defined __alpha__)
|
|
||||||
# define __ASSUME_ATFCTS 1
|
|
||||||
#endif
|
|
||||||
|
|
15
packages/glibc/2.13/0035-syslog.patch
vendored
15
packages/glibc/2.13/0035-syslog.patch
vendored
@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
misc/syslog.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/misc/syslog.c
|
|
||||||
+++ b/misc/syslog.c
|
|
||||||
@@ -152,7 +152,7 @@
|
|
||||||
#define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID
|
|
||||||
/* Check for invalid bits. */
|
|
||||||
if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) {
|
|
||||||
- syslog(INTERNALLOG,
|
|
||||||
+ __syslog(INTERNALLOG,
|
|
||||||
"syslog: unknown facility/priority: %x", pri);
|
|
||||||
pri &= LOG_PRIMASK|LOG_FACMASK;
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
debug/readlink_chk.c | 2 +-
|
|
||||||
debug/readlinkat_chk.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/debug/readlink_chk.c
|
|
||||||
+++ b/debug/readlink_chk.c
|
|
||||||
@@ -25,7 +25,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
-__readlink_chk (const char *path, void *buf, size_t len, size_t buflen)
|
|
||||||
+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen)
|
|
||||||
{
|
|
||||||
if (len > buflen)
|
|
||||||
__chk_fail ();
|
|
||||||
--- a/debug/readlinkat_chk.c
|
|
||||||
+++ b/debug/readlinkat_chk.c
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
-__readlinkat_chk (int fd, const char *path, void *buf, size_t len,
|
|
||||||
+__readlinkat_chk (int fd, const char *path, char *buf, size_t len,
|
|
||||||
size_t buflen)
|
|
||||||
{
|
|
||||||
if (len > buflen)
|
|
37
packages/glibc/2.13/0037-march-i686.patch
vendored
37
packages/glibc/2.13/0037-march-i686.patch
vendored
@ -1,37 +0,0 @@
|
|||||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
|
||||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
|
||||||
|
|
||||||
---
|
|
||||||
nptl/sysdeps/pthread/pt-initfini.c | 5 +++++
|
|
||||||
sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++
|
|
||||||
2 files changed, 9 insertions(+)
|
|
||||||
|
|
||||||
--- a/nptl/sysdeps/pthread/pt-initfini.c
|
|
||||||
+++ b/nptl/sysdeps/pthread/pt-initfini.c
|
|
||||||
@@ -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*/");
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
@@ -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
|
|
31
packages/glibc/2.13/0038-typedef-caddr.patch
vendored
31
packages/glibc/2.13/0038-typedef-caddr.patch
vendored
@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
posix/sys/types.h | 3 +++
|
|
||||||
sunrpc/rpc/types.h | 3 +++
|
|
||||||
2 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/posix/sys/types.h
|
|
||||||
+++ b/posix/sys/types.h
|
|
||||||
@@ -114,7 +114,10 @@
|
|
||||||
#ifdef __USE_BSD
|
|
||||||
# ifndef __daddr_t_defined
|
|
||||||
typedef __daddr_t daddr_t;
|
|
||||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
|
||||||
typedef __caddr_t caddr_t;
|
|
||||||
+# define __caddr_t_defined
|
|
||||||
+# endif
|
|
||||||
# define __daddr_t_defined
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
--- a/sunrpc/rpc/types.h
|
|
||||||
+++ b/sunrpc/rpc/types.h
|
|
||||||
@@ -86,7 +86,10 @@
|
|
||||||
#endif
|
|
||||||
#ifndef __daddr_t_defined
|
|
||||||
typedef __daddr_t daddr_t;
|
|
||||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
|
||||||
typedef __caddr_t caddr_t;
|
|
||||||
+# define __caddr_t_defined
|
|
||||||
+# endif
|
|
||||||
# define __daddr_t_defined
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
commit 5874510faaf3cbd0bb112aaacab9f225002beed1
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Nov 8 23:44:51 2016 +0000
|
|
||||||
|
|
||||||
Fix rpcgen buffer overrun (bug 20790).
|
|
||||||
|
|
||||||
Building with GCC 7 produces an error building rpcgen:
|
|
||||||
|
|
||||||
rpc_parse.c: In function 'get_prog_declaration':
|
|
||||||
rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=]
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
~~~~^
|
|
||||||
rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10
|
|
||||||
sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */
|
|
||||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
That buffer overrun is for the case where the .x file declares a
|
|
||||||
program with a million arguments. The strcpy two lines above can
|
|
||||||
generate a buffer overrun much more simply for a long argument name.
|
|
||||||
|
|
||||||
The limit on length of line read by rpcgen (MAXLINESIZE == 1024)
|
|
||||||
provides a bound on the buffer size needed, so this patch just changes
|
|
||||||
the buffer size to MAXLINESIZE to avoid both possible buffer
|
|
||||||
overruns. A testcase is added that rpcgen does not crash with a
|
|
||||||
500-character argument name, where it previously crashed.
|
|
||||||
|
|
||||||
It would not at all surprise me if there are many other ways of
|
|
||||||
crashing rpcgen with either valid or invalid input; fuzz testing would
|
|
||||||
likely find various such bugs, though I don't think they are that
|
|
||||||
important to fix (rpcgen is not that likely to be used with untrusted
|
|
||||||
.x files as input). (As well as fuzz-findable bugs there are probably
|
|
||||||
also issues when various int variables get overflowed on very large
|
|
||||||
input.) The test infrastructure for rpcgen-not-crashing tests would
|
|
||||||
need extending if tests are to be added for cases where rpcgen should
|
|
||||||
produce an error, as opposed to cases where it should succeed.
|
|
||||||
|
|
||||||
Tested for x86_64 and x86.
|
|
||||||
|
|
||||||
[BZ #20790]
|
|
||||||
* sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size
|
|
||||||
to MAXLINESIZE.
|
|
||||||
* sunrpc/bug20790.x: New file.
|
|
||||||
* sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New
|
|
||||||
variable.
|
|
||||||
[$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests).
|
|
||||||
[$(run-built-tests) = yes] ($(rpcgen-tests)): New rule.
|
|
||||||
|
|
||||||
---
|
|
||||||
sunrpc/rpc_parse.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sunrpc/rpc_parse.c
|
|
||||||
+++ b/sunrpc/rpc_parse.c
|
|
||||||
@@ -521,7 +521,7 @@
|
|
||||||
get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ )
|
|
||||||
{
|
|
||||||
token tok;
|
|
||||||
- char name[10]; /* argument name */
|
|
||||||
+ char name[MAXLINESIZE]; /* argument name */
|
|
||||||
|
|
||||||
if (dkind == DEF_PROGRAM)
|
|
||||||
{
|
|
@ -1,64 +0,0 @@
|
|||||||
commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Dec 21 23:44:01 2016 +0000
|
|
||||||
|
|
||||||
Fix nss_nisplus build with mainline GCC (bug 20978).
|
|
||||||
|
|
||||||
glibc build with current mainline GCC fails because
|
|
||||||
nis/nss_nisplus/nisplus-alias.c contains code
|
|
||||||
|
|
||||||
if (name != NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
char buf[strlen (name) + 9 + tablename_len];
|
|
||||||
|
|
||||||
producing an error about strlen being called on a pointer that is
|
|
||||||
always NULL (and a subsequent use of that pointer with a %s format in
|
|
||||||
snprintf).
|
|
||||||
|
|
||||||
As Andreas noted, the bogus conditional comes from a 1997 change:
|
|
||||||
|
|
||||||
- if (name == NULL || strlen(name) > 8)
|
|
||||||
- return NSS_STATUS_NOTFOUND;
|
|
||||||
- else
|
|
||||||
+ if (name != NULL || strlen(name) <= 8)
|
|
||||||
|
|
||||||
So the intention is clearly to return an error for NULL name.
|
|
||||||
|
|
||||||
This patch duly inverts the sense of the conditional. It fixes the
|
|
||||||
build with GCC mainline, and passes usual glibc testsuite testing for
|
|
||||||
x86_64. However, I have not tried any actual substantive nisplus
|
|
||||||
testing, do not have an environment for such testing, and do not know
|
|
||||||
whether it is possible that strlen (name) or tablename_len might be
|
|
||||||
large so that the VLA for buf is actually a security issue. However,
|
|
||||||
if it is a security issue, there are plenty of other similar instances
|
|
||||||
in the nisplus code (that haven't been hidden by a bogus comparison
|
|
||||||
with NULL) - and nis_table.c:__create_ib_request uses strdupa on the
|
|
||||||
string passed to nis_list, so a local fix in the caller wouldn't
|
|
||||||
suffice anyway (see bug 20987). (Calls to strdupa and other such
|
|
||||||
macros that use alloca must be considered equally questionable
|
|
||||||
regarding stack overflow issues as direct calls to alloca and VLA
|
|
||||||
declarations.)
|
|
||||||
|
|
||||||
[BZ #20978]
|
|
||||||
* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
|
|
||||||
Compare name == NULL, not name != NULL.
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nss_nisplus/nisplus-alias.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
+++ b/nis/nss_nisplus/nisplus-alias.c
|
|
||||||
@@ -293,7 +293,7 @@
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (name != NULL)
|
|
||||||
+ if (name == NULL)
|
|
||||||
{
|
|
||||||
*errnop = EINVAL;
|
|
||||||
return NSS_STATUS_UNAVAIL;
|
|
24
packages/glibc/2.13/0041-initfini-ppc64.patch
vendored
24
packages/glibc/2.13/0041-initfini-ppc64.patch
vendored
@ -1,24 +0,0 @@
|
|||||||
Prevent erroneous inline optimization of initfini.s on PowerPC64.
|
|
||||||
|
|
||||||
The problem and the fix was reported there:
|
|
||||||
http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html
|
|
||||||
Git commit:
|
|
||||||
commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6
|
|
||||||
Author: Ryan S. Arnold <rsa@us.ibm.com>
|
|
||||||
Date: Tue May 3 17:26:17 2011 -0500
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/powerpc/powerpc64/Makefile | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/powerpc/powerpc64/Makefile
|
|
||||||
+++ b/sysdeps/powerpc/powerpc64/Makefile
|
|
||||||
@@ -28,7 +28,7 @@
|
|
||||||
ifneq ($(elf),no)
|
|
||||||
# The initfini generation code doesn't work in the presence of -fPIC, so
|
|
||||||
# we use -fpic instead which is much better.
|
|
||||||
-CFLAGS-initfini.s += -fpic -O1
|
|
||||||
+CFLAGS-initfini.s += -fpic -O1 -fno-inline
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
32
packages/glibc/2.13/0042-obstack-common.patch
vendored
32
packages/glibc/2.13/0042-obstack-common.patch
vendored
@ -1,32 +0,0 @@
|
|||||||
commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2
|
|
||||||
Author: Peter Collingbourne <pcc@google.com>
|
|
||||||
Date: Wed May 15 20:28:08 2013 +0200
|
|
||||||
|
|
||||||
Move _obstack_compat out of common
|
|
||||||
|
|
||||||
it is impossible to create an alias of a common symbol (as
|
|
||||||
compat_symbol does), because common symbols do not have a section or
|
|
||||||
an offset until linked. GNU as tolerates aliases of common symbols by
|
|
||||||
simply creating another common symbol, but other assemblers (notably
|
|
||||||
LLVM's integrated assembler) are less tolerant.
|
|
||||||
|
|
||||||
2013-05-15 Peter Collingbourne <pcc@google.com>
|
|
||||||
|
|
||||||
* malloc/obstack.c (_obstack_compat): Add initializer.
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
malloc/obstack.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/malloc/obstack.c
|
|
||||||
+++ b/malloc/obstack.c
|
|
||||||
@@ -117,7 +117,7 @@
|
|
||||||
/* A looong time ago (before 1994, anyway; we're not sure) this global variable
|
|
||||||
was used by non-GNU-C macros to avoid multiple evaluation. The GNU C
|
|
||||||
library still exports it because somebody might use it. */
|
|
||||||
-struct obstack *_obstack_compat;
|
|
||||||
+struct obstack *_obstack_compat = 0;
|
|
||||||
compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
|
|
||||||
# endif
|
|
||||||
# endif
|
|
72
packages/glibc/2.13/0043-new-tools.patch
vendored
72
packages/glibc/2.13/0043-new-tools.patch
vendored
@ -1,72 +0,0 @@
|
|||||||
---
|
|
||||||
configure | 8 ++++----
|
|
||||||
configure.in | 8 ++++----
|
|
||||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -5041,7 +5041,7 @@
|
|
||||||
ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 3.4* | 4.[0-9]* )
|
|
||||||
+ 3.4* | [4-9].* | [1-9][0-9]* )
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5104,7 +5104,7 @@
|
|
||||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 3.79* | 3.[89]*)
|
|
||||||
+ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5231,7 +5231,7 @@
|
|
||||||
ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
- 4.*)
|
|
||||||
+ [4-9].*)
|
|
||||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
||||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
||||||
|
|
||||||
@@ -5291,7 +5291,7 @@
|
|
||||||
# Found it, now check the version.
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5
|
|
||||||
$as_echo_n "checking version of $SED... " >&6; }
|
|
||||||
- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
||||||
+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
||||||
case $ac_prog_version in
|
|
||||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
||||||
3.0[2-9]*|3.[1-9]*|[4-9]*)
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1026,11 +1026,11 @@
|
|
||||||
# These programs are version sensitive.
|
|
||||||
AC_CHECK_TOOL_PREFIX
|
|
||||||
AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
|
|
||||||
- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
|
|
||||||
+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ],
|
|
||||||
critic_missing="$critic_missing gcc")
|
|
||||||
AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
|
|
||||||
[GNU Make[^0-9]*\([0-9][0-9.]*\)],
|
|
||||||
- [3.79* | 3.[89]*], critic_missing="$critic_missing make")
|
|
||||||
+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
|
|
||||||
|
|
||||||
AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
|
|
||||||
[GNU gettext.* \([0-9]*\.[0-9.]*\)],
|
|
||||||
@@ -1038,10 +1038,10 @@
|
|
||||||
MSGFMT=: aux_missing="$aux_missing msgfmt")
|
|
||||||
AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
|
|
||||||
[GNU texinfo.* \([0-9][0-9.]*\)],
|
|
||||||
- [4.*],
|
|
||||||
+ [[4-9].*],
|
|
||||||
MAKEINFO=: aux_missing="$aux_missing makeinfo")
|
|
||||||
AC_CHECK_PROG_VER(SED, sed, --version,
|
|
||||||
- [GNU sed version \([0-9]*\.[0-9.]*\)],
|
|
||||||
+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)],
|
|
||||||
[3.0[2-9]*|3.[1-9]*|[4-9]*],
|
|
||||||
SED=: aux_missing="$aux_missing sed")
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
|||||||
commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Jun 27 17:12:13 2017 +0000
|
|
||||||
|
|
||||||
Fix strftime build with GCC 8.
|
|
||||||
|
|
||||||
Building with current GCC mainline fails with:
|
|
||||||
|
|
||||||
strftime_l.c: In function '__strftime_internal':
|
|
||||||
strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros]
|
|
||||||
digits = d > width ? d : width; \
|
|
||||||
^
|
|
||||||
strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER'
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
^~~~~~~~~
|
|
||||||
strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause
|
|
||||||
else
|
|
||||||
^~~~
|
|
||||||
|
|
||||||
In fact this particular instance is harmless; the code looks like:
|
|
||||||
|
|
||||||
if (modifier == L_('O'))
|
|
||||||
goto bad_format;
|
|
||||||
else
|
|
||||||
DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
|
|
||||||
|
|
||||||
and because of the goto, it doesn't matter that part of the expansion
|
|
||||||
isn't under the "else" conditional. But it's also clearly bad style
|
|
||||||
to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD
|
|
||||||
to use do { } while (0) to avoid such problems.
|
|
||||||
|
|
||||||
Tested (full testsuite) for x86_64 (GCC 6), and with
|
|
||||||
build-many-glibcs.py with GCC mainline, in conjunction with my libgcc
|
|
||||||
patch <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
|
|
||||||
|
|
||||||
* time/strftime_l.c (DO_NUMBER): Define using do { } while (0).
|
|
||||||
(DO_NUMBER_SPACEPAD): Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
time/strftime_l.c | 22 ++++++++++++++++------
|
|
||||||
1 file changed, 16 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/time/strftime_l.c
|
|
||||||
+++ b/time/strftime_l.c
|
|
||||||
@@ -742,12 +742,22 @@
|
|
||||||
format_char = *f;
|
|
||||||
switch (format_char)
|
|
||||||
{
|
|
||||||
-#define DO_NUMBER(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number
|
|
||||||
-#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
- digits = d > width ? d : width; \
|
|
||||||
- number_value = v; goto do_number_spacepad
|
|
||||||
+#define DO_NUMBER(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
+#define DO_NUMBER_SPACEPAD(d, v) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ digits = d > width ? d : width; \
|
|
||||||
+ number_value = v; \
|
|
||||||
+ goto do_number_spacepad; \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
|
|
||||||
case L_('%'):
|
|
||||||
if (modifier != 0)
|
|
@ -1,29 +0,0 @@
|
|||||||
commit 2180fee114b778515b3f560e5ff1e795282e60b0
|
|
||||||
Author: Steve Ellcey <sellcey@caviumnetworks.com>
|
|
||||||
Date: Wed Nov 15 08:58:48 2017 -0800
|
|
||||||
|
|
||||||
Check length of ifname before copying it into to ifreq structure.
|
|
||||||
|
|
||||||
[BZ #22442]
|
|
||||||
* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex):
|
|
||||||
Check if ifname is too long.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/if_index.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/if_index.c
|
|
||||||
@@ -54,6 +54,12 @@
|
|
||||||
if (fd < 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
+ if (strlen (ifname) >= IFNAMSIZ)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENODEV);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
|
|
||||||
if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
|
|
||||||
{
|
|
80
packages/glibc/2.13/0046-utmp-nonstring.patch
vendored
80
packages/glibc/2.13/0046-utmp-nonstring.patch
vendored
@ -1,80 +0,0 @@
|
|||||||
commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c
|
|
||||||
Author: Martin Sebor <msebor@redhat.com>
|
|
||||||
Date: Wed Nov 15 17:39:59 2017 -0700
|
|
||||||
|
|
||||||
The -Wstringop-truncation option new in GCC 8 detects common misuses
|
|
||||||
of the strncat and strncpy function that may result in truncating
|
|
||||||
the copied string before the terminating NUL. To avoid false positive
|
|
||||||
warnings for correct code that intentionally creates sequences of
|
|
||||||
characters that aren't guaranteed to be NUL-terminated, arrays that
|
|
||||||
are intended to store such sequences should be decorated with a new
|
|
||||||
nonstring attribute. This change add this attribute to Glibc and
|
|
||||||
uses it to suppress such false positives.
|
|
||||||
|
|
||||||
ChangeLog:
|
|
||||||
* misc/sys/cdefs.h (__attribute_nonstring__): New macro.
|
|
||||||
* sysdeps/gnu/bits/utmp.h (struct utmp): Use it.
|
|
||||||
* sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same.
|
|
||||||
|
|
||||||
---
|
|
||||||
misc/sys/cdefs.h | 9 +++++++++
|
|
||||||
sysdeps/gnu/bits/utmp.h | 9 ++++++---
|
|
||||||
sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++---
|
|
||||||
3 files changed, 21 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/misc/sys/cdefs.h
|
|
||||||
+++ b/misc/sys/cdefs.h
|
|
||||||
@@ -350,6 +350,15 @@
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if __GNUC_PREREQ (8, 0)
|
|
||||||
+/* Describes a char array whose address can safely be passed as the first
|
|
||||||
+ argument to strncpy and strncat, as the char array is not necessarily
|
|
||||||
+ a NUL-terminated string. */
|
|
||||||
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
|
|
||||||
+#else
|
|
||||||
+# define __attribute_nonstring__
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <bits/wordsize.h>
|
|
||||||
|
|
||||||
#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
|
|
||||||
--- a/sysdeps/gnu/bits/utmp.h
|
|
||||||
+++ b/sysdeps/gnu/bits/utmp.h
|
|
||||||
@@ -61,10 +61,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
||||||
--- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
|
|
||||||
@@ -61,10 +61,13 @@
|
|
||||||
{
|
|
||||||
short int ut_type; /* Type of login. */
|
|
||||||
pid_t ut_pid; /* Process ID of login process. */
|
|
||||||
- char ut_line[UT_LINESIZE]; /* Devicename. */
|
|
||||||
+ char ut_line[UT_LINESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Devicename. */
|
|
||||||
char ut_id[4]; /* Inittab ID. */
|
|
||||||
- char ut_user[UT_NAMESIZE]; /* Username. */
|
|
||||||
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
|
||||||
+ char ut_user[UT_NAMESIZE]
|
|
||||||
+ __attribute_nonstring__; /* Username. */
|
|
||||||
+ char ut_host[UT_HOSTSIZE]
|
|
||||||
+ __attribute_nonstring__; /* Hostname for remote login. */
|
|
||||||
struct exit_status ut_exit; /* Exit status of a process marked
|
|
||||||
as DEAD_PROCESS. */
|
|
||||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
|
@ -1,47 +0,0 @@
|
|||||||
commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Wed Nov 22 18:44:23 2017 +0000
|
|
||||||
|
|
||||||
Avoid use of strlen in getlogin_r (bug 22447).
|
|
||||||
|
|
||||||
Building glibc with current mainline GCC fails, among other reasons,
|
|
||||||
because of an error for use of strlen on the nonstring ut_user field.
|
|
||||||
This patch changes the problem code in getlogin_r to use __strnlen
|
|
||||||
instead. It also needs to set the trailing NUL byte of the result
|
|
||||||
explicitly, because of the case where ut_user does not have such a
|
|
||||||
trailing NUL byte (but the result should always have one).
|
|
||||||
|
|
||||||
Tested for x86_64. Also tested that, in conjunction with
|
|
||||||
<https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, it fixes
|
|
||||||
the build for arm with mainline GCC.
|
|
||||||
|
|
||||||
[BZ #22447]
|
|
||||||
* sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not
|
|
||||||
strlen to compute length of ut_user and set trailing NUL byte of
|
|
||||||
result explicitly.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/getlogin_r.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/getlogin_r.c
|
|
||||||
+++ b/sysdeps/unix/getlogin_r.c
|
|
||||||
@@ -83,7 +83,7 @@
|
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
{
|
|
||||||
- size_t needed = strlen (ut->ut_user) + 1;
|
|
||||||
+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1;
|
|
||||||
|
|
||||||
if (needed > name_len)
|
|
||||||
{
|
|
||||||
@@ -92,7 +92,8 @@
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- memcpy (name, ut->ut_user, needed);
|
|
||||||
+ memcpy (name, ut->ut_user, needed - 1);
|
|
||||||
+ name[needed - 1] = 0;
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
}
|
|
25
packages/glibc/2.13/0048-zic.c-use-memcpy.patch
vendored
25
packages/glibc/2.13/0048-zic.c-use-memcpy.patch
vendored
@ -1,25 +0,0 @@
|
|||||||
commit e69897bf202e18034cbef26f363bae64de70a196
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Sun Nov 12 22:00:28 2017 -0800
|
|
||||||
|
|
||||||
timezone: pacify GCC -Wstringop-truncation
|
|
||||||
|
|
||||||
Problem reported by Martin Sebor in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
|
|
||||||
* timezone/zic.c (writezone): Use memcpy, not strncpy.
|
|
||||||
|
|
||||||
---
|
|
||||||
timezone/zic.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/timezone/zic.c
|
|
||||||
+++ b/timezone/zic.c
|
|
||||||
@@ -1648,7 +1648,7 @@
|
|
||||||
#define DO(field) (void) fwrite((void *) tzh.field, \
|
|
||||||
(size_t) sizeof tzh.field, (size_t) 1, fp)
|
|
||||||
tzh = tzh0;
|
|
||||||
- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
|
|
||||||
tzh.tzh_version[0] = ZIC_VERSION;
|
|
||||||
convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt);
|
|
||||||
convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt);
|
|
12
packages/glibc/2.13/chksum
vendored
12
packages/glibc/2.13/chksum
vendored
@ -1,12 +0,0 @@
|
|||||||
md5 glibc-2.13.tar.xz cc5d8b1b994fb3b870222565c79853ca
|
|
||||||
sha1 glibc-2.13.tar.xz 38e7d510b41a2c36eb392c79eb5c80e0ec35a7f2
|
|
||||||
sha256 glibc-2.13.tar.xz 98ee47fc77b01d5805e2cad3ed8e5515220ff32626a049dff3d5529b8f8bdcc1
|
|
||||||
sha512 glibc-2.13.tar.xz e956eb9f9644bd6639e2259cc5ddf90689dffcf9cce85de8b7e1ff0df0c333c13bbf9d2b409ca6b0ba5b53dbb921a84e6a07f763adceb745845c9d0cf0777216
|
|
||||||
md5 glibc-2.13.tar.bz2 38808215a7c40aa0bb47a5e6d3d12475
|
|
||||||
sha1 glibc-2.13.tar.bz2 14d83dced873a21a3da6a0bfa0926f40d82ef980
|
|
||||||
sha256 glibc-2.13.tar.bz2 0173c92a0545e6d99a46a4fbed2da00ba26556f5c6198e2f9f1631ed5318dbb2
|
|
||||||
sha512 glibc-2.13.tar.bz2 7fdae9acdbe8cbfda008f107ffd1559c0163ff70730a5bc618f1f15b64096a813a3495e0b2d2be7b7206bef3ed9ca67a68fd2004c8275ffeffa38b70c80887e0
|
|
||||||
md5 glibc-2.13.tar.gz fafabe01cb9748acb0a11a6879ebaa7e
|
|
||||||
sha1 glibc-2.13.tar.gz 99510a8b19aa822a05d8323d1bb25241579bc006
|
|
||||||
sha256 glibc-2.13.tar.gz bd90d6119bcc2898befd6e1bbb2cb1ed3bb1c2997d5eaa6fdbca4ee16191a906
|
|
||||||
sha512 glibc-2.13.tar.gz 8b94a42a243f728c5ae58e5197e850241f11aafdd09ecc1df63bceb9df3f769e018cbcf3af3b3a09da68fd238d52e3026434a8dc825fd8fdc6ecc16962cf8d32
|
|
1
packages/glibc/2.13/version.desc
vendored
1
packages/glibc/2.13/version.desc
vendored
@ -1 +0,0 @@
|
|||||||
obsolete='yes'
|
|
@ -1,17 +0,0 @@
|
|||||||
Respect environment CPPFLAGS when we run ./configure so we can inject
|
|
||||||
random -D things without having to set CFLAGS/ASFLAGS
|
|
||||||
|
|
||||||
---
|
|
||||||
Makeconfig | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/Makeconfig
|
|
||||||
+++ b/Makeconfig
|
|
||||||
@@ -699,6 +699,7 @@
|
|
||||||
$(foreach lib,$(libof-$(basename $(@F))) \
|
|
||||||
$(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
|
|
||||||
$(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
|
||||||
+CPPFLAGS += $(CPPFLAGS-config)
|
|
||||||
override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
|
|
||||||
$(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
|
|
||||||
$(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
|
|
@ -1,75 +0,0 @@
|
|||||||
From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yvan Roux <yvan.roux@linaro.org>
|
|
||||||
Date: Fri, 15 Apr 2016 13:29:26 +0200
|
|
||||||
Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with
|
|
||||||
-Wparentheses
|
|
||||||
|
|
||||||
---
|
|
||||||
nis/nis_call.c | 20 +++++++++++---------
|
|
||||||
stdlib/setenv.c | 24 +++++++++++++-----------
|
|
||||||
2 files changed, 24 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
--- a/nis/nis_call.c
|
|
||||||
+++ b/nis/nis_call.c
|
|
||||||
@@ -682,16 +682,18 @@
|
|
||||||
/* Choose which entry should be evicted from the cache. */
|
|
||||||
loc = &nis_server_cache[0];
|
|
||||||
if (*loc != NULL)
|
|
||||||
- for (i = 1; i < 16; ++i)
|
|
||||||
- if (nis_server_cache[i] == NULL)
|
|
||||||
- {
|
|
||||||
+ {
|
|
||||||
+ for (i = 1; i < 16; ++i)
|
|
||||||
+ if (nis_server_cache[i] == NULL)
|
|
||||||
+ {
|
|
||||||
+ loc = &nis_server_cache[i];
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
+ || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
+ && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
loc = &nis_server_cache[i];
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- else if ((*loc)->uses > nis_server_cache[i]->uses
|
|
||||||
- || ((*loc)->uses == nis_server_cache[i]->uses
|
|
||||||
- && (*loc)->expires > nis_server_cache[i]->expires))
|
|
||||||
- loc = &nis_server_cache[i];
|
|
||||||
+ }
|
|
||||||
old = *loc;
|
|
||||||
*loc = new;
|
|
||||||
|
|
||||||
--- a/stdlib/setenv.c
|
|
||||||
+++ b/stdlib/setenv.c
|
|
||||||
@@ -328,18 +328,20 @@
|
|
||||||
ep = __environ;
|
|
||||||
if (ep != NULL)
|
|
||||||
while (*ep != NULL)
|
|
||||||
- if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
- {
|
|
||||||
- /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
- char **dp = ep;
|
|
||||||
+ {
|
|
||||||
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
|
||||||
+ {
|
|
||||||
+ /* Found it. Remove this pointer by moving later ones back. */
|
|
||||||
+ char **dp = ep;
|
|
||||||
|
|
||||||
- do
|
|
||||||
- dp[0] = dp[1];
|
|
||||||
- while (*dp++);
|
|
||||||
- /* Continue the loop in case NAME appears again. */
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- ++ep;
|
|
||||||
+ do
|
|
||||||
+ dp[0] = dp[1];
|
|
||||||
+ while (*dp++);
|
|
||||||
+ /* Continue the loop in case NAME appears again. */
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ ++ep;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
UNLOCK;
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
|||||||
commit 5542236837c5c41435f8282ec92799f480c36f18
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Tue Jul 21 22:50:29 2015 -0700
|
|
||||||
|
|
||||||
Port the 0x7efe...feff pattern to GCC 6.
|
|
||||||
|
|
||||||
See Steve Ellcey's bug report in:
|
|
||||||
https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html
|
|
||||||
* string/memrchr.c (MEMRCHR):
|
|
||||||
* string/rawmemchr.c (RAWMEMCHR):
|
|
||||||
* string/strchr.c (strchr):
|
|
||||||
* string/strchrnul.c (STRCHRNUL):
|
|
||||||
Rewrite code to avoid issues with signed shift overflow.
|
|
||||||
|
|
||||||
---
|
|
||||||
string/memrchr.c | 11 ++---------
|
|
||||||
string/rawmemchr.c | 11 ++---------
|
|
||||||
string/strchr.c | 9 ++-------
|
|
||||||
string/strchrnul.c | 9 ++-------
|
|
||||||
4 files changed, 8 insertions(+), 32 deletions(-)
|
|
||||||
|
|
||||||
--- a/string/memrchr.c
|
|
||||||
+++ b/string/memrchr.c
|
|
||||||
@@ -98,15 +98,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/rawmemchr.c
|
|
||||||
+++ b/string/rawmemchr.c
|
|
||||||
@@ -90,15 +90,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
-
|
|
||||||
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
|
||||||
- abort ();
|
|
||||||
-
|
|
||||||
-#if LONG_MAX <= LONG_MAX_32_BITS
|
|
||||||
- magic_bits = 0x7efefeff;
|
|
||||||
-#else
|
|
||||||
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
|
||||||
-#endif
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchr.c
|
|
||||||
+++ b/string/strchr.c
|
|
||||||
@@ -65,13 +65,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
||||||
--- a/string/strchrnul.c
|
|
||||||
+++ b/string/strchrnul.c
|
|
||||||
@@ -63,13 +63,8 @@
|
|
||||||
|
|
||||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
|
||||||
The 0-bits provide holes for carries to fall into. */
|
|
||||||
- switch (sizeof (longword))
|
|
||||||
- {
|
|
||||||
- case 4: magic_bits = 0x7efefeffL; break;
|
|
||||||
- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
- }
|
|
||||||
+ magic_bits = -1;
|
|
||||||
+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1;
|
|
||||||
|
|
||||||
/* Set up a longword, each of whose bytes is C. */
|
|
||||||
charmask = c | (c << 8);
|
|
@ -1,197 +0,0 @@
|
|||||||
commit 9dd346ff431fc761f1b748bd4da8bb59f7652094
|
|
||||||
Author: Joseph Myers <joseph@codesourcery.com>
|
|
||||||
Date: Tue Oct 20 11:54:09 2015 +0000
|
|
||||||
|
|
||||||
Convert 113 more function definitions to prototype style (files with assertions).
|
|
||||||
|
|
||||||
This mostly automatically-generated patch converts 113 function
|
|
||||||
definitions in glibc from old-style K&R to prototype-style. Following
|
|
||||||
my other recent such patches, this one deals with the case of function
|
|
||||||
definitions in files that either contain assertions or where grep
|
|
||||||
suggested they might contain assertions - and thus where it isn't
|
|
||||||
possible to use a simple object code comparison as a sanity check on
|
|
||||||
the correctness of the patch, because line numbers are changed.
|
|
||||||
|
|
||||||
A few such automatically-generated changes needed to be supplemented
|
|
||||||
by manual changes for the result to compile. openat64 had a prototype
|
|
||||||
declaration with "..." but an old-style definition in
|
|
||||||
sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the
|
|
||||||
generated prototype in the definition (I've filed
|
|
||||||
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> for diagnosing
|
|
||||||
such cases in GCC; the old state was undefined behavior not requiring
|
|
||||||
a diagnostic, but one seems a good idea). In addition, as Florian has
|
|
||||||
noted regparm attribute mismatches between declaration and definition
|
|
||||||
are only diagnosed for prototype definitions, and five functions
|
|
||||||
needed internal_function added to their definitions (in the case of
|
|
||||||
__pthread_mutex_cond_lock, via the macro definition of
|
|
||||||
__pthread_mutex_lock) to compile on i386.
|
|
||||||
|
|
||||||
After this patch is in, remaining old-style definitions are probably
|
|
||||||
most readily fixed manually before we can turn on
|
|
||||||
-Wold-style-definition for all builds.
|
|
||||||
|
|
||||||
Tested for x86_64 and x86 (testsuite).
|
|
||||||
|
|
||||||
* crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style
|
|
||||||
function definition.
|
|
||||||
* crypt/sha256-crypt.c (__sha256_crypt_r): Likewise.
|
|
||||||
* crypt/sha512-crypt.c (__sha512_crypt_r): Likewise.
|
|
||||||
* debug/backtracesyms.c (__backtrace_symbols): Likewise.
|
|
||||||
* elf/dl-minimal.c (_itoa): Likewise.
|
|
||||||
* hurd/hurdmalloc.c (malloc): Likewise.
|
|
||||||
(free): Likewise.
|
|
||||||
(realloc): Likewise.
|
|
||||||
* inet/inet6_option.c (inet6_option_space): Likewise.
|
|
||||||
(inet6_option_init): Likewise.
|
|
||||||
(inet6_option_append): Likewise.
|
|
||||||
(inet6_option_alloc): Likewise.
|
|
||||||
(inet6_option_next): Likewise.
|
|
||||||
(inet6_option_find): Likewise.
|
|
||||||
* io/ftw.c (FTW_NAME): Likewise.
|
|
||||||
(NFTW_NAME): Likewise.
|
|
||||||
(NFTW_NEW_NAME): Likewise.
|
|
||||||
(NFTW_OLD_NAME): Likewise.
|
|
||||||
* libio/iofwide.c (_IO_fwide): Likewise.
|
|
||||||
* libio/strops.c (_IO_str_init_static_internal): Likewise.
|
|
||||||
(_IO_str_init_static): Likewise.
|
|
||||||
(_IO_str_init_readonly): Likewise.
|
|
||||||
(_IO_str_overflow): Likewise.
|
|
||||||
(_IO_str_underflow): Likewise.
|
|
||||||
(_IO_str_count): Likewise.
|
|
||||||
(_IO_str_seekoff): Likewise.
|
|
||||||
(_IO_str_pbackfail): Likewise.
|
|
||||||
(_IO_str_finish): Likewise.
|
|
||||||
* libio/wstrops.c (_IO_wstr_init_static): Likewise.
|
|
||||||
(_IO_wstr_overflow): Likewise.
|
|
||||||
(_IO_wstr_underflow): Likewise.
|
|
||||||
(_IO_wstr_count): Likewise.
|
|
||||||
(_IO_wstr_seekoff): Likewise.
|
|
||||||
(_IO_wstr_pbackfail): Likewise.
|
|
||||||
(_IO_wstr_finish): Likewise.
|
|
||||||
* locale/programs/localedef.c (normalize_codeset): Likewise.
|
|
||||||
* locale/programs/locarchive.c (add_locale_to_archive): Likewise.
|
|
||||||
(add_locales_to_archive): Likewise.
|
|
||||||
(delete_locales_from_archive): Likewise.
|
|
||||||
* malloc/malloc.c (__libc_mallinfo): Likewise.
|
|
||||||
* math/gen-auto-libm-tests.c (init_fp_formats): Likewise.
|
|
||||||
* misc/tsearch.c (__tfind): Likewise.
|
|
||||||
* nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise.
|
|
||||||
* nptl/pthread_attr_getdetachstate.c
|
|
||||||
(__pthread_attr_getdetachstate): Likewise.
|
|
||||||
* nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getinheritsched.c
|
|
||||||
(__pthread_attr_getinheritsched): Likewise.
|
|
||||||
* nptl/pthread_attr_getschedparam.c
|
|
||||||
(__pthread_attr_getschedparam): Likewise.
|
|
||||||
* nptl/pthread_attr_getschedpolicy.c
|
|
||||||
(__pthread_attr_getschedpolicy): Likewise.
|
|
||||||
* nptl/pthread_attr_getscope.c (__pthread_attr_getscope):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstack.c (__pthread_attr_getstack):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise.
|
|
||||||
(__pthread_attr_init_2_0): Likewise.
|
|
||||||
* nptl/pthread_attr_setdetachstate.c
|
|
||||||
(__pthread_attr_setdetachstate): Likewise.
|
|
||||||
* nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setinheritsched.c
|
|
||||||
(__pthread_attr_setinheritsched): Likewise.
|
|
||||||
* nptl/pthread_attr_setschedparam.c
|
|
||||||
(__pthread_attr_setschedparam): Likewise.
|
|
||||||
* nptl/pthread_attr_setschedpolicy.c
|
|
||||||
(__pthread_attr_setschedpolicy): Likewise.
|
|
||||||
* nptl/pthread_attr_setscope.c (__pthread_attr_setscope):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstack.c (__pthread_attr_setstack):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_condattr_setclock.c (pthread_condattr_setclock):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_create.c (__find_in_stack_list): Likewise.
|
|
||||||
* nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise.
|
|
||||||
* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to
|
|
||||||
use internal_function.
|
|
||||||
* nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to
|
|
||||||
prototype-style function definition.
|
|
||||||
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
|
|
||||||
(__pthread_mutex_cond_lock_adjust): Likewise. Use
|
|
||||||
internal_function.
|
|
||||||
* nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock):
|
|
||||||
Convert to prototype-style function definition.
|
|
||||||
* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock):
|
|
||||||
Likewise.
|
|
||||||
* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
|
|
||||||
Likewise.
|
|
||||||
(__pthread_mutex_unlock): Likewise.
|
|
||||||
* nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise.
|
|
||||||
* nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise.
|
|
||||||
* nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise.
|
|
||||||
* nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise.
|
|
||||||
* nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise.
|
|
||||||
* nss/makedb.c (process_input): Likewise.
|
|
||||||
* posix/fnmatch.c (__strchrnul): Likewise.
|
|
||||||
(__wcschrnul): Likewise.
|
|
||||||
(fnmatch): Likewise.
|
|
||||||
* posix/fnmatch_loop.c (FCT): Likewise.
|
|
||||||
* posix/glob.c (globfree): Likewise.
|
|
||||||
(__glob_pattern_type): Likewise.
|
|
||||||
(__glob_pattern_p): Likewise.
|
|
||||||
* posix/regcomp.c (re_compile_pattern): Likewise.
|
|
||||||
(re_set_syntax): Likewise.
|
|
||||||
(re_compile_fastmap): Likewise.
|
|
||||||
(regcomp): Likewise.
|
|
||||||
(regerror): Likewise.
|
|
||||||
(regfree): Likewise.
|
|
||||||
* posix/regexec.c (regexec): Likewise.
|
|
||||||
(re_match): Likewise.
|
|
||||||
(re_search): Likewise.
|
|
||||||
(re_match_2): Likewise.
|
|
||||||
(re_search_2): Likewise.
|
|
||||||
(re_search_stub): Likewise. Use internal_function
|
|
||||||
(re_copy_regs): Likewise.
|
|
||||||
(re_set_registers): Convert to prototype-style function
|
|
||||||
definition.
|
|
||||||
(prune_impossible_nodes): Likewise. Use internal_function.
|
|
||||||
* resolv/inet_net_pton.c (inet_net_pton): Convert to
|
|
||||||
prototype-style function definition.
|
|
||||||
(inet_net_pton_ipv4): Likewise.
|
|
||||||
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise.
|
|
||||||
* sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise.
|
|
||||||
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
|
|
||||||
* sysdeps/pthread/timer_delete.c (timer_delete): Likewise.
|
|
||||||
* sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise.
|
|
||||||
Make variadic.
|
|
||||||
* time/strptime_l.c (localtime_r): Convert to prototype-style
|
|
||||||
function definition.
|
|
||||||
* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise.
|
|
||||||
* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise.
|
|
||||||
* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise.
|
|
||||||
* wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/dl-openat64.c | 5 +----
|
|
||||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/dl-openat64.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/dl-openat64.c
|
|
||||||
@@ -24,10 +24,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
-openat64 (dfd, file, oflag)
|
|
||||||
- int dfd;
|
|
||||||
- const char *file;
|
|
||||||
- int oflag;
|
|
||||||
+openat64 (int dfd, const char *file, int oflag, ...)
|
|
||||||
{
|
|
||||||
assert ((oflag & O_CREAT) == 0);
|
|
||||||
|
|
159
packages/glibc/2.14.1/0004-unused-variables.patch
vendored
159
packages/glibc/2.14.1/0004-unused-variables.patch
vendored
@ -1,159 +0,0 @@
|
|||||||
commit 6565fcb6e189d67b5a3f321453daebb805056d73
|
|
||||||
Author: Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
Date: Fri Sep 18 20:27:20 2015 +0100
|
|
||||||
|
|
||||||
Fix several build failures with GCC6 due to unused static variables.
|
|
||||||
|
|
||||||
2015-09-18 Wilco Dijkstra <wdijkstr@arm.com>
|
|
||||||
|
|
||||||
* resolv/base64.c (rcsid): Remove unused static.
|
|
||||||
* sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused
|
|
||||||
static. (tqpi1): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/uexp.h (one): Likewise.
|
|
||||||
* sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise.
|
|
||||||
* sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise.
|
|
||||||
* timezone/private.h (time_t_min): Likewise. (time_t_max):
|
|
||||||
Likewise.
|
|
||||||
|
|
||||||
---
|
|
||||||
resolv/base64.c | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/atnat2.h | 4 ----
|
|
||||||
sysdeps/ieee754/dbl-64/uexp.h | 2 +-
|
|
||||||
sysdeps/ieee754/dbl-64/upow.h | 2 --
|
|
||||||
sysdeps/ieee754/flt-32/e_log10f.c | 6 ------
|
|
||||||
sysdeps/ieee754/flt-32/s_cosf.c | 6 ------
|
|
||||||
sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_erfl.c | 1 -
|
|
||||||
sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 -
|
|
||||||
9 files changed, 1 insertion(+), 26 deletions(-)
|
|
||||||
|
|
||||||
--- a/resolv/base64.c
|
|
||||||
+++ b/resolv/base64.c
|
|
||||||
@@ -40,10 +40,6 @@
|
|
||||||
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#if !defined(LINT) && !defined(CODECENTER)
|
|
||||||
-static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $";
|
|
||||||
-#endif /* not lint */
|
|
||||||
-
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/atnat2.h
|
|
||||||
@@ -69,10 +69,8 @@
|
|
||||||
/**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */
|
|
||||||
@@ -139,10 +137,8 @@
|
|
||||||
/**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */
|
|
||||||
/**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */
|
|
||||||
/**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */
|
|
||||||
-/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */
|
|
||||||
/**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */
|
|
||||||
/**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */
|
|
||||||
-/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */
|
|
||||||
/**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */
|
|
||||||
/**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */
|
|
||||||
/**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/uexp.h
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
|
|
||||||
#include "mydefs.h"
|
|
||||||
|
|
||||||
-const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300,
|
|
||||||
err_0 = 1.000014, err_1 = 0.000016;
|
|
||||||
const static int4 bigint = 0x40862002,
|
|
||||||
badint = 0x40876000,smallint = 0x3C8fffff;
|
|
||||||
--- a/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
+++ b/sysdeps/ieee754/dbl-64/upow.h
|
|
||||||
@@ -36,7 +36,6 @@
|
|
||||||
/**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */
|
|
||||||
/**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */
|
|
||||||
/**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */
|
|
||||||
-/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
@@ -51,7 +50,6 @@
|
|
||||||
/**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */
|
|
||||||
/**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */
|
|
||||||
/**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */
|
|
||||||
-/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */
|
|
||||||
/**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */
|
|
||||||
/**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */
|
|
||||||
/**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */
|
|
||||||
--- a/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/e_log10f.c
|
|
||||||
@@ -31,12 +31,6 @@
|
|
||||||
log10_2lo = 7.9034151668e-07; /* 0x355427db */
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
-static const float zero = 0.0;
|
|
||||||
-#else
|
|
||||||
-static float zero = 0.0;
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#ifdef __STDC__
|
|
||||||
float __ieee754_log10f(float x)
|
|
||||||
#else
|
|
||||||
float __ieee754_log10f(x)
|
|
||||||
--- a/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/s_cosf.c
|
|
||||||
@@ -22,12 +22,6 @@
|
|
||||||
#include "math_private.h"
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
-static const float one=1.0;
|
|
||||||
-#else
|
|
||||||
-static float one=1.0;
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#ifdef __STDC__
|
|
||||||
float __cosf(float x)
|
|
||||||
#else
|
|
||||||
float __cosf(x)
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
||||||
@@ -74,7 +74,6 @@
|
|
||||||
static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
|
|
||||||
static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
|
|
||||||
static const long double one = 1.0L;
|
|
||||||
-static const long double zero = 0.0L;
|
|
||||||
static const long double huge = 1.0e4000L;
|
|
||||||
|
|
||||||
/* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2)
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
|
|
||||||
@@ -142,7 +142,6 @@
|
|
||||||
static long double
|
|
||||||
#endif
|
|
||||||
tiny = 1e-4931L,
|
|
||||||
- half = 0.5L,
|
|
||||||
one = 1.0L,
|
|
||||||
two = 2.0L,
|
|
||||||
/* 2/sqrt(pi) - 1 */
|
|
||||||
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
|
|
||||||
@@ -116,7 +116,6 @@
|
|
||||||
|
|
||||||
static const long double sqrth = 0.7071067811865475244008443621048490392848L;
|
|
||||||
/* ln (2^16384 * (1 - 2^-113)) */
|
|
||||||
-static const long double maxlog = 1.1356523406294143949491931077970764891253E4L;
|
|
||||||
static const long double zero = 0.0L;
|
|
||||||
|
|
||||||
long double
|
|
@ -1,26 +0,0 @@
|
|||||||
commit 976ef870542580cf5fed896c2c652b3e1a95f9da
|
|
||||||
Author: Steve Ellcey <sellcey@mips.com>
|
|
||||||
Date: Fri Dec 11 09:19:37 2015 -0800
|
|
||||||
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
* sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f):
|
|
||||||
Fix indentation.
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
|
|
||||||
@@ -82,7 +82,9 @@
|
|
||||||
|
|
||||||
/* compute q[0],q[1],...q[jk] */
|
|
||||||
for (i=0;i<=jk;i++) {
|
|
||||||
- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
|
|
||||||
+ for(j=0,fw=0.0;j<=jx;j++)
|
|
||||||
+ fw += x[j]*f[jx+i-j];
|
|
||||||
+ q[i] = fw;
|
|
||||||
}
|
|
||||||
|
|
||||||
jz = jk;
|
|
@ -1,29 +0,0 @@
|
|||||||
commit 328c44c3670ebf6c1bd790acddce65a12998cd6c
|
|
||||||
Author: Roland McGrath <roland@hack.frob.com>
|
|
||||||
Date: Fri Apr 17 12:11:58 2015 -0700
|
|
||||||
|
|
||||||
Fuller check for invalid NSID in _dl_open.
|
|
||||||
|
|
||||||
---
|
|
||||||
elf/dl-open.c | 10 ++++++++--
|
|
||||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/elf/dl-open.c
|
|
||||||
+++ b/elf/dl-open.c
|
|
||||||
@@ -540,8 +540,14 @@
|
|
||||||
/* Never allow loading a DSO in a namespace which is empty. Such
|
|
||||||
direct placements is only causing problems. Also don't allow
|
|
||||||
loading into a namespace used for auditing. */
|
|
||||||
- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0)
|
|
||||||
- && (GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
+ else if ((nsid != LM_ID_BASE && nsid != __LM_ID_CALLER)
|
|
||||||
+ && ((nsid < 0 || nsid >= GL(dl_nns))
|
|
||||||
+ /* This prevents the [NSID] index expressions from being
|
|
||||||
+ evaluated, so the compiler won't think that we are
|
|
||||||
+ accessing an invalid index here in the !SHARED case where
|
|
||||||
+ DL_NNS is 1 and so any NSID != 0 is invalid. */
|
|
||||||
+ || DL_NNS == 1
|
|
||||||
+ || GL(dl_ns)[nsid]._ns_nloaded == 0
|
|
||||||
|| GL(dl_ns)[nsid]._ns_loaded->l_auditing))
|
|
||||||
_dl_signal_error (EINVAL, file, NULL,
|
|
||||||
N_("invalid target namespace in dlmopen()"));
|
|
@ -1,51 +0,0 @@
|
|||||||
revert cfi additions to clone on i386/x86_64 to workaround problems in
|
|
||||||
gcc's unwinder code. this is not a bug in glibc, it triggers problems
|
|
||||||
elsewhere. this cfi code does not gain us a whole lot anyways.
|
|
||||||
|
|
||||||
http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html
|
|
||||||
|
|
||||||
---
|
|
||||||
sysdeps/unix/sysv/linux/i386/clone.S | 4 ----
|
|
||||||
sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ----
|
|
||||||
2 files changed, 8 deletions(-)
|
|
||||||
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/clone.S
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/clone.S
|
|
||||||
@@ -120,9 +120,6 @@
|
|
||||||
ret
|
|
||||||
|
|
||||||
L(thread_start):
|
|
||||||
- cfi_startproc;
|
|
||||||
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
||||||
- cfi_undefined (eip);
|
|
||||||
/* Note: %esi is zero. */
|
|
||||||
movl %esi,%ebp /* terminate the stack frame */
|
|
||||||
#ifdef RESET_PID
|
|
||||||
@@ -155,7 +152,6 @@
|
|
||||||
jmp L(haspid)
|
|
||||||
.previous
|
|
||||||
#endif
|
|
||||||
- cfi_endproc;
|
|
||||||
|
|
||||||
cfi_startproc
|
|
||||||
PSEUDO_END (BP_SYM (__clone))
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S
|
|
||||||
@@ -89,9 +89,6 @@
|
|
||||||
ret
|
|
||||||
|
|
||||||
L(thread_start):
|
|
||||||
- cfi_startproc;
|
|
||||||
- /* Clearing frame pointer is insufficient, use CFI. */
|
|
||||||
- cfi_undefined (rip);
|
|
||||||
/* Clear the frame pointer. The ABI suggests this be done, to mark
|
|
||||||
the outermost frame obviously. */
|
|
||||||
xorl %ebp, %ebp
|
|
||||||
@@ -116,7 +113,6 @@
|
|
||||||
/* Call exit with return value from function call. */
|
|
||||||
movq %rax, %rdi
|
|
||||||
call HIDDEN_JUMPTARGET (_exit)
|
|
||||||
- cfi_endproc;
|
|
||||||
|
|
||||||
cfi_startproc;
|
|
||||||
PSEUDO_END (BP_SYM (__clone))
|
|
@ -1,19 +0,0 @@
|
|||||||
do not bother running ldconfig on DESTDIR. it wants to write the temp cache
|
|
||||||
file outside of the chroot. doesnt matter anyways as we wont use the cache
|
|
||||||
results (portage will rebuild cache), so running ldconfig is simply a waste
|
|
||||||
of time.
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -116,6 +116,7 @@
|
|
||||||
rm -f $(symbolic-link-list)
|
|
||||||
|
|
||||||
install:
|
|
||||||
+dont-bother-with-destdir:
|
|
||||||
-test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \
|
|
||||||
$(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \
|
|
||||||
$(slibdir) $(libdir)
|
|
@ -1,41 +0,0 @@
|
|||||||
From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexey Neyman <stilor@att.net>
|
|
||||||
Date: Wed, 8 Mar 2017 14:31:10 -0800
|
|
||||||
Subject: [PATCH] Fix combreloc test with BSD grep
|
|
||||||
|
|
||||||
The test for "-z combreloc" fails when cross-compiling on a machine
|
|
||||||
that uses BSD grep (e.g. on macos). grep complains about empty
|
|
||||||
subexpression and exits with non-zero status, which is interpreted
|
|
||||||
by configure as "not found". As a result, support for "-z combreloc"
|
|
||||||
(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
|
|
||||||
|
|
||||||
* configure.ac: Avoid empty subexpression in grep.
|
|
||||||
|
|
||||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
||||||
---
|
|
||||||
configure | 2 +-
|
|
||||||
configure.in | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -6377,7 +6377,7 @@
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
test $ac_status = 0; }; }
|
|
||||||
then
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1655,7 +1655,7 @@
|
|
||||||
dnl introducing new options this is not easily doable. Instead use a tool
|
|
||||||
dnl which always is cross-platform: readelf. To detect whether -z combreloc
|
|
||||||
dnl look for a section named .rel.dyn.
|
|
||||||
- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
|
||||||
+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
else
|
|
||||||
libc_cv_z_combreloc=no
|
|
@ -1,86 +0,0 @@
|
|||||||
grab some updates from FreeBSD
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/201979
|
|
||||||
|
|
||||||
---
|
|
||||||
misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 36 insertions(+)
|
|
||||||
|
|
||||||
--- a/misc/sys/queue.h
|
|
||||||
+++ b/misc/sys/queue.h
|
|
||||||
@@ -136,6 +136,11 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.le_next))
|
|
||||||
|
|
||||||
+#define LIST_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = LIST_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* List access methods.
|
|
||||||
*/
|
|
||||||
@@ -197,6 +202,16 @@
|
|
||||||
#define SLIST_FOREACH(var, head, field) \
|
|
||||||
for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
|
|
||||||
|
|
||||||
+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = SLIST_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \
|
|
||||||
+ for ((varp) = &SLIST_FIRST((head)); \
|
|
||||||
+ ((var) = *(varp)) != NULL; \
|
|
||||||
+ (varp) = &SLIST_NEXT((var), field))
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Singly-linked List access methods.
|
|
||||||
*/
|
|
||||||
@@ -242,6 +257,12 @@
|
|
||||||
(head)->stqh_last = &(elm)->field.stqe_next; \
|
|
||||||
} while (/*CONSTCOND*/0)
|
|
||||||
|
|
||||||
+#define STAILQ_LAST(head, type, field) \
|
|
||||||
+ (STAILQ_EMPTY((head)) ? \
|
|
||||||
+ NULL : \
|
|
||||||
+ ((struct type *)(void *) \
|
|
||||||
+ ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
|
|
||||||
+
|
|
||||||
#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
|
|
||||||
if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
|
|
||||||
(head)->stqh_last = &(elm)->field.stqe_next; \
|
|
||||||
@@ -271,6 +292,11 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.stqe_next))
|
|
||||||
|
|
||||||
+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = STAILQ_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define STAILQ_CONCAT(head1, head2) do { \
|
|
||||||
if (!STAILQ_EMPTY((head2))) { \
|
|
||||||
*(head1)->stqh_last = (head2)->stqh_first; \
|
|
||||||
@@ -437,11 +463,21 @@
|
|
||||||
(var); \
|
|
||||||
(var) = ((var)->field.tqe_next))
|
|
||||||
|
|
||||||
+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
|
||||||
+ for ((var) = TAILQ_FIRST((head)); \
|
|
||||||
+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
|
|
||||||
for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
|
|
||||||
(var); \
|
|
||||||
(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
|
|
||||||
|
|
||||||
+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \
|
|
||||||
+ for ((var) = TAILQ_LAST((head), headname); \
|
|
||||||
+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \
|
|
||||||
+ (var) = (tvar))
|
|
||||||
+
|
|
||||||
#define TAILQ_CONCAT(head1, head2, field) do { \
|
|
||||||
if (!TAILQ_EMPTY(head2)) { \
|
|
||||||
*(head1)->tqh_last = (head2)->tqh_first; \
|
|
27
packages/glibc/2.14.1/0011-manual-no-perl.patch
vendored
27
packages/glibc/2.14.1/0011-manual-no-perl.patch
vendored
@ -1,27 +0,0 @@
|
|||||||
If we're using a cvs snapshot which updates the source files, and
|
|
||||||
perl isn't installed yet, then we can't regen the docs. Not a big
|
|
||||||
deal, so just whine a little and continue on our merry way.
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/60132
|
|
||||||
|
|
||||||
---
|
|
||||||
manual/Makefile | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
--- a/manual/Makefile
|
|
||||||
+++ b/manual/Makefile
|
|
||||||
@@ -106,9 +106,14 @@
|
|
||||||
libm-err.texi: stamp-libm-err
|
|
||||||
stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
|
|
||||||
$(dir)/libm-test-ulps))
|
|
||||||
+ifneq ($(PERL),no)
|
|
||||||
pwd=`pwd`; \
|
|
||||||
$(PERL) $< $$pwd/.. > libm-err-tmp
|
|
||||||
$(move-if-change) libm-err-tmp libm-err.texi
|
|
||||||
+else
|
|
||||||
+ echo "Unable to rebuild math docs, no perl installed"
|
|
||||||
+ touch libm-err.texi
|
|
||||||
+endif
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
# Generate Texinfo files from the C source for the example programs.
|
|
@ -1,56 +0,0 @@
|
|||||||
# DP: Description: Fix localedef segfault when run under exec-shield,
|
|
||||||
# PaX or similar. (#231438, #198099)
|
|
||||||
# DP: Dpatch Author: James Troup <james@nocrew.org>
|
|
||||||
# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
|
|
||||||
# DP: Upstream status: Unknown
|
|
||||||
# DP: Status Details: Unknown
|
|
||||||
# DP: Date: 2004-03-16
|
|
||||||
---
|
|
||||||
# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++
|
|
||||||
# 1 file changed, 36 insertions(+)
|
|
||||||
#
|
|
||||||
--- a/locale/programs/3level.h
|
|
||||||
+++ b/locale/programs/3level.h
|
|
||||||
@@ -203,6 +203,42 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/* GCC ATM seems to do a poor job with pointers to nested functions passed
|
|
||||||
+ to inlined functions. Help it a little bit with this hack. */
|
|
||||||
+#define wchead_table_iterate(tp, fn) \
|
|
||||||
+do \
|
|
||||||
+ { \
|
|
||||||
+ struct wchead_table *t = (tp); \
|
|
||||||
+ uint32_t index1; \
|
|
||||||
+ for (index1 = 0; index1 < t->level1_size; index1++) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup1 = t->level1[index1]; \
|
|
||||||
+ if (lookup1 != ((uint32_t) ~0)) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup1_shifted = lookup1 << t->q; \
|
|
||||||
+ uint32_t index2; \
|
|
||||||
+ for (index2 = 0; index2 < (1 << t->q); index2++) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \
|
|
||||||
+ if (lookup2 != ((uint32_t) ~0)) \
|
|
||||||
+ { \
|
|
||||||
+ uint32_t lookup2_shifted = lookup2 << t->p; \
|
|
||||||
+ uint32_t index3; \
|
|
||||||
+ for (index3 = 0; index3 < (1 << t->p); index3++) \
|
|
||||||
+ { \
|
|
||||||
+ struct element_t *lookup3 \
|
|
||||||
+ = t->level3[index3 + lookup2_shifted]; \
|
|
||||||
+ if (lookup3 != NULL) \
|
|
||||||
+ fn ((((index1 << t->q) + index2) << t->p) + index3, \
|
|
||||||
+ lookup3); \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } \
|
|
||||||
+ } while (0)
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NO_FINALIZE
|
|
42
packages/glibc/2.14.1/0013-resolv-dynamic.patch
vendored
42
packages/glibc/2.14.1/0013-resolv-dynamic.patch
vendored
@ -1,42 +0,0 @@
|
|||||||
ripped from SuSE
|
|
||||||
|
|
||||||
if /etc/resolv.conf is updated, then make sure applications
|
|
||||||
already running get the updated information.
|
|
||||||
|
|
||||||
http://bugs.gentoo.org/177416
|
|
||||||
|
|
||||||
---
|
|
||||||
resolv/res_libc.c | 15 +++++++++++++++
|
|
||||||
1 file changed, 15 insertions(+)
|
|
||||||
|
|
||||||
--- a/resolv/res_libc.c
|
|
||||||
+++ b/resolv/res_libc.c
|
|
||||||
@@ -22,6 +22,7 @@
|
|
||||||
#include <arpa/nameser.h>
|
|
||||||
#include <resolv.h>
|
|
||||||
#include <bits/libc-lock.h>
|
|
||||||
+#include <sys/stat.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* The following bit is copied from res_data.c (where it is #ifdef'ed
|
|
||||||
@@ -95,6 +96,20 @@
|
|
||||||
__res_maybe_init (res_state resp, int preinit)
|
|
||||||
{
|
|
||||||
if (resp->options & RES_INIT) {
|
|
||||||
+ static time_t last_mtime, last_check;
|
|
||||||
+ time_t now;
|
|
||||||
+ struct stat statbuf;
|
|
||||||
+
|
|
||||||
+ time (&now);
|
|
||||||
+ if (now != last_check) {
|
|
||||||
+ last_check = now;
|
|
||||||
+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) {
|
|
||||||
+ last_mtime = statbuf.st_mtime;
|
|
||||||
+ atomicinclock (lock);
|
|
||||||
+ atomicinc (__res_initstamp);
|
|
||||||
+ atomicincunlock (lock);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
if (__res_initstamp != resp->_u._ext.initstamp) {
|
|
||||||
if (resp->nscount > 0)
|
|
||||||
__res_iclose (resp, true);
|
|
42
packages/glibc/2.14.1/0014-localedef-mmap.patch
vendored
42
packages/glibc/2.14.1/0014-localedef-mmap.patch
vendored
@ -1,42 +0,0 @@
|
|||||||
sniped from Debian
|
|
||||||
http://bugs.gentoo.org/289615
|
|
||||||
|
|
||||||
2009-10-27 Aurelien Jarno <aurelien@aurel32.net>
|
|
||||||
|
|
||||||
* locale/programs/locarchive.c: use MMAP_SHARED to reserve memory
|
|
||||||
used later with MMAP_FIXED | MMAP_SHARED to cope with different
|
|
||||||
alignment restrictions.
|
|
||||||
|
|
||||||
---
|
|
||||||
locale/programs/locarchive.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/locale/programs/locarchive.c
|
|
||||||
+++ b/locale/programs/locarchive.c
|
|
||||||
@@ -134,7 +134,7 @@
|
|
||||||
size_t reserved = RESERVE_MMAP_SIZE;
|
|
||||||
int xflags = 0;
|
|
||||||
if (total < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
||||||
@@ -396,7 +396,7 @@
|
|
||||||
size_t reserved = RESERVE_MMAP_SIZE;
|
|
||||||
int xflags = 0;
|
|
||||||
if (total < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
||||||
@@ -614,7 +614,7 @@
|
|
||||||
int xflags = 0;
|
|
||||||
void *p;
|
|
||||||
if (st.st_size < reserved
|
|
||||||
- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
|
|
||||||
+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
|
|
||||||
-1, 0)) != MAP_FAILED))
|
|
||||||
xflags = MAP_FIXED;
|
|
||||||
else
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user