arm: LLVMLinux: use static inline in ARM ftrace.h

With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address in return_address.c does
the right thing.

Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
kbuild, LLVMLinux: Add better clang cross build support

Add cross target to CC if using clang. Also add custom gcc toolchain path for
fallback gcc tools.

Signed-off-by: Behan Webster <behanw@converseincode.com>

Edited for kernels that has gcc wrapper for the compiler

Signed-off-by: Hieu Phan <aznrice2k4@gmail.com>

Conflicts:
	Makefile