diff --git a/coregrind/arch/x86-linux/vg_libpthread.c b/coregrind/arch/x86-linux/vg_libpthread.c
index 3db4db5..21646f3 100644
--- a/coregrind/arch/x86-linux/vg_libpthread.c
+++ b/coregrind/arch/x86-linux/vg_libpthread.c
@@ -2939,6 +2939,37 @@
    return VGR_(msgrcv)(msqid, msgp, msgsz, msgtyp, msgflg );
 }
 
+
+/* ---------------------------------------------------------------------
+   The glibc sources say that returning -1 in these 3 functions
+   causes real time signals not to be used.
+   ------------------------------------------------------------------ */
+
+int __libc_current_sigrtmin (void)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_current_sigrtmin");
+   return -1;
+}
+
+int __libc_current_sigrtmax (void)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_current_sigrtmax");
+   return -1;
+}
+
+int __libc_allocate_rtsig (int high)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_allocate_rtsig");
+   return -1;
+}
+
+
 /* ---------------------------------------------------------------------
    B'stard.
    ------------------------------------------------------------------ */
diff --git a/coregrind/arch/x86-linux/vg_libpthread_unimp.c b/coregrind/arch/x86-linux/vg_libpthread_unimp.c
index 5fb4d15..c502112 100644
--- a/coregrind/arch/x86-linux/vg_libpthread_unimp.c
+++ b/coregrind/arch/x86-linux/vg_libpthread_unimp.c
@@ -48,9 +48,9 @@
 //void __fcntl ( void )  { unimp("__fcntl"); }
 //void __fork ( void )  { unimp("__fork"); }
 //void __h_errno_location ( void )  { unimp("__h_errno_location"); }
-void __libc_allocate_rtsig ( void )  { unimp("__libc_allocate_rtsig"); }
-void __libc_current_sigrtmax ( void )  { unimp("__libc_current_sigrtmax"); }
-void __libc_current_sigrtmin ( void )  { unimp("__libc_current_sigrtmin"); }
+//void __libc_allocate_rtsig ( void )  { unimp("__libc_allocate_rtsig"); }
+//void __libc_current_sigrtmax ( void )  { unimp("__libc_current_sigrtmax"); }
+//void __libc_current_sigrtmin ( void )  { unimp("__libc_current_sigrtmin"); }
 //void __lseek ( void )  { unimp("__lseek"); }
 //void __open ( void )  { unimp("__open"); }
 //void __open64 ( void )  { unimp("__open64"); }
diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c
index 3db4db5..21646f3 100644
--- a/coregrind/vg_libpthread.c
+++ b/coregrind/vg_libpthread.c
@@ -2939,6 +2939,37 @@
    return VGR_(msgrcv)(msqid, msgp, msgsz, msgtyp, msgflg );
 }
 
+
+/* ---------------------------------------------------------------------
+   The glibc sources say that returning -1 in these 3 functions
+   causes real time signals not to be used.
+   ------------------------------------------------------------------ */
+
+int __libc_current_sigrtmin (void)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_current_sigrtmin");
+   return -1;
+}
+
+int __libc_current_sigrtmax (void)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_current_sigrtmax");
+   return -1;
+}
+
+int __libc_allocate_rtsig (int high)
+{
+   static int moans = N_MOANS;
+   if (moans-- > 0) 
+      kludged("__libc_allocate_rtsig");
+   return -1;
+}
+
+
 /* ---------------------------------------------------------------------
    B'stard.
    ------------------------------------------------------------------ */
diff --git a/coregrind/vg_libpthread_unimp.c b/coregrind/vg_libpthread_unimp.c
index 5fb4d15..c502112 100644
--- a/coregrind/vg_libpthread_unimp.c
+++ b/coregrind/vg_libpthread_unimp.c
@@ -48,9 +48,9 @@
 //void __fcntl ( void )  { unimp("__fcntl"); }
 //void __fork ( void )  { unimp("__fork"); }
 //void __h_errno_location ( void )  { unimp("__h_errno_location"); }
-void __libc_allocate_rtsig ( void )  { unimp("__libc_allocate_rtsig"); }
-void __libc_current_sigrtmax ( void )  { unimp("__libc_current_sigrtmax"); }
-void __libc_current_sigrtmin ( void )  { unimp("__libc_current_sigrtmin"); }
+//void __libc_allocate_rtsig ( void )  { unimp("__libc_allocate_rtsig"); }
+//void __libc_current_sigrtmax ( void )  { unimp("__libc_current_sigrtmax"); }
+//void __libc_current_sigrtmin ( void )  { unimp("__libc_current_sigrtmin"); }
 //void __lseek ( void )  { unimp("__lseek"); }
 //void __open ( void )  { unimp("__open"); }
 //void __open64 ( void )  { unimp("__open64"); }
