[patch] ARM FreeBSD fix bootstrap
Andreas Tobler
andreast-list@fgznet.ch
Wed Dec 23 19:21:00 GMT 2015
Hi Kyrill,
On 23.12.15 10:40, Kyrill Tkachov wrote:
> On 22/12/15 19:53, Andreas Tobler wrote:
>> Hi all,
>>
>> the commit for PR68617 broke boostrap on armv6*-*-freebsd*.
>>
>> We still have unaligned_access = 0 on armv6 here on FreeBSD.
>>
>> The commit from the above PR overrides my SUBTARGET_OVERRIDE_OPTIONS I called in arm_option_override. And it sets the unaligned_access to 1.
>>
>> The attached patch fixes this, bootstrap ongoing but passed the breaking stage where genmddeps bus errored.
>>
>> Is this patch ok for trunk once bootstrap completes?
>>
>> TIA,
>> Andreas
>>
>> 2015-12-22 Andreas Tobler <andreast@gcc.gnu.org>
>>
>> * config/arm/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Adjust to
>> check unaligned_access on the gcc_options set.
>> * config/arm/arm.c (arm_option_override): Move
>> SUBTARGET_OVERRIDE_OPTIONS from here to
>> (arm_option_override_internal).
>>
>
> This looks sensible to me with a couple of questions:
>
> --- config/arm/freebsd.h (revision 231903)
> +++ config/arm/freebsd.h (working copy)
> @@ -122,8 +122,8 @@
>
> #define SUBTARGET_OVERRIDE_OPTIONS \
> do { \
> - if (unaligned_access) \
> - unaligned_access = 0; \
> + if (opts->x_unaligned_access) \
> + opts->x_unaligned_access = 0; \
> } while (0)
>
> So FreeBSD doesn't have unaligned_access at all? Even for architecture revisions later than armv6?
No, not yet. We distinguish between arm(<armv6) armv6 and arm64.
> Also, do you have access to an arm linux target? Would be nice to perform a bootstrap there as well
> as a sanity check
I do not have linux target. But I think with my next iteration of the
patch it is not possible to break any other target.
> If that works then this patch is fine.
As Richard mentioned in a follow up mail there is an other user of
SUBTARGET_OVERRIDE_OPTIONS. So I have to adjust. See the next mail.
Thanks,
Andreas
More information about the Gcc-patches
mailing list