1 From 3e1d00481093e10775eaf69d619c45b32a4aa7dc Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
3 Date: Tue, 6 Nov 2018 14:50:47 +0100
4 Subject: [PATCH] buildinfo: strip sysroot and debug-prefix-map from compiler
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
10 The openssl build system generates buildinf.h containing the full
11 compiler command line used to compile objects. This breaks
12 reproducibility, as the compile command is baked into libcrypto, where
13 it is used when running `openssl version -f`.
15 Add stripped build variables for the compiler and cflags lines, and use
16 those when generating buildinfo.h.
18 This is based on a similar patch for older openssl versions:
19 https://patchwork.openembedded.org/patch/147229/
21 Upstream-Status: Inappropriate [OE specific]
22 Signed-off-by: Martin Hundebøll <martin@geanix.com>
25 Update to fix buildpaths qa issue for '-fmacro-prefix-map'.
27 Signed-off-by: Kai Kang <kai.kang@windriver.com>
29 Update to fix buildpaths qa issue for '-ffile-prefix-map'.
31 Signed-off-by: Khem Raj <raj.khem@gmail.com>
34 Configurations/unix-Makefile.tmpl | 10 +++++++++-
35 crypto/build.info | 2 +-
36 2 files changed, 10 insertions(+), 2 deletions(-)
38 --- a/Configurations/unix-Makefile.tmpl
39 +++ b/Configurations/unix-Makefile.tmpl
40 @@ -420,13 +420,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl
41 '$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
42 BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
44 -# CPPFLAGS_Q is used for one thing only: to build up buildinf.h
45 +# *_Q variables are used for one thing only: to build up buildinf.h
46 CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g;
47 $cppflags2 =~ s|([\\"])|\\$1|g;
48 $lib_cppflags =~ s|([\\"])|\\$1|g;
49 join(' ', $lib_cppflags || (), $cppflags2 || (),
52 +CFLAGS_Q={- for (@{$config{CFLAGS}}) {
53 + s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
54 + s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g;
55 + s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g;
57 + join(' ', @{$config{CFLAGS}}) -}
59 +CC_Q={- $config{CC} =~ s|--sysroot=[^ ]+|--sysroot=recipe-sysroot|g;
60 + join(' ', $config{CC}) -}
62 PERLASM_SCHEME= {- $target{perlasm_scheme} -}
64 # For x86 assembler: Set PROCESSOR to 386 if you want to support
65 --- a/crypto/build.info
66 +++ b/crypto/build.info
67 @@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink
68 ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
70 DEPEND[cversion.o]=buildinf.h
71 -GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
72 +GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC_Q) $(CFLAGS_Q) $(CPPFLAGS_Q)" "$(PLATFORM)"
73 DEPEND[buildinf.h]=../configdata.pm
75 GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)