summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrpj <rpj>2005-04-26 02:41:11 +0000
committerrpj <rpj>2005-04-26 02:41:11 +0000
commit29d3e89b71281c626f151a1585a40d9d2448123b (patch)
treec74208412856a7ec52b4ba24650c697bd78b5ab9
parent20f8973d1ae941b0727f343c7f646b0eeb74087a (diff)
''
-rw-r--r--Bmakefile6
-rw-r--r--README.Borland9
-rw-r--r--implement.h2
-rw-r--r--ptw32_InterlockedCompareExchange.c5
-rw-r--r--tests/Bmakefile8
-rw-r--r--tests/README.BENCHTESTS (renamed from tests/README.benchtests)0
-rw-r--r--tests/eyal1.c2
7 files changed, 15 insertions, 17 deletions
diff --git a/Bmakefile b/Bmakefile
index 9ceb0dc..6752b67 100644
--- a/Bmakefile
+++ b/Bmakefile
@@ -211,8 +211,8 @@ TSD_SRCS = \
all: clean $(DLLS)
realclean: clean
- if exist *.dll del *.dll
- if exist *.lib del *.lib
+ if exist pthread*.dll del pthread*.dll
+ if exist pthread*.lib del pthread*.lib
if exist *.stamp del *.stamp
clean:
@@ -238,7 +238,7 @@ install: $(DLLS)
$(DLLS): $(DLL_OBJS) version.res
ilink32 /Tpd /Gi c0d32x.obj $(DLL_OBJS), \
$@, ,\
- cw32mt.lib import32.lib, ,\
+ cw32mti.lib import32.lib, ,\
version.res
.c.obj:
diff --git a/README.Borland b/README.Borland
index 1694d55..a130d2b 100644
--- a/README.Borland
+++ b/README.Borland
@@ -43,12 +43,9 @@ pthreadVC's errno from a Borland C++-compiled host application
correctly - I imagine there are other potential problems from the RTL
mismatch too.)
-[RPJ: There are still problems with errno under Borland and the DLL
-will not pass the testsuite yet because of it. Setting and then reading
-errno from within the same DLL, or the same application module is fine,
-but DLL and application modules do not seem to be looking at the same
-location for errno, even though they are logically running in the same
-thread.]
+[RPJ: Make sure you use the same RTL in both dll and application builds.
+The dll and tests Bmakefiles use cw32mti.lib. Having some trouble with
+memory read exceptions running the test suite using BCC55.]
Best regards,
Will
diff --git a/implement.h b/implement.h
index f92cc09..7504dd0 100644
--- a/implement.h
+++ b/implement.h
@@ -92,6 +92,8 @@ typedef VOID (APIENTRY *PAPCFUNC)(DWORD dwParam);
#if defined(__MINGW32__)
#include <stdint.h>
+#elif defined(__BORLANDC__)
+#define int64_t ULONGLONG
#else
#define int64_t _int64
#endif
diff --git a/ptw32_InterlockedCompareExchange.c b/ptw32_InterlockedCompareExchange.c
index 5ffc754..0094635 100644
--- a/ptw32_InterlockedCompareExchange.c
+++ b/ptw32_InterlockedCompareExchange.c
@@ -75,7 +75,6 @@ ptw32_InterlockedCompareExchange (PTW32_INTERLOCKED_LPLONG location,
#if defined(_MSC_VER) || defined(__WATCOMC__) || (defined(__BORLANDC__) && defined(HAVE_TASM32))
#define HAVE_INLINABLE_INTERLOCKED_CMPXCHG
-
{
_asm {
PUSH ecx
@@ -86,7 +85,7 @@ ptw32_InterlockedCompareExchange (PTW32_INTERLOCKED_LPLONG location,
LOCK CMPXCHG dword ptr [ecx],edx
MOV dword ptr [result], eax
POP edx
- POP ecx
+ POP ecx
}
}
else
@@ -100,7 +99,7 @@ ptw32_InterlockedCompareExchange (PTW32_INTERLOCKED_LPLONG location,
CMPXCHG dword ptr [ecx],edx
MOV dword ptr [result], eax
POP edx
- POP ecx
+ POP ecx
}
}
diff --git a/tests/Bmakefile b/tests/Bmakefile
index 6ab5a34..2e3d48b 100644
--- a/tests/Bmakefile
+++ b/tests/Bmakefile
@@ -46,7 +46,7 @@ CPHDR = pthread.h semaphore.h sched.h
OPTIM = -O2
-XXLIBS = ws2_32.lib
+XXLIBS = cw32mti.lib ws2_32.lib
# C++ Exceptions
BCEFLAGS = -P -DPtW32NoCatchWarn -D__CLEANUP_CXX
@@ -85,7 +85,7 @@ PASSES= loadfree.pass \
condvar1.pass condvar1_1.pass condvar1_2.pass condvar2.pass condvar2_1.pass \
exit1.pass create1.pass create2.pass reuse1.pass reuse2.pass equal1.pass \
kill1.pass valid1.pass valid2.pass \
- exit2.pass exit3.pass exit4 exit5 \
+ exit2.pass exit3.pass exit4.pass exit5.pass \
join0.pass join1.pass join2.pass join3.pass \
mutex4.pass mutex6.pass mutex6n.pass mutex6e.pass mutex6r.pass \
mutex6s.pass mutex6es.pass mutex6rs.pass \
@@ -104,13 +104,13 @@ PASSES= loadfree.pass \
rwlock2_t.pass rwlock3_t.pass rwlock4_t.pass rwlock5_t.pass rwlock6_t.pass rwlock6_t2.pass \
context1.pass \
cancel3.pass cancel4.pass cancel5.pass cancel6a.pass cancel6d.pass \
- cancel7 cancel8 \
+ cancel7.pass cancel8.pass \
cleanup0.pass cleanup1.pass cleanup2.pass cleanup3.pass \
priority1.pass priority2.pass inherit1.pass \
spin1.pass spin2.pass spin3.pass spin4.pass \
barrier1.pass barrier2.pass barrier3.pass barrier4.pass barrier5.pass \
exception1.pass exception2.pass exception3.pass \
- cancel9 create3
+ cancel9.pass create3.pass
BENCHRESULTS = \
benchtest1.bench benchtest2.bench benchtest3.bench benchtest4.bench benchtest5.bench
diff --git a/tests/README.benchtests b/tests/README.BENCHTESTS
index e02cb3e..e02cb3e 100644
--- a/tests/README.benchtests
+++ b/tests/README.BENCHTESTS
diff --git a/tests/eyal1.c b/tests/eyal1.c
index 31226b0..72b5697 100644
--- a/tests/eyal1.c
+++ b/tests/eyal1.c
@@ -294,7 +294,7 @@ main (int argc, char *argv[])
assert((tcs[i].stat =
pthread_create (&tcs[i].thread,
NULL,
- (void *(*)(void *))&print_server,
+ (void *(*)(void *))print_server,
(void *) &tcs[i])
) == 0);