Thread overview
ld.lld: warning: Linking two modules of different data layouts for x86_64-linux
Jul 13
kinke
July 13
I build android x86-64 project with lto, get this error:

ld.lld: warning: Linking two modules of different data layouts: '/d/lib/libpcre.a(pcre_exec.c.o at 173954)' is 'e-m:e-i64:64-f80:128-n8:16:32:64-S128' whereas 'ld-temp.o' is 'e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128'


The c lib is build with:
x86_64-linux-android21-clang --target=x86_64-unknown-linux-android21 -fPIC -flto=full


The ldc:

ldmd2 -g -gc -O0 -L--export-dynamic -mtriple=x86_64-unknown-linux-android21 -linker=lld -flto=full -betterC -L-lpcre


aarch64-unknown-linux-android21 or armv7a-unknown-linux-android21 have no problem.

should I change target and mtriple to fix this ?
July 13
On Monday, 13 July 2020 at 14:19:25 UTC, Innot Sagg wrote:
> I build android x86-64 project with lto, get this error:
>
> ld.lld: warning: Linking two modules of different data layouts: '/d/lib/libpcre.a(pcre_exec.c.o at 173954)' is 'e-m:e-i64:64-f80:128-n8:16:32:64-S128' whereas 'ld-temp.o' is 'e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128'

This is probably caused by an (seemingly irrelevant) LLVM change in the meantime (https://reviews.llvm.org/D64931), which isn't in the LLVM version used by the Android NDK yet, but in LLVM 10 used by our prebuilt LDC packages.
July 13
On Monday, 13 July 2020 at 15:35:30 UTC, kinke wrote:
> This is probably caused by an (seemingly irrelevant) LLVM change in the meantime (https://reviews.llvm.org/D64931), which isn't in the LLVM version used by the Android NDK yet, but in LLVM 10 used by our prebuilt LDC packages.

Thanks for explain. will try ldc with old llvm.