• D
    RT3628: Allow filenames to be eliminated from compiled library · 02f7114a
    David Woodhouse 提交于
    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: NRich Salz <rsalz@openssl.org>
    Reviewed-by: NTim Hudson <tjh@openssl.org>
    02f7114a
Configure 73.1 KB