On 10/1/2024 5:25 PM, Stephen Hemminger wrote:
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

Makes sense, let's move the function then.

--
Thanks,
Anatoly

Reply via email to