qt5base-lts/config.tests/unix/bsymbolic_functions.test
Giuseppe D'Angelo 225a5b4787 Do not use -Bsymbolic* on anything but x86 and x86-64
We're getting problems with PMF comparisons failing on ARM and PPC,
which in turn break the new PMF-based connect syntax.
Dropping -Bsymbolic* seems to work around the issue (which has
been reported upstream, and it's likely to be a linker issue,
see the discussion in the bug report).

Task-number: QTBUG-36129
Change-Id: I8675a57acf26fdb9fbbc4d03896d5f6a9a96d506
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-25 00:00:23 +01:00

32 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
BSYMBOLIC_FUNCTIONS_SUPPORT=no
COMPILER=$1
VERBOSE=$2
cat >>bsymbolic_functions.c << EOF
#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64))
#error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
#endif
int main() { return 0; }
EOF
if [ "$VERBOSE" = "yes" ] ; then
echo $COMPILER $SYSROOT_FLAG -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
$COMPILER $SYSROOT_FLAG -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
else
$COMPILER $SYSROOT_FLAG -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
fi
rm -f bsymbolic_functions.c libtest.so
# done
if [ "$BSYMBOLIC_FUNCTIONS_SUPPORT" != "yes" ]; then
[ "$VERBOSE" = "yes" ] && echo "Symbolic function binding disabled."
exit 0
else
[ "$VERBOSE" = "yes" ] && echo "Symbolic function binding enabled."
exit 1
fi