aarch64: Fix plugin header install

Message ID Y6GRTuxVgQmxSZT5@tucnak
State Unresolved
Headers
Series aarch64: Fix plugin header install |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jakub Jelinek Dec. 20, 2022, 10:41 a.m. UTC
  Hi!

The r13-2943-g11a113d501ff64 made aarch64.h include
aarch64-option-extensions.def, but that file isn't installed
for building plugins.

The following patch should fix that, ok for trunk if it
passes bootstrap/regtest + building plugin against it?

2022-12-20  Jakub Jelinek  <jakub@redhat.com>

	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
	aarch64-option-extensions.def.


	Jakub
  

Comments

Richard Sandiford Dec. 21, 2022, 9:56 a.m. UTC | #1
Jakub Jelinek <jakub@redhat.com> writes:
> Hi!
>
> The r13-2943-g11a113d501ff64 made aarch64.h include
> aarch64-option-extensions.def, but that file isn't installed
> for building plugins.
>
> The following patch should fix that, ok for trunk if it
> passes bootstrap/regtest + building plugin against it?
>
> 2022-12-20  Jakub Jelinek  <jakub@redhat.com>
>
> 	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
> 	aarch64-option-extensions.def.
>
> --- gcc/config/aarch64/t-aarch64.jj	2022-04-04 13:55:46.001615509 +0200
> +++ gcc/config/aarch64/t-aarch64	2022-12-20 11:31:03.245651809 +0100
> @@ -22,7 +22,8 @@ TM_H += $(srcdir)/config/aarch64/aarch64
>  OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
>  		   $(srcdir)/config/aarch64/aarch64-arches.def \
>  		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
> -		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
> +		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def \
> +		   $(srcdir)/config/aarch64/aarch64-option-extensions.def

Should this (and aarch64-fusion-pairs.def and aarch64-tuning-flags.def)
be in TM_H instead?  The first two OPTIONS_H_EXTRA entries seem to be
for aarch64-opt.h (included via aarch64.opt).

I guess TM_H should also have aarch64-arches.def, since it's included
for aarch64_feature.

OK with that change if it works/makes sense.

Thanks,
Richard

>  
>  $(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true
>  s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
>
> 	Jakub
  
Jakub Jelinek Dec. 21, 2022, 10:12 a.m. UTC | #2
On Wed, Dec 21, 2022 at 09:56:33AM +0000, Richard Sandiford wrote:
> Jakub Jelinek <jakub@redhat.com> writes:
> > The r13-2943-g11a113d501ff64 made aarch64.h include
> > aarch64-option-extensions.def, but that file isn't installed
> > for building plugins.
> >
> > The following patch should fix that, ok for trunk if it
> > passes bootstrap/regtest + building plugin against it?
> >
> > 2022-12-20  Jakub Jelinek  <jakub@redhat.com>
> >
> > 	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
> > 	aarch64-option-extensions.def.
> >
> > --- gcc/config/aarch64/t-aarch64.jj	2022-04-04 13:55:46.001615509 +0200
> > +++ gcc/config/aarch64/t-aarch64	2022-12-20 11:31:03.245651809 +0100
> > @@ -22,7 +22,8 @@ TM_H += $(srcdir)/config/aarch64/aarch64
> >  OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
> >  		   $(srcdir)/config/aarch64/aarch64-arches.def \
> >  		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
> > -		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
> > +		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def \
> > +		   $(srcdir)/config/aarch64/aarch64-option-extensions.def
> 
> Should this (and aarch64-fusion-pairs.def and aarch64-tuning-flags.def)
> be in TM_H instead?  The first two OPTIONS_H_EXTRA entries seem to be
> for aarch64-opt.h (included via aarch64.opt).
> 
> I guess TM_H should also have aarch64-arches.def, since it's included
> for aarch64_feature.
> 
> OK with that change if it works/makes sense.

gcc/Makefile.in has
TM_H      = $(GTM_H) insn-flags.h $(OPTIONS_H)
and
OPTIONS_H = options.h flag-types.h $(OPTIONS_H_EXTRA)
which means that adding something into TM_H when it is already in
OPTIONS_H_EXTRA is a unnecessary.
It is true that aarch64-fusion-pairs.def (included by aarch64-protos.h)
and aarch64-tuning-flags.def (ditto) and aarch64-option-extensions.def
(included by aarch64.h) aren't needed for options.h, so I think the
right patch would be:

2022-12-21  Jakub Jelinek  <jakub@redhat.com>

	* config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def,
	add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and
	aarch64-option-extensions.def.
	(OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor
	aarch64-tuning-flags.def.

--- gcc/config/aarch64/t-aarch64.jj	2022-12-21 09:03:13.146034669 +0100
+++ gcc/config/aarch64/t-aarch64	2022-12-21 11:06:20.966118401 +0100
@@ -18,11 +18,11 @@
 #  along with GCC; see the file COPYING3.  If not see
 #  <http://www.gnu.org/licenses/>.
 
-TM_H += $(srcdir)/config/aarch64/aarch64-cores.def
+TM_H += $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
+	$(srcdir)/config/aarch64/aarch64-tuning-flags.def \
+	$(srcdir)/config/aarch64/aarch64-option-extensions.def
 OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
-		   $(srcdir)/config/aarch64/aarch64-arches.def \
-		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
-		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
+		   $(srcdir)/config/aarch64/aarch64-arches.def
 
 $(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true
 s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \


	Jakub
  
Richard Sandiford Dec. 21, 2022, 10:43 a.m. UTC | #3
Jakub Jelinek <jakub@redhat.com> writes:
> On Wed, Dec 21, 2022 at 09:56:33AM +0000, Richard Sandiford wrote:
>> Jakub Jelinek <jakub@redhat.com> writes:
>> > The r13-2943-g11a113d501ff64 made aarch64.h include
>> > aarch64-option-extensions.def, but that file isn't installed
>> > for building plugins.
>> >
>> > The following patch should fix that, ok for trunk if it
>> > passes bootstrap/regtest + building plugin against it?
>> >
>> > 2022-12-20  Jakub Jelinek  <jakub@redhat.com>
>> >
>> > 	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
>> > 	aarch64-option-extensions.def.
>> >
>> > --- gcc/config/aarch64/t-aarch64.jj	2022-04-04 13:55:46.001615509 +0200
>> > +++ gcc/config/aarch64/t-aarch64	2022-12-20 11:31:03.245651809 +0100
>> > @@ -22,7 +22,8 @@ TM_H += $(srcdir)/config/aarch64/aarch64
>> >  OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
>> >  		   $(srcdir)/config/aarch64/aarch64-arches.def \
>> >  		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
>> > -		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
>> > +		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def \
>> > +		   $(srcdir)/config/aarch64/aarch64-option-extensions.def
>> 
>> Should this (and aarch64-fusion-pairs.def and aarch64-tuning-flags.def)
>> be in TM_H instead?  The first two OPTIONS_H_EXTRA entries seem to be
>> for aarch64-opt.h (included via aarch64.opt).
>> 
>> I guess TM_H should also have aarch64-arches.def, since it's included
>> for aarch64_feature.
>> 
>> OK with that change if it works/makes sense.
>
> gcc/Makefile.in has
> TM_H      = $(GTM_H) insn-flags.h $(OPTIONS_H)
> and
> OPTIONS_H = options.h flag-types.h $(OPTIONS_H_EXTRA)
> which means that adding something into TM_H when it is already in
> OPTIONS_H_EXTRA is a unnecessary.
> It is true that aarch64-fusion-pairs.def (included by aarch64-protos.h)
> and aarch64-tuning-flags.def (ditto) and aarch64-option-extensions.def
> (included by aarch64.h) aren't needed for options.h, so I think the
> right patch would be:
>
> 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
>
> 	* config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def,
> 	add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and
> 	aarch64-option-extensions.def.
> 	(OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor
> 	aarch64-tuning-flags.def.

OK, thanks.

Richard

> --- gcc/config/aarch64/t-aarch64.jj	2022-12-21 09:03:13.146034669 +0100
> +++ gcc/config/aarch64/t-aarch64	2022-12-21 11:06:20.966118401 +0100
> @@ -18,11 +18,11 @@
>  #  along with GCC; see the file COPYING3.  If not see
>  #  <http://www.gnu.org/licenses/>.
>  
> -TM_H += $(srcdir)/config/aarch64/aarch64-cores.def
> +TM_H += $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
> +	$(srcdir)/config/aarch64/aarch64-tuning-flags.def \
> +	$(srcdir)/config/aarch64/aarch64-option-extensions.def
>  OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
> -		   $(srcdir)/config/aarch64/aarch64-arches.def \
> -		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
> -		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
> +		   $(srcdir)/config/aarch64/aarch64-arches.def
>  
>  $(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true
>  s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
>
>
> 	Jakub
  

Patch

--- gcc/config/aarch64/t-aarch64.jj	2022-04-04 13:55:46.001615509 +0200
+++ gcc/config/aarch64/t-aarch64	2022-12-20 11:31:03.245651809 +0100
@@ -22,7 +22,8 @@  TM_H += $(srcdir)/config/aarch64/aarch64
 OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \
 		   $(srcdir)/config/aarch64/aarch64-arches.def \
 		   $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \
-		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def
+		   $(srcdir)/config/aarch64/aarch64-tuning-flags.def \
+		   $(srcdir)/config/aarch64/aarch64-option-extensions.def
 
 $(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true
 s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \