[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32
timo.teras at iki dot fi
gcc-bugzilla@gcc.gnu.org
Thu Jul 13 05:38:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
--- Comment #23 from Timo Teräs <timo.teras at iki dot fi> ---
(In reply to Andrew Pinski from comment #22)
> (In reply to Timo Teräs from comment #21)
> > This caused a regression for non-multilib builds. Now my non-multilib lp64
> > build fails with:
> > a-cfinve.ads:245:04: warning: in instantiation at a-coboho.adb:55
> > a-cfinve.ads:245:04: warning: types for unchecked conversion have different
> > sizes
> >
> > Probably because the logic added in this patch to Makefile.in picks up
> > 64-bit file only when multilib is enabled.
>
> On which branch? The logic for GCC 7 and GCC 8 are different as Makefile.in
> changes are not used any more. Also did you modify anything as multilib
> itself should be enabled anyways for aarch64 due to the use /lib64
GCC 6.4.0 with some patches.
Should have looked how it detects the multilib type. We have the build
hardwired to use /lib always with
--- ./gcc/config/aarch64/t-aarch64-linux.orig
+++ ./gcc/config/aarch64/t-aarch64-linux
@@ -22,7 +22,7 @@
LIB1ASMFUNCS = _aarch64_sync_cache_range
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call
if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
So it's conflict between this. This works everywhere else, so I wonder if we
could have the ada makefile check the abi somehow more reliably than pathname?
More information about the Gcc-bugs
mailing list