On Tue, 1 Oct 2024 14:25:46 +0200 David Marchand <david.march...@redhat.com> wrote:
> On Tue, Oct 1, 2024 at 2:21 PM Burakov, Anatoly > <anatoly.bura...@intel.com> wrote: > > > + > > > +/** > > > + * Frees the memory space pointed to by the provided pointer. > > > + * > > > + * This pointer must have been returned by a previous call to > > > + * rte_malloc(), rte_zmalloc(), rte_calloc() or rte_realloc(). The > > > behaviour of > > > + * rte_free() is undefined if the pointer does not match this > > > requirement. > > > + * > > > + * If the pointer is NULL, the function does nothing. > > > + * > > > + * @param ptr > > > + * The pointer to memory to be freed. > > > + */ > > > +void > > > +rte_free(void *ptr); > > > + > > > > Is there any particular reason why rte_free was moved? > > > > Otherwise, > > > > Acked-by: Anatoly Burakov <anatoly.bura...@intel.com> > > I guess this is for the added annotation which points at rte_free symbol. > A forward declaration would be another option. Right, compiler now needs to know about the free function. Moving it was the clean solution and avoids duplication. If rte_free prototype is not moved... In file included from ../lib/eal/include/rte_string_fns.h:22, from ../lib/eal/common/eal_common_config.c:5: ../lib/eal/include/rte_common.h:261:42: error: ‘rte_free’ undeclared here (not in a function) 261 | #define __rte_dealloc_free __rte_dealloc(rte_free, 1) | ^~~~~~~~ ../lib/eal/include/rte_common.h:260:31: note: in definition of macro ‘__rte_dealloc’ 260 | __attribute__((malloc(dealloc, argno))) | ^~~~~~~ ../lib/eal/include/rte_malloc.h:58:22: note: in expansion of macro ‘__rte_dealloc_free’ 58 | __rte_malloc __rte_dealloc_free; | ^~~~~~~~~~~~~~~~~~ [16/3024] Compiling C object lib/librte_telemetry.a.p/telemetry_telemetry.c.o