Skip to content

symbols versions are not mangled correctly #2166

Closed
@brson

Description

@brson

As part of #2137 and #456 we have added the crate version to every exported symbol, but not quite in the correct way.

Right now the final part of the path used for the symbol ends with "V" + vers, which gets passed through the mangler. The original design called for @vers but the @ isn't a valid symbol on all platforms (I think?) so gets mangled to _sbox_, which is a bizarre way to indicate the version.

Mangling also makes any dots in the version go away so a version "0.2" symbol will end with "V02".

There is some additional discussion here about how this is supposed to work that I haven't read.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesP-lowLow priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions