ftrace/recordmcount: Work around for addition of metag magic but not relocations

glibc recently did a sync up (94e73c95d9b5 "elf.h: Sync with the gabi
webpage") that added a #define for EM_METAG but did not add relocations

This triggers build errors:

scripts/recordmcount.c: In function 'do_file':
scripts/recordmcount.c:466:28: error: 'R_METAG_ADDR32' undeclared (first use in this function)
  case EM_METAG:  reltype = R_METAG_ADDR32;
                            ^~~~~~~~~~~~~~
scripts/recordmcount.c:466:28: note: each undeclared identifier is reported only once for each function it appears in
scripts/recordmcount.c:468:20: error: 'R_METAG_NONE' undeclared (first use in this function)
     rel_type_nop = R_METAG_NONE;
                    ^~~~~~~~~~~~

Work around this change with some more #ifdefery for the relocations.

Fedora Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1354034

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

Cc: stable@vger.kernel.org # v3.9+
Cc: James Hogan <james.hogan@imgtec.com>
Fixes: 00512bdd45 ("metag: ftrace support")
Reported-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Laura Abbott 2016-07-08 12:18:50 -07:00 committed by Steven Rostedt
parent 124a3d88fa
commit b2e1c26f0b

View File

@ -33,10 +33,17 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
/*
* glibc synced up and added the metag number but didn't add the relocations.
* Work around this in a crude manner for now.
*/
#ifndef EM_METAG #ifndef EM_METAG
/* Remove this when these make it to the standard system elf.h. */
#define EM_METAG 174 #define EM_METAG 174
#endif
#ifndef R_METAG_ADDR32
#define R_METAG_ADDR32 2 #define R_METAG_ADDR32 2
#endif
#ifndef R_METAG_NONE
#define R_METAG_NONE 3 #define R_METAG_NONE 3
#endif #endif