From: Iain Sandoe Date: Mon, 24 Dec 2018 13:09:39 +0000 (+0000) Subject: Fix build warnigns on Darwin, don't try to export construction vtable symbols. X-Git-Tag: releases/gcc-7.5.0~694 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a77add8771741e3ee8a5cb2aaa36baf0535ffbf1;p=thirdparty%2Fgcc.git Fix build warnigns on Darwin, don't try to export construction vtable symbols. 2018-12-24 Iain Sandoe Backport from mainline 2018-12-06 Iain Sandoe * scripts/make_exports.pl (check names): Don’t try to export construction vtable symbols. From-SVN: r267408 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b2c06d1d685d..ca5c9b1b95a3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2018-12-24 Iain Sandoe + + Backport from mainline + 2018-12-06 Iain Sandoe + + * scripts/make_exports.pl (check names): Don’t try to export + construction vtable symbols. + 2018-12-24 Iain Sandoe Backport from mainline diff --git a/libstdc++-v3/scripts/make_exports.pl b/libstdc++-v3/scripts/make_exports.pl index 7c9e4e31d4f8..93100e17ddfc 100644 --- a/libstdc++-v3/scripts/make_exports.pl +++ b/libstdc++-v3/scripts/make_exports.pl @@ -103,6 +103,14 @@ NAME: while () { # Ignore undefined and local symbols. next if (/^([^ ]+) [Ua-z] /); + # GCC does not export construction vtables from shared libraries. + # However the symbols are marked hidden, for Darwin that makes them + # also external "private_extern", which means that they show up in + # this list. When ld64 encounters them it generates a warning that + # they cannot be exported, so trim them from the set now. + next if (/^construction vtable.*$/); + next if (/^__ZTC.*$/); + # $sym is the name of the symbol, $noeh_sym is the same thing with # any '.eh' suffix removed. die "unknown nm output $_" if (! /^([^ ]+) [A-Z] /);