Add possibly-bogus implementations for __libc_current_sigrtmin,
__libc_current_sigrtmax and __libc_allocate_rtsig.
MERGE TO STABLE
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1561 a5019735-40e9-0310-863c-91ae7b9d1cf9
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"); }