From owner-freebsd-toolchain@freebsd.org Wed Aug 9 00:14:31 2017 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE4B0DD9C6B for ; Wed, 9 Aug 2017 00:14:31 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B5B07DDCA for ; Wed, 9 Aug 2017 00:14:31 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id v790EVH9018260 for ; Wed, 9 Aug 2017 00:14:31 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-toolchain@FreeBSD.org Subject: [Bug 221288] lang/gcc5 links against libsupc++ when compiling Date: Wed, 09 Aug 2017 00:14:31 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: markmi@dsl-only.net X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-toolchain@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Aug 2017 00:14:31 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221288 --- Comment #10 from Mark Millard --- I looked up the tree from my lang/gcc6 build and find that its libstdc++.a is linked in part via a bunch of: .libs/libstdc++.lax/libsupc++convenience.a/*.o files. Specifically: libtool: link: /usr/local/x86_64-portbld-freebsd12.0/bin/ar rc .libs/libstdc++.a compatibility.o compatibility-debug_list.o compatibility-debug_list-2.o compatibility-c++0x.o compatibility-atomic-c++0 x.o compatibility-thread-c++0x.o compatibility-chrono.o compatibility-condv= ar.o .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++. lax/libsupc++convenience.a/bad_typeid.o .libs/libstdc++.lax/libsupc++convenience.a/dyncast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/guard.o .l ibs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/eh_tm.o .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o .libs/libstdc++.lax/libsupc++convenience.a /bad_array_new.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/bad_array_length.o .li bs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsup c++convenience.a/eh_call.o .libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o .lib s/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o .libs/libstdc++.lax/libsupc++conven ience.a/fundamental_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/del_ops.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o .libs/l ibstdc++.lax/libsupc++convenience.a/eh_arm.o .libs/libstdc++.lax/libsupc++convenience.a/guard_error.o .libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o .libs/libstdc++.lax/libsupc++convenie nce.a/vmi_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_thread.o .libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o .libs/libstdc++.lax/libsupc++convenience.a/eh_unex_h andler.o .libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/l ibsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt .o .libs/libstdc++.lax/libsupc++convenience.a/vec.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvs.o .libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o .libs/libstdc++.lax/libsupc++con venience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o .libs/libstdc++ .lax/libsupc++convenience.a/eh_type.o .libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenien ce.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o . . . (more from elsewhere) . . . Similarly .libs/libstdc++.so.6.0.22 's link lists: ../libsupc++/.libs/libsupc++convenience.a and has: -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/x86_64-portbld-freebsd= 12.0/libstdc++-v3/libsupc++/.libs For example: libtool: link: /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/xg= cc -shared-libgcc -B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc -nostdinc++ -L/usr/obj/portswork/usr/ports/lang/ gcc6/work/.build/x86_64-portbld-freebsd12.0/libstdc++-v3/src -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/x86_64-portbld-freebsd= 12.0/libstdc++-v3/src/.libs -L/usr/obj/portswork/usr/ports/lang/ gcc6/work/.build/x86_64-portbld-freebsd12.0/libstdc++-v3/libsupc++/.libs -B/usr/local/x86_64-portbld-freebsd12.0/bin/ -B/usr/local/x86_64-portbld-freebsd12.0/lib/ -isystem /usr/local/x86_64-portbld-fr eebsd12.0/include -isystem /usr/local/x86_64-portbld-freebsd12.0/sys-includ= e=20=20=20 -fPIC -DPIC -D_GLIBCXX_SHARED -shared -nostdlib /usr/lib/crti.o /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gc c/crtbeginS.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x .o .libs/compatibility-chrono.o .libs/compatibility-condvar.o=20 -Wl,--whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11conveni ence.a -Wl,--no-whole-archive=20 -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/x86_64-portbld-freebsd= 12.0/libstdc++-v3/libsupc++/.libs -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/x86_64- portbld-freebsd12.0/libstdc++-v3/src -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/x86_64-portbld-freebsd= 12.0/libstdc++-v3/src/.libs -lm -L/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./g cc -L/usr/local/x86_64-portbld-freebsd12.0/bin -L/usr/local/x86_64-portbld-freebsd12.0/lib -lc -lgcc_s /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtendS.o /usr/lib/crtn.o -B/usr/obj/po rtswork/usr/ports/lang/gcc6/work/.build/./gcc -B/usr/local/x86_64-portbld-freebsd12.0/bin/ -B/usr/local/x86_64-portbld-freebsd12.0/lib/ -Wl,-O1 -Wl,-z -Wl,relro -Wl,--gc-sections -Wl,--version-script=3D libstdc++-symbols.ver -Wl,-soname -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.22 where .libs/libsupc++convenience.a was linked via: libtool: link: /usr/local/x86_64-portbld-freebsd12.0/bin/ar rc .libs/libsupc++convenience.a array_type_info.o atexit_arm.o atexit_thread.o bad_alloc.o bad_array_length.o bad_array_new.o bad_cast.o bad_typeid.o class_type_info.o del_op.o del_ops.o del_opnt.o del_opv.o del_opvs.o del_opvnt.o dyncast.o eh_alloc.o eh_arm.o eh_aux_runtime.o eh_call.o eh_cat= ch.o eh_exception.o eh_globals.o eh_personality.o eh_ptr.o eh_term_handler.o eh_terminate.o eh_tm.o eh_throw.o eh_type.o eh_unex_handler.o enum_type_inf= o.o function_type_info.o fundamental_type_info.o guard.o guard_error.o hash_byt= es.o nested_exception.o new_handler.o new_op.o new_opnt.o new_opv.o new_opvnt.o pbase_type_info.o pmem_type_info.o pointer_type_info.o pure.o si_class_type_info.o tinfo.o tinfo2.o vec.o vmi_class_type_info.o vterminat= e.o cp-demangle.o It appears that for libstdc++.so use (dynamic linking) libsupc++ is at last partially bundled in libstdc++.so . This also seems to be true of libstdc++.a for static linking, even if libsupc++.a contains more. --=20 You are receiving this mail because: You are the assignee for the bug.=