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

Thomas Preudhomme thomas.preudhomme@foss.arm.com
Wed Nov 2 10:05:00 GMT 2016


Ping?

Best regards,

Thomas

On 27/10/16 15:26, Thomas Preudhomme wrote:
> Hi Kyrill,
>
> On 27/10/16 10:45, Kyrill Tkachov wrote:
>> 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
>
> Indeed. Please find updated ChangeLog and patch (attached):
>
> *** 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.
>
> Ok for trunk?
>
> Best regards,
>
> Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1_rmprofile_multilib.patch
Type: text/x-patch
Size: 12572 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20161102/ec49505a/attachment.bin>


More information about the Gcc-patches mailing list