diff options
author | André Fabian Silva Delgado <andre@pc-01.localdomain> | 2012-04-18 10:19:48 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <andre@pc-01.localdomain> | 2012-04-18 10:19:48 -0300 |
commit | 4446c507b469062091a16097e35dd10bcd6e92c3 (patch) | |
tree | 5ed079ff9c3a2cb0ab865687e3c71bce5bb6339a /cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-confstr-local-buffer-extent.patch | |
parent | 03a590c8c2e821c098486ab888f4be259db97184 (diff) | |
parent | 8ac96e9029f06dde8e58c31a1b87d2bd3a8509b7 (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/abslibre
Diffstat (limited to 'cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-confstr-local-buffer-extent.patch')
-rw-r--r-- | cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-confstr-local-buffer-extent.patch | 297 |
1 files changed, 297 insertions, 0 deletions
diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-confstr-local-buffer-extent.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-confstr-local-buffer-extent.patch new file mode 100644 index 000000000..483b28532 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-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: |