[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion 1.8.x on Solaris 10 x86

From: Ian Mordey <ian.mordey_at_wandisco.com>
Date: Wed, 02 Aug 2017 17:35:47 +0000

>
>
> 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.
Received on 2017-08-02 19:36:07 CEST

This is an archived mail posted to the Subversion Dev mailing list.