comp.lang.ada
 help / color / mirror / Atom feed
From: Mario Roy <marioeroy@gmail.com>
Subject: Re: ANN: GCC 4.9.0 (2014) for Max OS X Mavericks
Date: Tue, 14 Oct 2014 14:31:29 -0700 (PDT)
Date: 2014-10-14T14:31:29-07:00	[thread overview]
Message-ID: <e19a4e2b-a9f2-4fc0-90c9-d9f088e6d788@googlegroups.com> (raw)
In-Reply-To: <lyfveqwqls.fsf@pushface.org>


I completed testing of various options around the segmentation issue with gnat. Below, gcc uses 2 shared objects while gnat uses 4.

$ otool -L gcc
gcc:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

$ otool -L gnat
gnat:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)


This requires make bootstrap. The --disable-bootstrap option means that gcc will look like gnat above.

Yet, an other solution, change ...
    --with-host-libstdcxx="-lstdc++"

To ...
    --with-stage1-ldflags="-lstdc++"


Here, an extract of the relevant section from the 'Makefile' after running configure.

# Linker flags to use on the host, for stage1 or when not
# bootstrapping.
STAGE1_LDFLAGS = -lstdc++

# Libraries to use on the host, for stage1 or when not bootstrapping.
STAGE1_LIBS =

# Linker flags to use for stage2 and later.
POSTSTAGE1_LDFLAGS = -static-libstdc++ -static-libgcc

# Libraries to use for stage2 and later.
POSTSTAGE1_LIBS =


I am not sure why one has to specify --with-host-libstdcxx="-lstdc++" or --with-stage1-ldflags="-lstdc++" for gnat and friends to not segfault. Please consider this as a work-around. It has taken me 2 weeks to reach this point (mainly from running 2 cores).

Notice how gnat and friends are still linked to libstdc++ and libgcc_s.1 after running make bootstrap-lean.

$ otool -L *
c++:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
cpp:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
g++:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gcc:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gcc-ar:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gcc-nm:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gcc-ranlib:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gcov:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gfortran:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gnat:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatbind:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gnatchop:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatclean:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatfind:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatkr:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatlink:
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatls:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatmake:
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatname:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatprep:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
gnatxref:
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/gcc-4.9.x/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.20.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/opt/gcc-4.9.x/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)


My testing (towards the end) has been against a snapshot from the 4.9 branch.

svn export -r 216107 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch gcc-4.9.x-20141010




  reply	other threads:[~2014-10-14 21:31 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-24 17:00 ANN: GCC 4.9.0 (2014) for Max OS X Mavericks Simon Wright
2014-05-31 19:35 ` Simon Wright
2014-05-31 22:29   ` Bill Findlay
2014-05-31 22:44     ` Pascal Obry
2014-05-31 23:31       ` Bill Findlay
2014-06-01  2:34         ` Dan'l Miller
2014-06-01  9:06     ` Simon Wright
2014-06-01 13:56       ` Bill Findlay
2014-10-11 22:42       ` marioeroy
2014-10-12  9:05         ` Simon Wright
2014-10-12 15:38           ` Mario Roy
2014-10-12 18:35             ` Simon Wright
2014-10-14 16:41               ` Simon Wright
2014-10-14 21:31                 ` Mario Roy [this message]
2014-10-14 22:21                 ` David Botton
2014-10-14 22:54                   ` Luke A. Guest
2014-10-14 23:27                     ` David Botton
2014-10-15  9:42                     ` Simon Wright
2014-10-15 13:05                       ` David Botton
2014-10-15 13:41                         ` Simon Wright
2014-10-15 14:28                           ` Björn Lundin
2014-10-15 13:43                         ` Björn Lundin
2014-10-15 14:02                           ` Simon Wright
2014-10-15 13:55                   ` ANN: " Simon Wright
2014-10-15 15:33                     ` David Botton
2014-10-17 15:29                       ` Simon Wright
2014-06-02 16:46   ` Stephen Leake
2014-06-02 18:02     ` Simon Wright
2014-06-04  0:15 ` Luke A. Guest
2014-06-06  7:48   ` Simon Wright
2014-06-06 14:37     ` Lucretia
2014-06-06 14:42       ` Simon Wright
2014-10-15  5:39 ` ANN: " Mario Roy
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox