Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2022 01:47:23 +0200
From:      Joerg Sonnenberger <joerg@bec.de>
To:        freebsd-hackers@freebsd.org
Subject:   Re: llvm & RTTI over shared libraries
Message-ID:  <YmiEizN478hu7%2B1J@bec.de>
In-Reply-To: <079B1A26-DA8B-4158-8FD4-28EE1374CF1F@yahoo.com>
References:  <079B1A26-DA8B-4158-8FD4-28EE1374CF1F.ref@yahoo.com> <079B1A26-DA8B-4158-8FD4-28EE1374CF1F@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Am Mon, Apr 25, 2022 at 03:39:48PM -0700 schrieb Mark Millard:
> Basically I avoid inline definitions of:
> 
>         virtual ~type_base();
>         virtual ~type_int();
>         virtual ~type_string();

You only need to ensure that the class has one non-pure non-inline
function. That's the key function and determines the translation unit
(and by extension the DSO) where the virtual table and the typeinfo is
placed. 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.

Joerg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YmiEizN478hu7%2B1J>