Blob Blame History Raw
commit ef7c6d42fe163a5e49a478c43e655ce4633fa5ba
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jan 14 16:09:20 2022 +0100

    Generate gcc-macros.h
    
    The file can be used to check the effect of the default compiler
    flags on code generation even in areas of the build that uses
    non-default compiler flags.
    
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

diff --git a/Makeconfig b/Makeconfig
index 8bc5540292c7b6fa..99898a632a64be91 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1202,6 +1202,15 @@ $(common-objpfx)dl-tunable-list.stmp: \
 	touch $@
 endif
 
+# Dump the GCC macros used by the default compiler flags to a header
+# file, so that they can be inspected when using different compiler
+# flags.  Add the GCCMACRO prefix to make these macro names unique.
+$(common-objpfx)gcc-macros.h.in: $(common-objpfx)config.status
+	$(CC) $(CFLAGS) $(CPPFLAGS) -E -dM -x c -o $@ /dev/null
+$(common-objpfx)gcc-macros.h: $(common-objpfx)gcc-macros.h.in
+	sed 's/^#define /#define GCCMACRO/' < $< > $@
+before-compile += $(common-objpfx)gcc-macros.h
+
 # Generate version maps, but wait until sysdep-subdirs is known
 ifeq ($(sysd-sorted-done),t)
 ifeq ($(build-shared),yes)