Bad patterns caused configure to always disable TLS for big-endian sh targets and for anything other than sh 3/4.
Rich
--- gcc-5.2.0.base/gcc/configure.ac 2015-08-11 16:23:36.000000000 +0000 +++ gcc-5.2.0/gcc/configure.ac 2015-09-13 08:17:31.714972082 +0000 @@ -3300,7 +3300,7 @@ tls_first_minor=14 tls_as_opt="-m64 -Aesame --fatal-warnings" ;; - sh-*-* | sh[34]-*-*) + sh-*-* | sh[123456789lbe]*-*-*) conftest_s=' .section ".tdata","awT",@progbits foo: .long 25 --- gcc-5.2.0.base/gcc/configure 2015-08-11 16:23:35.000000000 +0000 +++ gcc-5.2.0/gcc/configure 2015-09-13 08:17:42.608304751 +0000 @@ -23754,7 +23754,7 @@ tls_first_minor=14 tls_as_opt="-m64 -Aesame --fatal-warnings" ;; - sh-*-* | sh[34]-*-*) + sh-*-* | sh[123456789lbe]*-*-*) conftest_s=' .section ".tdata","awT",@progbits foo: .long 25