[patch] ARM FreeBSD fix bootstrap

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Wed Dec 23 09:40:00 GMT 2015


Hi Andreas,

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?

Also, do you have access to an arm linux target? Would be nice to perform a bootstrap there as well
as a sanity check

If that works then this patch is fine.

Thanks,
Kyrill



More information about the Gcc-patches mailing list