Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

cbdevnet/rtl2dot

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
10 Commits
 
 
 
 
 
 

Repository files navigation

rtl2dot

Create C callgraphs from gcc rtldumps via GraphViz.

Based on egypt, rewritten in python with added support for configurable root nodes and omission by regex. May or may not work with C++ code.

Usage

Compile your code with -fdump-rtl-expand (eg. by running make CFLAGS=-fdump-rtl-expand). This will generate some new files, most commonly with the extension .expand.

Run rtl2dot myproject.beepbop.expand | dot -Tsvg > myproject.svg to get a graph of the main function of your project.

Valid options are:

  • --ignore <regex> Regular expression describing function names to be ignored
  • --root <function> Select the function to use as root node of the graph
  • --local Ignore functions that are not defined within the rtl dump (most likely library functions)
  • --indirect Draw a dashed line when the address of a function is taken

Any other arguments are treated as input files. If no input files are given, input is expected on stdin.

Example

./rtl2dot.py smtpd.expand --root core_loop --ignore "client_send|logprintf|common_*" --local | dot -Tsvg > smtpd.svg

License

This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar and reproduced below.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004

Copyright (C) 2004 Sam Hocevar sam@hocevar.net

Everyone is permitted to copy and distribute verbatim or modified 
copies of this license document, and changing it is allowed as long 
as the name is changed. 

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.

About

C call graph generator

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.