[PATCH v3] eal: Pointer alignment check improvements
Morten Brørup
mb at smartsharesystems.com
Thu Sep 22 22:54:38 CEST 2022
> From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> Sent: Thursday, 22 September 2022 15.39
>
> On Thu, Sep 22, 2022 at 03:27:30PM +0200, Morten Brørup wrote:
> > Checking a const pointer for alignment would emit a warning about the
> > const qualifier being discarded.
> >
> > No need to calculate the aligned pointer; just check the last bits of
> the
> > pointer.
> >
> > v3:
> > - Make the uintptr_t const to avoid potential future warnings.
> (Bruce)
> > v2:
> > - Remove compiler attribute ((const)) from function;
> > it was a coding style issue.
> >
> > Signed-off-by: Morten Brørup <mb at smartsharesystems.com>
>
> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
>
> Or perhaps it should be "Const-acked-by: ... " :-)
Unfortunately not as const as expected by both of us...
The v3 build fails at github [1] with:
../lib/eal/include/rte_common.h: In function 'int rte_is_aligned(const void*, unsigned int)':
../lib/eal/include/rte_common.h:409:27: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
409 | return ((const uintptr_t)ptr & (align - 1)) == 0;
| ^~~
[1] http://mails.dpdk.org/archives/test-report/2022-September/308604.html
I don't understand what the problem is, so my solution is omitting the const, i.e. rolling back to v2, which doesn't fail building. Unless you can suggest a better solution, Bruce?
I have changed v2 status in Patchwork back to New and v3 to Superseded.
-Morten
More information about the dev
mailing list