Commit 0b2f16bf authored by Dirk Pranke's avatar Dirk Pranke Committed by Commit Bot

Add armel support to building sysroots.

This patches in a patch from crbug.com/1009688 in order to add
support for a soft-float sysroot on ARM.

This should have no effect on the normal Chromium builds.

Bug: 1009688
Change-Id: Ibe89efc9b28411ef040efba5e0b1621431e8ab44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1846083Reviewed-by: default avatarDirk Pranke <dpranke@chromium.org>
Reviewed-by: default avatarThomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#703925}
parent 4effc8bd
......@@ -29,6 +29,7 @@ HAS_ARCH_AMD64=1
HAS_ARCH_I386=1
HAS_ARCH_ARM=1
HAS_ARCH_ARM64=1
HAS_ARCH_ARMEL=1
HAS_ARCH_MIPS=1
HAS_ARCH_MIPS64EL=1
......@@ -395,4 +396,13 @@ DEBIAN_PACKAGES_ARM64="
libubsan0
"
DEBIAN_PACKAGES_ARMEL="
libasan3
libdrm-exynos1
libdrm-freedreno1
libdrm-omap1
libdrm-tegra0
libubsan0
"
. "${SCRIPT_DIR}/sysroot-creator.sh"
......@@ -48,6 +48,7 @@ readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0}
readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0}
readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0}
readonly HAS_ARCH_ARM64=${HAS_ARCH_ARM64:=0}
readonly HAS_ARCH_ARMEL=${HAS_ARCH_ARMEL:=0}
readonly HAS_ARCH_MIPS=${HAS_ARCH_MIPS:=0}
readonly HAS_ARCH_MIPS64EL=${HAS_ARCH_MIPS64EL:=0}
......@@ -65,6 +66,7 @@ readonly DEBIAN_DEP_LIST_AMD64="generated_package_lists/${DIST}.amd64"
readonly DEBIAN_DEP_LIST_I386="generated_package_lists/${DIST}.i386"
readonly DEBIAN_DEP_LIST_ARM="generated_package_lists/${DIST}.arm"
readonly DEBIAN_DEP_LIST_ARM64="generated_package_lists/${DIST}.arm64"
readonly DEBIAN_DEP_LIST_ARMEL="generated_package_lists/${DIST}.armel"
readonly DEBIAN_DEP_LIST_MIPS="generated_package_lists/${DIST}.mipsel"
readonly DEBIAN_DEP_LIST_MIPS64EL="generated_package_lists/${DIST}.mips64el"
......@@ -148,6 +150,9 @@ SetEnvironmentVariables() {
*ARM64)
ARCH=ARM64
;;
*ARMEL)
ARCH=ARMEL
;;
*)
echo "ERROR: Unable to determine architecture based on: $1"
exit 1
......@@ -267,6 +272,11 @@ GeneratePackageListARM64() {
${DEBIAN_PACKAGES_ARM64:=}"
}
GeneratePackageListARMEL() {
GeneratePackageListCommon "$1" armel "${DEBIAN_PACKAGES}
${DEBIAN_PACKAGES_ARMEL:=}"
}
GeneratePackageListMips() {
GeneratePackageListCommon "$1" mipsel "${DEBIAN_PACKAGES}"
}
......@@ -350,13 +360,15 @@ HacksAndPatchesARM() {
HacksAndPatchesCommon arm linux-gnueabihf arm-linux-gnueabihf-strip
}
HacksAndPatchesARM64() {
# Use the unstripped libdbus for arm64 to prevent linker errors.
# https://bugs.chromium.org/p/webrtc/issues/detail?id=8535
HacksAndPatchesCommon aarch64 linux-gnu true
}
HacksAndPatchesARMEL() {
HacksAndPatchesCommon arm linux-gnueabi arm-linux-gnueabi-strip
}
HacksAndPatchesMips() {
HacksAndPatchesCommon mipsel linux-gnu mipsel-linux-gnu-strip
......@@ -423,6 +435,7 @@ CleanupJailSymlinks() {
if [ "${ARCH}" != "MIPS" ]; then
libdirs="${libdirs} lib64"
fi
find $libdirs -type l -printf '%p %l\n' | while read link target; do
# skip links with non-absolute paths
echo "${target}" | grep -qs ^/ || continue
......@@ -485,6 +498,9 @@ VerifyLibraryDepsARM64() {
VerifyLibraryDepsCommon aarch64 linux-gnu
}
VerifyLibraryDepsARMEL() {
VerifyLibraryDepsCommon arm linux-gnueabi
}
VerifyLibraryDepsMips() {
VerifyLibraryDepsCommon mipsel linux-gnu
......@@ -576,6 +592,26 @@ BuildSysrootARM64() {
CreateTarBall
}
#@
#@ BuildSysrootARMEL
#@
#@ Build everything and package it
BuildSysrootARMEL() {
if [ "$HAS_ARCH_ARMEL" = "0" ]; then
return
fi
ClearInstallDir
local package_file="${DEBIAN_DEP_LIST_ARMEL}"
GeneratePackageListARMEL "$package_file"
local files_and_sha256sums="$(cat ${package_file})"
StripChecksumsFromPackageList "$package_file"
InstallIntoSysroot ${files_and_sha256sums}
CleanupJailSymlinks
HacksAndPatchesARMEL
VerifyLibraryDepsARMEL
CreateTarBall
}
#@
#@ BuildSysrootMips
#@
......@@ -625,6 +661,7 @@ BuildSysrootAll() {
RunCommand BuildSysrootI386
RunCommand BuildSysrootARM
RunCommand BuildSysrootARM64
RunCommand BuildSysrootARMEL
RunCommand BuildSysrootMips
RunCommand BuildSysrootMips64el
}
......@@ -677,6 +714,16 @@ UploadSysrootARM64() {
UploadSysroot "$@"
}
#@
#@ UploadSysrootARMEL
#@
UploadSysrootARMEL() {
if [ "$HAS_ARCH_ARMEL" = "0" ]; then
return
fi
UploadSysroot "$@"
}
#@
#@ UploadSysrootMips
#@
......@@ -706,6 +753,7 @@ UploadSysrootAll() {
RunCommand UploadSysrootI386 "$@"
RunCommand UploadSysrootARM "$@"
RunCommand UploadSysrootARM64 "$@"
RunCommand UploadSysrootARMEL "$@"
RunCommand UploadSysrootMips "$@"
RunCommand UploadSysrootMips64el "$@"
......@@ -812,6 +860,9 @@ PrintArchitectures() {
if [ "$HAS_ARCH_ARM64" = "1" ]; then
echo ARM64
fi
if [ "$HAS_ARCH_ARMEL" = "1" ]; then
echo ARMEL
fi
if [ "$HAS_ARCH_MIPS" = "1" ]; then
echo Mips
fi
......
......@@ -14,6 +14,11 @@
"SysrootDir": "debian_sid_arm64-sysroot",
"Tarball": "debian_sid_arm64_sysroot.tar.xz"
},
"sid_armel": {
"Sha1Sum": "07a9da7e88e8b6fa550b053e4338c2caa4db15f0",
"SysrootDir": "debian_sid_armel-sysroot",
"Tarball": "debian_sid_armel_sysroot.tar.xz"
},
"sid_i386": {
"Sha1Sum": "9e6279438ece6fb42b5333ca90d5e9d0c188a403",
"SysrootDir": "debian_sid_i386-sysroot",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment