Import ctzdi2.c from LLVM compiler-rt
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Wed, 19 Jul 2017 13:05:47 +0000 (14:05 +0100)
committerSandrine Bailleux <sandrine.bailleux@arm.com>
Wed, 26 Jul 2017 08:28:23 +0000 (09:28 +0100)
commit7bba6884a0112ec38ad5992b1eb3f0398abf5cf7
treef0e39510295229629e20c83950423eae94e4071f
parent347621bb476843fd977c6dce37718cf3bd47bc3f
Import ctzdi2.c from LLVM compiler-rt

When using __builtin_ctzll() in AArch32 code, the compiler may translate
that into a call to the __ctzdi2() function. In this case, the linking
phase fails because TF doesn't provide an implementation for it.

This patch imports the implementation of the __ctzdi2() function from
LLVM's compiler-rt project and hooks it into TF's build system. The
ctzdi2.c file is an unmodified copy from the master branch as of
July 19 2017 (SVN revision: 308480).

Change-Id: I96766a025ba28e1afc6ef6a5c4ef91d85fc8f32b
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
lib/compiler-rt/builtins/ctzdi2.c [new file with mode: 0644]
lib/compiler-rt/compiler-rt.mk