[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