This change adds support to the rtems-syms code to generate a suitable
ELF object you can link to the base image kernel in the embed mode or
you can load with the run-time load mode.
The change fixes a bug in the framework where local ELF symbols
were being placed in the external symbol table. The external
symbol table has been removed and a global, weak and local set
of tables is now provided as this is more aligned with the ELF
format.
The rtems-sym tool has been changed from a basic map tool to now
provide an object file in the specific architecture containing
the symbols in the RTEMS kernel. It can still generate a map.
The object can be embedded or loaded. It cannot be both.
The trace linker builds the both_hello example in examples-v2.
Move the various string support functions into a C++ file and stop being
inlined. Make them return const std::string.
Add ld support to rld-cc.
Add search path support to rld-config so installed common files can be used.
Fix the path bugs.
Add an absolute path function to rld-path.
The --wrapper option lets a user control the wrapper file name and
location to aid testing.
Add keep support to tempfiles so specific tempfile can be set
to be kept.
Add unlink to the rld::path namespace.
This completes this code to a basic working level. It usable for the
RTEMS pc files but not as a full pkgconfig replacement. The python
version in the RSB is more complete.
The RTEMS Trace Linker or rtems-rld creates an RTEMS executable with
trace support built in without any changes the existing code.
This commit is an initial starting point with function signatures
being read from INI files.
std::list should be sorted first, then unique can remove duplicated
objects. Otherwise there will be many duplicated objects.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
1. Automatically place object files in archive files into a ra file,
using new option --runtime-lib
2. Add a new option --one-file to decide whether the collected
object files should be merged into the rap file or not.
Signed-off-by: Peng Fan <van.freenix@gmail.com>
This change added the object file details to the RAP format so aid debugging
support. The information can be optionally stripped for production images
not needed this information if space is an issue,with '--rap-strip' assigned
to rtems-ld.