NetBSD Problem Report #54027
From mrg@eterna.com.au Fri Mar 1 05:46:17 2019
Return-Path: <mrg@eterna.com.au>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 132E67A16B
for <gnats-bugs@gnats.NetBSD.org>; Fri, 1 Mar 2019 05:46:17 +0000 (UTC)
Message-Id: <20190301054610.D9C401590CF@splode.eterna.com.au>
Date: Fri, 1 Mar 2019 16:46:10 +1100 (AEDT)
From: mrg@eterna.com.au
Reply-To: mrg@eterna.com.au
To: gnats-bugs@gnats.NetBSD.org
Subject: enabling real libstdc++ gnu.ver config.h processing has duplicate symbols
X-Send-Pr-Version: 3.95
>Number: 54027
>Category: toolchain
>Synopsis: enabling real libstdc++ gnu.ver config.h processing has duplicate symbols
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: mrg
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 01 05:50:00 +0000 2019
>Last-Modified: Fri Mar 01 08:20:01 +0000 2019
>Originator: matthew green
>Release: NetBSD 8.99.34
>Organization:
people's front against (bozotic) www (softwar foundation)
>Environment:
All
>Description:
the current libstdc++.so linking attempts to use the c++config.h
but it uses the wrong one, and ends up not having right checks
applied. i've fixed mknative-gcc to copy the un-processed
config.h as symver-config.h, but i need this patch to enable the
use of it as well:
Index: external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver,v
retrieving revision 1.1.1.6
diff -p -u -u -r1.1.1.6 gnu.ver
-
+++ external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver 1 Mar 2019 05:25:06 -0000
@@ -1007,7 +1007,10 @@ GLIBCXX_3.4 {
#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
# GLIBCXX_ABI compatibility only.
# std::string
+ # XXXMRG this causes dupe symbols on netbsd
+#if 0
_ZNKSs11_M_disjunctEPKc;
+#endif
_ZNKSs15_M_check_lengthE[jmy][jmy]PKc;
_ZNSs4_Rep26_M_set_length_and_sharableE*;
_ZNSs7_M_copyEPcPKc[jmy];
@@ -1015,7 +1018,10 @@ GLIBCXX_3.4 {
_ZNSs9_M_assignEPc[jmy]c;
# std::wstring
+ # XXXMRG this causes dupe symbols on netbsd
+#if 0
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
+#endif
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jmy][jmy]PKc;
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jmy];
>How-To-Repeat:
i plan to commit the above change and the processing, but we
should figure out why this is happening.
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: toolchain-manager->mrg
Responsible-Changed-By: mrg@NetBSD.org
Responsible-Changed-When: Fri, 01 Mar 2019 07:57:17 +0000
Responsible-Changed-Why:
mine. mine. mine.
From: "matthew green" <mrg@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/54027 CVS commit: src/external/gpl3/gcc
Date: Fri, 1 Mar 2019 08:15:23 +0000
Module Name: src
Committed By: mrg
Date: Fri Mar 1 08:15:23 UTC 2019
Modified Files:
src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre: gnu.ver
src/external/gpl3/gcc/lib/libstdc++-v3: Makefile
Log Message:
#if 0 the x and y symbols in GLIBCXX_3.4 namespace. they cause
duplicate symbols on netbsd. see PR#54027.
with this disabled, turn on using the symver-config.h for the
gnu.ver processing so that other defines are handled.
fix some depends for gnu.ver processing.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.6 -r1.2 \
src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver
cvs rdiff -u -r1.44 -r1.45 src/external/gpl3/gcc/lib/libstdc++-v3/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.