diff -Nur gcc-4.8.3.orig/gcc/config/m68k/uclinux.h gcc-4.8.3/gcc/config/m68k/uclinux.h
--- gcc-4.8.3.orig/gcc/config/m68k/uclinux.h	2013-01-10 21:38:27.000000000 +0100
+++ gcc-4.8.3/gcc/config/m68k/uclinux.h	2014-08-25 17:03:59.543127685 +0200
@@ -20,6 +20,10 @@
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+/* Do not use TM clone registry.  It breaks -msep-data (-fPIC) code. */
+/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54584 */
+#define USE_TM_CLONE_REGISTRY 0
+
 #undef STARTFILE_SPEC
 #define STARTFILE_SPEC \
 "%{mshared-library-id=0|!mshared-library-id=*: crt1.o%s ;: Scrt1.o%s} \
