public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] rs6000: Fix up build of non-glibc/aix/darwin powerpc* targets [PR104298]
@ 2022-01-31 18:43 Jakub Jelinek
  2022-01-31 18:49 ` Segher Boessenkool
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Jelinek @ 2022-01-31 18:43 UTC (permalink / raw)
  To: Segher Boessenkool, David Edelsohn; +Cc: gcc-patches

Hi!

As reported by Martin, while David has added OPTION_GLIBC define to aix
and Iain to darwin, all the other non-linux targets now fail because
rs6000.md macro isn't defined.

One possibility is to define this macro in option-defaults.h which on rs6000
targets is included last, then we don't need to define it in aix/darwin
headers and for targets using linux.h or linux64.h it will DTRT too.

Bootstrapped/regtested on powerpc64le-linux, ok for trunk?

The other option is the first 2 hunks + changing the 3
  if (!OPTION_GLIBC)
    FAIL;
cases in rs6000.md to e.g.
#ifdef OPTION_GLIBC
  if (!OPTION_GLIBC)
#endif
    FAIL;
or to:
#ifdef OPTION_GLIBC
  if (!OPTION_GLIBC)
#else
  if (true)
#endif
    FAIL;
(the latter case if Richi wants to push the -Wunreachable-code changes for
GCC 13).

2022-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR target/104298
	* config/rs6000/aix.h (OPTION_GLIBC): Remove.
	* config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
	* config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
	if not already defined.

--- gcc/config/rs6000/aix.h.jj	2022-01-26 11:57:58.964388591 +0100
+++ gcc/config/rs6000/aix.h	2022-01-31 10:56:07.679463171 +0100
@@ -23,7 +23,6 @@
 #define DEFAULT_ABI ABI_AIX
 #undef  TARGET_AIX
 #define TARGET_AIX 1
-#define OPTION_GLIBC 0
 
 /* Linux64.h wants to redefine TARGET_AIX based on -m64, but it can't be used
    in the #if conditional in options-default.h, so provide another macro.  */
--- gcc/config/rs6000/darwin.h.jj	2022-01-29 11:11:39.213629460 +0100
+++ gcc/config/rs6000/darwin.h	2022-01-31 10:56:36.466058077 +0100
@@ -34,8 +34,6 @@
 #endif
 #endif
 
-#define OPTION_GLIBC 0
-
 /* The object file format is Mach-O.  */
 
 #define TARGET_OBJECT_FORMAT OBJECT_MACHO
--- gcc/config/rs6000/option-defaults.h.jj	2022-01-11 23:11:21.940296477 +0100
+++ gcc/config/rs6000/option-defaults.h	2022-01-31 10:56:58.615746384 +0100
@@ -62,3 +62,7 @@
   {"cpu_32", "%{" OPT_ARCH32 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
   {"cpu_64", "%{" OPT_ARCH64 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
   {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }
+
+#ifndef OPTION_GLIBC
+#define OPTION_GLIBC 0
+#endif

	Jakub


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] rs6000: Fix up build of non-glibc/aix/darwin powerpc* targets [PR104298]
  2022-01-31 18:43 [PATCH] rs6000: Fix up build of non-glibc/aix/darwin powerpc* targets [PR104298] Jakub Jelinek
@ 2022-01-31 18:49 ` Segher Boessenkool
  0 siblings, 0 replies; 2+ messages in thread
From: Segher Boessenkool @ 2022-01-31 18:49 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: David Edelsohn, gcc-patches

Hi!

On Mon, Jan 31, 2022 at 07:43:32PM +0100, Jakub Jelinek wrote:
> As reported by Martin, while David has added OPTION_GLIBC define to aix
> and Iain to darwin, all the other non-linux targets now fail because
> rs6000.md macro isn't defined.
> 
> One possibility is to define this macro in option-defaults.h which on rs6000
> targets is included last, then we don't need to define it in aix/darwin
> headers and for targets using linux.h or linux64.h it will DTRT too.

That is okay for fallback definitions (like here), but not for "regular"
defaults, it is much nicer to have those explicit everywhere.

> +#ifndef OPTION_GLIBC
> +#define OPTION_GLIBC 0
> +#endif

So can you add a comment like that before this please?

Okay for trunk with that.  Thanks!


Segher

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-31 18:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-31 18:43 [PATCH] rs6000: Fix up build of non-glibc/aix/darwin powerpc* targets [PR104298] Jakub Jelinek
2022-01-31 18:49 ` Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).