-
Carsten Emde authored
1. Some libraries have type ELFOSABI_LINUX instead of ELFOSABI_SYSV and, thus, were considered to belong to a different OS. In consequence, they were not searched for exports to the ELFOSABI_SYSV objects. The fix was to overwrite their type with ELFOSABI_SYSV. 2. Undefined symbols have (at least here) length 0, but symbols with length 0 were completely skipped. The fix was to only skip symbols with length 0 if they are not marked as undefined. 3. Some valid function symbols have (again at least here) type STT_LOOS and were skipped, since only STT_FUNC was accepted. The fix was to store STT_LOOS symbols also as valid functions. 4. Symbolic links of libraries were stored but not evaluated. The fix was to add targets of symbolic links to the list of libraries to be evaluated. 5. In the original version, all symbols were included irrespective of whether they are in use or not. This has sometimes led to rather confusing images. The fix was to only include exported symbols that are in use at least once. 6. When an entire root file system was evaluated, the number of links exceeded by far what Neo4j could handle. The fix was to add the command line option "-t" or "--target" that accepts a comma-separated list of binary objects to scan. It this option is given, all other binaries are skipped. For this functionality it was required to recursively resolve all dependencies of the given binaries and to add them to the list of included binaries. 7. Added more output formats: 'gexf' for Gephi, 'gv' for Graphviz and 'text' for simple text output.
0f52fb67Carsten Emde authored1. Some libraries have type ELFOSABI_LINUX instead of ELFOSABI_SYSV and, thus, were considered to belong to a different OS. In consequence, they were not searched for exports to the ELFOSABI_SYSV objects. The fix was to overwrite their type with ELFOSABI_SYSV. 2. Undefined symbols have (at least here) length 0, but symbols with length 0 were completely skipped. The fix was to only skip symbols with length 0 if they are not marked as undefined. 3. Some valid function symbols have (again at least here) type STT_LOOS and were skipped, since only STT_FUNC was accepted. The fix was to store STT_LOOS symbols also as valid functions. 4. Symbolic links of libraries were stored but not evaluated. The fix was to add targets of symbolic links to the list of libraries to be evaluated. 5. In the original version, all symbols were included irrespective of whether they are in use or not. This has sometimes led to rather confusing images. The fix was to only include exported symbols that are in use at least once. 6. When an entire root file system was evaluated, the number of links exceeded by far what Neo4j could handle. The fix was to add the command line option "-t" or "--target" that accepts a comma-separated list of binary objects to scan. It this option is given, all other binaries are skipped. For this functionality it was required to recursively resolve all dependencies of the given binaries and to add them to the list of included binaries. 7. Added more output formats: 'gexf' for Gephi, 'gv' for Graphviz and 'text' for simple text output.
Loading