Hi Andrew,

I had edited tools_def.txt file with following changes  (shown diff below)

##################

 # CLANG38 AARCH64 definitions

 ##################

-DEFINE CLANG38_AARCH64_TARGET    = -target aarch64-linux-gnu

+DEFINE CLANG38_AARCH64_TARGET    = -target aarch64-poky-linux

 DEFINE CLANG38_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)

 DEFINE CLANG38_AARCH64_DLINK_FLAGS  = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000

 

@@ -2767,7 +2767,7 @@ DEFINE CLANG38_AARCH64_DLINK_FLAGS  = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH6

 *_CLANG38_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto

 *_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)

 *_CLANG38_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments

-*_CLANG38_AARCH64_DLINK_FLAGS    = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000

+*_CLANG38_AARCH64_DLINK_FLAGS    = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -fuse-ld=lld

 *_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20

 *_CLANG38_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228

 

 *_CLANG38_AARCH64_PLATFORM_FLAGS =

Please validate the changes first, now its picking LD from aarch64-poky-linux-ld, But the changes made to DLINK_FLAGS to take LD (-fuse-ld=lld) from clang is not making any effects. Can you suggest if anything I had missed or done in wrong.

Thanks