[MacPorts] #54773: port:libgcc/port:gcc7: proposed modifications, efficiency + libc++ support

MacPorts noreply at macports.org
Mon Sep 11 21:10:53 UTC 2017


#54773: port:libgcc/port:gcc7: proposed modifications, efficiency + libc++ support
--------------------------+----------------------
  Reporter:  RJVB         |      Owner:
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:  haspatch
      Port:  gcc7 libgcc  |
--------------------------+----------------------

Comment (by jeremyhu):

 Replying to [comment:22 RJVB]:
 > I would hope that gccX+with_libgcc and gccY+with_libgcc don't conflict
 (except currently for gcc7 and gcc8) because only one of them installs
 things into lib/libgcc

 I'm confused.  Why would only one of them install the gcc runtime
 libraries into lib/libgcc?  Where would the other install the runtime?
 That doesn't really make sense to me.  Both should be conflicting as they
 should both be providing the gcc runtime in lib/libgcc.

 > I noticed another thing: back in 2013 you re-enabled the no-bootstrap
 build for libgcc, which was undone in 2015 when Ryan committed a new
 version. Was that a casualty or was there a solid reason for this? I'm
 currently trying a "full" libgcc build with `--disable-bootstrap`, from
 what I understand this should work on at least 10.8 and up.

 {{{
     # TODO: Possibly disable bootstrap with appropriate configure flags.
     #       the problem is that libstdc++'s configure script tests for tls
 support
     #       using the running compiler (not gcc for which libstdc++ is
 being built).
     #       Thus when we build with clang, we get a mismatch
     # http://trac.macports.org/ticket/36116
     #compiler.blacklist-append {clang < 425}
     #configure.args-append --disable-bootstrap
     #build.target        all
 }}}

 It should work with a deployment target of 10.7 and up as the system
 provided TLS natively in Lion.  You can see this with:

 {{{
 $ echo '__thread int a;' | clang -x c -o /dev/null -c - -mmacosx-version-
 min=10.7

  $ echo '__thread int a;' | clang -x c -o /dev/null -c - -mmacosx-version-
 min=10.6
 <stdin>:1:1: error: thread-local storage is not supported for the current
 target
 __thread int a;
 ^
 1 error generated.
 }}}

--
Ticket URL: <https://trac.macports.org/ticket/54773#comment:23>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list