build: Test and support armv7 cross

Submitted by Dmitry Safonov on Nov. 21, 2019, 9:56 p.m.

Details

Reviewer None
Submitted Nov. 21, 2019, 9:56 p.m.
Last Updated Nov. 23, 2019, 7:12 a.m.
Revision 1

Cover Letter

A new Travis-CI job verifies that cross-build will keep working.
As I didn't want to quick-dirty fix cross compilation, there are
also a couple of cleanup patches.

Also adds a hack to zdtm to build tests in aarchv7 on armv8 Travis.

Originally based on Andrei's Dockerfile to cross-build for ppc64le
which was slow in qemu+binfmt job before Travis-CI started to support
ppc64 in LXC.

Also, should be useful for any new architecture port (hint: mips) that's
not supported by Travis-CI, but still wants to be tested.

Dmitry Safonov (10):
  build: Remove SRCARCH
  build/nmk: Remove SRCARCH
  build/nmk: Provide proper SUBARCH
  build: Use SUBARCH
  build/zdtm: Support cross-build
  build/zdtm: Makefile hack for travis aarch64/armv8l
  build/zdtm: Use pkg-config to find includes/libs
  travis: Add armv7-cross as cross-compile test
  Documentation: Add a hint about docker build
  zdtm/socket-tcp-fin-wait1: Use array index fro TEST_MSG

 .travis.yml                             |  4 ++
 Documentation/HOWTO.cross-compile       |  8 ++-
 Makefile                                |  9 ++--
 Makefile.config                         |  2 +-
 compel/plugins/Makefile                 |  4 +-
 criu/Makefile                           |  2 +-
 criu/pie/Makefile                       |  6 +--
 criu/pie/Makefile.library               |  4 +-
 scripts/build/Dockerfile.armv7-cross    | 44 +++++++++++++++++
 scripts/build/Makefile                  |  1 +
 scripts/nmk/scripts/include.mk          | 28 +++++------
 test/zdtm/Makefile.inc                  | 66 ++++++++++++++++---------
 test/zdtm/static/Makefile               |  8 +--
 test/zdtm/static/socket-tcp-fin-wait1.c |  2 +-
 14 files changed, 128 insertions(+), 60 deletions(-)
 create mode 100644 scripts/build/Dockerfile.armv7-cross
  

Revisions