Provided by: mescc-tools_1.5.2-1ubuntu1_amd64 bug

NAME

       hex2 - The trivially bootstrappable linker that is designed to be introspectable by humans

SYNOPSIS

       hex2 --architecture ARCHITECTURE --base-address ADDRESS --file FILE [--output FILE [--non-
       executable]]

DESCRIPTION

       hex2 is designed to allow humans to write elf and other binary files by hand in a format
       that allows comments and ease of understanding.

       At its core is read 2 hex characters add them together and output a single byte. You can
       override this and use binary or octal input if you so desire, using the --octal or
       --binary option.
       If no output file is specified the output will be send to standard out.  By default the
       file will be executable unless the option: --non-executable is also passed.

       The supported ARCHITECTURES are as follows: knight-native, knight-posix, x86, amd64,
       armv7l and aarch64.  If you fail to specify an architecture, the default of knight-native
       will be used.
       The base address for which the binary is to be loaded into memory and thus the relative
       and absolute pointers should be based, is passed via --base-address if it is not provided
       the default value of ZERO will be assumed.

       hex2 also support labels in the :LABEL format and relative and absolute pointers to those
       labels in 8, 16, 24 or 32bit sizes.  !LABEL, @LABEL, ~LABEL and %LABEL for 8, 16, 24 and
       32bit relative addresses respectively and $LABEL and &LABEL for 16 and 32bit absolute
       addresses respectively.  Should you wish to specify the bit and byte encoding of the
       addresses to match your target --big-endian and --little-endian

       On architectures that require word alignment the < and ^ characters have a special
       meaning; particularly pad to word and use word base address calculation rather than
       standard byte based address calculation; generally seen in the form: ^~LABEL EB for calls
       in ARM

EXAMPLES

       Typically, hex2 will be called in scripts used in bootstrapping
       # hex2 -f ELF-armv7l.hex2 -f cc.hex2 --little-endian --architecture armv7l --base-address
       0x10000 -o cc

COMPATIBILITY

       hex2 is compatible with all Turing complete machines; even the ones that try to be Turing
       complete -1

AUTHORS

       Jeremiah Orians <Jeremiah@pdp10.guru>
       Jan (janneke) Nieuwenhuizen <janneke@gnu.org>

COPYRIGHT

       Copyright 2016-2019 Jeremiah Orians <Jeremiah@pdp10.guru>
       Copyright 2017 Jan Nieuwenhuizen <janneke@gnu.org>
       License GPLv3+.

SEE ALSO

       M1(1), blood-elf(1), kaem(1), syscalls(2)