www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - ld.lld: warning: Linking two modules of different data layouts for

reply Innot Sagg <donovinsbbkgbi gmail.com> writes:
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 ?
Jul 13 2020
parent reply kinke <kinke gmx.net> writes:
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.
Jul 13 2020
parent Innot Sagg <donovinsbbkgbi gmail.com> writes:
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.
Jul 13 2020