Re: [PATCH 4/7] modpost: factorize symbol pretty print in get_pretty_name().

From: Quentin Casasnovas
Date: Wed Mar 18 2015 - 05:07:08 EST


Adding Rusty and Michal to CC.

On Tue, Mar 17, 2015 at 01:39:59PM +0100, Quentin Casasnovas wrote:
> Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
> ---
> scripts/mod/modpost.c | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 0f48f8b..c69681e 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -1270,6 +1270,15 @@ static void print_section_list(const char * const list[20])
> fprintf(stderr, "\n");
> }
>
> +static inline void get_pretty_name(int is_func, const char** name, const char** name_p)
> +{
> + switch (is_func) {
> + case 0: *name = "variable"; *name_p = ""; break;
> + case 1: *name = "function"; *name_p = "()"; break;
> + default: *name = "(unknown reference)"; *name_p = ""; break;
> + }
> +}
> +
> /*
> * Print a warning about a section mismatch.
> * Try to find symbols near it so user can find it.
> @@ -1289,21 +1298,13 @@ static void report_sec_mismatch(const char *modname,
> char *prl_from;
> char *prl_to;
>
> - switch (from_is_func) {
> - case 0: from = "variable"; from_p = ""; break;
> - case 1: from = "function"; from_p = "()"; break;
> - default: from = "(unknown reference)"; from_p = ""; break;
> - }
> - switch (to_is_func) {
> - case 0: to = "variable"; to_p = ""; break;
> - case 1: to = "function"; to_p = "()"; break;
> - default: to = "(unknown reference)"; to_p = ""; break;
> - }
> -
> sec_mismatch_count++;
> if (!sec_mismatch_verbose)
> return;
>
> + get_pretty_name(from_is_func, &from, &from_p);
> + get_pretty_name(to_is_func, &to, &to_p);
> +
> warn("%s(%s+0x%llx): Section mismatch in reference from the %s %s%s "
> "to the %s %s:%s%s\n",
> modname, fromsec, fromaddr, from, fromsym, from_p, to, tosec,
> --
> 2.0.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/