Skip to content

Commit ee2bb48

Browse files
authored
Disable name mangling for the component type object link symbol, and ensure it isn't discarded by the linker (#1326)
1 parent 71330dc commit ee2bb48

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

crates/c/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ impl WorldGenerator for C {
316316
self.src.c_adapters,
317317
"
318318
extern void {linking_symbol}(void);
319+
__attribute__((used))
319320
void {linking_symbol}_public_use_in_this_compilation_unit(void) {{
320321
{linking_symbol}();
321322
}}

crates/cpp/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,8 @@ impl WorldGenerator for Cpp {
654654
uwrite!(
655655
c_str.src,
656656
"#ifdef __wasm32__
657-
extern void {linking_symbol}(void);
657+
extern \"C\" void {linking_symbol}(void);
658+
__attribute__((used))
658659
void {linking_symbol}_public_use_in_this_compilation_unit(void) {{
659660
{linking_symbol}();
660661
}}

0 commit comments

Comments
 (0)