summaryrefslogtreecommitdiff
path: root/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-05 03:33:25 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-05 03:33:25 -0300
commitfa8be7b03b46e65b64d710cbfae7ba4a93751a57 (patch)
tree485f4f134233af2f3d63b9dcf9e97506467a74b9 /core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
parentaced7a6b55bc695c39eb6482b254829f0b56ff4b (diff)
parenta7f79fc1ced18c586d320033ac9738e98a21b550 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: core/expat/PKGBUILD core/gcc/PKGBUILD core/glibc/PKGBUILD core/libtool/PKGBUILD core/wpa_actiond/PKGBUILD libre/linux-libre/PKGBUILD multilib/binutils-multilib/PKGBUILD multilib/gcc-multilib/PKGBUILD multilib/gcc-multilib/gcc_pure64-multilib.patch multilib/lib32-glibc/PKGBUILD multilib/lib32-glibc/glibc-2.15-vfprintf-nargs.patch multilib/lib32-glibc/glibc-__i686.patch multilib/libtool-multilib/PKGBUILD staging/kdebase-workspace/PKGBUILD staging/kdepim-runtime/PKGBUILD testing/telepathy-gabble/PKGBUILD testing/telepathy-glib/PKGBUILD testing/telepathy-mission-control/PKGBUILD
Diffstat (limited to 'core/glibc/glibc-2.15-confstr-local-buffer-extent.patch')
-rw-r--r--core/glibc/glibc-2.15-confstr-local-buffer-extent.patch297
1 files changed, 297 insertions, 0 deletions
diff --git a/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch b/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
new file mode 100644
index 000000000..483b28532
--- /dev/null
+++ b/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
@@ -0,0 +1,297 @@
+diff --git a/posix/confstr.c b/posix/confstr.c
+index 3c9566d..cad6561 100644
+--- a/posix/confstr.c
++++ b/posix/confstr.c
+@@ -35,6 +34,10 @@ confstr (name, buf, len)
+ const char *string = "";
+ size_t string_len = 1;
+
++ /* Note that this buffer must be large enough for the longest strings
++ used below. */
++ char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
++
+ switch (name)
+ {
+ case _CS_PATH:
+@@ -53,59 +56,55 @@ confstr (name, buf, len)
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environment which the system allows. */
+- {
+- char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
+-
+- string_len = 0;
++ string_len = 0;
+ #ifndef _POSIX_V7_ILP32_OFF32
+- if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
++ if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
+ #endif
+ #if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
+- {
+- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
+- sizeof "POSIX_V7_ILP32_OFF32" - 1);
+- string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
+- }
++ {
++ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
++ sizeof "POSIX_V7_ILP32_OFF32" - 1);
++ string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V7_ILP32_OFFBIG
+- if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
++ if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
+ #endif
+ #if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
+- sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
+- string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
++ sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
++ string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V7_LP64_OFF64
+- if (__sysconf (_SC_V7_LP64_OFF64) > 0)
++ if (__sysconf (_SC_V7_LP64_OFF64) > 0)
+ #endif
+ #if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
+- sizeof "POSIX_V7_LP64_OFF64" - 1);
+- string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
++ sizeof "POSIX_V7_LP64_OFF64" - 1);
++ string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V7_LPBIG_OFFBIG
+- if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
++ if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
+ #endif
+ #if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
+- sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
+- string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
+- }
+-#endif
+- restenvs[string_len++] = '\0';
+- string = restenvs;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
++ sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
++ string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
++ }
++#endif
++ restenvs[string_len++] = '\0';
++ string = restenvs;
+ break;
+
+ case _CS_V6_WIDTH_RESTRICTED_ENVS:
+@@ -116,59 +115,55 @@ confstr (name, buf, len)
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environment which the system allows. */
+- {
+- char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"];
+-
+- string_len = 0;
++ string_len = 0;
+ #ifndef _POSIX_V6_ILP32_OFF32
+- if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
++ if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
+ #endif
+ #if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0
+- {
+- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
+- sizeof "POSIX_V6_ILP32_OFF32" - 1);
+- string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
+- }
++ {
++ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
++ sizeof "POSIX_V6_ILP32_OFF32" - 1);
++ string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V6_ILP32_OFFBIG
+- if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
++ if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
+ #endif
+ #if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
+- sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
+- string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
++ sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
++ string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V6_LP64_OFF64
+- if (__sysconf (_SC_V6_LP64_OFF64) > 0)
++ if (__sysconf (_SC_V6_LP64_OFF64) > 0)
+ #endif
+ #if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
+- sizeof "POSIX_V6_LP64_OFF64" - 1);
+- string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
++ sizeof "POSIX_V6_LP64_OFF64" - 1);
++ string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
++ }
+ #endif
+ #ifndef _POSIX_V6_LPBIG_OFFBIG
+- if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
++ if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
+ #endif
+ #if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
+- sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
+- string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
+- }
+-#endif
+- restenvs[string_len++] = '\0';
+- string = restenvs;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
++ sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
++ string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
++ }
++#endif
++ restenvs[string_len++] = '\0';
++ string = restenvs;
+ break;
+
+ case _CS_V5_WIDTH_RESTRICTED_ENVS:
+@@ -179,59 +174,55 @@ confstr (name, buf, len)
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environment which the system allows. */
+- {
+- char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"];
+-
+- string_len = 0;
++ string_len = 0;
+ #ifndef _XBS5_ILP32_OFF32
+- if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
++ if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
+ #endif
+ #if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
+- {
+- memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
+- sizeof "XBS5_ILP32_OFF32" - 1);
+- string_len += sizeof "XBS5_ILP32_OFF32" - 1;
+- }
++ {
++ memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
++ sizeof "XBS5_ILP32_OFF32" - 1);
++ string_len += sizeof "XBS5_ILP32_OFF32" - 1;
++ }
+ #endif
+ #ifndef _XBS5_ILP32_OFFBIG
+- if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
++ if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
+ #endif
+ #if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
+- sizeof "XBS5_ILP32_OFFBIG" - 1);
+- string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
++ sizeof "XBS5_ILP32_OFFBIG" - 1);
++ string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
++ }
+ #endif
+ #ifndef _XBS5_LP64_OFF64
+- if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
++ if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
+ #endif
+ #if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
+- sizeof "XBS5_LP64_OFF64" - 1);
+- string_len += sizeof "XBS5_LP64_OFF64" - 1;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
++ sizeof "XBS5_LP64_OFF64" - 1);
++ string_len += sizeof "XBS5_LP64_OFF64" - 1;
++ }
+ #endif
+ #ifndef _XBS5_LPBIG_OFFBIG
+- if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
++ if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
+ #endif
+ #if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
+- {
+- if (string_len)
+- restenvs[string_len++] = '\n';
+- memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
+- sizeof "XBS5_LPBIG_OFFBIG" - 1);
+- string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
+- }
+-#endif
+- restenvs[string_len++] = '\0';
+- string = restenvs;
+- }
++ {
++ if (string_len)
++ restenvs[string_len++] = '\n';
++ memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
++ sizeof "XBS5_LPBIG_OFFBIG" - 1);
++ string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
++ }
++#endif
++ restenvs[string_len++] = '\0';
++ string = restenvs;
+ break;
+
+ case _CS_XBS5_ILP32_OFF32_CFLAGS: