XOBJDUMP#
Synopsis#
xobjdump [options] xe-file
Description#
The xobjdump tool is used to examine and manipulate the contents of XMOS Executable (XE) files.
Options#
- --help#
Display a summary of the available options.
- --version#
Display the build version information.
- --sector-info#
Lists the contents or ‘sectors’ of the .xe file.
- --strip#
Creates a new XE file with suffix .xb in which the ELF sectors containing ELF files have been replaced with BINARY sectors containing flat binary images and a ‘load address’ at which to place them.
Also removes the SYSCONFIG sector.
XE files generated by this option retain the same format and can therefore be further manipulated by xobjdump.
- --split, -s#
Extracts ELF, BINARY, SYSCONFIG, XN, PROGINFO and XSCOPE sectors from the XE package and writes them as files in the current directory. Specifically:
Sector type
Default generated filename
ELF
image_n<node>c<tile>.elf
BINARY
image_n<node>c<tile>.bin
SYSCONFIG
config.xml
XN
platform_def.xn
PROGINFO
program_info.txt
XSCOPE
xscope.xscope
Where a sector exists with duplicate <node> and <core> value to a sector previously extracted (which will often be the case), the extracted filename will have an incrementing id added. For instance, the first ELF sector on node 0, tile 0 will be extracted as
image_n0c0.elf
. The second ELF sector on node 0, tile 0 will be extracted asimage_n0c0_2.elf
.
- --split-dir#
If
--split
is set, then extracts sectors into the directory <dir>. The directory must already exist.
- -o <file>#
When used with
--split
, causes ELF sectors to be extracted to<file>_n<node>c<tile>.elf
.When used with
--strip
, new XE file is given name<file>
.
- --disassemble, -d#
Disassembles contents of all executable sectors in XE file
- --source, -S#
Same as
--disassemble
, but interleaves source code into disassembly output. Requires source to have been built withxcc -g
.
- --disassemble-all, -D#
Same as
--disassemble
, but also provides binary contents of non-executable data sections.
Readelf-alike options#
The following options all have more powerful alternatives that rely on the generally available readelf
tool.
- --syms, -t#
Provides the symbol table for every ELF sector in the XE file.
More powerful example: Use
xobjdump --split
to obtain all the ELF files, then issue readelf --syms *.elf.
- --size#
Provides a summary of the code and data (both initialised and uninitialised) requirements for every ELF sector in the XE file.
More powerful example: Use
xobjdump --split
to obtain all the ELF files, then issue readelf --sections *.elf.