[Gc] Missed AO_compare_and_swap_full on Solaris 10 SPARC building

Claudio A. Costagliola Fiedler claudio.costagliola at gmail.com
Thu Sep 15 08:04:26 PDT 2011


Ivan,

Thanks for your answer.

In atomic_ops.h, at this point:
#if defined(AO_REQUIRE_CAS) && !defined(AO_HAVE_compare_and_swap) \
    && !defined(AO_HAVE_compare_and_swap_full) \
    && !defined(AO_HAVE_compare_and_swap_acquire)
# if defined(AO_CAN_EMUL_CAS)
#   include "atomic_ops/sysdeps/emul_cas.h"
# else
#  error Cannot implement AO_compare_and_swap_full on this architecture.
# endif
#endif /* AO_REQUIRE_CAS && !AO_HAVE_compare_and_swap ... */

None of these macros are defined: AO_REQUIRE_CAS, AO_HAVE_compare_and_swap,
AO_HAVE_compare_and_swap_full, AO_HAVE_compare_and_swap_acquire. So the
whole outter #if is not compiled.

The file atomic_ops.c is compiled and it does have
AO_compare_and_swap_emulation:
bash-3.00$ pwd
<path>/gc-7.2alpha6/libatomic_ops
bash-3.00$ find . -name "atomic_ops.o" -print
./src/atomic_ops.o
bash-3.00$ nm src/atomic_ops.o | grep AO_compare_and_swap_emulation
[51]    |      1660|     200|FUNC |GLOB |0    |2
|AO_compare_and_swap_emulation

Regards,
Claudio

On Thu, Sep 15, 2011 at 2:19 AM, Ivan Maidanski <ivmai at mail.ru> wrote:

> Hi Claudio,
>
> Seems that the scripts need some fixing:
>
> 1. Check that emul_cas.h is included from atomic_ops.h (it should redirect
> AO_compare_and_swap_full to AO_compare_and_swap_emulation.
> 2. Check that atomic_ops.c (which has AO_compare_and_swap_emulation) is
> compiled.
>
> Regards.
>
> 15 09 2011, 02:30 Claudio Costagliola <claudio.costagliola at gmail.com>:
> > I'm trying to build libatomic_ops version 7.2alpha6 on a Solaris 10
> SPARC. The
> > configuration and building process seems successful, but the generated
> > libraries don't have the symbol AO_compare_and_swap_full. I need it to
> build
> > Erlang R14B03, which complains about de missing symbol.
> >
> > The command line I'm using to configure is:
> > CC=cc CXX=CC ./configure --prefix=<path>
> >
> > The missed symbols:
> > bash-3.00$ nm libatomic_ops_gpl.a | grep AO_compare_and_swap_full
> > bash-3.00$ nm libatomic_ops.a | grep AO_compare_and_swap_full
> > bash-3.00$
> >
> > Any help would be appreciated
> >
> > Regards,
> > Claudio
> >
> > _______________________________________________
> > Gc mailing list
> > Gc at linux.hpl.hp.com
> > http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> >




-- 
Claudio A. Costagliola Fiedler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://napali.hpl.hp.com/pipermail/gc/attachments/20110915/ef3dc7b5/attachment-0001.htm


More information about the Gc mailing list