diff options
-rw-r--r-- | config/binutils/binutils.in | 11 | ||||
-rw-r--r-- | config/libc/newlib.in | 7 | ||||
-rw-r--r-- | packages/expat/2.2.8/chksum | 4 | ||||
-rw-r--r-- | packages/expat/2.2.9/chksum | 4 | ||||
-rw-r--r-- | packages/expat/2.2.9/version.desc (renamed from packages/expat/2.2.8/version.desc) | 0 | ||||
-rw-r--r-- | packages/uClibc-ng/1.0.32/chksum | 16 | ||||
-rw-r--r-- | packages/uClibc-ng/1.0.32/version.desc | 0 | ||||
-rw-r--r-- | samples/arc-multilib-linux-gnu/crosstool.config | 7 | ||||
-rw-r--r-- | samples/arc-multilib-linux-gnu/reported.by | 3 | ||||
-rw-r--r-- | scripts/build/arch/arc.sh | 36 | ||||
-rw-r--r-- | scripts/build/binutils/binutils.sh | 3 | ||||
-rw-r--r-- | scripts/build/libc/musl.sh | 3 | ||||
-rw-r--r-- | scripts/build/libc/newlib.sh | 1 |
13 files changed, 89 insertions, 6 deletions
diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index 928659af..a92dec98 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -156,6 +156,15 @@ config BINUTILS_RELRO Setting this option to 'M' configures binutils with their internal default for the selected architecture. +config BINUTILS_DETERMINISTIC_ARCHIVES + bool + prompt "Enable deterministic archives by default" if BINUTILS_2_23_or_later + default y if BINUTILS_2_23_or_later + help + Setting this option will enable deterministic mode by default (-D). + ar and ranlib will use zero for UIDs, GIDs, + timestamps, and use consistent file modes for all files. + config BINUTILS_EXTRA_CONFIG_ARRAY string prompt "binutils extra config" @@ -206,7 +215,7 @@ config ELF2FLT_EXTRA_CONFIG_ARRAY default "" help Extra flags passed onto ./configure when configuring - + You can enter multiple arguments here, and arguments can contain spaces if they are properly quoted (or escaped, but prefer quotes). Eg.: --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space diff --git a/config/libc/newlib.in b/config/libc/newlib.in index 268f9564..199eff2a 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -152,6 +152,13 @@ config LIBC_NEWLIB_MULTITHREAD help Enable support for multiple threads. +config LIBC_NEWLIB_RETARGETABLE_LOCKING + bool + prompt "Enable retargetable locking" + help + Enable retargetable locking to allow the operating system to override + the dummy lock functions defined within the newlib. + config LIBC_NEWLIB_EXTRA_SECTIONS bool prompt "Place each function & data element in their own section" diff --git a/packages/expat/2.2.8/chksum b/packages/expat/2.2.8/chksum deleted file mode 100644 index f0830b6d..00000000 --- a/packages/expat/2.2.8/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 expat-2.2.8.tar.bz2 00858041acfea5757af55e6ee6b86231 -sha1 expat-2.2.8.tar.bz2 e1665bdab5ceaab47718b5a7f3ffceca7f648433 -sha256 expat-2.2.8.tar.bz2 9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102 -sha512 expat-2.2.8.tar.bz2 b1c995320d3eb406fe98e87fad204cc1336a74fb70c3ce3876d16ab955507863c3ee406ab10f0e8b63ed51cda0f7da4df0039626990fc2710f41c589c04b4022 diff --git a/packages/expat/2.2.9/chksum b/packages/expat/2.2.9/chksum new file mode 100644 index 00000000..1c7e8b83 --- /dev/null +++ b/packages/expat/2.2.9/chksum @@ -0,0 +1,4 @@ +md5 expat-2.2.9.tar.bz2 875a2c2ff3e8eb9e5a5cd62db2033ab5 +sha1 expat-2.2.9.tar.bz2 ef5c1c55913a6ab18496ee99166f86269c7cdc31 +sha256 expat-2.2.9.tar.bz2 f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237 +sha512 expat-2.2.9.tar.bz2 8ea4b89a171dfda8267c8b7a0295516d169bf7f46587ebe460fe0ae7a31478a119ae2a7eaa09b3ce46b107ec7cd2274ea66d91c08b8a4ad6b98ba984cdd4e15b diff --git a/packages/expat/2.2.8/version.desc b/packages/expat/2.2.9/version.desc index e69de29b..e69de29b 100644 --- a/packages/expat/2.2.8/version.desc +++ b/packages/expat/2.2.9/version.desc diff --git a/packages/uClibc-ng/1.0.32/chksum b/packages/uClibc-ng/1.0.32/chksum new file mode 100644 index 00000000..4dbb6539 --- /dev/null +++ b/packages/uClibc-ng/1.0.32/chksum @@ -0,0 +1,16 @@ +md5 uClibc-ng-1.0.32.tar.xz 923afbca6798cb1fdc46e2f43ec6c692 +sha1 uClibc-ng-1.0.32.tar.xz 35bcbc30d7fe67874a9de20d16650691fb4e9d43 +sha256 uClibc-ng-1.0.32.tar.xz 891b5e4573855e4c11e51d3a518f89a82e490d9aa73280c05ce3e4d7e739a370 +sha512 uClibc-ng-1.0.32.tar.xz 65bd480a0ab7167b8b6464642acbb6a098cae7414aeebb28edab44b2d70d7a947cabeb02041313756de0a11e996195fc891b584a7149c0c636fca0ba65948688 +md5 uClibc-ng-1.0.32.tar.lz 9f56c3bed051246dea1117ed9b72c53c +sha1 uClibc-ng-1.0.32.tar.lz 5a1ba2e623caedfa1533142bfe364daa021ad18f +sha256 uClibc-ng-1.0.32.tar.lz 526bed6f5e4c973e826fc2650943a0708b84431523d2dd75b8f367b99e02ac41 +sha512 uClibc-ng-1.0.32.tar.lz 5834aed346bf9d1030fe1317ddab53e7be0b80e3976d4f8c759868ea153edfa171f62557b7c3c4c2cbbf0ab0ee524bd8747f7836f77b0a56edd21c25c5ca822e +md5 uClibc-ng-1.0.32.tar.bz2 6a985a3800a92b07febda283104e4e8b +sha1 uClibc-ng-1.0.32.tar.bz2 4d80ea623d3a316bc5b6eca880619c96bd069c53 +sha256 uClibc-ng-1.0.32.tar.bz2 7b49191a987caa19f0d668aa038c16491fbebc3fd158f3553767453087ebe432 +sha512 uClibc-ng-1.0.32.tar.bz2 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8 +md5 uClibc-ng-1.0.32.tar.gz 8b6201a68bb2c7d6dc52a3d27c1aa0cb +sha1 uClibc-ng-1.0.32.tar.gz 6f8e2e2659c4d3973fad6249bb2bc59d653fe567 +sha256 uClibc-ng-1.0.32.tar.gz 304aa985b73544ff18d8b371befdeaae38d5ae449bf90b3a49ea239ce447c527 +sha512 uClibc-ng-1.0.32.tar.gz f83ff0bd28930dab3fa0f8ece065fbf44f97f1236b692fa160c3475bc4a48908d5c4f52cc50db98be3d439c1e8dcdef7f0764a073e5695beeb4fb1deae5bb577 diff --git a/packages/uClibc-ng/1.0.32/version.desc b/packages/uClibc-ng/1.0.32/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/uClibc-ng/1.0.32/version.desc diff --git a/samples/arc-multilib-linux-gnu/crosstool.config b/samples/arc-multilib-linux-gnu/crosstool.config new file mode 100644 index 00000000..3dc78027 --- /dev/null +++ b/samples/arc-multilib-linux-gnu/crosstool.config @@ -0,0 +1,7 @@ +CT_CONFIG_VERSION="3" +CT_ARCH_ARC=y +CT_MULTILIB=y +CT_TARGET_CFLAGS="-matomic" +CT_TARGET_VENDOR="multilib" +CT_TARGET_ALIAS="arc-linux" +CT_KERNEL_LINUX=y diff --git a/samples/arc-multilib-linux-gnu/reported.by b/samples/arc-multilib-linux-gnu/reported.by new file mode 100644 index 00000000..e98760ae --- /dev/null +++ b/samples/arc-multilib-linux-gnu/reported.by @@ -0,0 +1,3 @@ +reporter_name="Alexey Brodkin" +reporter_url="http://embarc.org" +reporter_comment="ARC multilib GNU Linux toolchain" diff --git a/scripts/build/arch/arc.sh b/scripts/build/arch/arc.sh index b13ef0eb..d15f73f3 100644 --- a/scripts/build/arch/arc.sh +++ b/scripts/build/arch/arc.sh @@ -29,3 +29,39 @@ CT_DoArchUClibcCflags() esac done } + +# Multilib: Adjust configure arguments for GLIBC +# Usage: CT_DoArchGlibcAdjustConfigure <configure-args-array-name> <cflags> +# +# From GCC's standpoint ARC's multilib items are defined by "mcpu" values +# which we have quite a few and for all of them might be built optimized +# cross-toolchain. +# +# From Glibc's standpoint multilib is multi-ABI and so very limited +# versions are supposed to co-exist. +# +# Here we force Glibc to install libraries in per-multilib folder to create +# a universal cross-toolchain that has libs optimized for multiple CPU types. +CT_DoArchGlibcAdjustConfigure() { + local -a add_args + local array="${1}" + local cflags="${2}" + local opt + local mcpu + + # If building for multilib, set proper installation paths + if [ "${CT_MULTILIB}" = "y" ]; then + for opt in ${cflags}; do + case "${opt}" in + -mcpu=*) + mcpu="${opt#*=}" + add_args+=( "libc_cv_rtlddir=/lib/${mcpu}" ) + add_args+=( "libc_cv_slibdir=/lib/${mcpu}" ) + add_args+=( "--libdir=/usr/lib/${mcpu}" ) + ;; + esac + done + fi + + eval "${array}+=( \"\${add_args[@]}\" )" +} diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index 2a738deb..6a2ec7bb 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -158,6 +158,9 @@ do_binutils_backend() { elif [ "${CT_BINUTILS_RELRO}" != "m" ]; then extra_config+=( --disable-relro ) fi + if [ "${CT_BINUTILS_DETERMINISTIC_ARCHIVES}" = "y" ]; then + extra_config+=( --enable-deterministic-archives ) + fi if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh index 807b3bd8..05da1d40 100644 --- a/scripts/build/libc/musl.sh +++ b/scripts/build/libc/musl.sh @@ -98,7 +98,8 @@ musl_backend_once() { # host : same as --target # target : the machine musl runs on CT_DoExecLog CFG \ - CFLAGS="${extra_cflags[*]}" \ + CFLAGS="${CT_TARGET_CFLAGS} ${extra_cflags[*]}" \ + LDFLAGS="${CT_TARGET_LDFLAGS}" \ CROSS_COMPILE="${CT_TARGET}-" \ ${CONFIG_SHELL} \ ${src_dir}/configure \ diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh index 95ab7910..ef0b16c1 100644 --- a/scripts/build/libc/newlib.sh +++ b/scripts/build/libc/newlib.sh @@ -63,6 +63,7 @@ GLOBAL_ATEXIT:newlib-global-atexit LITE_EXIT:lite-exit REENT_SMALL:newlib-reent-small MULTITHREAD:newlib-multithread +RETARGETABLE_LOCKING:newlib-retargetable-locking WIDE_ORIENT:newlib-wide-orient UNBUF_STREAM_OPT:newlib-unbuf-stream-opt ENABLE_TARGET_OPTSPACE:target-optspace |