From: Wenzong Fan <wenzong....@windriver.com> This fixes link errors:
auvirt.c:484: undefined reference to `copy_str' auvirt.c:667: undefined reference to `is_resource' As gcc5 doc about "Different semantics for inline functions": > C99 extern inline: An externally visible function is generated; \ > same as GNU89 inline. > To fix this, either mark the function foo as extern, or add the \ > following declaration: extern inline int foo (void); (from https://gcc.gnu.org/gcc-5/porting_to.html) Signed-off-by: Wenzong Fan <wenzong....@windriver.com> --- ...auvirt-get-inline-functions-work-with-C99.patch | 52 ++++++++++++++++++++++ recipes-security/audit/audit_2.4.3.bb | 1 + 2 files changed, 53 insertions(+) create mode 100644 recipes-security/audit/audit/audit-auvirt-get-inline-functions-work-with-C99.patch diff --git a/recipes-security/audit/audit/audit-auvirt-get-inline-functions-work-with-C99.patch b/recipes-security/audit/audit/audit-auvirt-get-inline-functions-work-with-C99.patch new file mode 100644 index 0000000..b5b39e4 --- /dev/null +++ b/recipes-security/audit/audit/audit-auvirt-get-inline-functions-work-with-C99.patch @@ -0,0 +1,52 @@ +From 15036dd4fa9eb209f5e148c6f7ee081f5ca78fa4 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong....@windriver.com> +Date: Fri, 11 Sep 2015 03:37:13 -0400 +Subject: [PATCH] audit/auvirt: get inline functions work with C99 + +This fixes link errors: + + auvirt.c:484: undefined reference to `copy_str' + auvirt.c:667: undefined reference to `is_resource' + +As gcc5 doc about "Different semantics for inline functions": + + > C99 extern inline: An externally visible function is generated; \ + > same as GNU89 inline. + + > To fix this, either mark the function foo as extern, or add the \ + > following declaration: extern inline int foo (void); + +(from https://gcc.gnu.org/gcc-5/porting_to.html) + +Upstream Status: pending + +Signed-off-by: Wenzong Fan <wenzong....@windriver.com> +--- + tools/auvirt/auvirt.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/auvirt/auvirt.c b/tools/auvirt/auvirt.c +index 655c454..b16d718 100644 +--- a/tools/auvirt/auvirt.c ++++ b/tools/auvirt/auvirt.c +@@ -138,7 +138,7 @@ void event_free(struct event *event) + } + } + +-inline char *copy_str(const char *str) ++extern inline char *copy_str(const char *str) + { + return (str) ? strdup(str) : NULL; + } +@@ -650,7 +650,7 @@ int process_control_event(auparse_state_t *au) + return 0; + } + +-inline int is_resource(const char *res) ++extern inline int is_resource(const char *res) + { + if (res == NULL || + res[0] == '\0' || +-- +1.9.1 + diff --git a/recipes-security/audit/audit_2.4.3.bb b/recipes-security/audit/audit_2.4.3.bb index 0fcf145..9a700d4 100644 --- a/recipes-security/audit/audit_2.4.3.bb +++ b/recipes-security/audit/audit_2.4.3.bb @@ -15,6 +15,7 @@ SRC_URI = "http://people.redhat.com/sgrubb/audit/audit-${PV}.tar.gz \ file://auditd \ file://auditd.service \ file://audit-volatile.conf \ + file://audit-auvirt-get-inline-functions-work-with-C99.patch \ " SRC_URI[md5sum] = "544d863af2016b76afd8d1691b251164" SRC_URI[sha256sum] = "9c914704fecc602e143e37152f3efbab2469692684c1a8cc1b801c1b49c7abc6" -- 1.9.1 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto