From nobody Wed Apr 27 00:48:00 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 3560E199CEE7 for ; Wed, 27 Apr 2022 00:48:16 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-55.consmr.mail.gq1.yahoo.com (sonic316-55.consmr.mail.gq1.yahoo.com [98.137.69.31]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Kp0V71xX0z3kB7 for ; Wed, 27 Apr 2022 00:48:15 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1651020488; bh=udfsdP+hnnwGz6hngaHrfcT45tlyDGaWXdYeukJTbmY=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=KhuouajN48bjeytWLxXf1ROAy0eOEsxkKG+N21bB3JhqQoLF1vpa07s778vxLLulIsnEphWOTljPpwLLm+TpKkj4Q28wAg5YHoHcdbG6TLn3uBIisV5EOLEdKqIfCviUm0CykrZfSJs5wAVuJ+0ifheSNeWwh05SdEzkf0MQO1CAi4r1ZeS+8IgwdnnrqRGm74pA2X4H769i/PslUpISQ+W0dZzoOmN4tp03DkeLD90jYHeHYuZPjwPCvO/dG+DvovrGVL2FrbxLWda/kUG/2bd3w4Z5vfUPMYZB/MQeEaSEUdfYyIvxnne2u4hGqy4ubBRsRiqBq2ZWl+HniRINeQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1651020488; bh=AkayoiYSuyGiNNN8qVoEsb2E9LabjBWw8Rz4lL3g8IX=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=ph97gk04M3At27eoU95yVeHS9+20nzJbLQ9p9E242GciCaZiDWdVhEv/6WyXi0uO/Cc7yvoh7v1uyzWclsSA8BRQKMRodBkzAxXmVzciLXec0uMmu5dUxJjSFFuFP2czSEOXDo69YBhFpDPsH1FVaGHJz/Ff2ntzA0pG1ijy9/r5LLATzz+L2lOAtJ785+T+lh3XikAG7vGPdHB0XYaOl6A7CD/T4mAmp3H6uc4ofqbTKMbRcQUoqYghg/U0hriUAid7oTH1p/p9aTCCR1f3F7cDaKqRnKhT2TNkcrfXS3te8sFSrlWRbBUlCqKnEqsvsxJFCey6ev4I7fteLxwxEw== X-YMail-OSG: DKRtEYoVM1mO7AH6ep_UNj9yO_fLiyTap0aTrdTTjWAkuaQVnnvm.vLnVxmBwJM MaG32KRbPJFHC3db_zetW9lZPEhyJEZH4Rtb_aCuhsO.At1YnzeeViBT7ApR0FkfDbldl11fF1mb fvGc8W3AeVhAe6BNdmgJpfubvgFv0XHoYi0_qbjy3NFvRUjPub6Wnw5bWdyXw6lmwjyw9Q3a1q.y rXLUPQz0ylgiE85H1QsZguvSoBqXBZ655.pAWTA2rYsiVfmTm5pnli7kNNNGH8qGXisgEWxcHnS1 fgKO6khJUo0C4B6PbCVnZ3ENU01ba4pS0.ZvR5SjThmgEDAWaUlzgYddm9sYerWWfzD7GUIZd7fB p3hwS8EH2ovWQLsymmQzzT92ams0zn6W.d2nWXEnHuJEo7Z.mtZMvSVLOvbnERehimoRyliIwUAJ XEMHb0GYZr.VQraAt2cGlvtF7FMYW0aYbZ6eswRCVOfrtCNMdRww4d.G9rnMPcQCdChn1SL4a3Gh 65b5cNUDjil5Et2dxEWhR7BO645S77GEYlbMUGF2ATrFLonmCTVbrmrS4rskGXfML9m1xLOMo3Sa 1oxcqklHEU1zmB1Qi0f4y37fYmFSVI11STw67csGEBHWO8hC33LsdGR7xiUoD.AZs1YdvJhikuUI P9yfezSzz4NAbMB_msEEr_7R5v3l1tPm4_YcAo2HdrPhl7jX1N_ghFpGuRIn5eFv9LTHfAbMNA8h I5uQgQT6VrCsnUVAnfo3f39paXC9QtD38lKMJXFoTvx8shAvdq99jaO732vA7NdH2zaSnV_kXs3B lgfkV0FKSaGC8Ca8KJXO6Il7BcKWwUdnyXzg663pHBkUAbgXuDJ3Ive68RgZE9w8TvpsV5ChB0W4 tzjLzwjX5IH2fUQh7VdjvXY8wUMZtGAwB7608ilkB7dhg02gHaszfEaIoc4WXMMqXYM1CJQtUf8n GZC8ngJCKh6iFgUU9UEc13Y5_1MjaeRSlo6xKdn2jDnS3cjrYbZzagFk4l9x8HEOElO8MvhHXL2m r8iVA56EcPKlEofREBdbQ2J2fpmF9cMM4_RuVf6e7Lktigc1algxkAQd6GQRCSjKE1UvdduBHRes wBW5Xj.BmNjQ94rSjN7OEfhgW5BXWcayrKEyzzUDRfOmqRI5I56A3bQ05iKLzfYJ_XQe8eGRqcAM BnAtjwzduFKCYehoY5KVBP_dSxwkTdgvScorSIyiBu25Ngu76AI1exZ99RQaJUxIdA5gpndV_YQy Peu.FUVGEADO42E0CHnTJFbz2HRGJKj6T3PGtz.boWfRLlFBS7yyaUl0JNhYLvK0T16475xkdqiz x2207PUTXVhYzJ6r3fe6lqsUQKPrz3da2X3_a_ZBXbMWD4Y5Br7FxG6VtqvtmTBZq4G2s7oQeGTq r5BrnVDNeX4_mPog5nrmmOezSdSvpX2MuU_zejdAKI6CBI4bjPU89e1EexjEz8XUCWOWJYHZu5ny QJOMUrot6Rvyu98AKabe5dECB7cAI2hdxkZi5xJN6jgF4ageh4FP0uvis2qFU9FSdteK7AAffK7B ZO8M2IerqTAZXYiNJZedStQn3_9ARpoIHaE5kbLWvFe0PYu.PLzSffKRIhpM_29EMwtTdiiebDYV 7UPp5N8d0zfeHuIYfIhuAKQQBVo4F9l.6zZsUBLeI3ohZrA7WZdfNQrFrreZeQU3uLXSJebWm_7C loH7JYpO2Dfx5JfvhDt4acLykMGwbgxcMn9bkAZIYlCc0XsqINxHvYKwHu0f2eiCRFOkiXlCPn8H fkMgEe4.46Rm5xYyVuGUkG1A0rkJLSmhn8tGDLtufCYCP_2tfHKD0kHRT_9zngDJa.8rliXEFTmu oVsjM956tmFS5KMJWgt9ryirg2HcJnmG3HERz3vs3uKeGuOGDcDrwzja8oqitYp8ydGEzz9umJGC hZKUG8QgX4O_HipnQthotP0JScb.CwhidA7HlZXK8Td4VhGXK380XMCnOwnKjcDwoekaE1LKrS0v TirKydLVoq7HfPG37QUgX2YgK3a7Sph3pg3Rbm9OpA58U2218Um6NXamousG5CnQ6vONV2r6x_o2 iFXd0V50SxnM5zYHld3YUjhuQjE.FPzbIna0oIAzKyB6GXhPwLrJ67TzAabiPTgk4oWXj.fdFOMt vgf3fsyhGpUzcDwwRCBNCh38i7xXUKIrDSagPUozvmwoWBRrClWXUXm3htX2VI3anPwxKZ.Cai5f 6bwLh4fxrxF3Eg9nYdcxeFFUF35C56uZN4.fMHlQgoPXShO3sv4NvPZUglUuYtZdcxkJ_1TPuM.c I2y4Ko7VnWlxmVm95 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Wed, 27 Apr 2022 00:48:08 +0000 Received: by hermes--canary-production-ne1-75b69fcf97-dzsj8 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 0cbba843aebe934c6afe125706d611d5; Wed, 27 Apr 2022 00:48:02 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: llvm & RTTI over shared libraries Message-Id: Date: Tue, 26 Apr 2022 17:48:00 -0700 Cc: jbo@insane.engineer To: joerg@bec.de, FreeBSD Hackers X-Mailer: Apple Mail (2.3654.120.0.1.13) References: X-Rspamd-Queue-Id: 4Kp0V71xX0z3kB7 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=KhuouajN; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.31 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-3.43 / 15.00]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-0.99)[-0.992]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; NEURAL_HAM_LONG(-1.00)[-1.000]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.31:from]; NEURAL_HAM_SHORT(-0.94)[-0.936]; MLMMJ_DEST(0.00)[freebsd-hackers]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_COUNT_TWO(0.00)[2]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-ThisMailContainsUnwantedMimeParts: N =E2=80=A2 Joerg Sonnenberger wrote on =E2=80=A2 Date: Tue, 26 Apr 2022 23:47:23 UTC : > Am Mon, Apr 25, 2022 at 03:39:48PM -0700 schrieb Mark Millard: > > Basically I avoid inline definitions of: > >=20 > > virtual ~type_base(); > > virtual ~type_int(); > > virtual ~type_string(); >=20 > You only need to ensure that the class has one non-pure non-inline > function. I'm confused at what you are claiming that I did wrong or described incorrectly for the example at hand. Those are 3 separate classes each with one virtual method that is not in line (and that I showed the definitions for later in the message). No other such functions were involved explicitly in those 3 classes. The gcc class type_info in /usr/local/lib/gcc11/include/c++/typeinfo describes this implementation detail for type_info itself, as its example, via: class type_info { public: /** Destructor first. Being the first non-inline virtual function, = this * controls in which translation unit the vtable is emitted. The * compiler makes use of that information to know where to emit * the runtime-mandated type_info structures in the new-abi. */ virtual ~type_info(); . . . > That's the key function and determines the translation unit > (and by extension the DSO) where the virtual table and the typeinfo is > placed. I'm a again confused about where the above disagrees with what I wrote (in text that you did not quote). > If there is no such function, both will be defined as weak > mergable symbol and that will not result in a unique address when = using > RTLD_LOCAL. I was certainly less detailed about how multiple definitions are handled. Was that your point? Let me know if I've missed some import point --or made some stupid screwup in what I'd written. =3D=3D=3D Mark Millard marklmi at yahoo.com