[PATCH, GCC/ARM 1/2, ping] Add multilib support for embedded bare-metal targets

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Thu Oct 27 09:46:00 GMT 2016


Hi Thomas,

On 24/10/16 09:06, Thomas Preudhomme wrote:
> Ping?
>
> Best regards,
>
> Thomas
>
> On 13/10/16 16:35, Thomas Preudhomme wrote:
>> Hi ARM maintainers,
>>
>> This patchset aims at adding multilib support for R and M profile ARM
>> architectures and allowing it to be built alongside multilib for A profile ARM
>> architectures. This specific patch adds the t-rmprofile multilib Makefile
>> fragment for the former objective. Multilib are built for all M profile
>> architecture involved: ARMv6S-M, ARMv7-M and ARMv7E-M as well as ARMv7. ARMv7
>> multilib is used for R profile architectures but also A profile architectures.
>>
>> ChangeLog entry is as follows:
>>
>>
>> *** gcc/ChangeLog ***
>>
>> 2016-10-03  Thomas Preud'homme <thomas.preudhomme@arm.com>
>>
>>         * config.gcc: Allow new rmprofile value for configure option
>>         --with-multilib-list.
>>         * config/arm/t-rmprofile: New file.
>>         * doc/install.texi (--with-multilib-list): Document new rmprofile value
>>         for ARM.
>>
>>
>> Testing:
>>
>> == aprofile ==
>> * "tree install/lib/gcc/arm-none-eabi/7.0.0" is the same before and after the
>> patchset for both aprofile and rmprofile
>> * default spec (gcc -dumpspecs) is the same before and after the patchset for
>> aprofile
>> * No difference in --print-multi-directory between before and after the patchset
>> for aprofile for all combination of ISA (ARM/Thumb), architecture, CPU, FPU and
>> float ABI
>>
>> == rmprofile ==
>> * aprofile and rmprofile use similar directory structure (ISA/arch/FPU/float
>> ABI) and directory naming
>> * Difference in --print-multi-directory between before [1] and after the
>> patchset for rmprofile for all combination of ISA (ARM/Thumb), architecture,
>> CPU, FPU and float ABI modulo the name and directory structure changes
>>
>> [1] as per patch applied in ARM embedded branches
>> https://gcc.gnu.org/viewcvs/gcc/branches/ARM/embedded-5-branch/gcc/config/arm/t-baremetal?view=markup
>>
>>
>> == aprofile + rmprofile ==
>> * aprofile,rmprofile and rmprofile,aprofile builds give an error saying it is
>> not supported
>>
>>
>> Is this ok for master branch?
>>
>> Best regards,
>>
>> Thomas

+# Arch Matches
+MULTILIB_MATCHES       += march?armv6s-m=march?armv6-m
+MULTILIB_MATCHES       += march?armv8-m.main=march?armv8-m.main+dsp
+MULTILIB_MATCHES       += march?armv7=march?armv7-r
+ifeq (,$(HAS_APROFILE))
+MULTILIB_MATCHES       += march?armv7=march?armv7-a
+MULTILIB_MATCHES       += march?armv7=march?armv7ve
+MULTILIB_MATCHES       += march?armv7=march?armv8-a
+MULTILIB_MATCHES       += march?armv7=march?armv8-a+crc
+MULTILIB_MATCHES       += march?armv7=march?armv8.1-a
+MULTILIB_MATCHES       += march?armv7=march?armv8.1-a+crc
+endif

I think you want to update the patch to handle -march=armv8.2-a and armv8.2-a+fp16
Thanks,
Kyrill





More information about the Gcc-patches mailing list