mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-31 00:23:56 +00:00
Merge pull request #1142 from stilor/rc2-fixes
Fixes for regressions in 1.24.0-rc1
This commit is contained in:
commit
7d621cd831
@ -1,30 +0,0 @@
|
||||
commit 2c8ab83ec84662f4916b5237da3e4330956a32eb
|
||||
Author: Alexey Neyman <stilor@att.net>
|
||||
Date: Sat Sep 29 13:12:08 2018 -0700
|
||||
|
||||
Create symlink to <bfd/diagnostics.h> in bfd-headers
|
||||
|
||||
Included by <bfd/bfd.h>.
|
||||
|
||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index cfad06c..8162cba 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -123,11 +123,14 @@ sinclude .deps
|
||||
$(CC) -MM $(CPPFLAGS) $(srcdir)/*.c > .deps
|
||||
|
||||
|
||||
+# Not all versions of binutils have all these headers, some may end up
|
||||
+# as dangling symlinks
|
||||
bfd-headers/.stamp:
|
||||
rm -rf bfd-headers
|
||||
mkdir bfd-headers
|
||||
ln -sf $(BFD_INCLUDE_DIR)/bfd.h bfd-headers/bfd.h
|
||||
- for f in ansidecl filenames hashtab libiberty symcat; do \
|
||||
+ ln -sf $(BFD_INCLUDE_DIR)/diagnostics.h bfd-headers/diagnostics.h
|
||||
+ for f in ansidecl filenames hashtab libiberty symcat diagnostics; do \
|
||||
ln -sf $(BINUTILS_INCLUDE_DIR)/$$f.h bfd-headers/$$f.h || exit 1; \
|
||||
done
|
||||
ln -sf $(BINUTILS_INCLUDE_DIR)/elf bfd-headers/elf
|
@ -1,2 +1,2 @@
|
||||
repository='git https://github.com/uclinux-dev/elf2flt.git'
|
||||
repository_cset='6d80ab6c93409e796f85da404bde84b841231531'
|
||||
repository_cset='7e33f28df198c46764021ed14408bd262751e148'
|
||||
|
1
packages/newlib/3.0.0.20180831/version.desc
vendored
1
packages/newlib/3.0.0.20180831/version.desc
vendored
@ -1 +0,0 @@
|
||||
experimental='yes'
|
1
packages/newlib/3.1.0.20181231/version.desc
vendored
1
packages/newlib/3.1.0.20181231/version.desc
vendored
@ -1 +0,0 @@
|
||||
experimental='yes'
|
91
packages/strace/4.26/0000-mips-o32-fix-build.patch
vendored
Normal file
91
packages/strace/4.26/0000-mips-o32-fix-build.patch
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
commit 2c8b6de913973274e877639658e9e7273a012adb
|
||||
Author: Dmitry V. Levin <ldv@altlinux.org>
|
||||
Date: Tue Jan 8 19:23:44 2019 +0000
|
||||
|
||||
mips o32: fix build
|
||||
|
||||
Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros
|
||||
from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these
|
||||
macros are no longer used outside syscall.c or files included by
|
||||
syscall.c, but this caused a build regression on mips o32 because
|
||||
decode_syscall_subcall() uses mips_REG_SP prior to its definition.
|
||||
|
||||
* syscall.c (decode_syscall_subcall): Move ...
|
||||
* linux/mips/get_syscall_args.c: ... here.
|
||||
* NEWS: Mention this fix.
|
||||
|
||||
Reported-by: Baruch Siach <baruch@tkos.co.il>
|
||||
Fixes: v4.26~61 "Refactor stack pointers"
|
||||
|
||||
diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c
|
||||
index 387aa852..e2889f98 100644
|
||||
--- a/linux/mips/get_syscall_args.c
|
||||
+++ b/linux/mips/get_syscall_args.c
|
||||
@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp)
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+#ifdef SYS_syscall_subcall
|
||||
+static void
|
||||
+decode_syscall_subcall(struct tcb *tcp)
|
||||
+{
|
||||
+ if (!scno_is_valid(tcp->u_arg[0]))
|
||||
+ return;
|
||||
+ tcp->scno = tcp->u_arg[0];
|
||||
+ tcp->qual_flg = qual_flags(tcp->scno);
|
||||
+ tcp->s_ent = &sysent[tcp->scno];
|
||||
+ memmove(&tcp->u_arg[0], &tcp->u_arg[1],
|
||||
+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
|
||||
+ /*
|
||||
+ * Fetching the last arg of 7-arg syscalls (fadvise64_64
|
||||
+ * and sync_file_range) requires additional code,
|
||||
+ * see linux/mips/get_syscall_args.c
|
||||
+ */
|
||||
+ if (tcp->s_ent->nargs == MAX_ARGS) {
|
||||
+ if (umoven(tcp,
|
||||
+ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
|
||||
+ sizeof(tcp->u_arg[0]),
|
||||
+ &tcp->u_arg[MAX_ARGS - 1]) < 0)
|
||||
+ tcp->u_arg[MAX_ARGS - 1] = 0;
|
||||
+ }
|
||||
+}
|
||||
+#endif /* SYS_syscall_subcall */
|
||||
diff --git a/syscall.c b/syscall.c
|
||||
index d78f51dd..51fcc721 100644
|
||||
--- a/syscall.c
|
||||
+++ b/syscall.c
|
||||
@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp)
|
||||
#endif /* SYS_ipc_subcall */
|
||||
|
||||
#ifdef SYS_syscall_subcall
|
||||
-static void
|
||||
-decode_syscall_subcall(struct tcb *tcp)
|
||||
-{
|
||||
- if (!scno_is_valid(tcp->u_arg[0]))
|
||||
- return;
|
||||
- tcp->scno = tcp->u_arg[0];
|
||||
- tcp->qual_flg = qual_flags(tcp->scno);
|
||||
- tcp->s_ent = &sysent[tcp->scno];
|
||||
- memmove(&tcp->u_arg[0], &tcp->u_arg[1],
|
||||
- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
|
||||
-# ifdef LINUX_MIPSO32
|
||||
- /*
|
||||
- * Fetching the last arg of 7-arg syscalls (fadvise64_64
|
||||
- * and sync_file_range) requires additional code,
|
||||
- * see linux/mips/get_syscall_args.c
|
||||
- */
|
||||
- if (tcp->s_ent->nargs == MAX_ARGS) {
|
||||
- if (umoven(tcp,
|
||||
- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
|
||||
- sizeof(tcp->u_arg[0]),
|
||||
- &tcp->u_arg[MAX_ARGS - 1]) < 0)
|
||||
- tcp->u_arg[MAX_ARGS - 1] = 0;
|
||||
- }
|
||||
-# endif /* LINUX_MIPSO32 */
|
||||
-}
|
||||
+/* The implementation is architecture specific. */
|
||||
+static void decode_syscall_subcall(struct tcb *);
|
||||
#endif /* SYS_syscall_subcall */
|
||||
|
||||
static void
|
38
samples/xtensa-fsf-elf/crosstool.config
Normal file
38
samples/xtensa-fsf-elf/crosstool.config
Normal file
@ -0,0 +1,38 @@
|
||||
CT_CONFIG_VERSION="2"
|
||||
CT_EXPERIMENTAL=y
|
||||
CT_ALLOW_BUILD_AS_ROOT=y
|
||||
CT_ALLOW_BUILD_AS_ROOT_SURE=y
|
||||
CT_DEBUG_CT=y
|
||||
CT_DEBUG_CT_SAVE_STEPS=y
|
||||
CT_ARCH_XTENSA=y
|
||||
CT_MULTILIB=y
|
||||
CT_TARGET_CFLAGS="-mlongcalls"
|
||||
CT_TARGET_VENDOR="fsf"
|
||||
CT_BINUTILS_SRC_DEVEL=y
|
||||
CT_BINUTILS_DEVEL_URL="https://github.com/espressif/binutils-gdb.git"
|
||||
CT_BINUTILS_DEVEL_BRANCH="esp32-2018r1_binutils-2_30"
|
||||
CT_BINUTILS_V_2_30=y
|
||||
CT_NEWLIB_SRC_DEVEL=y
|
||||
CT_NEWLIB_DEVEL_URL="https://github.com/espressif/newlib-esp32.git"
|
||||
CT_NEWLIB_DEVEL_BRANCH="esp32-2018r1_newlib-2_2_0"
|
||||
CT_LIBC_NEWLIB_TARGET_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED -DMALLOC_PROVIDED"
|
||||
CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
|
||||
CT_GCC_SRC_DEVEL=y
|
||||
CT_GCC_DEVEL_VCS_git=y
|
||||
CT_GCC_DEVEL_URL="https://github.com/espressif/gcc.git"
|
||||
CT_GCC_DEVEL_BRANCH="esp32-2018r1_gcc-8_2_0"
|
||||
CT_CC_GCC_ENABLE_CXX_FLAGS="-fno-rtti -ffunction-sections"
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-threads=posix"
|
||||
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio"
|
||||
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
|
||||
# CT_CC_CXA_ATEXIT is not set
|
||||
# CT_CC_GCC_LDBL_128 is not set
|
||||
CT_CC_LANG_CXX=y
|
||||
CT_DEBUG_GDB=y
|
||||
CT_GDB_SRC_DEVEL=y
|
||||
CT_GDB_DEVEL_URL="https://github.com/espressif/binutils-gdb.git"
|
||||
CT_GDB_DEVEL_BRANCH="esp32-2018r1_gdb-8_1"
|
||||
CT_GDB_V_8_1=y
|
||||
CT_ISL_V_0_19=y
|
||||
CT_COMP_TOOLS_AUTOCONF=y
|
||||
CT_COMP_TOOLS_AUTOMAKE=y
|
4
samples/xtensa-fsf-elf/reported.by
Normal file
4
samples/xtensa-fsf-elf/reported.by
Normal file
@ -0,0 +1,4 @@
|
||||
reporter_name="Anton Maklakov"
|
||||
reporter_url=""
|
||||
reporter_comment="Modified from the configuration reported in #985 to not include
|
||||
overlays."
|
@ -293,8 +293,7 @@ do_gcc_core_backend() {
|
||||
local prefix
|
||||
local complibs
|
||||
local lang_list
|
||||
local cflags
|
||||
local cflags_for_build
|
||||
local cflags cflags_for_build cflags_for_target
|
||||
local ldflags
|
||||
local build_step
|
||||
local log_txt
|
||||
@ -352,12 +351,6 @@ do_gcc_core_backend() {
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${build_step}" in
|
||||
core2|gcc_build)
|
||||
CT_DoLog DEBUG "Copying headers to install area of core C compiler"
|
||||
CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
|
||||
esac
|
||||
|
||||
for tmp in ARCH ABI CPU TUNE FPU FLOAT ENDIAN; do
|
||||
eval tmp="\${CT_ARCH_WITH_${tmp}}"
|
||||
if [ -n "${tmp}" ]; then
|
||||
@ -551,21 +544,35 @@ do_gcc_core_backend() {
|
||||
|
||||
# We may need to modify host/build CFLAGS separately below
|
||||
cflags_for_build="${CT_CFLAGS_FOR_BUILD}"
|
||||
cflags="${CT_CFLAGS_FOR_HOST}"
|
||||
cflags_for_target="${CT_TARGET_CFLAGS}"
|
||||
|
||||
# Clang's default bracket-depth is 256, and building GCC
|
||||
# requires somewhere between 257 and 512.
|
||||
if [ "${host}" = "${CT_BUILD}" ]; then
|
||||
if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
|
||||
cflags="$cflags "-fbracket-depth=512
|
||||
cflags_for_build="$cflags_for_build "-fbracket-depth=512
|
||||
cflags="$cflags -fbracket-depth=512"
|
||||
cflags_for_build="$cflags_for_build -fbracket-depth=512"
|
||||
fi
|
||||
else
|
||||
# FIXME we currently don't support clang as host compiler, only as build
|
||||
if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
|
||||
cflags_for_build="$cflags_for_build "-fbracket-depth=512
|
||||
cflags_for_build="$cflags_for_build -fbracket-depth=512"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For non-sysrooted toolchain, GCC doesn't search except at the installation
|
||||
# prefix; in core-1/2 stage we use a temporary installation prefix - but
|
||||
# we may have installed something into the final prefix. This is less than ideal:
|
||||
# in the installation prefix GCC also handles subdirectories for multilibs
|
||||
# (e.g. first trying ${prefix}/include/${arch-triplet}) but
|
||||
# we can only pass the top level directory, so non-sysrooted build with libc
|
||||
# selection that doesn't merge the headers (i.e. musl, uClibc-ng) may not
|
||||
# work. Better suggestions welcome.
|
||||
if [ "${CT_USE_SYSROOT}" != "y" ]; then
|
||||
cflags_for_target="${cflags_for_target} -idirafter ${CT_HEADERS_DIR}"
|
||||
fi
|
||||
|
||||
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532).
|
||||
# Pass only user-specified CFLAGS/LDFLAGS in CFLAGS_FOR_TARGET/LDFLAGS_FOR_TARGET: during
|
||||
# the build of, for example, libatomic, GCC tried to compile multiple variants for runtime
|
||||
@ -578,8 +585,8 @@ do_gcc_core_backend() {
|
||||
CXXFLAGS="${cflags}" \
|
||||
CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
|
||||
LDFLAGS="${core_LDFLAGS[*]}" \
|
||||
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
|
||||
CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
|
||||
CFLAGS_FOR_TARGET="${cflags_for_target}" \
|
||||
CXXFLAGS_FOR_TARGET="${cflags_for_target}" \
|
||||
LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
|
||||
${CONFIG_SHELL} \
|
||||
"${CT_SRC_DIR}/gcc/configure" \
|
||||
|
@ -182,9 +182,6 @@ glibc_backend_once()
|
||||
|
||||
touch config.cache
|
||||
|
||||
# Hide host C++ binary from configure
|
||||
echo "ac_cv_prog_ac_ct_CXX=${CT_TARGET}-g++" >>config.cache
|
||||
|
||||
# Until it became explicitly controllable with --enable-stack-protector=...,
|
||||
# configure detected GCC support for -fstack-protector{,-strong} and
|
||||
# tried to enable it in some parts of glibc - which then failed to build.
|
||||
@ -282,6 +279,10 @@ glibc_backend_once()
|
||||
"${CT_GLIBC_EXTRA_CONFIG_ARRAY[@]}"
|
||||
|
||||
# build hacks
|
||||
|
||||
# Mask C++ compiler. Glibc 2.29+ attempts to build some tests using gcc++, but
|
||||
# we haven't built libstdc++ yet. Should really implement #808 after 1.24.0...
|
||||
extra_make_args+=( CXX= )
|
||||
case "${CT_ARCH},${CT_ARCH_CPU}" in
|
||||
powerpc,8??)
|
||||
# http://sourceware.org/ml/crossgcc/2008-10/msg00068.html
|
||||
|
@ -220,7 +220,3 @@ mingw_w64_main()
|
||||
CT_EndStep
|
||||
fi
|
||||
}
|
||||
|
||||
mingw_w64_post_cc() {
|
||||
:
|
||||
}
|
||||
|
@ -22,7 +22,10 @@ moxiebox_start_files()
|
||||
moxiebox_main()
|
||||
{
|
||||
newlib_main
|
||||
}
|
||||
|
||||
moxiebox_post_cc()
|
||||
{
|
||||
CT_DoStep INFO "Installing moxiebox runtime and VM"
|
||||
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-moxiebox"
|
||||
@ -45,7 +48,7 @@ moxiebox_main()
|
||||
|
||||
CT_DoExecLog CFG ./autogen.sh
|
||||
|
||||
# moxiebox build script create symlinks from the installation location to the build
|
||||
# moxiebox build script creates symlinks from the installation location to the build
|
||||
# directory for the moxiebox library. This seems backwards. Instead, pass the search
|
||||
# as part of the MOX_GCC definition.
|
||||
# moxiebox also depends on the tools being named moxiebox-{gcc,as,ar}. However, failure
|
||||
|
@ -102,6 +102,14 @@ for d in \
|
||||
esac
|
||||
done
|
||||
|
||||
n_open_files=$(ulimit -n)
|
||||
if [ "${n_open_files}" -lt 2048 ]; then
|
||||
# Newer ld seems to keep a lot of open file descriptors, hitting the default limit
|
||||
# (1024) for example during uClibc-ng link.
|
||||
CT_DoLog WARN "Number of open files ${n_open_files} may not be sufficient to build the toolchain; increasing to 2048"
|
||||
ulimit -n 2048
|
||||
fi
|
||||
|
||||
# Where will we work?
|
||||
CT_WORK_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}"
|
||||
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
|
||||
|
@ -283,13 +283,15 @@ CT_DoLog() {
|
||||
_prog_bar[3]='|'
|
||||
indent=$((2*CT_STEP_COUNT))
|
||||
while read line; do
|
||||
case "${CT_LOG_SEE_TOOLS_WARN},${line}" in
|
||||
y,*"warning:"*) cur_L=WARN; cur_l=${CT_LOG_LEVEL_WARN};;
|
||||
y,*"WARNING:"*) cur_L=WARN; cur_l=${CT_LOG_LEVEL_WARN};;
|
||||
*"error:"*) cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
|
||||
*"Error:"*) cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
|
||||
*"make["*"]: ***"*) cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
|
||||
*) cur_L="${LEVEL}"; cur_l="${level}";;
|
||||
case "${CT_LOG_SEE_TOOLS_WARN:-n},${line}" in
|
||||
y,*[[:space:]][Ww]arning:*|y,[Ww]arning:*|y,*[[:space:]]WARNING:*|y,WARNING:*)
|
||||
cur_L=WARN; cur_l=${CT_LOG_LEVEL_WARN};;
|
||||
*[[:space:]][Ee]rror:*|[yn],[Ee]rror:*)
|
||||
cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
|
||||
*"make["*"]: ***"*)
|
||||
cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
|
||||
*)
|
||||
cur_L="${LEVEL}"; cur_l="${level}";;
|
||||
esac
|
||||
# There will always be a log file (stdout, fd #1), be it /dev/null
|
||||
if [ -n "${CT_LOG_ENABLED}" ]; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user