Skip to content

rustc on linux seems not to export pub extern fns #18577

@flo-l

Description

@flo-l

I'm on Linux, kernel 3.16.6-203.fc20.x86_64 (64 bit).

[me@localhost test]$ rustc --version
rustc 0.13.0-nightly (b87619e27 2014-11-02 23:27:10 +0000)

test.rs:

fn test(bla: i32) -> i32 { bla*bla }

#[no_mangle]
pub extern "C" fn _test_wrapper(i: i32) -> i32 {
  test(i)
}
[me@localhost test]$ rustc --crate-type dylib test.rs
[me@localhost test]$ nm -g libtest.so 
00000000002014e0 B __bss_start
                 w __cxa_finalize@@GLIBC_2.2.5
00000000002014e0 D _edata
00000000002014e8 B _end
0000000000000808 T _fini
                 w __gmon_start__
00000000000005f0 T _init
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 w _Jv_RegisterClasses
0000000000201030 D rust_metadata_test_7bb26f1eacd843be
                 U rust_stack_exhausted

I hope I haven't made some completely obvious mistake, but I think _test_wrapper should show up under exported symbols.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions