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

Thomas Preudhomme thomas.preudhomme@foss.arm.com
Thu Nov 17 20:43:00 GMT 2016


Ping?

Best regards,

Thomas

On 08/11/16 13:36, Thomas Preudhomme wrote:
> Ping?
>
> Best regards,
>
> Thomas
>
> On 02/11/16 10:05, Thomas Preudhomme wrote:
>> 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/20161117/7b274347/attachment.bin>


More information about the Gcc-patches mailing list