Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document elf2tag script #1916

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Document elf2tag script #1916

wants to merge 2 commits into from

Conversation

ndim
Copy link
Contributor

@ndim ndim commented Aug 29, 2024

This aims to add documentation to the elf2tag script (installed to $(bindir) by default):

  • Add -h and --help argument handling to print the usage information.

  • Add a very basic man page elf2tag.1.

    Some distributions encourage having man pages (e.g. Fedora), some other distributions require a man page for each executable in $(bindir) (e.g. Debian).

    It makes sense to concentrate this documentation effort at the place common to all distributions, i.e. upstream, i.e. here.

TODO:

  • Build elf2tag.1 from elf2tag.1.adoc using the update-elf2tag-manpage script as git precommit hook, CI command, or buildsystem command, or just commit elf2tag.1 without elf2tag.1.adoc and update-elf2tag-manpage (like the avrdude.1 file)?

  • Is the example command with avrdude disasm accurate?

@ndim ndim changed the title Document elf2tag Document elf2tag script Aug 29, 2024
@mcuee mcuee added the documentation Improvements or additions to documentation label Aug 30, 2024
@stefanrueger
Copy link
Collaborator

Cool idea!

@ndim ndim force-pushed the document-elf2tag branch 4 times, most recently from c62e9d8 to d798a91 Compare September 1, 2024 22:05
@ndim
Copy link
Contributor Author

ndim commented Sep 4, 2024

Does this need any additions?

ELF2TAG(1)                     avrdude Manual                     ELF2TAG(1)

NAME
       elf2tag - output a tagfile for the avrdude disasm command

SYNOPSIS
       elf2tag <file.elf>

       elf2tag [-h | --help]

DESCRIPTION
       elf2tag generates a tagfile for use with the avrdude disasm command.

OPTIONS
       -h --help
           Prints the help message and exits.

EXAMPLES
           $ elf2tag file.elf > file.tag
           $ avrdude -t ...
           avrdude> ...
           avrdude> disasm -t=file.tag ...

AUTHORS
       elf2tag was written by Johannes Bauer with small modifications by
       Stefan Rueger.

SEE ALSO
       avrdude(1), avr-nm(1), avr-objdump(1)

avrdude                          2024-09-04                       ELF2TAG(1)

Add basic elf2tag(1) manpage using asciidoc/asciidoctor.

To update the elf2tag.1 file from elf2tag.1.adoc, run
the update-elf2tag-manpage script.

No CI or buildsystem or git precommit hook integration yet.
@stefanrueger
Copy link
Collaborator

Is the example command with avrdude disasm accurate?

@ndim Here a more extensive example using blink.elf compiled for ATmega328P as input:

$ elf2tag blink.elf  >blink.tag
$ avrdude -qq -c dryrun -p m328p -U blink.elf -t
avrdude> disasm -t=blink.tag flash 0 512

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants