[v2,0/7] Improve core EAL musl compatibility
mbox series

Message ID cover.1537456998.git.anatoly.burakov@intel.com
Headers show
Series
  • Improve core EAL musl compatibility
Related show

Message

Burakov, Anatoly Sept. 20, 2018, 3:27 p.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.

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):
  linuxapp: 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                                 |  9 ++++++++-
 drivers/bus/pci/linux/Makefile                  |  2 --
 drivers/bus/pci/linux/pci_vfio.c                |  2 ++
 drivers/meson.build                             |  6 ++++++
 drivers/net/softnic/conn.c                      |  1 -
 examples/meson.build                            |  6 ++++++
 lib/librte_eal/common/eal_common_fbarray.c      |  1 +
 lib/librte_eal/common/eal_common_memory.c       |  1 +
 lib/librte_eal/common/include/rte_string_fns.h  |  1 +
 lib/librte_eal/linuxapp/eal/Makefile            | 16 ----------------
 lib/librte_eal/linuxapp/eal/eal.c               |  4 ++--
 lib/librte_eal/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/meson.build                                 |  6 ++++++
 mk/exec-env/linuxapp/rte.vars.mk                |  2 ++
 test/test/meson.build                           |  5 +++++
 17 files changed, 44 insertions(+), 24 deletions(-)