False syscall dependencies

Dave Korn dave.korn@artimi.com
Thu Dec 15 14:46:00 GMT 2005

Shaun Jackman wrote:
> A quick postscript. I found the dependency tree above using the linker
> map produced `ld -M' and a short filter to convert this output to a
> form graphviz's dotty could plot. The result is very pleasing. If
> anyone's interested I'll post it. In fact, I'll post it anyways. The
> usual 'this is ugly ugly one-off Perl code' caveat applies. Please
> wear sunglasses.
> Cheers,
> Shaun
> ========== ldmdot ==========
> #!/usr/bin/perl -w
> use strict;
> print "digraph ldmap {\n";

  Thanks for that script.  I think it has problems with my -ffunction-sections
-alike naming scheme (or perhaps I'm just invoking dot wrong, I haven't used
it before), but after running ldmdot over one of my .map files, I get this
error feeding it to dot:

dk@espanola /artimi/firmware/build/dlx-lomond-artimi/dot153mac/mac> dot

Error: /usr/local/lib/graphviz/config is zero sized, or other read error.
Error: mac.dot:4: syntax error near line 4
context: etherdme_text_EtherDme_SetInstance_o -> >>>  . <<<
firmware/build/dlx-lomond-artimi/dot153mac/mac/pal/ethernet/etherdme.o ->
Error: Layout was not done.  Missing layout plugins?

  Line 4 of mac.dot actually says:

etherdme_text_EtherDme_SetInstance_o ->
lomond-artimi/dot153mac/mac/pal/ethernet/etherdme.o -> etherdme_bss_thisDme_o;

i.e. those >>> and <<< are dot's error markers and it's complaining about the
period at the beginning of the symbol name.  Does dot require these symbols (I
assume they're treated as graph node identifiers?) to only have alphanumerics
and underscores?

Can't think of a witty .sigline today....

More information about the Newlib mailing list