#binary #native #source #symbols #list #file #parse

compiledfiles

Parse native binary symbols for list of source files used to compile binary

8 releases (breaking)

0.8.0 Mar 14, 2023
0.7.0 May 26, 2022
0.6.0 Apr 28, 2021
0.5.0 May 16, 2020
0.1.0 Dec 15, 2019

#2705 in Parser implementations

Download history 55/week @ 2024-03-25 124/week @ 2024-04-01 125/week @ 2024-04-08 118/week @ 2024-04-15 122/week @ 2024-04-22 118/week @ 2024-04-29 132/week @ 2024-05-06 116/week @ 2024-05-13 139/week @ 2024-05-20 117/week @ 2024-05-27 136/week @ 2024-06-03 140/week @ 2024-06-10 121/week @ 2024-06-17 123/week @ 2024-06-24 125/week @ 2024-07-01 105/week @ 2024-07-08

494 downloads per month

MIT license

16KB
274 lines

CompiledFiles

Actions Status Rust Docs Crates.io Link

A rust library to return a list of all the source files listed in the symbols of a native compiled file.

For example, a simple main.c such as the following

include <stdio.h>

int main(int argc, const char* argv[]) {
    printf("Hello, World\n");
    return 0;
}

compiled with GCC, would return

  • /home/matt/dev/examples/simple_c/main.c
  • /usr/include/stdio.h
  • /usr/include/x86_64-linux-gnu/bits/types/FILE.h
  • /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h

Supported Systems

This library is cross platform, and can be used on a Windows, Linux, or Mac host. However, there are many tools that generate different symbols files and not all are currently supported.

Supported Compilers

The following compilers are currently supported:

  • GCC
  • MSVC
  • Clang

No versioning check has been done yet to ensure the symbol files they generate are compatiable across all versions.

Supported Languages

The only supported languages currently are C/C++ though other languages may just work. Due to the nature of this project, Rust is next on the list for support.

Supported Formats

The following symbol formats are currently supported

  • Elf
  • PDB

Mach-O files are next in line. Also, split dwarfs have not yet been tested.

Dependencies

~5.5MB
~113K SLoC