Re: [PATCH] scripts/recordmcount: improve EM_METAG define checks

From: Steven Rostedt
Date: Tue Jul 26 2016 - 17:22:40 EST


On Wed, 13 Jul 2016 14:37:46 +0100
Ross Burton <ross.burton@xxxxxxxxx> wrote:

> Current glibc (as of c10f90, soon to be 2.24) has an elf.h which defines
> EM_METAG but doesn't also define R_METAG_ADDR32 and _NONE. This results in
> recordmcount not defining any of the META symbols, and the compile failing.
>
> Handle this by checking each #define individually instead of assuming the
> presence.
>
> Signed-off-by: Ross Burton <ross.burton@xxxxxxxxx>

Actually, Laura beat you to it:

http://lkml.kernel.org/r/1468005530-14757-1-git-send-email-labbott@xxxxxxxxxx

I'll be applying her patch. I'll also mark it as stable, as it's come
up a few times on IRC as well.

I'll still add a Reported-by from you.

Thanks!

-- Steve

> ---
> scripts/recordmcount.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c
> index e1675927..44ce050 100644
> --- a/scripts/recordmcount.c
> +++ b/scripts/recordmcount.c
> @@ -33,10 +33,14 @@
> #include <string.h>
> #include <unistd.h>
>
> -#ifndef EM_METAG
> /* Remove this when these make it to the standard system elf.h. */
> +#ifndef EM_METAG
> #define EM_METAG 174
> +#endif
> +#ifndef R_METAG_ADDR32
> #define R_METAG_ADDR32 2
> +#endif
> +#ifndef R_METAG_NONE
> #define R_METAG_NONE 3
> #endif
>