Skip to content

Improve core EAL musl compatibility

Anatoly Burakov dpdk-dev 3 versions – Applied

Status from this message: Applied, thanks

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest7 patches 1 replyApplied
  2. v27 patches 0 repliesSuperseded
  3. v17 patches 11 repliesSuperseded

v3 -> v2 from the cover letter

- Made _GNU_SOURCE unconditional for all DPDK targets
- Fixed usage of __USE_GNU and _GNU_SOURCE accross DPDK

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/7mk: build with _GNU_SOURCE defined by defaultapp/meson.build app/test-pmd/Makefile buildtools/pmdinfogen/pmdinfogen.c +40 more+29 -900 replies
2/7pci/vfio: improve musl compatibilitydrivers/bus/pci/linux/pci_vfio.c+2 -00 replies
3/7fbarray: improve musl compatibilitylib/librte_eal/common/eal_common_fbarray.c+1 -00 replies
4/7eal/hugepage_info: improve musl compatibilitylib/librte_eal/linuxapp/eal/eal_hugepage_info.c+1 -00 replies
5/7mem: improve musl compatibilitylib/librte_eal/common/eal_common_memory.c lib/librte_eal/linuxapp/eal/eal_memory.c+2 -00 replies
6/7string_fns: improve musl compatibilitylib/librte_eal/common/include/rte_string_fns.h+1 -00 replies
7/7eal: improve musl compatibilitylib/librte_eal/linuxapp/eal/eal.c lib/librte_eal/linuxapp/eal/eal_thread.c+4 -40 replies

Reviews trailers per patch

6 of 7 patches have a Reviewed-by or Acked-by.

PatchBruce Richardson
1/7
2/7A-b
3/7A-b
4/7A-b
5/7A-b
6/7A-b
7/7A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/7] Improve core EAL musl compatibility

This patchset fixes numerous issues with musl compatibility in the core EAL libraries. It does not fix anything beyond core EAL (so, PCI driver is still broken, so are a few other drivers), but it's a good start.

Tested on container with Alpine Linux. Alpine dependencies:

build-base bsd-compat-headers libexecinfo-dev linux-headers numactl-dev

For numactl-dev, testing repository needs to be enabled:

echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories

If successful (using a very broad definition of "success"), the build should fail somewhere in PCI bus driver in UIO.

v3 -> v2:
- Made _GNU_SOURCE unconditional for all DPDK targets
- Fixed usage of __USE_GNU and _GNU_SOURCE accross DPDK

v2 -> v1:
- Fixed patch 2 to use existing define if available
- Fixed patch 7 to use proper format specifier and cast pthread ID to unsigned pointer type

Anatoly Burakov (7):
mk: build with _GNU_SOURCE defined by default
pci/vfio: improve musl compatibility
fbarray: improve musl compatibility
eal/hugepage_info: improve musl compatibility
mem: improve musl compatibility
string_fns: improve musl compatibility
eal: improve musl compatibility

 app/meson.build                               |  7 +++++-
 app/test-pmd/Makefile                         |  2 --
 buildtools/pmdinfogen/pmdinfogen.c            |  1 -
 drivers/bus/dpaa/Makefile                     |  1 -
 drivers/bus/dpaa/meson.build                  |  1 -
 drivers/bus/fslmc/meson.build                 |  1 -
 drivers/bus/pci/linux/Makefile                |  2 --
 drivers/bus/pci/linux/pci_vfio.c              |  2 ++
 drivers/bus/pci/meson.build                   |  1 -
 drivers/crypto/dpaa2_sec/Makefile             |  1 -
 drivers/crypto/dpaa_sec/Makefile              |  1 -
 drivers/mempool/dpaa/Makefile                 |  1 -
 drivers/meson.build                           |  4 ++++
 drivers/net/mlx5/mlx5_ethdev.c                |  2 --
 drivers/net/mlx5/mlx5_socket.c                |  2 --
 drivers/net/softnic/conn.c                    |  1 -
 examples/cmdline/Makefile                     |  1 -
 examples/ethtool/ethtool-app/Makefile         |  2 +-
 examples/ip_pipeline/conn.c                   |  1 -
 examples/l2fwd-cat/Makefile                   |  2 --
 examples/l2fwd-cat/meson.build                |  1 -
 examples/load_balancer/Makefile               |  1 -
 examples/meson.build                          |  4 ++++
 .../performance-thread/l3fwd-thread/main.c    |  2 --
 .../performance-thread/pthread_shim/main.c    |  1 -
 .../pthread_shim/pthread_shim.c               |  1 -
 examples/qos_sched/Makefile                   |  2 --
 examples/tep_termination/Makefile             |  1 -
 examples/vhost/Makefile                       |  1 -
 examples/vhost_crypto/Makefile                |  1 -
 examples/vhost_crypto/meson.build             |  2 +-
 examples/vhost_scsi/Makefile                  |  4 ++--
 examples/vhost_scsi/meson.build               |  2 +-
 lib/librte_cmdline/Makefile                   |  1 -
 lib/librte_cmdline/cmdline.c                  | 24 -------------------
 lib/librte_eal/bsdapp/eal/Makefile            |  5 ----
 lib/librte_eal/common/eal_common_fbarray.c    |  1 +
 lib/librte_eal/common/eal_common_memory.c     |  1 +
 .../common/include/rte_string_fns.h           |  1 +
 lib/librte_eal/linuxapp/eal/Makefile          | 16 -------------
 lib/librte_eal/linuxapp/eal/eal.c             |  4 ++--
 .../linuxapp/eal/eal_hugepage_info.c          |  1 +
 lib/librte_eal/linuxapp/eal/eal_memory.c      |  1 +
 lib/librte_eal/linuxapp/eal/eal_thread.c      |  4 ++--
 lib/librte_eal/meson.build                    |  1 -
 lib/librte_pdump/Makefile                     |  1 -
 lib/librte_sched/Makefile                     |  2 --
 lib/meson.build                               |  4 ++++
 mk/target/generic/rte.vars.mk                 |  3 +++
 test/test/Makefile                            |  2 --
 test/test/meson.build                         |  3 +++
 51 files changed, 40 insertions(+), 94 deletions(-)
Signature · 1 line
2.17.1