[dpdk-dev] [PATCH v3 0/7] Improve core EAL musl compatibility

Anatoly Burakov anatoly.burakov at intel.com
Thu Oct 4 12:20:32 CEST 2018


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(-)

-- 
2.17.1


More information about the dev mailing list