From 428d8d7b0542338244ca41ac06a5f3fa4f29bb6d Mon Sep 17 00:00:00 2001 From: Tavish Naruka Date: Tue, 28 May 2024 18:35:05 +0900 Subject: [PATCH] [arm] enable multilib for armv7-R Big-endian No multilib mapping exists for the big endian variant of armv7-R, this commit enables those. Signed-off-by: Tavish Naruka --- gcc/config/arm/t-multilib | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gcc/config/arm/t-multilib b/gcc/config/arm/t-multilib index 6bb58d39ea90f..ff4240e14951d 100644 --- a/gcc/config/arm/t-multilib +++ b/gcc/config/arm/t-multilib @@ -97,6 +97,9 @@ MULTILIB_DIRNAMES += v5te v7 v7+fp v7-r+fp.sp $(MULTI_ARCH_DIRS_A) $(MULTI_ARCH_ MULTILIB_OPTIONS += mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard MULTILIB_DIRNAMES += nofp softfp hard + +MULTILIB_OPTIONS += mbig-endian +MULTILIB_DIRNAMES += big-endian MULTILIB_REQUIRED += mthumb/mfloat-abi=soft MULTILIB_REQUIRED += marm/march=armv5te+fp/mfloat-abi=softfp @@ -109,6 +112,12 @@ MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=hard MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=softfp MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=hard +MULTILIB_REQUIRED += mthumb/march=armv7/mfloat-abi=soft/mbig-endian +MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=softfp/mbig-endian +MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=hard/mbig-endian +MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=softfp/mbig-endian +MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=hard/mbig-endian + # Map v7-r with double precision down onto common v7 code. MULTILIB_MATCHES += march?armv7=march?armv7-r MULTILIB_MATCHES += march?armv7=march?armv7-r+idiv @@ -214,13 +223,21 @@ endif # Not APROFILE. # Use Thumb libraries for everything. MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.soft=marm/march.armv7/mfloat-abi.soft +MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.soft/mbig-endian=marm/march.armv7/mfloat-abi.soft/mbig-endian MULTILIB_REUSE += $(foreach ABI, hard softfp, \ $(foreach ARCH, armv7+fp armv7-r+fp\.sp, \ mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI))) +MULTILIB_REUSE += $(foreach ABI, hard softfp, \ + $(foreach ARCH, armv7+fp armv7-r+fp\.sp, \ + mthumb/march.$(ARCH)/mfloat-abi.$(ABI)/mbig-endian=marm/march.$(ARCH)/mfloat-abi.$(ABI)/mbig-endian)) + # Softfp but no FP, use the soft-float libraries. MULTILIB_REUSE += $(foreach MODE, arm thumb, \ $(foreach ARCH, armv7, \ mthumb/march.$(ARCH)/mfloat-abi.soft=m$(MODE)/march.$(ARCH)/mfloat-abi.softfp)) +MULTILIB_REUSE += $(foreach MODE, arm thumb, \ + $(foreach ARCH, armv7, \ + mthumb/march.$(ARCH)/mfloat-abi.soft/mbig-endian=m$(MODE)/march.$(ARCH)/mfloat-abi.softfp/mbig-endian))