dumprpl - Dump RPL Information


dumprpl [<options>...] <file>...


Control What Is Dumped

-n Print each filename before processing that file.
-a|-all Dump all sections.
-sect|-sections Dump the section headers.
-sym Dump the symbol table. See Control Symbol Dumping for additional options that select the symbols to dump.
-data Dump any data sections.
-text Dump any text (executable) sections.
-imports Dump import information.
-exports Dump export information.
-r|-rel Dump relocations.
-only:<NAME> Dump the <NAME> section. For example, -only:.fexports dumps the .fexports section.
-countreloctypes Count relocation types and summarize by local versus imported.
-refs List referenced symbols.
-size Summarize sizes of loaded sections. Use -z to see compression information.
-loadsize Print information about code and data memory required to load.
-sizelimits Print size information on TEXT, DATA, LOAD, and TEMP segments.
-padinfo Print amount of padding available in TEXT, DATA, LOAD, and TEMP segments.
-padsummary Print one line per RPL of used and padding in TEXT, DATA, and LOAD segments.
-padcsv Print one line per RPL of used and padding in TEXT, DATA, and LOAD segments. Output as a CSV file which can be opened as a spreadsheet.
-dependdot Dump the dependencies between multiple RPL files in DOT format. See Control Dependency Dumping for additional options that control the dependency output. See http://www.graphviz.org for information about the DOT format.
file... One or more RPL or RPX files to dump information from.

Control Formatting

-l|labels Print labels when dumping section data.
-nolocals Do not print local labels.
-ghs Show GHS MULTI symbols (hidden by default).
-raw Dump sections as hex.
-strings Dump sections as strings.
-v Dump in the most verbose form.
-z Show compression information when printing sizes. Compressed file size is not applicable; only sections are compressed. Expanded reloc is an estimate. It is evaluated by the loader during decompression to minimize memory usage.

Control Number Formatting

-k Print sizes in kilobytes (rounded up).
-m Print sizes in megabytes (in 10ths rounded up).
-g Prints sizes in gigabytes (in 10ths rounded up).
-h Pick the closest of -k, -m, -g, or -D.
-D Print sizes in decimal (default).
-X Print sizes in hexadecimal.

Control Symbol Dumping

The following options determine which symbols to dump when the -sym option is used to dump the symbol table.

-def|-onlydef Only defined symbols.
-named Only symbols with names.
-onlyref Only referenced symbols.
-sortbyaddr Sort symbols by address.

Control Dependency Dumping

The following options control the dependency output when the -dependdot option is used.

-colorshared Color shared system RPLs as gray.
-clustershared Cluster shared system RPLs.
-rankdirTB Lay out the graph from top to bottom of the page (default is left to right).
-norankunref Do not force unreferenced RPLs to the left (or top) of the page.
-nounref Ignore RPLs that are not referenced by an RPX (or forced with the -root option).
-root Treat the next RPL file as a root (for use with -nounref).


A 32-bit Windows tool that dumps information about an RPX or RPL file generated by the preprpl[32|64] tool to stdout.

This tool is usable on both 32-bit and 64-bit systems.


Using Default Options

$ dumprpl char1.rpl

Section # 2, Exports (SHT_RPL_EXPORTS, .fexports, 78 bytes, compressed to 76%)
  CODE SIG=0x21725B3A (   2 SYMBOLS)

Section # 8, Imports (SHT_RPL_IMPORTS, .fimport_game.rpx, 17 bytes)
  CODE SIG=0x598932BF (   1 SYMBOLS) game.rpx

Section # 9, Imports (SHT_RPL_IMPORTS, .dimport_game.rpx, 17 bytes)
  DATA SIG=0x8F43016B (   1 SYMBOLS) game.rpx

Section # 10, Imports (SHT_RPL_IMPORTS, .fimport_coreinit, 5912 bytes, compressed to 1%)
  CODE SIG=0x274AF396 ( 738 SYMBOLS) coreinit

Section # 11, Imports (SHT_RPL_IMPORTS, .dimport_coreinit, 80 bytes, compressed to 39%)
  DATA SIG=0x5C33F1A1 (   9 SYMBOLS) coreinit

Section # 16, RPL File Info (SHT_RPL_FILEINFO, 145 bytes)
File Information Version 4.1
  SRC "C:\cafe\dev_cos\system\bin\ghs\cafe\demo\dynload\mod_char\char1\NDEBUG\char1.rpl"
  TEXT ALIGN 32   SIZE       1184
  DATA ALIGN 64   SIZE       1356
  LOAD ALIGN 32   SIZE      21584
  TEMP            SIZE        832
  TRAMP ADJUST    SIZE          0
  SDA  BASE            0x00008000
  SDA2 BASE            0x00008000
  STACK INIT      SIZE      65536
  SYS HEAP        SIZE      32768
  TAGS:     NONE

Using -size

$ dumprpl -size -h -z char1.rpl
filename          filesize      text      data       bss    loader     reloc
char1.rpl:              6K        2K       64         2K       22K      310
char1.rpl.z:                     731       32         0         3K
char1.rpl.z:           20%       62%       50%        0%       11%       42%

See Also

RPX/RPL Overview
Building with Examplemake
RPX/RPL Cross-Referencing

Revision History

2014/06/24 Reworked external link.
2013/05/08 Automated cleanup pass.
2012/07/23 Minor display changes.
2011/10/19 Examplemake addition.
2011/02/21 Initial version.