diff options
author | Juro Bystricky <jurobystricky@hotmail.com> | 2014-11-27 10:32:59 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-05 18:01:06 +0000 |
commit | 9fc63c57a82661a65ace3ebccdb535fe33de70f5 (patch) | |
tree | d73d2080b1f058299dad059e4c6f72d6bbf9e8f7 /meta/recipes-core | |
parent | 0935937969e6189e897973bb32c36b7672faa6b4 (diff) | |
download | poky-9fc63c57a82661a65ace3ebccdb535fe33de70f5.tar.gz |
eglibc: modified option-groups.h generation
option-groups.h only explicitely #defines options that are enabled.
EGLIBC options are typically pre-processed under the assumption that if
an option is not explicitely defined then it evaluates as 0.
This assumption is correct, but it generates a compiler warning
message each time an undefined symbol is being evaluated.
In order to remove the warnings, each EGLIBC option is now defined
as 1 if the option is enabled or as 0 otherwise.
The consequence is we cannot use #ifdef OPTION_XXX when evaluating
the option, we must always use #if OPTION_XXX.
[YOCTO #7001]
(From OE-Core rev: 7f1bdc331304a61a4836a5752bca210450b6c5b5)
Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch | 34 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc/option-groups.patch | 6 |
2 files changed, 20 insertions, 20 deletions
diff --git a/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch b/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch index 40c783212a..7136253c8b 100644 --- a/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch +++ b/meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch | |||
@@ -5724,7 +5724,7 @@ Index: git/posix/regex.h | |||
5724 | # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) | 5724 | # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) |
5725 | 5725 | ||
5726 | +/* EGLIBC: Old regex implementation does not support these. */ | 5726 | +/* EGLIBC: Old regex implementation does not support these. */ |
5727 | +# ifdef __OPTION_POSIX_REGEXP_GLIBC | 5727 | +# if __OPTION_POSIX_REGEXP_GLIBC |
5728 | /* If this bit is set, then ignore case when matching. | 5728 | /* If this bit is set, then ignore case when matching. |
5729 | If not set, then case is significant. */ | 5729 | If not set, then case is significant. */ |
5730 | # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) | 5730 | # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) |
@@ -5740,7 +5740,7 @@ Index: git/posix/regex.h | |||
5740 | (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | 5740 | (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ |
5741 | | RE_INTERVALS | RE_NO_EMPTY_RANGES) | 5741 | | RE_INTERVALS | RE_NO_EMPTY_RANGES) |
5742 | 5742 | ||
5743 | +#ifdef __OPTION_POSIX_REGEXP_GLIBC | 5743 | +#if __OPTION_POSIX_REGEXP_GLIBC |
5744 | #define RE_SYNTAX_POSIX_BASIC \ | 5744 | #define RE_SYNTAX_POSIX_BASIC \ |
5745 | (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) | 5745 | (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) |
5746 | +#else | 5746 | +#else |
@@ -5754,7 +5754,7 @@ Index: git/posix/regex.h | |||
5754 | /* Like REG_NOTBOL, except for the end-of-line. */ | 5754 | /* Like REG_NOTBOL, except for the end-of-line. */ |
5755 | #define REG_NOTEOL (1 << 1) | 5755 | #define REG_NOTEOL (1 << 1) |
5756 | 5756 | ||
5757 | +#ifdef __OPTION_POSIX_REGEXP_GLIBC | 5757 | +#if __OPTION_POSIX_REGEXP_GLIBC |
5758 | /* Use PMATCH[0] to delimit the start and end of the search in the | 5758 | /* Use PMATCH[0] to delimit the start and end of the search in the |
5759 | buffer. */ | 5759 | buffer. */ |
5760 | #define REG_STARTEND (1 << 2) | 5760 | #define REG_STARTEND (1 << 2) |
@@ -15542,7 +15542,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15542 | libc_hidden_proto (__nldbl___isoc99_vsscanf) | 15542 | libc_hidden_proto (__nldbl___isoc99_vsscanf) |
15543 | libc_hidden_proto (__nldbl___isoc99_vfscanf) | 15543 | libc_hidden_proto (__nldbl___isoc99_vfscanf) |
15544 | + | 15544 | + |
15545 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15545 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15546 | +libc_hidden_proto (__nldbl_vfwscanf) | 15546 | +libc_hidden_proto (__nldbl_vfwscanf) |
15547 | +libc_hidden_proto (__nldbl_vswscanf) | 15547 | +libc_hidden_proto (__nldbl_vswscanf) |
15548 | +libc_hidden_proto (__nldbl_vfwprintf) | 15548 | +libc_hidden_proto (__nldbl_vfwprintf) |
@@ -15559,7 +15559,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15559 | } | 15559 | } |
15560 | weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) | 15560 | weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) |
15561 | 15561 | ||
15562 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15562 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15563 | int | 15563 | int |
15564 | attribute_compat_text_section weak_function | 15564 | attribute_compat_text_section weak_function |
15565 | __nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) | 15565 | __nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) |
@@ -15575,7 +15575,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15575 | return done; | 15575 | return done; |
15576 | } | 15576 | } |
15577 | 15577 | ||
15578 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15578 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15579 | int | 15579 | int |
15580 | attribute_compat_text_section | 15580 | attribute_compat_text_section |
15581 | __nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) | 15581 | __nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) |
@@ -15591,7 +15591,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15591 | } | 15591 | } |
15592 | libc_hidden_def (__nldbl_vdprintf) | 15592 | libc_hidden_def (__nldbl_vdprintf) |
15593 | 15593 | ||
15594 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15594 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15595 | int | 15595 | int |
15596 | attribute_compat_text_section weak_function | 15596 | attribute_compat_text_section weak_function |
15597 | __nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) | 15597 | __nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) |
@@ -15607,7 +15607,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15607 | libc_hidden_def (__nldbl_vsnprintf) | 15607 | libc_hidden_def (__nldbl_vsnprintf) |
15608 | weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) | 15608 | weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) |
15609 | 15609 | ||
15610 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15610 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15611 | int | 15611 | int |
15612 | attribute_compat_text_section weak_function | 15612 | attribute_compat_text_section weak_function |
15613 | __nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, | 15613 | __nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, |
@@ -15623,7 +15623,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15623 | return done; | 15623 | return done; |
15624 | } | 15624 | } |
15625 | 15625 | ||
15626 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15626 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15627 | int | 15627 | int |
15628 | attribute_compat_text_section | 15628 | attribute_compat_text_section |
15629 | __nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) | 15629 | __nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) |
@@ -15639,7 +15639,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15639 | return done; | 15639 | return done; |
15640 | } | 15640 | } |
15641 | 15641 | ||
15642 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15642 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15643 | int | 15643 | int |
15644 | attribute_compat_text_section | 15644 | attribute_compat_text_section |
15645 | __nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) | 15645 | __nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) |
@@ -15655,7 +15655,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15655 | return done; | 15655 | return done; |
15656 | } | 15656 | } |
15657 | 15657 | ||
15658 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15658 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15659 | int | 15659 | int |
15660 | attribute_compat_text_section | 15660 | attribute_compat_text_section |
15661 | __nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, | 15661 | __nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, |
@@ -15671,7 +15671,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15671 | } | 15671 | } |
15672 | libc_hidden_def (__nldbl___vfprintf_chk) | 15672 | libc_hidden_def (__nldbl___vfprintf_chk) |
15673 | 15673 | ||
15674 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15674 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15675 | int | 15675 | int |
15676 | attribute_compat_text_section | 15676 | attribute_compat_text_section |
15677 | __nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) | 15677 | __nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) |
@@ -15687,7 +15687,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15687 | } | 15687 | } |
15688 | libc_hidden_def (__nldbl___vsprintf_chk) | 15688 | libc_hidden_def (__nldbl___vsprintf_chk) |
15689 | 15689 | ||
15690 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15690 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15691 | int | 15691 | int |
15692 | attribute_compat_text_section | 15692 | attribute_compat_text_section |
15693 | __nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, | 15693 | __nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, |
@@ -15719,7 +15719,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15719 | return done; | 15719 | return done; |
15720 | } | 15720 | } |
15721 | 15721 | ||
15722 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15722 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15723 | int | 15723 | int |
15724 | attribute_compat_text_section | 15724 | attribute_compat_text_section |
15725 | __nldbl___isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) | 15725 | __nldbl___isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) |
@@ -15735,7 +15735,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.c | |||
15735 | compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); | 15735 | compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); |
15736 | #endif | 15736 | #endif |
15737 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) | 15737 | #if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) |
15738 | +# ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15738 | +# if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15739 | compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); | 15739 | compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); |
15740 | compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); | 15740 | compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); |
15741 | compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); | 15741 | compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); |
@@ -15783,7 +15783,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | |||
15783 | NLDBL_DECL (__isoc99_vscanf); | 15783 | NLDBL_DECL (__isoc99_vscanf); |
15784 | NLDBL_DECL (__isoc99_vfscanf); | 15784 | NLDBL_DECL (__isoc99_vfscanf); |
15785 | NLDBL_DECL (__isoc99_vsscanf); | 15785 | NLDBL_DECL (__isoc99_vsscanf); |
15786 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15786 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15787 | +NLDBL_DECL (vfwscanf); | 15787 | +NLDBL_DECL (vfwscanf); |
15788 | +NLDBL_DECL (vfwprintf); | 15788 | +NLDBL_DECL (vfwprintf); |
15789 | +NLDBL_DECL (vswprintf); | 15789 | +NLDBL_DECL (vswprintf); |
@@ -15819,7 +15819,7 @@ Index: git/sysdeps/ieee754/ldbl-opt/nldbl-compat.h | |||
15819 | _G_va_list) __THROW; | 15819 | _G_va_list) __THROW; |
15820 | extern void __nldbl___vsyslog_chk (int, int, const char *, va_list); | 15820 | extern void __nldbl___vsyslog_chk (int, int, const char *, va_list); |
15821 | - | 15821 | - |
15822 | +#ifdef __OPTION_POSIX_WIDE_CHAR_DEVICE_IO | 15822 | +#if __OPTION_POSIX_WIDE_CHAR_DEVICE_IO |
15823 | +extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, | 15823 | +extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, |
15824 | + const wchar_t *__restrict, __gnuc_va_list); | 15824 | + const wchar_t *__restrict, __gnuc_va_list); |
15825 | +extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, | 15825 | +extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, |
diff --git a/meta/recipes-core/glibc/glibc/option-groups.patch b/meta/recipes-core/glibc/glibc/option-groups.patch index 693bd2fbb8..198be73524 100644 --- a/meta/recipes-core/glibc/glibc/option-groups.patch +++ b/meta/recipes-core/glibc/glibc/option-groups.patch | |||
@@ -1358,8 +1358,8 @@ Index: git/scripts/option-groups.awk | |||
1358 | + print " It defines macros that indicate which EGLIBC option groups were" | 1358 | + print " It defines macros that indicate which EGLIBC option groups were" |
1359 | + print " configured in 'option-groups.config' when this C library was" | 1359 | + print " configured in 'option-groups.config' when this C library was" |
1360 | + print " built. For each option group named OPTION_foo, it #defines" | 1360 | + print " built. For each option group named OPTION_foo, it #defines" |
1361 | + print " __OPTION_foo to be 1 if the group is enabled, or leaves that" | 1361 | + print " __OPTION_foo to be 1 if the group is enabled, or #defines that" |
1362 | + print " symbol undefined if the group is disabled. */" | 1362 | + print " symbol to be 0 if the group is disabled. */" |
1363 | + print "" | 1363 | + print "" |
1364 | + print "#ifndef __GNU_OPTION_GROUPS_H" | 1364 | + print "#ifndef __GNU_OPTION_GROUPS_H" |
1365 | + print "#define __GNU_OPTION_GROUPS_H" | 1365 | + print "#define __GNU_OPTION_GROUPS_H" |
@@ -1379,7 +1379,7 @@ Index: git/scripts/option-groups.awk | |||
1379 | + if (vars[var] == "y") | 1379 | + if (vars[var] == "y") |
1380 | + print "#define __" var " 1" | 1380 | + print "#define __" var " 1" |
1381 | + else if (vars[var] == "n") | 1381 | + else if (vars[var] == "n") |
1382 | + print "/* #undef __" var " */" | 1382 | + print "#define __" var " 0" |
1383 | + else if (vars[var] ~ /^[0-9]+/ || | 1383 | + else if (vars[var] ~ /^[0-9]+/ || |
1384 | + vars[var] ~ /^0x[0-9aAbBcCdDeEfF]+/ || | 1384 | + vars[var] ~ /^0x[0-9aAbBcCdDeEfF]+/ || |
1385 | + vars[var] ~ /^\"/) | 1385 | + vars[var] ~ /^\"/) |