From 02f7114a7fbb3f3ac171bae87be8c13bc69e4005 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 30 Jul 2015 11:45:25 +0100 Subject: [PATCH] RT3628: Allow filenames to be eliminated from compiled library MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Although I explicitly don't care about the tinfoil-hat reason given in the initial opening of RT#3628, that "paths usually contain private information", there *are* situations where it's useful to eliminate the filenames from the compiled binary. The two reasons we do care about in the context of firmware such as EDK2 are that it allows for a smaller footprint, and it is also a necessary component of a binary-reproducible build. To that end, introduce OPENSSL_FILE and OPENSSL_LINE macros, defining them to __FILE__ and __LINE__ respectively in the normal case, but to "" and 0 when OPENSSL_NO_FILENAMES is set. This is mostly a naïve invocation of $ sed 's/__\([FL]I[NL]E\)__/OPENSSL_\1/g' -i `git grep -l __LINE__` but with a few instances change to just print the function name instead (although those probably need to die anyway) and test cases left untouched. Signed-off-by: Rich Salz Reviewed-by: Tim Hudson --- Configure | 1 + 1 file changed, 1 insertion(+) diff --git a/Configure b/Configure index 58c0f7d0c2..f8a1bdaab5 100755 --- a/Configure +++ b/Configure @@ -270,6 +270,7 @@ my @disablables = ( "egd", "engine", "err", + "filenames", "heartbeats", "hmac", "hw(-.+)?", -- 2.25.1