This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug driver/81358] New: libatomic not automatically linked with C11 code
- From: "fxcoudert at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 08 Jul 2017 11:01:44 +0000
- Subject: [Bug driver/81358] New: libatomic not automatically linked with C11 code
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
Bug ID: 81358
Summary: libatomic not automatically linked with C11 code
Product: gcc
Version: 7.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: driver
Assignee: unassigned at gcc dot gnu.org
Reporter: fxcoudert at gcc dot gnu.org
Target Milestone: ---
This is on macOS 10.12 (Darwin 16.6.0). Compiling C11 code with -std=c11 fails
to link, unless one specifies -latomic
$ cat a.c
#include <stdio.h>
#include <complex.h>
#include <stdatomic.h>
int main(void)
{
_Atomic long double _Complex x = 0.0 + 0.0*I;
for (int i=0; i<1000; i++) {
x += 1.0;
}
printf("(%Lf,%Lf)\n",creall(x), cimagl(x));
printf("%zu\n",sizeof(x));
return 0;
}
$ gcc-7 -std=c11 a.c -latomic
$ gcc-7 -std=c11 a.c
Undefined symbols for architecture x86_64:
"___atomic_feraiseexcept", referenced from:
_main in cceeEpua.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
------
>From Homebrew report at https://github.com/Homebrew/homebrew-core/issues/14633
$ gcc-7 -v
Using built-in specs.
COLLECT_GCC=gcc-7
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/7.1.0/libexec/gcc/x86_64-apple-darwin16.6.0/7.1.0/lto-wrapper
Target: x86_64-apple-darwin16.6.0
Configured with: ../configure --build=x86_64-apple-darwin16.6.0
--prefix=/usr/local/Cellar/gcc/7.1.0
--libdir=/usr/local/Cellar/gcc/7.1.0/lib/gcc/7
--enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-7
--with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr
--with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl
--with-system-zlib --enable-checking=release --with-pkgversion='Homebrew GCC
7.1.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues
--disable-nls --with-native-system-header-dir=/usr/include
--with-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
Thread model: posix
gcc version 7.1.0 (Homebrew GCC 7.1.0)