Skip to content

Name mangling fails for intrinsic wrappers #2728

@elliottslaughter

Description

@elliottslaughter

I noticed that core::stackwalk::walk_stack runs out of stack space because of a name collision between the core::stackwalk::frame_address wrapper function and the core::stackwalk::rusti::frame_address intrinsic that it calls. It appears that the name mangler is missing the "rusti" path element from the native module, and thus is causing a name collision between the two functions.

You can see the failure by running the tests for stackwalk with optimizations turned off:

make check-stage1-core TESTNAME=stackwalk

As a temporary workaround, you can change the name of stackwalk::frame_address to e.g. wrap_frame_address.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generationI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions