Package: dis51 Version: 0.5-1 Severity: wishlist Tags: patch I was unsatisfied that the labels were only numeric. Therefore I've improved it to use labels from a linker map file. Please find attached the according patches.
The first patch replaces the old numeric-only label generation by a real label manager. It is able to handle any string as label. These are managed in a linked list. The resulting output of dis51 is tested to be identical to the old labels generation. The second patch introduces the ability to read and parse a map file generated by aslink (package sdcc) and use all labels in code segments. These are stored by the label manager and further used during disassembly. Therefore less numeric labels are generated and the disassembled code is more readable. To read a map file, I've improved the command line argument parsing of void main(). It now first checks for "-h" and "--help" and prints some usage information. Then it parses all parameters in a loop and handles them. Additionally all labels from the map file are used as entry points for disassembly. This greatly improved the coverage of my test files. PS: I've sent this as mail to the program author. He answered: > Thanks, I also received another patch to improve the labels recently. > I appreciate the patch but might not have time to do anything with it > for a while. Feel free to host this patch somewhere yourself if you > want, or even host the patched source. I may get to it eventually but > it won't be for a while. Therefore I send the patches to the Debian package maintainers in the hope to include them in a next revision. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.37-2-amd64 (SMP w/8 CPU cores) Locale: LANG=de_AT.utf8, LC_CTYPE=de_AT.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dis51 depends on: ii libc6 2.11.2-13 Embedded GNU C Library: Shared lib dis51 recommends no packages. dis51 suggests no packages. -- no debconf information
dis51-1-label-manager.patch.gz
Description: GNU Zip compressed data
dis51-2-read-map.patch.gz
Description: GNU Zip compressed data