Here is how to use binutils_gen:
- Clone this into NemaSpec
- Make sure you have the
NEMA_ROOT
variable set to the root of the nema projects. - Then in NemaSpec create a virtual environment if you haven’t done so already.
cd $NEMA_ROOT/NemaSpec virtualenv --no-site-packages .
- From the package’s folder run setup.py install.
cd binutils_gen ../bin/python setup.py install cd ..
- Then run
bin/binutils_gen
from NemaSpec and everything will be done automagically - If you want to clean everything up, we support it now with the
-c
option. - To play with the command line parameters you can run
bin/binutils_gen --help
- To fiddle with opcode arguments’ parsing you want to edit
binutils_gen/config.py
. The options in there should be more than enough. - This will also teach binutils to change relative jump opcodes to
absolute jumps when they refer to
libnema
symbols. To disable this functionality pass gas--no-reljump-conversion
. This is generally used when compiling the library itself.
This will generate a list of symbols in the library using nm
. You
can choose your own version of nm
but the default usually works
quite well. The generated file is meant to be used with the ld
’s option
-R
. For more details take a look at --help
.