diff options
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index edef1ff391e..80aed452d93 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -363,7 +363,7 @@ case $machine in *-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";; *) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;; esac - tmake_file=t-freebsd + tmake_file="t-slibgcc-elf-ver t-freebsd" xmake_file=none xm_defines=POSIX case x${enable_threads} in @@ -371,6 +371,12 @@ case $machine in x | xyes | xpthreads | xposix) thread_file='posix' tmake_file="${tmake_file} t-freebsd-thread" + # Before 5.0, FreeBSD can't bind shared libraries to -lc + # when "optionally" threaded via weak pthread_* checks. + case $machine in + *-*-freebsd[34] | *-*-freebsd[34].*) + tmake_file="${tmake_file} t-slibgcc-nolc-override";; + esac ;; *) echo 'Unknown thread configuration for FreeBSD'; exit 1;; esac |