Re: [RFC PATCH 0/8] perf tools: Update strbuf to remove xrealloc

From: Arnaldo Carvalho de Melo
Date: Fri Apr 29 2016 - 10:55:03 EST


Em Fri, Apr 29, 2016 at 11:46:32PM +0900, Masami Hiramatsu escreveu:
> Hi Arnaldo,
>
> This patch series does refactoring strbuf and xrealloc related code
> to remove xrealloc since it can call die() to exit immediately when
> it hits any error. Instead of that, it should return error code to
> the caller so that the caller can handle its error.
>
> Thus, at first, this changes the strbuf APIs to return error code
> instead of die() immediately. And then changing API callers according
> to the following rules.
> - Check the return value of strbuf APIs and handle errors and,
> - If the caller returns an error code (errno), it returns
> the return value of strbuf APIs.
> - If the caller just return -1 or NULl in error case, it also
> returns -1 or NULL in case of strbuf error.
> - If the caller can call die() directly, it also call die()
> in case of strbuf error.
> - Error checking patches are splitted for each subcommand, since
> it will help review.
>
> This also removes xrealloc and ALLOC_GROW from libperf, so that no
> one use it anymore.
>
> This series actually depends on the series of SDT support patches
> which I've sent an hour ago. It is also able to change this not to
> depend on it easily. Please ask me if you'd like so.

Please do so, as this one looks easier to review, so can go in faster.

- Arnaldo

> Thank you,
>
> ---
>
> Masami Hiramatsu (8):
> perf: Rewrite strbuf not to die
> perf probe: Check the return value of strbuf APIs
> perf help: Make check_emacsclient_version to check strbuf APIs
> perf: Make alias handler to check return value of strbuf
> perf header: Make topology checkers to check return value of strbuf
> perf pmu: Make pmu_formats_string to check return value of strbuf
> perf help: Do not use ALLOC_GROW in add_cmd_list
> perf tools: Remove xrealloc and ALLOC_GROW
>
>
> tools/perf/builtin-help.c | 18 ++--
> tools/perf/perf.c | 8 +-
> tools/perf/util/Build | 1
> tools/perf/util/cache.h | 19 ----
> tools/perf/util/dwarf-aux.c | 50 +++++------
> tools/perf/util/header.c | 31 ++++---
> tools/perf/util/help-unknown-cmd.c | 30 +++++-
> tools/perf/util/pmu.c | 10 +-
> tools/perf/util/probe-event.c | 167 +++++++++++++++++++++---------------
> tools/perf/util/probe-finder.c | 30 ++++--
> tools/perf/util/quote.c | 36 ++++----
> tools/perf/util/quote.h | 2
> tools/perf/util/strbuf.c | 93 ++++++++++++++------
> tools/perf/util/strbuf.h | 25 +++--
> tools/perf/util/util.h | 6 -
> tools/perf/util/wrapper.c | 29 ------
> 16 files changed, 302 insertions(+), 253 deletions(-)
> delete mode 100644 tools/perf/util/wrapper.c
>
> --
> Masami Hiramatsu