Date: Wed, 10 Mar 1999 18:54:28 +0000 From: Niall Smart <nsmart@kira.team400.ie> To: Graham Wheeler <gram@cdsec.com> Cc: hackers@freebsd.org Subject: Re: C++ global constructors and shared libraries Message-ID: <36E6BFE4.951172E3@kira.team400.ie> References: <36E6AB40.742D64BB@cdsec.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Graham Wheeler wrote:
>
> Hi folks
>
> I have just changed some C++ code libraries from static to shared.
> I now find that some global objects declared in these libraries
> are no longer having their constructors called. If I move the object
niall% g++ -v
cc -v
gcc version 2.7.2.1
niall% g++ -c -fpic libfoo.cc
niall% g++ -shared libfoo.o -o libfoo.so
niall% g++ main.cc -Wl,-R,. -L. -lfoo
niall% ./a.out
foo
niall% cat libfoo.cc
#include <stdio.h>
struct foo
{
foo()
{
printf("%s\n", "foo");
}
};
foo f;
niall% cat main.cc
int
main()
{
}
niall% uname -a
FreeBSD niall.boi.ie 3.1-STABLE FreeBSD 3.1-STABLE #1: Sat Feb 27
15:18:27 GMT 1999 niall@niall.boi.ie:/usr/src/sys/compile/NIALL
i386
Regards,
Niall
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36E6BFE4.951172E3>
