On 01/11/16 13:58, James Greenhalgh wrote:
>
> Hi,
>
> I've noticed that aarch64-c.o doesn't get rebuilt after a change to
> the target hooks. That leaves it out of sync with the rest of the compiler
> in incremental builds, which in turn causes this code to write to the wrong
> memory location:
>
> void
> aarch64_register_pragmas (void)
> {
> /* Update pragma hook to allow parsing #pragma GCC target. */
> targetm.target_option.pragma_parse = aarch64_pragma_target_parse;
> }
>
> Leaving pragma_parse pointing at the default implementation, and mangling
> poor innocent targetm.target_option.print (which generally we don't use
> after the rebuild - else we likely would see it here too).
>
> This change adds a dependency on target.h to aarch64-c.o in t-aarch64,
> which looks correct.
>
> Thanks,
> James
>
> ---
> 2016-11-01 James Greenhalgh
>
> * config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.
>
OK.
Seems pretty obvious...
R.
>
> 0001-Patch-AArch64-aarch64-c.o-should-depend-on-TARGET_H.patch
>
>
> diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
> index 04eb636..b461eb5 100644
> --- a/gcc/config/aarch64/t-aarch64
> +++ b/gcc/config/aarch64/t-aarch64
> @@ -52,7 +52,7 @@ aarch-common.o: $(srcdir)/config/arm/aarch-common.c
> $(CONFIG_H) $(SYSTEM_H) \
> $(srcdir)/config/arm/aarch-common.c
>
> aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
> -coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
> +coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
> $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
> $(srcdir)/config/aarch64/aarch64-c.c
>
>