diff options
author | Wenzong Fan <wenzong.fan@windriver.com> | 2015-09-14 04:45:06 -0400 |
---|---|---|
committer | Joe MacDonald <joe_macdonald@mentor.com> | 2015-09-21 10:42:27 -0400 |
commit | 463f97bfd1180475540b7d91e3fec6a2b33966bd (patch) | |
tree | 1248c6695cfd8c97385ef61359766ca4e8df6825 /recipes-security/selinux/libselinux/libselinux-get-pywrap-depends-on-selinux.py.patch | |
parent | dfa1054f3330af3fa18f522488af88e4269e394c (diff) | |
download | meta-selinux-463f97bfd1180475540b7d91e3fec6a2b33966bd.tar.gz |
audit/auvirt: get inline functions work with both gnu89 & gnu11
After gcc upgraded to gcc5, and if the codes are compiled without
optimization (-O0), and the below error will happen:
auvirt.c:484: undefined reference to `copy_str'
auvirt.c:667: undefined reference to `is_resource'
collect2: error: ld returned 1 exit status
gcc5 defaults to -std=gnu11 instead of -std=gnu89, and it requires that
exactly one C source file has the callable copy of the inline function.
Consider the following program:
inline int
foo (void)
{
return 42;
}
int
main (void)
{
return foo ();
}
The program above will not link with the C99 inline semantics, because
no out-of-line function foo is generated. To fix this, either mark the
function foo as static, or add the following declaration:
static inline int foo (void);
More information refer to: https://gcc.gnu.org/gcc-5/porting_to.html
Note: using "extern inline" will fail to build with gcc4.x, so replace
inline with "static inline".
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Diffstat (limited to 'recipes-security/selinux/libselinux/libselinux-get-pywrap-depends-on-selinux.py.patch')
0 files changed, 0 insertions, 0 deletions