> > > Lets look at the symbols in APR object files: > > atomic/unix/builtin.o > atomic/unix/mutex.o > atomic/unix/solaris.o > > You can run nm on those files to see which symbols they provide and > which are undefined. Only one of the files should have symbols, the > other two are effectively empty. > http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nm.html > > For the original build the file builtin.o is the one that should have > symbols. You should see various svn_atomic defined (T) and various > __sync undefined (U). nm should report no symbols for the other two > files. > > For the --disable-nonportable-atomics build the apr_atomic symbols > should move to the mutex.o file, but there should no longer be any > reference to __sync symbols. builtin.o should have no symbols. > > Finally for the build with USE_ATOMICS_GENERIC and HAVE_ATOMIC_BUILTINS > unset the apr_atomic symbols should move to solaris.o and there should > be no reference to __sync symbols. builtin.o should have no symbols. > > Can you confirm that is what happens? >
So with USE_ATOMICS_GENERIC I have this: solaris.o: [Index] Value Size Type Bind Other Shndx Name mutex.o: [Index] Value Size Type Bind Other Shndx Name [33] | 0| 0|FUNC |GLOB |0 |UNDEF |abort [37] | 512| 107|FUNC |GLOB |0 |2 |apr_atomic_add32 [41] | 928| 110|FUNC |GLOB |0 |2 |apr_atomic_cas32 [43] | 1152| 96|FUNC |GLOB |0 |2 |apr_atomic_casptr [40] | 800| 107|FUNC |GLOB |0 |2 |apr_atomic_dec32 [39] | 736| 35|FUNC |GLOB |0 |2 |apr_atomic_inc32 [27] | 64| 176|FUNC |GLOB |0 |2 |apr_atomic_init [34] | 384| 35|FUNC |GLOB |0 |2 |apr_atomic_read32 [35] | 448| 63|FUNC |GLOB |0 |2 |apr_atomic_set32 [38] | 640| 74|FUNC |GLOB |0 |2 |apr_atomic_sub32 [42] | 1056| 96|FUNC |GLOB |0 |2 |apr_atomic_xchg32 [44] | 1248| 88|FUNC |GLOB |0 |2 |apr_atomic_xchgptr [28] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_palloc [29] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_pool_cleanup_null [30] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_pool_cleanup_register [31] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_thread_mutex_create [32] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_thread_mutex_lock [36] | 0| 0|FUNC |GLOB |0 |UNDEF |apr_thread_mutex_unlock builtins.o: [Index] Value Size Type Bind Other Shndx Name -bash-3.2# for i in solaris.o mutex.o builtins.o ; do nm -u $i; done Undefined symbols from solaris.o: Undefined symbols from mutex.o: abort apr_palloc apr_pool_cleanup_null apr_pool_cleanup_register apr_thread_mutex_create apr_thread_mutex_lock apr_thread_mutex_unlock Undefined symbols from builtins.o: With the default build I have this: Undefined symbols from solaris.o: Undefined symbols from mutex.o: Undefined symbols from builtins.o: bash-3.2# for i in solaris.o mutex.o builtins.o ; do nm -g $i; done solaris.o: [Index] Value Size Type Bind Other Shndx Name mutex.o: [Index] Value Size Type Bind Other Shndx Name builtins.o: [Index] Value Size Type Bind Other Shndx Name [27] | 128| 30|FUNC |GLOB |0 |2 |apr_atomic_add32 [31] | 288| 100|FUNC |GLOB |0 |2 |apr_atomic_cas32 [33] | 480| 88|FUNC |GLOB |0 |2 |apr_atomic_casptr [30] | 224| 35|FUNC |GLOB |0 |2 |apr_atomic_dec32 [29] | 192| 32|FUNC |GLOB |0 |2 |apr_atomic_inc32 [24] | 0| 25|FUNC |GLOB |0 |2 |apr_atomic_init [25] | 32| 35|FUNC |GLOB |0 |2 |apr_atomic_read32 [26] | 96| 13|FUNC |GLOB |0 |2 |apr_atomic_set32 [28] | 160| 17|FUNC |GLOB |0 |2 |apr_atomic_sub32 [32] | 416| 55|FUNC |GLOB |0 |2 |apr_atomic_xchg32 [34] | 576| 55|FUNC |GLOB |0 |2 |apr_atomic_xchgptr So I don't see any __sync symbols anywhere.. Does this mean they're in another dependency somewhere? Cheers Ian -- *IAN MORDEY* HEAD OF INFRASTRUCTURE *wandisco.com* <http://www.wandisco.com/> -- World Leader in Active Data Replication™ *Find out more wandisco.com <http://wandisco.com/>* THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY AND MAY BE PRIVILEGED If this message was misdirected, WANdisco, Inc. and its subsidiaries, ("WANdisco") does not waive any confidentiality or privilege. If you are not the intended recipient, please notify us immediately and destroy the message without disclosing its contents to anyone. Any distribution, use or copying of this email or the information it contains by other than an intended recipient is unauthorized. The views and opinions expressed in this email message are the author's own and may not reflect the views and opinions of WANdisco, unless the author is authorized by WANdisco to express such views or opinions on its behalf. All email sent to or from this address is subject to electronic storage and review by WANdisco. Although WANdisco operates anti-virus programs, it does not accept responsibility for any damage whatsoever caused by viruses being passed.