[Issue 18774] meta used in .di files causes link errors
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Apr 18 23:26:47 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18774
kinke at gmx.net changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kinke at gmx.net
--- Comment #9 from kinke at gmx.net ---
Symbol table for Win64 with a manual declaration, without importing test.di
(main.d renamed to current.d, main() renamed to foo()):
010 00000000 SECT5 notype () External | _D7current3fooFZi
011 00000000 SECT6 notype Static | $unwind$_D7current3fooFZi
012 00000000 SECT7 notype Static | $pdata$_D7current3fooFZi
013 00000000 SECT4 notype External | _D7current12__ModuleInfoZ
014 00000000 UNDEF notype () External | _D7current9test_funcFiiZv
When importing test.di, some TypeInfos incl. accompanying functions
__xopEquals() & __xtoHash() are wrongly emitted into the module, incl. a
reference to the non-emitted struct init symbol in its TypeInfo (emitted into
current.obj), leading to the observed linking error (and referencing a bunch of
symbols in druntime):
040 00000000 SECT5 notype () External | _D7current3fooFZi
041 00000000 SECT6 notype Static | $unwind$_D7current3fooFZi
042 00000000 SECT7 notype Static | $pdata$_D7current3fooFZi
043 00000000 SECT8 notype External | _D11TypeInfo_ya6__initZ
044 00000000 SECT9 notype () External |
_D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb
045 00000000 SECTA notype Static |
$unwind$_D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb
046 00000000 SECTB notype Static |
$pdata$_D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsFKxSQBzQBy__TQBvTQBpZQCdQBqKxQBaZb
047 00000000 SECTC notype () External |
_D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm
048 00000000 SECTD notype Static |
$unwind$_D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm
049 00000000 SECTE notype Static |
$pdata$_D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm
04A 00000000 SECTF notype External |
_D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ
04B 00000000 SECT10 notype () External |
_D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb
04C 00000000 SECT11 notype Static |
$unwind$_D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb
04D 00000000 SECT12 notype Static |
$pdata$_D3std5range__T3ZipTAAyaTQfZQn11__xopEqualsFKxSQBtQBs__TQBpTQBoTQBsZQCbKxQBbZb
04E 00000000 SECT13 notype () External |
_D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm
04F 00000000 SECT14 notype Static |
$unwind$_D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm
050 00000000 SECT15 notype Static |
$pdata$_D3std5range__T3ZipTAAyaTQfZQn9__xtoHashFNbNeKxSQBuQBt__TQBqTQBpTQBtZQCcZm
051 00000000 SECT16 notype External |
_D38TypeInfo_S3std5range__T3ZipTAAyaTQfZQn6__initZ
052 00000000 SECT17 notype External |
_D39TypeInfo_xS3std5range__T3ZipTAAyaTQfZQn6__initZ
053 00000000 SECT18 notype External | _D11TypeInfo_xm6__initZ
054 00000000 SECT19 notype External | _D12TypeInfo_xAa6__initZ
055 00000000 SECT1A notype External | _D11TypeInfo_xb6__initZ
056 00000000 SECT1B notype External | _D13TypeInfo_xAya6__initZ
057 00000000 SECT1C notype External | _D14TypeInfo_AxAya6__initZ
058 00000000 SECT1D notype External | _D14TypeInfo_xAAya6__initZ
059 00000000 SECT1E notype External |
_D36TypeInfo_E3std5range14StoppingPolicy6__initZ
05A 00000000 SECT1F notype External |
_D37TypeInfo_xE3std5range14StoppingPolicy6__initZ
05B 00000000 SECT4 notype External | _D7current12__ModuleInfoZ
05C 00000000 UNDEF notype () External | _D7test1239test_funcFiiZv
05D 00000000 UNDEF notype External | _D18TypeInfo_Invariant6__vtblZ
05E 00000000 UNDEF notype External | _D10TypeInfo_a6__initZ
05F 00000000 UNDEF notype () External |
_D6object__T8__equalsTxaTxaZQqFNaNbNiNfAxaQdZb
060 00000000 UNDEF notype External | _D15TypeInfo_Struct6__vtblZ
061 00000000 UNDEF notype External |
_D3std5array__T8AppenderTAyaZQo4Data6__initZ
062 00000000 UNDEF notype () External |
_D6object__T8__equalsTxAyaTxQfZQtFNaNbNiNfAxQvQeZb
063 00000000 UNDEF notype External |
_D3std5range__T3ZipTAAyaTQfZQn6__initZ
064 00000000 UNDEF notype External | _D14TypeInfo_Const6__vtblZ
065 00000000 UNDEF notype External | _D10TypeInfo_m6__initZ
066 00000000 UNDEF notype External | _D12TypeInfo_Axa6__initZ
067 00000000 UNDEF notype External | _D10TypeInfo_b6__initZ
068 00000000 UNDEF notype External | _D12TypeInfo_Aya6__initZ
069 00000000 UNDEF notype External | _D14TypeInfo_Array6__vtblZ
06A 00000000 UNDEF notype External | _D13TypeInfo_Enum6__vtblZ
06B 00000000 UNDEF notype External | _D10TypeInfo_i6__initZ
--
More information about the Digitalmars-d-bugs
mailing list