On Wed, 12 Mar 2014 10:47:20 +0900 AKASHI Takahiro takahiro.akashi@linaro.org wrote:
This happens when a header file, elf.h, on "your host machine" does not have definitions of EM_AARCH64 nor R_AARCH64_ABS64 because "recordmcount" is a binary utility on host(x86), not target. It is very likely for most distros. (I mentioned this in the cover letter, but the description might not be clear.)
Possible solutions are:
- Define both macros directly in scripts/recordmcount.c
- Use perl version of recordmcount
Currently I take 1), but it is a workaround. 2) should work with my current patch, too. But you need to remove HAVE_C_RECORDCOUNT from arm64/Kconfig.
Which one do you prefer? I will include a fix for 1) in the next revision, anyway.
I'd recommend #1, where you add this:
/* AARCH64 is new, and most headers don't define it. */ #ifndef EM_AARCH64 #define EM_AARCH64 ## #define R_AARCH64_ABS64 ## #endif
Obviously fill in the blank for ##
-- Steve