This is the mail archive of the gcc-help@gcc.gnu.org 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: MIPS atomic builtins


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.


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