>
>
> 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.

Reply via email to