MIPS atomic builtins
James Molloy
jamesmol@transitive.com
Tue May 6 11:59:00 GMT 2008
James Molloy wrote:
> Hi,
>
> I'm compiling for the mips64el-elf target and would like to use gcc's
> atomic builtin functions as provided by this patch:
>
> http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00839.html
>
> I'm using GCC 4.3.0, and a quick grep of the source tree tells me that
> the above patch has been applied already (it was not, on GCC 4.2.3).
>
> I'm configuring with the option --with-llsc=yes, and the configure and
> compile completes successfully, however when I attempt to compile
> sources which use the builtin __sync_bool_compare_and_swap or
> __sync_add_and_fetch I still get an unresolved external link error;
>
> > CMakeFiles/kernel.dir/core/process/Semaphore.cc.o: In function
> `Atomic<int>::compareAndSwap(int, int)':
> >
> (.text._ZN6AtomicIiE14compareAndSwapEii[Atomic<int>::compareAndSwap(int,
> int)]+0x30): undefined reference to `__sync_bool_compare_and_swap_4'
>
> When I try to compile with the -mllsc option, as suggested by the
> patch description, cc1plus quits with an invalid command line option
> error.
>
> I'd appreciate it if someone could give me a hint as to how to get gcc
> to use its builtins for my MIPS target - it should be noted however
> that I am compiling with -mips32; that is I am compiling 32-bit mips
> code (which is intended to be run on a 64-bit processor - an r4000
> compatible).
>
> Thanks,
>
> James Molloy
>
Please ignore this. I was using a build script that created a symlink to
GCC - the wrong version. It was still using the old GCC version (4.2.2).
Apologies.
More information about the Gcc-help
mailing list