PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2869

*** shadow/2869 Fri Jul 27 14:16:50 2001
--- shadow/2869.tmp.3260        Fri Jul 27 14:16:50 2001
***************
*** 0 ****
--- 1,60 ----
+ +============================================================================+
+ | AIX 4.3.3 64-bit mutex/atomic-operation changes for build                  |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 2869                        Product: Xerces-C++              |
+ |       Status: NEW                         Version: 1.5.1                   |
+ |   Resolution:                            Platform: Other                   |
+ |     Severity: Normal                   OS/Version: AIX                     |
+ |     Priority: Other                     Component: Build                   |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: [EMAIL PROTECTED]                                  |
+ |  Reported By: [EMAIL PROTECTED]                                           |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ Xerces C++ version: 1.5.1
+ Building on AIX 4.3.3 with VisualAge C++ Pro, Version 5.0
+ 
+ I had to make the following minor changes to 
+ $XERCESCROOT/src/util/Platforms/AIX/AIXformUtils.cpp
+ for successful 64-bit compilation.  32-bit compilation
+ works as well with the changes.
+ 
+ 512c512
+ <     pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
+ ---
+ >     pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
+ 521c521
+ <     pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
+ ---
+ >     pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
+ 572c572
+ <     boolean_t boolVar = compare_and_swap((atomic_p)toFill, (int *)&toCompare,
+ (int)newValue );
+ ---
+ >     boolean_t boolVar = compare_and_swaplp((atomic_l)toFill, (long
+ *)&toCompare, (long)newValue );
+ 
+ 
+ I observe the following 32-bit vs 64-bit availability of the mutexattr routines
+ in the pthreads library:
+ 
+ % nm -X32 -g /usr/lib/libpthreads.a | grep 'mutexattr_[gs]ettype'
+ .pthread_mutexattr_gettype T       8548
+ .pthread_mutexattr_settype T       8436
+ pthread_mutexattr_gettype D      10876      12
+ pthread_mutexattr_settype D      10864      12
+ % nm -X64 -g /usr/lib/libpthreads.a | grep 'mutexattr_[gs]ettype'
+ .pthread_mutexattr_gettype T       8616
+ .pthread_mutexattr_settype T       8488
+ pthread_mutexattr_gettype D      11920      24
+ pthread_mutexattr_settype D      11896      24
+ % nm -X32 -g /usr/lib/libpthreads.a | grep 'mutexattr_[gs]etkind'
+ .pthread_mutexattr_getkind_np T       5944
+ .pthread_mutexattr_setkind_np T       5824
+ pthread_mutexattr_getkind_np D      10564      12
+ pthread_mutexattr_setkind_np D      10552      12
+ % nm -X64 -g /usr/lib/libpthreads.a | grep 'mutexattr_[gs]etkind'
+ %

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to