12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- From 5985253f2c9025d7c127443a3a9938946f80c2a1 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
- Date: Tue, 6 Nov 2018 14:50:47 +0100
- Subject: [PATCH] buildinfo: strip sysroot and debug-prefix-map from compiler
- info
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- The openssl build system generates buildinf.h containing the full
- compiler command line used to compile objects. This breaks
- reproducibility, as the compile command is baked into libcrypto, where
- it is used when running `openssl version -f`.
- Add stripped build variables for the compiler and cflags lines, and use
- those when generating buildinfo.h.
- This is based on a similar patch for older openssl versions:
- https://patchwork.openembedded.org/patch/147229/
- Upstream-Status: Inappropriate [OE specific]
- Signed-off-by: Martin Hundebøll <martin@geanix.com>
- Update to fix buildpaths qa issue for '-fmacro-prefix-map'.
- Signed-off-by: Kai Kang <kai.kang@windriver.com>
- Update to fix buildpaths qa issue for '-ffile-prefix-map'.
- Signed-off-by: Khem Raj <raj.khem@gmail.com>
- ---
- Configurations/unix-Makefile.tmpl | 16 +++++++++++++++-
- crypto/build.info | 2 +-
- 2 files changed, 16 insertions(+), 2 deletions(-)
- diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
- index 09303c4..011bda1 100644
- --- a/Configurations/unix-Makefile.tmpl
- +++ b/Configurations/unix-Makefile.tmpl
- @@ -513,13 +513,27 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
- '$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
- BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
-
- -# CPPFLAGS_Q is used for one thing only: to build up buildinf.h
- +# *_Q variables are used for one thing only: to build up buildinf.h
- CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g;
- + $cppflags1 =~ s|-isystem/[^ ]+/usr/include||g;
- $cppflags2 =~ s|([\\"])|\\$1|g;
- + $cppflags2 =~ s|-isystem/[^ ]+/usr/include||g;
- $lib_cppflags =~ s|([\\"])|\\$1|g;
- + $lib_cppflags =~ s|-isystem/[^ ]+/usr/include||g;
- join(' ', $lib_cppflags || (), $cppflags2 || (),
- $cppflags1 || ()) -}
-
- +CFLAGS_Q={- for (@{$config{CFLAGS}}) {
- + s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
- + s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g;
- + s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g;
- + s|-isystem/[^ ]+/usr/include ||g;
- + }
- + join(' ', @{$config{CFLAGS}}) -}
- +
- +CC_Q={- $config{CC} =~ s|--sysroot=[^ ]+|--sysroot=recipe-sysroot|g;
- + join(' ', $config{CC}) -}
- +
- PERLASM_SCHEME= {- $target{perlasm_scheme} -}
-
- # For x86 assembler: Set PROCESSOR to 386 if you want to support
- diff --git a/crypto/build.info b/crypto/build.info
- index aee5c46..95c9577 100644
- --- a/crypto/build.info
- +++ b/crypto/build.info
- @@ -115,7 +115,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
-
- DEPEND[info.o]=buildinf.h
- DEPEND[cversion.o]=buildinf.h
- -GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
- +GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC_Q) $(CFLAGS_Q) $(CPPFLAGS_Q)" "$(PLATFORM)"
-
- GENERATE[uplink-x86.S]=../ms/uplink-x86.pl
- GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl
|