debug symbols creation is broken?

Michael Stahl mstahl at redhat.com
Thu Nov 1 06:11:47 PDT 2012


On 01/11/12 10:14, David Ostrovsky wrote:
> Hi,
> 
> trying to debug Stuart's accessibility issues i am trying to turn on the 
> debug symbols (VC2010) ang getting this:
> 
> http://pastebin.com/PZs5T3Er
> [...]
> C:\workspace\LO-Win2008-VC2010\workdir\wntmsci13.pro\LinkTarget\Library\ijvmfwk.lib.pdb 
> is wrong path. the compile lines contain 
> -Fd$W/LinkTarget/pdb/Library/ijvmfwk.lib.pdb
> [...]
> 
> Evidently: the directory $W/LinkTarget/pdb/Library exists but is empty.
> 
> @Michael can it be related to your recent AUXTARGETS change?

hmm... i don't think so but havent actually tried to revert that...

there are apparently 2 pdb files for every LinkTarget:

1. workdir/*/LinkTarget/pdb/isot.lib.pdb
   this is passed to the CXX invocation as -Fd so the compiler
   writes the debug info into that (apparently there must be some
   synchronization there so that multiple cl.exe don't step on each
   others toes)

2. workdir/*/LinkTarget/Library/sotlo.pdb
   this is written by the linker, and apparently uses the first pdb
   file as input

with just -Fd...foo.pdb and without the special flag to produce debug
info cl.exe will not write to the .pdb file and it will not exist.

so what (i thought at first) happens here is that you have compiled the
library first without debug, so you don't get any pdb file, and then you
don't clean any object file and build with debug=t then the linker will
complain that there is no pdb file to read.

actually that was a nice theory but i don't get a warning in that case
(MSVC 2008); apparently the .o files remember if they are build with
debug or not?

i can however reproduce that if i manually delete the isot.lib.pdb and
then re-link without re-compiling.




More information about the LibreOffice mailing list