[dpdk-stable] [PATCH v4] eal: fix memory mapping for 32-bit targets
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Tue May 11 18:08:29 CEST 2021
2021-05-11 11:56 (UTC-0400), Lance Richardson:
> > v4: Identical to v1, with <sys/types.h> now included in rte_eal_paging.h
> > to (hopefully) make off_t available for Windows builds.
>
> With this version, using off_t is no longer a problem, however based on the
> new compilation error it appears that for Windows, off_t is a 32-bit type
> while size_t is a 64-bit type:
>
> ../lib/eal/windows/eal_memory.c:519:37: error: shift count >= width of
> type [-Werror,-Wshift-count-overflow]
> DWORD offset_high = (DWORD)(offset >> 32);
> ^ ~~
>
> So the options seem to be to either use uint64_t for the offset parameter
> as in patch v3, or else introduce something like:
> typedef uint64_t rte_off_t;
>
> Thoughts/opinions?
I'm for uint64_t: it's explicit and will hardly ever change.
More information about the stable
mailing list