Compile:
#include <pthread.h>
// #include <iostream>
int main() {
pthread_mutexattr_t *attr;
pthread_mutexattr_init(attr);
return 0;
}
You get a link error.
Compile:
#include <pthread.h>
#include <iostream>
int main() {
pthread_mutexattr_t *attr;
pthread_mutexattr_init(attr);
return 0;
}
It compiles with no warnings (g++ -Wall testcase.cpp), but when executed,
segfaults. Compiling with -lpthread fixes it, of course, but should this be a
link-time error rather than a runtime error?
This bug was originally reported in Ubuntu's Malone bugtracker:
https://launchpad.net/distros/ubuntu/+source/gcc-4.0/+bug/26663
--
Summary: pthread program compiled without -lpthread crashes.
Product: gcc
Version: 4.0.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: adam dot buchbinder at gmail dot com
GCC build triplet: i486-linux-gnu
GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29350