Maamoun TK maamoun.tk@googlemail.com writes:
To run tests on ppc64 and ppc64el, this patch install cross building packages for both architectures on the Debian image,
Speaking of ppc64 (big-endian, I assume) vs ppc64el, do you think it's possible and reasonable to use same assembly files? That's how the current ARM big-endian support works.
This patch follows a different approach to get access LD shared library for qemu. Other architectures install native libc6 packages while both ppc64 and ppc64el install cross libc6 packages and export QEMU_LD_PREFIX to point to LD path which is more reasonable.
Can you explain why it's different? I thought the point of the debian multilib organization was to enable installing the native packages, i.e., apt-get install libstdc++6:ppc64el rather than apt-get install libstdc++6-ppc64el-cross. But I'm not that familiar with the details of the debian cross packages.
From a quick look, it seems that e.g., gcc-mips-linux-gnu depends on
libc6-dev-mips-cross, and gcc-powerpc64-linux-gnu has a similar dependency.
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f3b5c63..7f12ecfa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -139,6 +139,11 @@ Debian.cross.x86: before_script: # remove any previously installed nettle headers to avoid conflicts
- for arch in armhf mips arm64;do apt-get remove -y nettle-dev:$arch;done
- host="${CI_JOB_NAME#*.cross.}"
- if [ "$host" == "powerpc64-linux-gnu" ];then apt-get update && apt-get
install -y gcc-$host &&
- apt-get install -y g++-$host && apt-get install -y
libstdc++6-ppc64-cross && export QEMU_LD_PREFIX=/usr/$host;fi
Do you need to explicitly install libstdc++? I would expect the g++-$host to depend (or recommend) on the right library packages.
Regards, /Niels