Skip to content

Add a regression test for cross-library base pointer deserialization#351

Merged
gennaroprota merged 1 commit into
developfrom
test/dll-base-pointer
Jul 22, 2026
Merged

Add a regression test for cross-library base pointer deserialization#351
gennaroprota merged 1 commit into
developfrom
test/dll-base-pointer

Conversation

@gennaroprota

Copy link
Copy Markdown
Collaborator

A derived class defined in a shared library is round-tripped through a unique_ptr to its abstract base, across the library boundary, using a binary-backed polymorphic archive, from an executable built with hidden symbol visibility. The test reuses the existing dll_polymorphic_base and dll_polymorphic_derived2 libraries.

On GCC/ELF the per-type serializer singletons were duplicated across the boundary, so the reader could not map the class id back to the derived type and recovered the wrong object.

Refs issue #117.

A derived class defined in a shared library is round-tripped through a
`unique_ptr` to its abstract base, across the library boundary, using a
binary-backed polymorphic archive, from an executable built with hidden
symbol visibility. The test reuses the existing `dll_polymorphic_base`
and `dll_polymorphic_derived2` libraries.

On GCC/ELF the per-type serializer singletons were duplicated across the
boundary, so the reader could not map the class id back to the derived
type and recovered the wrong object.

Refs issue #117.
@gennaroprota
gennaroprota added this pull request to the merge queue Jul 22, 2026
Merged via the queue into develop with commit f689b36 Jul 22, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant