mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-14 22:00:00 -04:00
Enforce usage -zrelax=transtls when GNU C Compiler is used on Solaris
When GNU C Compiler is used on Solaris (11), the Thread Local Storage
is completely broken. The behaviour doesn't manifest when GNU ld is
used. Thus, we need to enforce usage of GNU ld when GNU C Compiler is
the compiler of choice.
For more background for this change, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90912
(cherry picked from commit d584223653)
This commit is contained in:
parent
34bacac31e
commit
e87a180187
2 changed files with 28 additions and 0 deletions
17
configure
vendored
17
configure
vendored
|
|
@ -13126,6 +13126,23 @@ fi
|
|||
|
||||
|
||||
|
||||
#
|
||||
# Using Solaris linker with gcc on Solaris breaks Thread Local Storage
|
||||
#
|
||||
case $host in #(
|
||||
*-solaris*) :
|
||||
|
||||
if test "$GCC" = "yes"; then :
|
||||
LDFLAGS="$LDFLAGS -zrelax=transtls"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: When using GNU C Compiler on Solaris, -zrelax=transtls linker flag is used to fix bug in Thread Local Storage" >&5
|
||||
$as_echo "$as_me: WARNING: When using GNU C Compiler on Solaris, -zrelax=transtls linker flag is used to fix bug in Thread Local Storage" >&2;}
|
||||
|
||||
fi
|
||||
;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# CCNOOPT defaults to -O0 on gcc and disables optimization when is last
|
||||
#
|
||||
|
|
|
|||
11
configure.ac
11
configure.ac
|
|
@ -355,6 +355,17 @@ esac
|
|||
AC_PROG_CC
|
||||
AC_PROG_CC_C99
|
||||
|
||||
#
|
||||
# Using Solaris linker with gcc on Solaris breaks Thread Local Storage
|
||||
#
|
||||
AS_CASE([$host],
|
||||
[*-solaris*],[
|
||||
AS_IF([test "$GCC" = "yes"],
|
||||
[LDFLAGS="$LDFLAGS -zrelax=transtls"
|
||||
AC_MSG_WARN([When using GNU C Compiler on Solaris, -zrelax=transtls linker flag is used to fix bug in Thread Local Storage])
|
||||
])
|
||||
])
|
||||
|
||||
#
|
||||
# CCNOOPT defaults to -O0 on gcc and disables optimization when is last
|
||||
#
|
||||
|
|
|
|||
Loading…
Reference in a new issue