From owner-freebsd-standards@freebsd.org Thu Jul 23 12:57:40 2015 Return-Path: Delivered-To: freebsd-standards@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 A5A269A7157 for ; Thu, 23 Jul 2015 12:57:40 +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 912D31FCE for ; Thu, 23 Jul 2015 12:57:40 +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 t6NCveJO016092 for ; Thu, 23 Jul 2015 12:57:40 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-standards@FreeBSD.org Subject: [Bug 201784] [libcxxrt] C++ dynamic_cast does not recognize same types across dynamically loaded modules when downcasting Date: Thu, 23 Jul 2015 12:57:40 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: standards X-Bugzilla-Version: 10.2-STABLE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: dim@FreeBSD.org X-Bugzilla-Status: Closed X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-standards@FreeBSD.org X-Bugzilla-Target-Milestone: --- 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-standards@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jul 2015 12:57:40 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D201784 --- Comment #8 from Dimitry Andric --- (In reply to Marcin Cie=C5=9Blak from comment #6) > By the way, our always uses ${CC} when linking shared library > (and it's silenced with @). Is this okay for C++ libs? Not if you specify the lib using LIB_CXX, like in the libatf-c++ Makefile: LIB_CXX=3D atf-c++ We used to do a 'deep' comparison of the typeinfo earlier, but only in head from r256642 onwards, and we eventually reverted it in r278010. As J=C3=B6= rg Sonnenberger noted in a private mail conversation: "... there are three different problematic situations: (1) A type is used in the main program and it is linked without -rdynamic. (2) A type is used by two different DSOs and both are loaded with RTLD_LOCAL. (3) Two independent types of the same name are defined in two different DSOs. The hack makes the first two work to a degree and fails misserable on the last. IMO (2) and (3) should be considered the same and (1) is just a bug." (N.B.: with 'the hack' he meant doing the deep comparison.) --=20 You are receiving this mail because: You are the assignee for the bug.=