mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-20 17:12:55 +00:00
Avoid adding arch/cpu/tune flags for target to GCC build
... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
ec384f2b9f
commit
07ec87f14f
@ -171,13 +171,13 @@ cc_gcc_multilib_housekeeping() {
|
||||
fi
|
||||
done
|
||||
CT_DoLog DEBUG "Filtered target CFLAGS: '${new_cflags}'"
|
||||
CT_EnvModify CT_TARGET_CFLAGS "${new_cflags} ${CT_TARGET_CFLAGS}"
|
||||
CT_EnvModify CT_ALL_TARGET_CFLAGS "${new_cflags} ${CT_TARGET_CFLAGS}"
|
||||
CT_EnvModify CT_ARCH_TARGET_CFLAGS_MULTILIB ""
|
||||
|
||||
# Currently, the only LDFLAGS are endianness-related
|
||||
CT_DoLog DEBUG "Configured target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
|
||||
if [ "${ml_endian}" != "seen" ]; then
|
||||
CT_EnvModify CT_TARGET_LDFLAGS "${CT_ARCH_TARGET_LDFLAGS_MULTILIB} ${CT_TARGET_LDFLAGS}"
|
||||
CT_EnvModify CT_ALL_TARGET_LDFLAGS "${CT_ARCH_TARGET_LDFLAGS_MULTILIB} ${CT_TARGET_LDFLAGS}"
|
||||
CT_EnvModify CT_ARCH_TARGET_LDFLAGS_MULTILIB ""
|
||||
fi
|
||||
CT_DoLog DEBUG "Filtered target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
|
||||
@ -561,7 +561,11 @@ do_gcc_core_backend() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
|
||||
# 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
|
||||
# selection and passing architecture/CPU selectors, as detemined by crosstool-NG, may
|
||||
# miscompile or outright fail.
|
||||
CT_DoExecLog CFG \
|
||||
CC_FOR_BUILD="${CT_BUILD}-gcc" \
|
||||
CFLAGS="${cflags}" \
|
||||
@ -1110,6 +1114,8 @@ do_gcc_backend() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# NB: not using CT_ALL_TARGET_CFLAGS/CT_ALL_TARGET_LDFLAGS here!
|
||||
# See do_gcc_core_backend for explanation.
|
||||
CT_DoExecLog CFG \
|
||||
CC_FOR_BUILD="${CT_BUILD}-gcc" \
|
||||
CFLAGS="${cflags}" \
|
||||
|
@ -81,7 +81,7 @@ do_libelf_for_target() {
|
||||
libelf_opts+=( "destdir=${CT_SYSROOT_DIR}" )
|
||||
libelf_opts+=( "host=${CT_TARGET}" )
|
||||
|
||||
libelf_opts+=( "cflags=${CT_TARGET_CFLAGS}" )
|
||||
libelf_opts+=( "cflags=${CT_ALL_TARGET_CFLAGS}" )
|
||||
libelf_opts+=( "prefix=${prefix}" )
|
||||
libelf_opts+=( "shared=${CT_SHARED_LIBS}" )
|
||||
do_libelf_backend "${libelf_opts[@]}"
|
||||
|
@ -54,7 +54,7 @@ do_expat_for_target() {
|
||||
prefix="/usr"
|
||||
;;
|
||||
esac
|
||||
expat_opts+=( "cflags=${CT_TARGET_CFLAGS}" )
|
||||
expat_opts+=( "cflags=${CT_ALL_TARGET_CFLAGS}" )
|
||||
expat_opts+=( "prefix=${prefix}" )
|
||||
expat_opts+=( "destdir=${CT_SYSROOT_DIR}" )
|
||||
expat_opts+=( "shared=${CT_SHARED_LIBS}" )
|
||||
|
@ -97,7 +97,7 @@ do_ncurses_for_target() {
|
||||
prefix="${prefix}" \
|
||||
destdir="${CT_SYSROOT_DIR}" \
|
||||
shared="${CT_SHARED_LIBS}" \
|
||||
cflags="${CT_TARGET_CFLAGS}" \
|
||||
cflags="${CT_ALL_TARGET_CFLAGS}" \
|
||||
"${opts[@]}"
|
||||
CT_Popd
|
||||
CT_EndStep
|
||||
|
@ -19,8 +19,8 @@ do_debug_duma_build() {
|
||||
make_args=(
|
||||
prefix="${CT_DEBUGROOT_DIR}/usr"
|
||||
HOSTCC="${CT_BUILD}-gcc"
|
||||
CC="${CT_TARGET}-${CT_CC} ${CT_TARGET_CFLAGS}"
|
||||
CXX="${CT_TARGET}-g++ ${CT_TARGET_CFLAGS}"
|
||||
CC="${CT_TARGET}-${CT_CC} ${CT_ALL_TARGET_CFLAGS}"
|
||||
CXX="${CT_TARGET}-g++ ${CT_ALL_TARGET_CFLAGS}"
|
||||
RANLIB="${CT_TARGET}-ranlib"
|
||||
OS="${CT_KERNEL}"
|
||||
)
|
||||
|
@ -22,7 +22,7 @@ do_debug_gdb_build() {
|
||||
local CT_HOST_LD="${CT_HOST}-ld"
|
||||
|
||||
local CT_CXXFLAGS_FOR_HOST=${CT_CFLAGS_FOR_HOST}
|
||||
local CT_TARGET_CXXFLAGS=${CT_TARGET_CFLAGS}
|
||||
local CT_TARGET_CXXFLAGS=${CT_ALL_TARGET_CFLAGS}
|
||||
|
||||
gdb_src_dir="${CT_SRC_DIR}/gdb"
|
||||
|
||||
@ -34,7 +34,7 @@ do_debug_gdb_build() {
|
||||
if [ "${CT_GDB_CROSS}" = "y" ]; then
|
||||
local -a cross_extra_config
|
||||
local gcc_version p _p
|
||||
local cross_CPPFLAGS cross_CFLAGS cross_CXXFLAGS cross_LDFLAGS
|
||||
local cross_CFLAGS cross_CXXFLAGS cross_LDFLAGS
|
||||
|
||||
CT_DoStep INFO "Installing cross-gdb"
|
||||
CT_DoLog EXTRA "Configuring cross-gdb"
|
||||
@ -94,7 +94,6 @@ do_debug_gdb_build() {
|
||||
cross_extra_config+=("--disable-nls")
|
||||
fi
|
||||
|
||||
cross_CPPFLAGS="${CT_CPPFLAGS_FOR_HOST}"
|
||||
cross_CFLAGS="${CT_CFLAGS_FOR_HOST}"
|
||||
cross_CXXFLAGS="${CT_CXXFLAGS_FOR_HOST}"
|
||||
cross_LDFLAGS="${CT_LDFLAGS_FOR_HOST}"
|
||||
@ -122,7 +121,6 @@ do_debug_gdb_build() {
|
||||
# are multiple consecutive spaces: sub-configure scripts replace them with a
|
||||
# single space and then complain that $CC value changed from that in
|
||||
# the master directory.
|
||||
cross_CPPFLAGS=`echo ${cross_CPPFLAGS}`
|
||||
cross_CFLAGS=`echo ${cross_CFLAGS}`
|
||||
cross_CXXFLAGS=`echo ${cross_CXXFLAGS}`
|
||||
cross_LDFLAGS=`echo ${cross_LDFLAGS}`
|
||||
@ -139,7 +137,6 @@ do_debug_gdb_build() {
|
||||
CC="${CT_HOST_CC}" \
|
||||
CXX="${CT_HOST_CXX}" \
|
||||
LD="${CT_HOST_LD}" \
|
||||
CPPFLAGS="${cross_CPPFLAGS}" \
|
||||
CFLAGS="${cross_CFLAGS}" \
|
||||
CXXFLAGS="${cross_CXXFLAGS}" \
|
||||
LDFLAGS="${cross_LDFLAGS}" \
|
||||
@ -191,7 +188,7 @@ do_debug_gdb_build() {
|
||||
# TBD combine GDB native and gdbserver backends, build either or both in a single pass.
|
||||
if [ "${CT_GDB_NATIVE}" = "y" ]; then
|
||||
local -a native_extra_config
|
||||
local native_CPPFLAGS native_CFLAGS native_CXXFLAGS native_LDFLAGS
|
||||
local native_CFLAGS native_CXXFLAGS native_LDFLAGS
|
||||
|
||||
CT_DoStep INFO "Installing native gdb"
|
||||
CT_DoLog EXTRA "Configuring native gdb"
|
||||
@ -243,10 +240,9 @@ do_debug_gdb_build() {
|
||||
native_extra_config+=("--disable-nls")
|
||||
fi
|
||||
|
||||
native_CPPFLAGS="${CT_TARGET_CPPFLAGS}"
|
||||
native_CFLAGS="${CT_TARGET_CFLAGS}"
|
||||
native_CXXFLAGS="${CT_TARGET_CXXFLAGS}"
|
||||
native_LDFLAGS="${CT_TARGET_LDFLAGS}"
|
||||
native_CFLAGS="${CT_ALL_TARGET_CFLAGS}"
|
||||
native_CXXFLAGS="${CT_ALL_TARGET_CFLAGS}"
|
||||
native_LDFLAGS="${CT_ALL_TARGET_LDFLAGS}"
|
||||
|
||||
if [ "${CT_GDB_NATIVE_STATIC}" = "y" ]; then
|
||||
native_CFLAGS+=" -static"
|
||||
@ -261,7 +257,6 @@ do_debug_gdb_build() {
|
||||
native_extra_config+=("--disable-ld")
|
||||
native_extra_config+=("--disable-gas")
|
||||
|
||||
native_CPPFLAGS=`echo ${native_CPPFLAGS}`
|
||||
native_CFLAGS=`echo ${native_CFLAGS}`
|
||||
native_CXXFLAGS=`echo ${native_CXXFLAGS}`
|
||||
native_LDFLAGS=`echo ${native_LDFLAGS}`
|
||||
@ -273,7 +268,6 @@ do_debug_gdb_build() {
|
||||
CC="${CT_TARGET_CC}" \
|
||||
CXX="${CT_TARGET_CXX}" \
|
||||
LD="${CT_TARGET_LD}" \
|
||||
CPPFLAGS="${native_CPPFLAGS}" \
|
||||
CFLAGS="${native_CFLAGS}" \
|
||||
CXXFLAGS="${native_CXXFLAGS}" \
|
||||
LDFLAGS="${native_LDFLAGS}" \
|
||||
@ -310,7 +304,7 @@ do_debug_gdb_build() {
|
||||
|
||||
if [ "${CT_GDB_GDBSERVER}" = "y" ]; then
|
||||
local -a gdbserver_extra_config
|
||||
local gdbserver_CPPFLAGS gdbserver_CFLAGS gdbserver_CXXFLAGS gdbserver_LDFLAGS
|
||||
local gdbserver_CFLAGS gdbserver_CXXFLAGS gdbserver_LDFLAGS
|
||||
|
||||
CT_DoStep INFO "Installing gdbserver"
|
||||
CT_DoLog EXTRA "Configuring gdbserver"
|
||||
@ -343,10 +337,9 @@ do_debug_gdb_build() {
|
||||
gdbserver_extra_config+=("--disable-ld")
|
||||
gdbserver_extra_config+=("--disable-gas")
|
||||
|
||||
gdbserver_CPPFLAGS="${CT_TARGET_CPPFLAGS}"
|
||||
gdbserver_CFLAGS="${CT_TARGET_CFLAGS}"
|
||||
gdbserver_CXXFLAGS="${CT_TARGET_CXXFLAGS}"
|
||||
gdbserver_LDFLAGS="${CT_TARGET_LDFLAGS}"
|
||||
gdbserver_CFLAGS="${CT_ALL_TARGET_CFLAGS}"
|
||||
gdbserver_CXXFLAGS="${CT_ALL_TARGET_CFLAGS}"
|
||||
gdbserver_LDFLAGS="${CT_ALL_TARGET_LDFLAGS}"
|
||||
|
||||
if [ "${CT_GDB_GDBSERVER_STATIC}" = "y" ]; then
|
||||
gdbserver_CFLAGS+=" -static"
|
||||
@ -358,7 +351,6 @@ do_debug_gdb_build() {
|
||||
gdbserver_LDFLAGS+=" -static-libstdc++"
|
||||
fi
|
||||
|
||||
gdbserver_CPPFLAGS=`echo ${gdbserver_CPPFLAGS}`
|
||||
gdbserver_CFLAGS=`echo ${gdbserver_CFLAGS}`
|
||||
gdbserver_CXXFLAGS=`echo ${gdbserver_CXXFLAGS}`
|
||||
gdbserver_LDFLAGS=`echo ${gdbserver_LDFLAGS}`
|
||||
@ -370,7 +362,6 @@ do_debug_gdb_build() {
|
||||
CC="${CT_TARGET_CC}" \
|
||||
CXX="${CT_TARGET_CXX}" \
|
||||
LD="${CT_TARGET_LD}" \
|
||||
CPPFLAGS="${gdbserver_CPPFLAGS}" \
|
||||
CFLAGS="${gdbserver_CFLAGS}" \
|
||||
CXXFLAGS="${gdbserver_CXXFLAGS}" \
|
||||
LDFLAGS="${gdbserver_LDFLAGS}" \
|
||||
|
@ -34,7 +34,7 @@ do_debug_ltrace_build() {
|
||||
AR="${CT_TARGET}-ar" \
|
||||
HOST="${ltrace_host}" \
|
||||
HOST_OS="${CT_TARGET_KERNEL}" \
|
||||
CFLAGS="${CT_TARGET_CFLAGS}" \
|
||||
CFLAGS="${CT_ALL_TARGET_CFLAGS}"\
|
||||
${CONFIG_SHELL} \
|
||||
./configure --prefix=/usr
|
||||
else
|
||||
|
@ -12,7 +12,7 @@ do_debug_strace_extract()
|
||||
|
||||
do_debug_strace_build()
|
||||
{
|
||||
local cflags="${CT_TARGET_CFLAGS}"
|
||||
local cflags="${CT_ALL_TARGET_CFLAGS}"
|
||||
|
||||
CT_DoStep INFO "Installing strace"
|
||||
|
||||
@ -30,7 +30,7 @@ do_debug_strace_build()
|
||||
CT_DoExecLog CFG \
|
||||
CC="${CT_TARGET}-${CT_CC}" \
|
||||
CFLAGS="${cflags}" \
|
||||
LDFLAGS="${CT_TARGET_LDFLAGS}" \
|
||||
LDFLAGS="${CT_ALL_TARGET_LDFLAGS}" \
|
||||
CPP="${CT_TARGET}-cpp" \
|
||||
LD="${CT_TARGET}-ld" \
|
||||
${CONFIG_SHELL} \
|
||||
|
@ -26,7 +26,7 @@ do_libc() {
|
||||
fi
|
||||
CT_DoStep INFO "Installing C library binaries"
|
||||
CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}"
|
||||
CT_EnvModify CT_TARGET_CFLAGS "${CT_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
|
||||
CT_EnvModify CT_ALL_TARGET_CFLAGS "${CT_ALL_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
|
||||
}
|
||||
|
||||
do_libc_post_cc() {
|
||||
|
@ -197,7 +197,7 @@ do_libc_backend_once() {
|
||||
esac
|
||||
|
||||
# In the order of increasing precedence. Flags common to compiler and linker.
|
||||
glibc_cflags+=" ${CT_TARGET_CFLAGS}"
|
||||
glibc_cflags+=" ${CT_ALL_TARGET_CFLAGS}"
|
||||
glibc_cflags+=" ${CT_GLIBC_EXTRA_CFLAGS}"
|
||||
glibc_cflags+=" ${multi_flags}"
|
||||
|
||||
|
@ -94,7 +94,7 @@ ENABLE_TARGET_OPTSPACE:target-optspace
|
||||
[ "${CT_LIBC_NEWLIB_LTO}" = "y" ] && \
|
||||
CT_LIBC_NEWLIB_TARGET_CFLAGS="${CT_LIBC_NEWLIB_TARGET_CFLAGS} -flto"
|
||||
|
||||
cflags_for_target="${CT_TARGET_CFLAGS} ${CT_LIBC_NEWLIB_TARGET_CFLAGS}"
|
||||
cflags_for_target="${CT_ALL_TARGET_CFLAGS} ${CT_LIBC_NEWLIB_TARGET_CFLAGS}"
|
||||
|
||||
# Note: newlib handles the build/host/target a little bit differently
|
||||
# than one would expect:
|
||||
|
@ -166,8 +166,8 @@ CT_PREFIX_DIR="$( ${sed} -r -e 's:/+:/:g; s:/*$::;' <<<"${CT_PREFIX_DIR}" )"
|
||||
# Second kludge: merge user-supplied target CFLAGS with architecture-provided
|
||||
# target CFLAGS. Do the same for LDFLAGS in case it happens in the future.
|
||||
# Put user-supplied flags at the end, so that they take precedence.
|
||||
CT_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_TARGET_CFLAGS}"
|
||||
CT_TARGET_LDFLAGS="${CT_ARCH_TARGET_LDFLAGS} ${CT_TARGET_LDFLAGS}"
|
||||
CT_ALL_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_TARGET_CFLAGS}"
|
||||
CT_ALL_TARGET_LDFLAGS="${CT_ARCH_TARGET_LDFLAGS} ${CT_TARGET_LDFLAGS}"
|
||||
|
||||
# FIXME move to gcc.sh
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
|
||||
|
Loading…
x
Reference in New Issue
Block a user