ftrace: Add arm64 support to recordmcount
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Wed, 30 Apr 2014 09:54:32 +0000 (10:54 +0100)
committerWill Deacon <will.deacon@arm.com>
Thu, 29 May 2014 08:04:31 +0000 (09:04 +0100)
commitaf64d2aa872a174772ffc00e2558083f70193acb
tree28f7400e62fa0e764cb12761d103362480dcd6ed
parent26e2ae39995469b9289aa1ec0144e256d56eb044
ftrace: Add arm64 support to recordmcount

Recordmcount utility under scripts is run, after compiling each object,
to find out all the locations of calling _mcount() and put them into
specific seciton named __mcount_loc.
Then linker collects all such information into a table in the kernel image
(between __start_mcount_loc and __stop_mcount_loc) for later use by ftrace.

This patch adds arm64 specific definitions to identify such locations.
There are two types of implementation, C and Perl. On arm64, only C version
is used to build the kernel now that CONFIG_HAVE_C_RECORDMCOUNT is on.
But Perl version is also maintained.

This patch also contains a workaround just in case where a header file,
elf.h, on host machine doesn't have definitions of EM_AARCH64 nor
R_AARCH64_ABS64. Without them, compiling C version of recordmcount will
fail.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/Kconfig
scripts/recordmcount.c
scripts/recordmcount.pl