Creating a dynamic library on Linux with DMD

Frank Benoit keinfarbton at googlemail.com
Sun Jun 10 16:24:42 PDT 2007


I found that "nm -u libT.so" tells me about lots of unresolved symbols.
They prevent the .so from loading in a non D app. I want to export only
"extern(C)" functions.

$ nm -u libT.so
         U _D10ModuleInfo6__vtblZ
         U _D10TypeInfo_i6__initZ
         U _D10TypeInfo_k6__initZ
         U _D11TypeInfo_Aa6__initZ
         U _D11TypeInfo_Ag6__initZ
         U _D11TypeInfo_Ah6__initZ
         U _D11TypeInfo_Au6__initZ
         U _D11TypeInfo_Aw6__initZ
         U _D13TypeInfo_Enum6__vtblZ
         U _D13TypeInfo_Enum7__ClassZ
         U _D14TypeInfo_Tuple6__vtblZ
         U _D15TypeInfo_Struct6__vtblZ
         U _D16TypeInfo_Pointer6__vtblZ
         U _D16TypeInfo_Typedef6__vtblZ
         U _D16TypeInfo_Typedef7__ClassZ
         U _D17TypeInfo_Delegate6__vtblZ
         U
_D5tango4core9Exception11IOException5_ctorMFAaZC5tango4core9Exception11IOException
         U _D5tango4core9Exception11IOException7__ClassZ
         U
_D5tango4core9Exception24IllegalArgumentException5_ctorMFAaZC5tango4core9Exception24IllegalArgumentException
         U _D5tango4core9Exception24IllegalArgumentException7__ClassZ
         U _D6Object7__ClassZ
         U _D6object6Object5opCmpMFC6ObjectZi
         U _D6object6Object6toHashMFZk
         U _D6object6Object6toUtf8MFZAa
         U _D6object6Object8opEqualsMFC6ObjectZi
         U _D9ClassInfo6__vtblZ
         U _D9invariant12_d_invariantFC6ObjectZv
         U _Dmodule_ref
         w _Jv_RegisterClasses
         U __ULDIV__
         w __cxa_finalize@@GLIBC_2.1.3
         w __gmon_start__
         U _adDupT
         U _d_array_bounds
         U _d_arrayappendT
         U _d_arraycatnT
         U _d_arraycopy
         U _d_arraysetlengthiT
         U _d_assert
         U _d_assert_msg
         U _d_delarray
         U _d_dynamic_cast
         U _d_newarrayT
         U _d_newclass
         U _d_throw at 4
         U _main
         U _memset16
         U _memset32
         U close@@GLIBC_2.0
         U exit@@GLIBC_2.0
         U fgetc@@GLIBC_2.0
         U fgetwc@@GLIBC_2.2
         U fputc@@GLIBC_2.0
         U fputwc@@GLIBC_2.2
         U getErrno
         U isatty@@GLIBC_2.0
         U log10l@@GLIBC_2.0
         U memcpy@@GLIBC_2.0
         U onUnicodeError
         U read@@GLIBC_2.0
         U setErrno
         U stdin@@GLIBC_2.0
         U stdout@@GLIBC_2.0
         U strerror@@GLIBC_2.0
         U strlen@@GLIBC_2.0
         U write@@GLIBC_2.0



More information about the Digitalmars-d mailing list