Skip to content

Embedder API dylibs should not expose any symbols other than the ones in embedder.h #106453

@chinmaygarde

Description

@chinmaygarde

We already do this for iOS and Android. We used to have a check that queried global symbols that tripped if unexpected symbols were found. We depended on this check for the embedder dylib as well. Some time ago, this post link check was replaced by a linker script that finely controlled the exposed symbols. The linker script was not applied to the embedder API dylibs.

This caused the issue in #106118. The chronology of events:

We should guarantee that no symbols used by the internal dependencies of Flutter leak from the Flutter engine dylib accidentally. we can either do this via a linker script like the Android or iOS embedders or via a post link check (or both).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listcustomer: goinge: embedderUsers of the Embedder APIengineflutter/engine related. See also e: labels.team-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions