UMPS3-ELF2UMPS(1)

πŸ“¦
version 3.0.5 Β· 2 versions
  • 3.0.5 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 3.0.4 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– UMPS3-ELF2UMPS(1) πŸ’–

okay bestie, welcome to the umps3-elf2umps page β€” it's the uMPS3 object file conversion utility, and it's genuinely so iconic. General Commands Manual energy, iykyk.


✨ NAME ✨

umps3-elf2umps β€” the uMPS3 object file conversion utility, aka the little tool that turns your ELF files into files uMPS3 will actually accept 🫢


🌸 SYNOPSIS 🌸

umps3-elf2umps [OPTIONS] -k FILE
umps3-elf2umps [OPTIONS] -b FILE
umps3-elf2umps [OPTIONS] -a FILE

like, pick your flavour of output, you can't have all three at once, that's the vibe πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so the command-line umps3-elf2umps utility is used to convert the ELF formatted executable and object files produced by the gcc cross-platform development tools into the .aout, .core, and .rom formatted files required by uMPS3. literally its whole job. no cap.

A successful conversion will produce a file by the name of file.core.umps, file.rom.umps, or file.aout.umps accordingly. note the file. prefix and the .umps suffix bestie, they're not optional ✨

A .stab file is a text file containing a one-line uMPS3-specific header and the contents of the symbol table from the ELF-formatted input file. It is used by the uMPS3 simulator to map .text and .data locations to their symbolic, i.e. kernel/OS source code, names. Hence the automatic generation of the .stab file whenever a .core file is produced. Since .stab files are text files one can also examine/modify them using traditional text-processing tools. lowkey the most useful thing ever πŸŽ€

In addition to its utility in tracking down errors in the umps3-elf2umps program (which hopefully no longer exist), the -v flag is of general interest since it illustrates which ELF sections were found and produced and the resulting header data for .core and .aout files. For .rom files, the -v flag also displays the BIOS code size obtained during file conversion. so if you wanna peek behind the curtain, that's your flag πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • -v β€” Optional flag to produce verbose output during the conversion process.
  • -m β€” Optional flag to generate the .stab symbol table map file associated with FILE.
  • -k β€” Flag to produce a .core formatted file. This flag can only be used with an executable file. A .stab file is automatically produced with this option.
  • -b β€” Flag to produce a .rom formatted file. This flag can only be used with an object file that does not contain relocations.
  • -a β€” Flag to produce a .aout formatted file. This flag can only be used with an executable file.
🚨 bestie listen β€” -k is executable files only, -b is object files with no relocations only, and -a is executable files only. do not fight the requirements, they will win. πŸ’€

πŸ“ FILES πŸ“

  • FILE is the executable or object file to be converted.

🌈 AUTHOR 🌈

  • Mauro Morsiani
  • Tomislav Jonjic tjonjic@gmail.com
  • Contributors can be listed on GitHub.

shoutout to the authors, absolute legends fr fr πŸ’œ


πŸ™ˆ BUGS πŸ™ˆ

Report issues on GitHub: https://github.com/virtualsquare/umps3

not me asking you to file a bug report but like, gently 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

Full documentation at: https://github.com/virtualsquare/umps3 Project wiki: https://wiki.virtualsquare.org/#!umps/umps.md


  • 2004, Mauro Morsiani
  • 2010-2011, Tomislav Jonjic tjonjic@gmail.com

and that's the whole page bestie, December 2022 edition of UMPS3-ELF2UMPS(1) β€” go convert something slay πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from