XOBJDUMP¶
Synopsis¶
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.