From: Michael Hanke <mih@debian.org>
Subject: Change sysapi symbols to plain C

This is what they are used like and declared in the headers. Implementing them
as C++ leads to undefined symbolds in the library.
--- a/src/condor_sysapi/arch_t.cpp
+++ b/src/condor_sysapi/arch_t.cpp
@@ -25,6 +25,10 @@
 #include "stdio.h"
 #include "string.h"
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int arch_test(int trials)
 {
 	const char *foo = NULL, *foo2 = NULL;
--- a/src/condor_sysapi/clinpack_t.cpp
+++ b/src/condor_sysapi/clinpack_t.cpp
@@ -64,6 +64,10 @@
 	return 0;
 }
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int kflops_test(int test_blocksize,
 				double max_sd_variation_ratio, 
 				double ratio_failed_test_blocks_ok)
--- a/src/condor_sysapi/dhry_t.cpp
+++ b/src/condor_sysapi/dhry_t.cpp
@@ -65,6 +65,10 @@
 	return 0;
 }
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int mips_test(int test_blocksize,
 			  double max_sd_variation_ratio, 
 			  double ratio_failed_test_blocks_ok)
--- a/src/condor_sysapi/idle_time_t.cpp
+++ b/src/condor_sysapi/idle_time_t.cpp
@@ -25,6 +25,10 @@
 #include "stdio.h"
 #include "time.h"
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int idle_time_test(int trials, int interval, int tolerance, double warn_ok_ratio)
 {
 	int		i;
--- a/src/condor_sysapi/load_avg_t.cpp
+++ b/src/condor_sysapi/load_avg_t.cpp
@@ -26,6 +26,10 @@
 
 #define ITERATIONS_PER_SECOND 10000000
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int load_avg_test(int trials, int interval, int num_children, double warn_ok_ratio);
 
 int load_avg_test(int trials, int interval, int num_children, double warn_ok_ratio) {
--- a/src/condor_sysapi/ncpus_t.cpp
+++ b/src/condor_sysapi/ncpus_t.cpp
@@ -24,6 +24,10 @@
 #include "sysapi_externs.h"
 #include "stdio.h"
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int ncpus_test(int trials, double warn_ok_ratio)
 {
 	int foo,  bar;
--- a/src/condor_sysapi/phys_mem_t.cpp
+++ b/src/condor_sysapi/phys_mem_t.cpp
@@ -25,8 +25,16 @@
 #include "stdio.h"
 #include "string.h"
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int phys_memory_test(int trials, double warn_ok_ratio);
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int phys_memory_test(int trials, double warn_ok_ratio)
 {
 	int foo,  bar;
--- a/src/condor_sysapi/virt_mem_t.cpp
+++ b/src/condor_sysapi/virt_mem_t.cpp
@@ -25,9 +25,17 @@
 #include "stdio.h"
 #include "math.h"
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int virt_memory_test(int test_blocksize, double max_sd_varation_ratio,
 					 					double max_failed_test_ratio);
 
+/* test is a plain C symbols, because it is used as such in the rest of thei
+ * code
+ */
+extern "C"
 int virt_memory_test(int	test_blocksize,
 					 double max_sd_varation_ratio, 
 					 double max_failed_test_ratio)
