It would be convenient (especially in downstream packages) to have a unified libgc build which could be used both by client requesting malloc redirection and not.
E.g. in case of a shared build, we could provide a separated proxy library, e.g. libgcredirect (which just redirect malloc to GC_redirected_malloc, etc.), and the client would use -lgcredirect if he really needs malloc redirection.
To turn off this feature, we could add new build option, e.g.: --disable-on-demand-redirect-malloc
malloc() is exported from libgc.so (this is now if --enable-redirect-malloc)
malloc() will be exported from libgcredirect.so, GC_redirected_malloc() will be exported from libgc.so (this will be by default after the feature is implemented)
It would be convenient (especially in downstream packages) to have a unified libgc build which could be used both by client requesting malloc redirection and not. E.g. in case of a shared build, we could provide a separated proxy library, e.g.
libgcredirect
(which just redirect malloc to GC_redirected_malloc, etc.), and the client would use-lgcredirect
if he really needs malloc redirection.To turn off this feature, we could add new build option, e.g.:
--disable-on-demand-redirect-malloc