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 ...@@ -29,6 +29,7 @@ HAS_ARCH_AMD64=1
HAS_ARCH_I386=1 HAS_ARCH_I386=1
HAS_ARCH_ARM=1 HAS_ARCH_ARM=1
HAS_ARCH_ARM64=1 HAS_ARCH_ARM64=1
HAS_ARCH_ARMEL=1
HAS_ARCH_MIPS=1 HAS_ARCH_MIPS=1
HAS_ARCH_MIPS64EL=1 HAS_ARCH_MIPS64EL=1
...@@ -395,4 +396,13 @@ DEBIAN_PACKAGES_ARM64=" ...@@ -395,4 +396,13 @@ DEBIAN_PACKAGES_ARM64="
libubsan0 libubsan0
" "
DEBIAN_PACKAGES_ARMEL="
libasan3
libdrm-exynos1
libdrm-freedreno1
libdrm-omap1
libdrm-tegra0
libubsan0
"
. "${SCRIPT_DIR}/sysroot-creator.sh" . "${SCRIPT_DIR}/sysroot-creator.sh"
...@@ -48,6 +48,7 @@ readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0} ...@@ -48,6 +48,7 @@ readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0}
readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0} readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0}
readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0} readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0}
readonly HAS_ARCH_ARM64=${HAS_ARCH_ARM64:=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_MIPS=${HAS_ARCH_MIPS:=0}
readonly HAS_ARCH_MIPS64EL=${HAS_ARCH_MIPS64EL:=0} readonly HAS_ARCH_MIPS64EL=${HAS_ARCH_MIPS64EL:=0}
...@@ -65,6 +66,7 @@ readonly DEBIAN_DEP_LIST_AMD64="generated_package_lists/${DIST}.amd64" ...@@ -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_I386="generated_package_lists/${DIST}.i386"
readonly DEBIAN_DEP_LIST_ARM="generated_package_lists/${DIST}.arm" readonly DEBIAN_DEP_LIST_ARM="generated_package_lists/${DIST}.arm"
readonly DEBIAN_DEP_LIST_ARM64="generated_package_lists/${DIST}.arm64" 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_MIPS="generated_package_lists/${DIST}.mipsel"
readonly DEBIAN_DEP_LIST_MIPS64EL="generated_package_lists/${DIST}.mips64el" readonly DEBIAN_DEP_LIST_MIPS64EL="generated_package_lists/${DIST}.mips64el"
...@@ -148,6 +150,9 @@ SetEnvironmentVariables() { ...@@ -148,6 +150,9 @@ SetEnvironmentVariables() {
*ARM64) *ARM64)
ARCH=ARM64 ARCH=ARM64
;; ;;
*ARMEL)
ARCH=ARMEL
;;
*) *)
echo "ERROR: Unable to determine architecture based on: $1" echo "ERROR: Unable to determine architecture based on: $1"
exit 1 exit 1
...@@ -267,6 +272,11 @@ GeneratePackageListARM64() { ...@@ -267,6 +272,11 @@ GeneratePackageListARM64() {
${DEBIAN_PACKAGES_ARM64:=}" ${DEBIAN_PACKAGES_ARM64:=}"
} }
GeneratePackageListARMEL() {
GeneratePackageListCommon "$1" armel "${DEBIAN_PACKAGES}
${DEBIAN_PACKAGES_ARMEL:=}"
}
GeneratePackageListMips() { GeneratePackageListMips() {
GeneratePackageListCommon "$1" mipsel "${DEBIAN_PACKAGES}" GeneratePackageListCommon "$1" mipsel "${DEBIAN_PACKAGES}"
} }
...@@ -350,13 +360,15 @@ HacksAndPatchesARM() { ...@@ -350,13 +360,15 @@ HacksAndPatchesARM() {
HacksAndPatchesCommon arm linux-gnueabihf arm-linux-gnueabihf-strip HacksAndPatchesCommon arm linux-gnueabihf arm-linux-gnueabihf-strip
} }
HacksAndPatchesARM64() { HacksAndPatchesARM64() {
# Use the unstripped libdbus for arm64 to prevent linker errors. # Use the unstripped libdbus for arm64 to prevent linker errors.
# https://bugs.chromium.org/p/webrtc/issues/detail?id=8535 # https://bugs.chromium.org/p/webrtc/issues/detail?id=8535
HacksAndPatchesCommon aarch64 linux-gnu true HacksAndPatchesCommon aarch64 linux-gnu true
} }
HacksAndPatchesARMEL() {
HacksAndPatchesCommon arm linux-gnueabi arm-linux-gnueabi-strip
}
HacksAndPatchesMips() { HacksAndPatchesMips() {
HacksAndPatchesCommon mipsel linux-gnu mipsel-linux-gnu-strip HacksAndPatchesCommon mipsel linux-gnu mipsel-linux-gnu-strip
...@@ -423,6 +435,7 @@ CleanupJailSymlinks() { ...@@ -423,6 +435,7 @@ CleanupJailSymlinks() {
if [ "${ARCH}" != "MIPS" ]; then if [ "${ARCH}" != "MIPS" ]; then
libdirs="${libdirs} lib64" libdirs="${libdirs} lib64"
fi fi
find $libdirs -type l -printf '%p %l\n' | while read link target; do find $libdirs -type l -printf '%p %l\n' | while read link target; do
# skip links with non-absolute paths # skip links with non-absolute paths
echo "${target}" | grep -qs ^/ || continue echo "${target}" | grep -qs ^/ || continue
...@@ -485,6 +498,9 @@ VerifyLibraryDepsARM64() { ...@@ -485,6 +498,9 @@ VerifyLibraryDepsARM64() {
VerifyLibraryDepsCommon aarch64 linux-gnu VerifyLibraryDepsCommon aarch64 linux-gnu
} }
VerifyLibraryDepsARMEL() {
VerifyLibraryDepsCommon arm linux-gnueabi
}
VerifyLibraryDepsMips() { VerifyLibraryDepsMips() {
VerifyLibraryDepsCommon mipsel linux-gnu VerifyLibraryDepsCommon mipsel linux-gnu
...@@ -576,6 +592,26 @@ BuildSysrootARM64() { ...@@ -576,6 +592,26 @@ BuildSysrootARM64() {
CreateTarBall 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 #@ BuildSysrootMips
#@ #@
...@@ -625,6 +661,7 @@ BuildSysrootAll() { ...@@ -625,6 +661,7 @@ BuildSysrootAll() {
RunCommand BuildSysrootI386 RunCommand BuildSysrootI386
RunCommand BuildSysrootARM RunCommand BuildSysrootARM
RunCommand BuildSysrootARM64 RunCommand BuildSysrootARM64
RunCommand BuildSysrootARMEL
RunCommand BuildSysrootMips RunCommand BuildSysrootMips
RunCommand BuildSysrootMips64el RunCommand BuildSysrootMips64el
} }
...@@ -677,6 +714,16 @@ UploadSysrootARM64() { ...@@ -677,6 +714,16 @@ UploadSysrootARM64() {
UploadSysroot "$@" UploadSysroot "$@"
} }
#@
#@ UploadSysrootARMEL
#@
UploadSysrootARMEL() {
if [ "$HAS_ARCH_ARMEL" = "0" ]; then
return
fi
UploadSysroot "$@"
}
#@ #@
#@ UploadSysrootMips #@ UploadSysrootMips
#@ #@
...@@ -706,6 +753,7 @@ UploadSysrootAll() { ...@@ -706,6 +753,7 @@ UploadSysrootAll() {
RunCommand UploadSysrootI386 "$@" RunCommand UploadSysrootI386 "$@"
RunCommand UploadSysrootARM "$@" RunCommand UploadSysrootARM "$@"
RunCommand UploadSysrootARM64 "$@" RunCommand UploadSysrootARM64 "$@"
RunCommand UploadSysrootARMEL "$@"
RunCommand UploadSysrootMips "$@" RunCommand UploadSysrootMips "$@"
RunCommand UploadSysrootMips64el "$@" RunCommand UploadSysrootMips64el "$@"
...@@ -812,6 +860,9 @@ PrintArchitectures() { ...@@ -812,6 +860,9 @@ PrintArchitectures() {
if [ "$HAS_ARCH_ARM64" = "1" ]; then if [ "$HAS_ARCH_ARM64" = "1" ]; then
echo ARM64 echo ARM64
fi fi
if [ "$HAS_ARCH_ARMEL" = "1" ]; then
echo ARMEL
fi
if [ "$HAS_ARCH_MIPS" = "1" ]; then if [ "$HAS_ARCH_MIPS" = "1" ]; then
echo Mips echo Mips
fi fi
......
...@@ -14,6 +14,11 @@ ...@@ -14,6 +14,11 @@
"SysrootDir": "debian_sid_arm64-sysroot", "SysrootDir": "debian_sid_arm64-sysroot",
"Tarball": "debian_sid_arm64_sysroot.tar.xz" "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": { "sid_i386": {
"Sha1Sum": "9e6279438ece6fb42b5333ca90d5e9d0c188a403", "Sha1Sum": "9e6279438ece6fb42b5333ca90d5e9d0c188a403",
"SysrootDir": "debian_sid_i386-sysroot", "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