digitalmars.D.bugs - [Issue 18526] New: Linker error when calling rt_init from C code
- d-bugmail puremagic.com (38/38) Feb 26 2018 https://issues.dlang.org/show_bug.cgi?id=18526
https://issues.dlang.org/show_bug.cgi?id=18526 Issue ID: 18526 Summary: Linker error when calling rt_init from C code Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: minor Priority: P1 Component: druntime Assignee: nobody puremagic.com Reporter: mihails.strasuns gmail.com Linux, both Ubuntu and Arch, both tarball downloads and from package manager: --- $ cat main.c extern int rt_init(); int main ( ) { rt_init(); return 0; } $ gcc ./main.c /path/to/druntime.a /usr/bin/ld: error: /path/to/libdruntime.a(dmain2_65f_2f9.o): size of section .dtors.d_dso_dtor[.data.d_dso_rec] is not multiple of address size /usr/bin/ld: final link failed: Error reading (null): No error --- Am I missing something obvious here? Adding trivial D wrapper like this: --- extern(C) void rt_init ( ); extern(C) void foo ( ) { rt_init(); } --- .. fixes the problem, so the assumption is it is somehow related to how runtime library is built. --
Feb 26 2018