On 23.03, Pablo Neira Ayuso wrote: > On Mon, Mar 23, 2015 at 11:44:11AM +0000, Patrick McHardy wrote: > > On 23.03, Pablo Neira Ayuso wrote: > > > We cannot use __attribute__((constructor)) to register the supported > > > expressions in runtime when the library is statically linked. This lead > > > us to some explicit libnftnl_init() function that needs to be called > > > from the main() function of the client program. > > > > Just wondering, why not? They should still be invoked, right? > > This seems to run when the shared library is loaded. When the build is > static, that never happens. > > In iptables, we're resolving this with an init_extensions() function > that is called from main() so these are registered in run-time. I > would like to skip such explicit call from the client programs. > > If you have any better solution, let me know. I actually liked that > the expression class, including its registration was self-contained > :-(. Yeah, me too. Do you have a pointer to the bug report? I'm surprised that they are not invoked, from what I can tell that should happen in any case. > > > > This patch reverts 4dd0772 ("expr: use __attribute__((constructor)) to > > > register expression"). > > > > > > Reported-by: Laurent Bercot <ska-devel@xxxxxxxxxxx> > > > Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> > -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html