| From 3e1d00481093e10775eaf69d619c45b32a4aa7dc 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> |
| --- |
| Configurations/unix-Makefile.tmpl | 10 +++++++++- |
| crypto/build.info | 2 +- |
| 2 files changed, 10 insertions(+), 2 deletions(-) |
| |
| diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl |
| index 16af4d2087..54c162784c 100644 |
| --- a/Configurations/unix-Makefile.tmpl |
| +++ b/Configurations/unix-Makefile.tmpl |
| @@ -317,13 +317,22 @@ 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; |
| $cppflags2 =~ s|([\\"])|\\$1|g; |
| $lib_cppflags =~ s|([\\"])|\\$1|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; |
| + } |
| + 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 b515b7318e..8c9cee2a09 100644 |
| --- a/crypto/build.info |
| +++ b/crypto/build.info |
| @@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ |
| ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl |
| |
| 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)" |
| DEPEND[buildinf.h]=../configdata.pm |
| |
| GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME) |
| -- |
| 2.19.1 |
| |