Cross-Indexing

Side-by-side assembly language and corresponding source code

Program xref uses the output of llvm-dwarfdump and objdump -d to construct a web page that contains side-by-side assembly language and corresponding source code for Rust programs.

About Cross-Indexing

The Java project is called XREF, a program written in Ruby that takes the output of “llvm-dwarfdump” and “objdump -d” to create a web page containing side-by-side assembly language and corresponding source code for a Rust program that is provided as input. The assembly and source are aligned based on the first instruction in each contiguous block of instructions that come from the same line of source code, resulting in a clear and easy-to-read display of the source code and corresponding assembly instructions.


The program is designed to present source lines without corresponding assembly instructions immediately above the first occurrence of the following source line, and to omit assembly code for which there is no corresponding source. Additionally, source for in-lined functions is displayed in-line. For the sake of clarity, the second and subsequent occurrences are grayed-out, ensuring that the display is easy to read and interpret. XREF can output the resulting HTML file for one Rust file at a time. The resulting HTML file is styled with Bootstrap, ensuring an easy to navigate.

Please note that the code for this project is not available online, due to the updated University of Rochester Academic Honesty policy.

Contact Me

Call Me

+1 (585)705-8594

E-mail

ahmedboutar4@gmail.com

Location

Boston - US