On Tue, 12 Jul 2016 19:40:04 -0300 Arnaldo Carvalho de Melo <[email protected]> wrote:
> From: Arnaldo Carvalho de Melo <[email protected]> > > To make it portable to non-glibc systems, that follow the XSI variant > instead of the GNU specific one that gets in place when _GNU_SOURCE is > defined. > > Cc: Adrian Hunter <[email protected]> > Cc: David Ahern <[email protected]> > Cc: Jiri Olsa <[email protected]> > Cc: Namhyung Kim <[email protected]> > Cc: Steven Rostedt <[email protected]> > Cc: Wang Nan <[email protected]> > Link: http://lkml.kernel.org/n/[email protected] > Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> > --- > tools/lib/traceevent/event-parse.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/tools/lib/traceevent/event-parse.c > b/tools/lib/traceevent/event-parse.c > index a8b6357d1ffe..3a7bd175f73c 100644 > --- a/tools/lib/traceevent/event-parse.c > +++ b/tools/lib/traceevent/event-parse.c > @@ -31,6 +31,7 @@ > #include <errno.h> > #include <stdint.h> > #include <limits.h> > +#include <linux/string.h> > > #include <netinet/ip6.h> > #include "event-parse.h" > @@ -6131,12 +6132,7 @@ int pevent_strerror(struct pevent *pevent > __maybe_unused, > const char *msg; > > if (errnum >= 0) { > - msg = strerror_r(errnum, buf, buflen); > - if (msg != buf) { > - size_t len = strlen(msg); > - memcpy(buf, msg, min(buflen - 1, len)); > - *(buf + min(buflen - 1, len)) = '\0'; > - } > + str_error_r(errnum, buf, buflen); > return 0; What library is used with this? When I port this over to trace-cmd (which is still needed as I develop this there), it fails to build. "undefined reference to str_error_r" -- Steve > } >

