On Friday, 8 May 2015 at 05:26:01 UTC, Benjamin Thaut wrote:
And Step 2) at program start up time. This means that symbols
don't have identity. If different shared libraries provide the
same symbol it may exist multiple times and multiple instances
might be in use.
Can you elaborate a bit on that?
How would you run into such an ODR violation, by linking against
multiple import libraries that contain the same symbol?
Any opinions on this? As both options would be quite some work
I don't wan't to start blindly with one and risking it being
rejected later in the PR.
Last time we thought about this we came to the conclusion that
global uniqueness for symbols isn't possible, even on Unix when
you have 2 comdat/weak typeinfos for template classes in 2
different shared libraries but not in the executable. I suggested
that we could wrap typeinfos for template types in something like
TypeInfo_Comdat that would do a equality comparison based on name
and type size.