Status of gdmd

Joseph Rushton Wakeling joseph.wakeling at webdrake.net
Mon Dec 16 03:22:15 PST 2013


On 16/12/13 11:59, Iain Buclaw wrote:
> I'd need to know what undefined reference errors there were and what
> the simple program was. ;)

No program seems immune :-)  But try this:

///////////////////////////////////
import std.stdio;

void main()
{
     writeln("Hello, gdmd!");
}
///////////////////////////////////

... which compiled with gdc proper works fine, but when compiled with gdmd 
results in this:

gdmd.o: In function `main':
gdmd.d:(.text+0x21): undefined reference to `_d_run_main'
gdmd.o: In function `_D4gdmd9__modinitFZv':
gdmd.d:(.text+0x7d): undefined reference to `_Dmodule_ref'
gdmd.d:(.text+0x8b): undefined reference to `_Dmodule_ref'
gdmd.o:(.data+0x10): undefined reference to `_D3std5stdio12__ModuleInfoZ'
gdmd.o:(.data._D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ[_D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ[_D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ]+0x38): 
undefined reference to 
`_D3std6format18__T10FormatSpecTaZ10FormatSpec11__xopEqualsFKxS3std6format18__T10FormatSpecTaZ10FormatSpecKxS3std6format18__T10FormatSpecTaZ10FormatSpecZb'
gdmd.o:(.data._D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ[_D53TypeInfo_S3std6format18__T10FormatSpecTaZ10FormatSpec6__initZ]+0x48): 
undefined reference to 
`_D3std6format18__T10FormatSpecTaZ10FormatSpec8toStringMFNaNfZAya'
gdmd.o:(.data._D47TypeInfo_S3std6traits15__T8DemangleTkZ8Demangle6__initZ[_D47TypeInfo_S3std6traits15__T8DemangleTkZ8Demangle6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D47TypeInfo_S3std6traits15__T8DemangleTkZ8Demangle6__initZ[_D47TypeInfo_S3std6traits15__T8DemangleTkZ8Demangle6__initZ]+0x38): 
undefined reference to 
`_D3std6traits15__T8DemangleTkZ8Demangle11__xopEqualsFKxS3std6traits15__T8DemangleTkZ8DemangleKxS3std6traits15__T8DemangleTkZ8DemangleZb'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntry6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntry6__initZ]+0x38): 
undefined reference to 
`_D3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntry11__xopEqualsFNfKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntryKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi4Vi9Z9TrieEntryZb'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntry6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntry6__initZ]+0x38): 
undefined reference to 
`_D3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntry11__xopEqualsFNfKxS3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntryKxS3std8internal14unicode_tables25__T9TrieEntryTtVi8Vi7Vi6Z9TrieEntryZb'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntry6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntry6__initZ]+0x38): 
undefined reference to 
`_D3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntry11__xopEqualsFNfKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntryKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi5Vi8Z9TrieEntryZb'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntry6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntry6__initZ[_D76TypeInfo_S3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntry6__initZ]+0x38): 
undefined reference to 
`_D3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntry11__xopEqualsFNfKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntryKxS3std8internal14unicode_tables25__T9TrieEntryTbVi8Vi6Vi7Z9TrieEntryZb'
gdmd.o:(.data._D79TypeInfo_S3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntry6__initZ[_D79TypeInfo_S3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntry6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D79TypeInfo_S3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntry6__initZ[_D79TypeInfo_S3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntry6__initZ]+0x38): 
undefined reference to 
`_D3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntry11__xopEqualsFNfKxS3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntryKxS3std8internal14unicode_tables28__T9TrieEntryTbVi7Vi4Vi4Vi6Z9TrieEntryZb'
gdmd.o:(.data._D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ[_D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ[_D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ]+0x38): 
undefined reference to 
`_D3std7complex14__T7ComplexTeZ7Complex11__xopEqualsFKxS3std7complex14__T7ComplexTeZ7ComplexKxS3std7complex14__T7ComplexTeZ7ComplexZb'
gdmd.o:(.data._D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ[_D46TypeInfo_S3std7complex14__T7ComplexTeZ7Complex6__initZ]+0x48): 
undefined reference to `_D3std7complex14__T7ComplexTeZ7Complex8toStringMxFZAya'
gdmd.o:(.data._D63TypeInfo_S3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexed6__initZ[_D63TypeInfo_S3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexed6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D63TypeInfo_S3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexed6__initZ[_D63TypeInfo_S3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexed6__initZ]+0x38): 
undefined reference to 
`_D3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexed11__xopEqualsFKxS3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexedKxS3std3uni25__T16SliceOverIndexedTAiZ16SliceOverIndexedZb'
gdmd.o:(.data._D50TypeInfo_S3std3uni20__T9sliceBitsVi4Vi7Z9sliceBits6__initZ[_D50TypeInfo_S3std3uni20__T9sliceBitsVi4Vi7Z9sliceBits6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D50TypeInfo_S3std3uni20__T9sliceBitsVi4Vi7Z9sliceBits6__initZ[_D50TypeInfo_S3std3uni20__T9sliceBitsVi4Vi7Z9sliceBits6__initZ]+0x70): 
undefined reference to `_D10TypeInfo_g6__initZ'
gdmd.o:(.data._D49TypeInfo_S3std3uni19__T9BitPackedTkVi2Z9BitPacked6__initZ[_D49TypeInfo_S3std3uni19__T9BitPackedTkVi2Z9BitPacked6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D49TypeInfo_S3std3uni19__T9BitPackedTkVi2Z9BitPacked6__initZ[_D49TypeInfo_S3std3uni19__T9BitPackedTkVi2Z9BitPacked6__initZ]+0x70): 
undefined reference to `_D10TypeInfo_k6__initZ'
gdmd.o: In function `_D3std5stdio16__T7writelnTAyaZ7writelnFAyaZv':
gdmd.d:(.text._D3std5stdio16__T7writelnTAyaZ7writelnFAyaZv[_D3std5stdio16__T7writelnTAyaZ7writelnFAyaZv]+0x2f): 
undefined reference to `_D3std5stdio6stdoutS3std5stdio4File'
gdmd.d:(.text._D3std5stdio16__T7writelnTAyaZ7writelnFAyaZv[_D3std5stdio16__T7writelnTAyaZ7writelnFAyaZv]+0x9b): 
undefined reference to `_D3std9exception14__T7enforceTbZ7enforceFNaNfbLAxaAyamZb'
gdmd.o:(.data._D48TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender6__initZ[_D48TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D53TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender4Data6__initZ[_D53TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender4Data6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D53TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender4Data6__initZ[_D53TypeInfo_S3std5array17__T8AppenderTAyaZ8Appender4Data6__initZ]+0x38): 
undefined reference to 
`_D3std5array17__T8AppenderTAyaZ8Appender4Data11__xopEqualsFKxS3std5array17__T8AppenderTAyaZ8Appender4DataKxS3std5array17__T8AppenderTAyaZ8Appender4DataZb'
gdmd.o:(.data._D48TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender6__initZ[_D48TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D53TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender4Data6__initZ[_D53TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender4Data6__initZ]+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
gdmd.o:(.data._D53TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender4Data6__initZ[_D53TypeInfo_S3std5array17__T8AppenderTAxaZ8Appender4Data6__initZ]+0x38): 
undefined reference to 
`_D3std5array17__T8AppenderTAxaZ8Appender4Data11__xopEqualsFKxS3std5array17__T8AppenderTAxaZ8Appender4DataKxS3std5array17__T8AppenderTAxaZ8Appender4DataZb'
collect2: error: ld returned 1 exit status



More information about the D.gnu mailing list