Global destructor order problems (was: Re: Are ports supposed to build and run on 10-CURRENT?)

Michael Gmelin freebsd at grem.de
Wed Jun 26 23:56:09 UTC 2013


On Thu, 27 Jun 2013 00:28:33 +0300
Konstantin Belousov <kostikbel at gmail.com> wrote:

> On Wed, Jun 26, 2013 at 11:17:41PM +0200, Michael Gmelin wrote:
> > Are you both on the same architecture?
> 
> I tested both on amd64 and i386. For i386, it was -m32 for clang, and
> native 32bit gcc 4.8.1, stock build from the tarball.
> 

For completeness sake I tested once more using various compilers
including gcc 4.8.1 on 10-CURRENT amd64 (see below).

I provided all information I can at this point, if there is anything
else I could do to help (objdumps, etc.) please let me know.

- Michael

uname -a
FreeBSD srv 10.0-CURRENT FreeBSD 10.0-CURRENT #1 r251129: Thu May 30
14:34:35 UTC 2013     root at srv:/usr/obj/usr/src/sys/GENERIC  amd64


[root at srv ~/majortom]# CXX=g++ make clean run      
gcc version 4.2.1 20070831 patched [FreeBSD]
g++ -pthread -c -fPIC out.cpp -I. -I/usr/local/include -o out.o
g++ -pthread -shared -fPIC out.o -o libout.so
g++ -pthread -c -fPIC main.cpp -I. -I/usr/local/include -o main.o
g++ -pthread -L. -lout main.o -o example
        Ground             | Outer::Outer
          Control          | Inner::Inner
            to             |    main()
              Major        | Inner::~Inner
                Tom        | Outer::~Outer

[root at srv ~/majortom]# CXX=g++48 make clean run
gcc version 4.8.1 20130418 (prerelease) (FreeBSD Ports Collection) 
g++48 -pthread -c -fPIC out.cpp -I. -I/usr/local/include -o out.o
g++48 -pthread -shared -fPIC out.o -o libout.so
g++48 -pthread -c -fPIC main.cpp -I. -I/usr/local/include -o main.o
g++48 -pthread -L. -lout main.o -o example
        Ground             | Outer::Outer
          Control          | Inner::Inner
            to             |    main()
                Tom        | Outer::~Outer
              Major        | Inner::~Inner


[root at srv ~/majortom]# CXX=clang++ make clean run
FreeBSD clang version 3.3 (trunk 178860) 20130405
Target: x86_64-unknown-freebsd10.0
Thread model: posix
clang++ -pthread -c -fPIC out.cpp -I. -I/usr/local/include -o out.o
clang++ -pthread -shared -fPIC out.o -o libout.so
clang++ -pthread -c -fPIC main.cpp -I. -I/usr/local/include -o main.o
clang++ -pthread -L. -lout main.o -o example
        Ground             | Outer::Outer
          Control          | Inner::Inner
            to             |    main()
                Tom        | Outer::~Outer
              Major        | Inner::~Inner


[root at srv ~/majortom]# CXX=clang++33 make clean run
clang version 3.3 (tags/RELEASE_33/final)
Target: amd64-portbld-freebsd10.0
Thread model: posix
clang++33 -pthread -c -fPIC out.cpp -I. -I/usr/local/include -o out.o
clang++33 -pthread -shared -fPIC out.o -o libout.so
clang++33 -pthread -c -fPIC main.cpp -I. -I/usr/local/include -o main.o
clang++33 -pthread -L. -lout main.o -o example
        Ground             | Outer::Outer
          Control          | Inner::Inner
            to             |    main()
                Tom        | Outer::~Outer
              Major        | Inner::~Inner

pkg info clang
clang-3.3                      C, Objective-C, and C++ compiler
pkg info gcc
gcc-4.8.1.20130418             GNU Compiler Collection 4.8
pkg info binutils
binutils-2.23.1                GNU binary tools


-- 
Michael Gmelin


More information about the freebsd-ports mailing list