mbox

[v3,0/7] Improve core EAL musl compatibility

Message ID cover.1538648134.git.anatoly.burakov@intel.com (mailing list archive)
Headers

Message

Anatoly Burakov Oct. 4, 2018, 10:20 a.m. UTC
  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(-)