Message ID | 567A6C12.9080305@foss.arm.com |
---|---|
State | New |
Headers | show |
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
--- 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?