On 1/29/20 5:43 PM, Ferruh Yigit wrote: [...] > diff --git a/lib/librte_meter/rte_meter.c b/lib/librte_meter/rte_meter.c > index da01429a8..5244537fa 100644 > --- a/lib/librte_meter/rte_meter.c > +++ b/lib/librte_meter/rte_meter.c > @@ -9,6 +9,7 @@ > #include <rte_common.h> > #include <rte_log.h> > #include <rte_cycles.h> > +#include <rte_function_versioning.h> > > #include "rte_meter.h" > > @@ -119,8 +120,8 @@ rte_meter_trtcm_config(struct rte_meter_trtcm *m, > return 0; > } > > -int > -rte_meter_trtcm_rfc4115_profile_config( > +static int > +rte_meter_trtcm_rfc4115_profile_config_( > struct rte_meter_trtcm_rfc4115_profile *p, > struct rte_meter_trtcm_rfc4115_params *params) > { > @@ -145,7 +146,35 @@ rte_meter_trtcm_rfc4115_profile_config( > } > > int > -rte_meter_trtcm_rfc4115_config( > +rte_meter_trtcm_rfc4115_profile_config_s( > + struct rte_meter_trtcm_rfc4115_profile *p, > + struct rte_meter_trtcm_rfc4115_params *params); > +int > +rte_meter_trtcm_rfc4115_profile_config_s( > + struct rte_meter_trtcm_rfc4115_profile *p, > + struct rte_meter_trtcm_rfc4115_params *params) > +{ > + return rte_meter_trtcm_rfc4115_profile_config_(p, params); > +} > +BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_profile_config, _s, 20.0.1);
You might want to mark these version symbols with __vsym macro. Without this shared lib build with LTO might remove them (due to long standing gcc bug - it does not have proper way to mark .symver in internal representation and so does not recognize that function is used). This comment is global - for all symbols mentioned in BIND_/VERSION_ macros. Out of curiosity - why do you need separate declaration just before definition? With regards Andrzej Ostruszka