[2/7] Generate gcc-macros.h

Message ID 589769aee82434f370de47d9746aec521aab1f46.1642162312.git.fweimer@redhat.com
State New
Headers show
Series
  • Reliable CPU compatibility diagnostics in ld.so
Related show

Commit Message

Sunil K Pandey via Libc-alpha Jan. 14, 2022, 12:40 p.m.
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.
---
 Makeconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.34.1

Comments

Sunil K Pandey via Libc-alpha Jan. 14, 2022, 2:24 p.m. | #1
On Fri, Jan 14, 2022 at 4:42 AM Florian Weimer via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>

> 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.

> ---

>  Makeconfig | 9 +++++++++

>  1 file changed, 9 insertions(+)

>

> diff --git a/Makeconfig b/Makeconfig

> index 9b6fc6b08f..2e79077343 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)

> --

> 2.34.1

>

>


LGTM.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>


Thanks.


-- 
H.J.

Patch

diff --git a/Makeconfig b/Makeconfig
index 9b6fc6b08f..2e79077343 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)