Viet
Viet

Reputation: 18414

Where to find __sync_add_and_fetch_8?

I got errors when trying to use __sync_add_and_fetch:

test8.cpp:(.text+0x90e): undefined reference to `__sync_add_and_fetch_8'
collect2: ld returned 1 exit status

Please kindly advise how to rectify this.

Specs: GCC/G++: 4.4.1 GNU/Linux 2.6.32 SMP i686

Many thanks!

EDIT:

In addition to the answer provided, one can use -march=i586 or -march=i686 to link successfully.

Note: This requires GCC/G++ 4.1.x and above!

Upvotes: 4

Views: 3270

Answers (1)

Andreas Bonini
Andreas Bonini

Reputation: 44832

That function is not supported on all x86 architectures. Try specifying your architecture, such as --with-arch=pentium4.

Upvotes: 5

Related Questions