Bug 2667 – a few un-demanglable Undefined symbol in std.stdio? compiler bug?
Status
RESOLVED
Resolution
INVALID
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2009-02-15T02:25:00Z
Last change time
2015-06-09T01:21:02Z
Assigned to
nobody
Creator
someanon
Comments
Comment #0 by someanon — 2009-02-15T02:25:49Z
I have an object generated by dmd v2.023, when linking, the linker complains there are some undefined symbols:
local.obj(local)
Error 42: Symbol Undefined _D3std5stdio21__T6writefTAyaTAyaTaZ6writefFAyaAyaaZv
local.obj(local)
Error 42: Symbol Undefined _D3std5stdio21__T6writefTAyaTiTiTaZ6writefFAyaiiaZv
local.obj(local)
Error 42: Symbol Undefined _D3std5stdio19__T6writefTiTAyaTaZ6writefFiAyaaZv
These symbols are even un-demanglable:
$ ./demangle.exe _D4test3fooAa
char[] test.foo
but:
$ ./demangle.exe _D3std5stdio21__T6writefTAyaTAyaTaZ6writefFAyaAyaaZv
_D3std5stdio21__T6writefTAyaTAyaTaZ6writefFAyaAyaaZv
any suggestions where I should take a look?
Comment #1 by someanon — 2009-02-15T14:03:12Z
more info: looks like they are all coming from:
src/phobos/std/stdio.d:357 and
src/phobos/std/stdio.d:413
local.o: In function `_D3std5stdio17__T6writefTAyaTsZ6writefFAyasZv':
dmd/bin/../bin/../src/phobos/std/stdio.d:357: undefined reference to `_D3std6format82__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaTsZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxasZv'
local.o: In function `_D3std5stdio21__T8writeflnTAyaTAyaZ8writeflnFAyaAyaZv':
dmd/bin/../bin/../src/phobos/std/stdio.d:413: undefined reference to `_D3std5stdio21__T6writefTAyaTAyaTaZ6writefFAyaAyaaZv'
local.o: In function `_D3std5stdio19__T6writefTAyaTiTiZ6writefFAyaiiZv':
dmd/bin/../bin/../src/phobos/std/stdio.d:357: undefined reference to `_D3std6format84__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaTiTiZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxaiiZv'
local.o: In function `_D3std5stdio21__T8writeflnTAyaTiTiZ8writeflnFAyaiiZv':
dmd/bin/../bin/../src/phobos/std/stdio.d:413: undefined reference to `_D3std5stdio21__T6writefTAyaTiTiTaZ6writefFAyaiiaZv'
local.o: In function `_D3std5stdio19__T8writeflnTiTAyaZ8writeflnFiAyaZv':
dmd/bin/../bin/../src/phobos/std/stdio.d:413: undefined reference to `_D3std5stdio19__T6writefTiTAyaTaZ6writefFiAyaaZv'
Comment #2 by clugdbug — 2009-02-19T07:34:38Z
Your demangle is out-of-date. I don't think an up-to-date one exists yet.
There's no name mangling problem.
Please post a test case.
Comment #3 by lutger.blijdestijn — 2009-09-20T11:20:52Z
std.demangle in dmd 2.032 can demangle "_D3std5stdio21__T6writefTAyaTAyaTaZ6writefFAyaAyaaZv". Perhaps related to fixing of bug 2763.
Comment #4 by yebblies — 2011-06-12T14:30:49Z
Probably not a bug, no test case given, over two years old. No indication that dmd is at fault.