This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: missing symbols in built from the 4.9 branch

On 7/4/2014 12:08 AM, Hans-Peter Nilsson wrote:
Currently, c-cppbuiltin.c doesn't provide proper defines for this support.
> >We
> >currently define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, etc, in
> >pa-linux.h.
I thought that was cheating!  1/2:)

>  I'll experiment with defining ATOMIC_INT_LOCK_FREE there.
>It should already be defined,
Yes, if the proper insn patterns are in place, those macros are
automatically defined.  They aren't if library functions are
called, regardless of lock-freelessness of those functions.
That is the problem.  I added the __GCC_HAVE_SYNC_COMPARE_AND_SWAP
defines when I saw that the library implementation was being detected
by some packages.

Trying an even bigger cheat:

#define HAVE_sync_compare_and_swapqi 1
#define HAVE_sync_compare_and_swaphi 1
#define HAVE_sync_compare_and_swapsi 1

This seems to give __GCC_ATOMIC_INT_LOCK_FREE = 2, etc.

Have to see if this works with our library functions :-


John David Anglin

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]