[18998] in Kerberos_V5_Development
Re: [patch] krb5 HEAD fails to build on RHEL5/Linux/IA64 with $
daemon@ATHENA.MIT.EDU (Greg Hudson)
Tue Sep 2 12:48:19 2014
Message-ID: <5405F4C7.20808@mit.edu>
Date: Tue, 02 Sep 2014 12:48:07 -0400
From: Greg Hudson <ghudson@mit.edu>
MIME-Version: 1.0
To: Roland Mainz <rmainz@redhat.com>
In-Reply-To: <740815884.27297643.1409675405026.JavaMail.zimbra@redhat.com>
Cc: krbdev@mit.edu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krbdev-bounces@mit.edu
On 09/02/2014 12:30 PM, Roland Mainz wrote:
>> This is too broad. libm should not be a linker dependency of krb5kdc
>> and kadmind for non-static builds or when the system libverto is used.
>
> Well... libverto needs libm ...
Only the in-tree libverto needs libm (because it includes an embedded
libev). And with shared linking, you neither need nor want to list the
dependencies of a library when linking against it.
> ... but that was exactly the motivation why I wanted to fix the static build - almost all of the (static) analyzer/instrumentation software (minus the original "lint") need a "whole view" of all the sources to be able to analyze the code properly with *ALL* interdependencies... and so far none of them (e.g. tested with Sun Studio's XIPO, Coverity or gcc/clang -flto) can deal with compiled shared libraries (*.a archives are fine because the precompiled source code is embedded in special ELF chunks or (in the case of "clang") the *.o files in the archives are compiler-specific bytecode; creating shared libraries (*.so) will cause the linker to strip this information).
Coverity works fine without static linking.
The other tools you listed appear to be for whole-program optimization
at link time. Unless someone can document substantial benefits from
using link-time optimization with the Kerberos tree, I don't think it
warrants the additional build system complexity.
_______________________________________________
krbdev mailing list krbdev@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev