summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2018-04-12 15:59:40 +0930
committerJoel Stanley <joel@jms.id.au>2018-04-12 15:59:40 +0930
commita8d11267c2bfad3ff410ea342778f2791982da51 (patch)
tree98f7058a6f58fc3f63d1e8bb499531a0a01e15fd /support
parente17668bbe3538d42b0a0fab64251e60ff6c81d68 (diff)
parent9565a37e0d2aa3c5fb9a4148760c490f2e5226d4 (diff)
downloadbuildroot-a8d11267c2bfad3ff410ea342778f2791982da51.tar.gz
buildroot-a8d11267c2bfad3ff410ea342778f2791982da51.zip
Merge tag '2018.02.1' into 2018.02-op-build2018.02-op-build
Release 2018.02.1
Diffstat (limited to 'support')
-rw-r--r--support/config-fragments/autobuild/br-arm-internal-glibc.config4
-rw-r--r--support/config-fragments/autobuild/br-arm-internal-musl.config4
-rw-r--r--support/config-fragments/autobuild/br-nios2-glibc.config1
-rw-r--r--support/config-fragments/autobuild/br-xtensa-full-internal.config1
-rw-r--r--support/config-fragments/autobuild/toolchain-configs.csv2
-rwxr-xr-xsupport/dependencies/check-host-tar.sh7
-rwxr-xr-xsupport/scripts/check-bin-arch57
-rwxr-xr-xsupport/scripts/check-uniq-files19
8 files changed, 63 insertions, 32 deletions
diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config
new file mode 100644
index 0000000000..6b2566eedc
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-arm-internal-musl.config b/support/config-fragments/autobuild/br-arm-internal-musl.config
new file mode 100644
index 0000000000..92788626d6
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-internal-musl.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_TOOLCHAIN_BUILDROOT_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-nios2-glibc.config b/support/config-fragments/autobuild/br-nios2-glibc.config
index 62f2665e44..52b9f7f9f5 100644
--- a/support/config-fragments/autobuild/br-nios2-glibc.config
+++ b/support/config-fragments/autobuild/br-nios2-glibc.config
@@ -6,4 +6,5 @@ BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/b
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
diff --git a/support/config-fragments/autobuild/br-xtensa-full-internal.config b/support/config-fragments/autobuild/br-xtensa-full-internal.config
index f642a4d76b..89e81d4c45 100644
--- a/support/config-fragments/autobuild/br-xtensa-full-internal.config
+++ b/support/config-fragments/autobuild/br-xtensa-full-internal.config
@@ -1,4 +1,3 @@
BR2_xtensa=y
-BR2_JLEVEL=8
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index efb78eec4f..2010113f44 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -12,6 +12,8 @@ support/config-fragments/autobuild/br-arm-full.config,x86_64
support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64
support/config-fragments/autobuild/br-arm-full-static.config,x86_64
support/config-fragments/autobuild/br-arm-internal-full.config,any
+support/config-fragments/autobuild/br-arm-internal-glibc.config,any
+support/config-fragments/autobuild/br-arm-internal-musl.config,any
support/config-fragments/autobuild/br-bfin-full.config,x86_64
support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64
support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64
diff --git a/support/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh
index 2143877524..0857307396 100755
--- a/support/dependencies/check-host-tar.sh
+++ b/support/dependencies/check-host-tar.sh
@@ -26,10 +26,11 @@ if [ ! -z "${version_bsd}" ] ; then
minor=0
fi
-# Minimal version = 1.17 (previous versions do not correctly unpack archives
-# containing hard-links if the --strip-components option is used).
+# Minimal version = 1.27 (previous versions do not correctly unpack archives
+# containing hard-links if the --strip-components option is used or create
+# different gnu long link headers for path elements > 100 characters).
major_min=1
-minor_min=17
+minor_min=27
# Maximal version = 1.29 (1.30 changed --numeric-owner output for
# filenames > 100 characters). This is really a fix for a bug in
diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch
index f6a4569c62..7f97696735 100755
--- a/support/scripts/check-bin-arch
+++ b/support/scripts/check-bin-arch
@@ -1,18 +1,46 @@
#!/usr/bin/env bash
-while getopts p:l:r:a: OPT ; do
+# List of hardcoded paths that should be ignored, as they may
+# contain binaries for an architecture different from the
+# architecture of the target.
+declare -a IGNORES=(
+ # Skip firmware files, they could be ELF files for other
+ # architectures
+ "/lib/firmware"
+ "/usr/lib/firmware"
+
+ # Skip kernel modules
+ # When building a 32-bit userland on 64-bit architectures, the kernel
+ # and its modules may still be 64-bit. To keep the basic
+ # check-bin-arch logic simple, just skip this directory.
+ "/lib/modules"
+ "/usr/lib/modules"
+
+ # Skip files in /usr/share, several packages (qemu,
+ # pru-software-support) legitimately install ELF binaries that
+ # are not for the target architecture
+ "/usr/share"
+)
+
+while getopts p:l:r:a:i: OPT ; do
case "${OPT}" in
p) package="${OPTARG}";;
l) pkg_list="${OPTARG}";;
r) readelf="${OPTARG}";;
a) arch_name="${OPTARG}";;
+ i)
+ # Ensure we do have single '/' as separators,
+ # and that we have a leading and a trailing one.
+ pattern="$(sed -r -e 's:/+:/:g; s:^/*:/:; s:/*$:/:;' <<<"${OPTARG}")"
+ IGNORES+=("${pattern}")
+ ;;
:) error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
\?) error "unknown option '%s'\n" "${OPTARG}";;
esac
done
if test -z "${package}" -o -z "${pkg_list}" -o -z "${readelf}" -o -z "${arch_name}" ; then
- echo "Usage: $0 -p <pkg> -l <pkg-file-list> -r <readelf> -a <arch name>"
+ echo "Usage: $0 -p <pkg> -l <pkg-file-list> -r <readelf> -a <arch name> [-i PATH ...]"
exit 1
fi
@@ -23,26 +51,11 @@ IFS="
"
while read f; do
- # Skip firmware files, they could be ELF files for other
- # architectures
- if [[ "${f}" =~ ^/(usr/)?lib/firmware/.* ]]; then
- continue
- fi
-
- # Skip kernel modules
- # When building a 32-bit userland on 64-bit architectures, the kernel
- # and its modules may still be 64-bit. To keep the basic
- # check-bin-arch logic simple, just skip this directory.
- if [[ "${f}" =~ ^/lib/modules/.* ]]; then
- continue
- fi
-
- # Skip files in /usr/share, several packages (qemu,
- # pru-software-support) legitimately install ELF binaries that
- # are not for the target architecture
- if [[ "${f}" =~ ^/usr/share/.* ]]; then
- continue
- fi
+ for ignore in "${IGNORES[@]}"; do
+ if [[ "${f}" =~ ^"${ignore}" ]]; then
+ continue 2
+ fi
+ done
# Skip symlinks. Some symlinks may have absolute paths as
# target, pointing to host binaries while we're building.
diff --git a/support/scripts/check-uniq-files b/support/scripts/check-uniq-files
index be808cce03..f110176274 100755
--- a/support/scripts/check-uniq-files
+++ b/support/scripts/check-uniq-files
@@ -26,16 +26,23 @@ def main():
return False
file_to_pkg = defaultdict(list)
- with open(args.packages_file_list[0], 'r') as pkg_file_list:
- r = csv.reader(pkg_file_list, delimiter=',')
- for row in r:
- pkg = row[0]
- file = row[1]
+ with open(args.packages_file_list[0], 'rb') as pkg_file_list:
+ for line in pkg_file_list.readlines():
+ pkg, _, file = line.rstrip(b'\n').partition(b',')
file_to_pkg[file].append(pkg)
for file in file_to_pkg:
if len(file_to_pkg[file]) > 1:
- sys.stderr.write(warn.format(args.type, file, file_to_pkg[file]))
+ # If possible, try to decode the binary strings with
+ # the default user's locale
+ try:
+ sys.stderr.write(warn.format(args.type, file.decode(),
+ [p.decode() for p in file_to_pkg[file]]))
+ except UnicodeDecodeError:
+ # ... but fallback to just dumping them raw if they
+ # contain non-representable chars
+ sys.stderr.write(warn.format(args.type, file,
+ file_to_pkg[file]))
if __name__ == "__main__":
OpenPOWER on IntegriCloud