On Thu, Oct 25, 2012 at 9:55 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Thu, Oct 25, 2012 at 09:48:54AM -0700, Xinliang David Li wrote: >> > Why should be libasan linked statically by default? > >> There are a couple of reasons: >> >> 1) it makes running sanitized binary on remote machines which does not >> have libasan installed easier; >> 2) There is no guarantee that libasan API won't change, statically >> linking it in makes it less vulnerable to such changes. > > Neither of the reasons look important enough, compared to the > http://www.akkadia.org/drepper/no_static_linking.html > Especially as libasan is overriding malloc etc., having dozens of malloc > overrides in different shared libraries, perhaps all chaining into each > other, is a nightmare.
How about statically linking just for executables, not shared library buid? David > For 2), libasan should just use symbol versioning and provide backwards > compatibility as long as it is possible, or worst case bump SONAME > occassionally. > > Jakub