Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #740 (closed defect: fixed)

Opened 10 years ago

Last modified 10 years ago

Linker error and a workaround

Reported by: keinfarbton Assigned to: larsivi
Priority: major Milestone: 0.99.4
Component: Tango Version: 0.99.2 Don
Keywords: dmd Cc:

Description

I get this linker error:

`.gnu.linkonce.t_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout9fromUtf32FAwAaZAa' referenced in section `.gnu.linkonce.d._D5tango2io5Print12__T5PrintTaZ5Print7__ClassZ' of /home/dateruser/Dater/dsss/lib//libSDD-tango-io.a(tango.io.Stdout.o): defined in discarded section `.gnu.linkonce.t_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout9fromUtf32FAwAaZAa' of /home/dateruser/Dater/dsss/lib//libSDD-tango-io.a(tango.io.Stdout.o)

For me it works, if I add this alias into tango.text.convert.Layout:

alias Layout!(char) dummyAlias;

So it seems to prevent the section from being disregarded.

Change History

11/09/07 16:38:01 changed by kris

D2 or D1 ?

I'd guess this a part of that compiler bug series, regarding sections?

11/11/07 12:51:41 changed by keinfarbton

D1 with svn trunk.

There was not more information about sections.

11/11/07 13:16:46 changed by keinfarbton

there was another one with the same problem in the german irc.

He used minid and the wchar/dchar versions of this alias removed his linker errors on windows

Error 42: Symbol Undefined _D5tango4text7convert6Layout13__T6LayoutTwZ6Layout6__initZ
obj\Debug\MiniDInterface.obj(MiniDInterface)
Error 42: Symbol Undefined _D5tango4text7convert6Layout13__T6LayoutTwZ6Layout7convertMFDFAwZkAC8TypeInfoPvAwZk
obj\Debug\MiniDInterface.obj(MiniDInterface)

11/12/07 10:11:57 changed by larsivi

  • owner changed from kris to larsivi.
  • status changed from new to assigned.
  • milestone set to 0.99.4.

11/12/07 10:12:22 changed by larsivi

  • keywords set to dmd.

Does this ticket have a relevant bugzilla entry?

11/23/07 20:59:01 changed by larsivi

I suppose it is bugzilla 1508.

11/24/07 13:06:08 changed by larsivi

FWIW, the unittest.sh script expose the same error, this time fixed by alias StreamIterator!(char) dummyAlias;

Any thoughts on what to do with these workarounds? We could put them in a DMD and linux version block, but it will be fragile. Other apps will quickly require other aliases again.

11/27/07 10:19:45 changed by larsivi

#769 is a duplicate of this.

11/28/07 13:25:36 changed by larsivi

  • status changed from assigned to closed.
  • resolution set to fixed.

This is fixed in DMD 1.024 / 2.008

11/28/07 16:41:26 changed by kris

Yay!