144 Commits

Author SHA1 Message Date
Joel Sherrill
36fde5169a rtemstoolkit/rld-cc.cpp: Accept -EL, -EB, and -Gn machine flags
closes #3401, #3402, $3424.
2018-10-14 16:58:20 -05:00
Chris Johns
3bd8def210 config: Consolidate the version information into a single configuration file 2018-10-03 11:38:09 +10:00
Chris Johns
5416cfa39d config: Create a config directory and move the RTEMS arch/bsp data to it.
Closes #3536
2018-10-02 16:49:54 +10:00
Chris Johns
317d85d71f rtemstoolkit/dwarf: Add types of inline. Report machine code size not span.
- Add the types of inlined functions to the interface.

- Return the machine code for each function and not the address span.
2018-08-07 09:11:29 +10:00
Chris Johns
d3318eb351 rtemstoolkit/dwarf: C++ object relates fixes and a dump report.
- Various C++ object fixes that improve stability where data from
  libdwarf is moving between object instances.
- Functions now provide better detail with inlined functions picking
  up attributes from an abstrtact DIE.
- Dump to a provide stream not stdout.
2018-08-07 09:11:29 +10:00
Chris Johns
367bae8843 rtemstoolkit/elf-symbols: Add the symbol types as an enum.
This can be used by applications to filter the symbols by type.
2018-08-07 09:11:29 +10:00
Chris Johns
058a3a0bd0 rtemstoolkit: Various coverity related fixes. 2018-08-07 09:11:29 +10:00
Chris Johns
ddcf29f18d rtemstoolkit/dwarf: Fix function loading with an DW_AT_specification attr. 2018-06-24 15:38:07 +10:00
Chris Johns
d8eef0a463 rtemstoolkit: Add DWARF function support.
Load the functions in each CU.
2018-06-18 12:26:16 +10:00
Chris Johns
0f481ad9f1 rtemstoolkit: Add an output routine for a std::exception.
The output routine is used by a number of tools.
2018-06-18 12:26:16 +10:00
Chris Johns
1cab261a78 rtemstoolkit/dwarf: Fixes for getting source lines. 2018-06-18 12:26:16 +10:00
Chris Johns
1f1a10f471 elftoolchain: Add libelftc. 2018-06-18 12:26:16 +10:00
Chris Johns
1c8538039e rtemstoolkit/dwarf: Change the address source line to signed so valid() works.
Also add a check to valid where there must be source to be valid.
2018-06-18 12:26:16 +10:00
Chris Johns
b73f905e3a rtemstoolkit/elf,files: Catch exceptions in destructors.
Catch exceptions in destructures and print a message to avoid
an unhandled exception happening in an exception stack unwind.
2018-06-18 12:26:16 +10:00
Chris Johns
f7d303f104 rtemstoolkit/path: Fix crash when going above the root directory. 2018-06-18 12:26:05 +10:00
Chris Johns
3618a62faf rtemstoolkit/elf: Add data size and endian support to the ELF interface. 2018-06-15 15:54:25 +10:00
Chris Johns
558cab8e4f rtemstoolkit: Add libdwarf C++ interface.
Provide a C++ interface to libdwarf to:
 - Manage DWARF debug data
 - Manage CU
 - Manage DIE
 - Handle CU line addresses
 - Handle CU source files

Update #3417
2018-06-15 15:54:25 +10:00
Chris Johns
b0b9366807 rtemstoolkit: More warning fixes to ConvertUTF.c 2018-05-06 13:35:35 +10:00
Joel Sherrill
feafa6fdf3 _elftc.h: Make compile on Cygwin 2018-04-30 18:12:49 -05:00
Chris Johns
e0a52a4fe4 rtemstoolkit: Remove warnings generated on Windows for fall-thru. 2018-04-30 15:50:03 +10:00
Chris Johns
4bb3996f2c rtemstoolkit: Add libdwarf from elftoolchain.
The code is taken from:

 https://svn.code.sf.net/p/elftoolchain/code/trunk

Update #3417
2018-04-30 15:40:40 +10:00
Chris Johns
771e7f162e rtemstoolkit: Update elftoolchain to the latest code.
The update is taken from:

 https://svn.code.sf.net/p/elftoolchain/code/trunk

Update #3417
2018-04-30 15:18:34 +10:00
Chris Johns
6f48c914b2 Revert "rtemstoolkit: Update elftoolchain to the latest code."
This reverts commit 0c5db2dd13b8270bb80c497d5f53ae2471f8a819.
2018-04-30 13:39:09 +10:00
Chris Johns
0c5db2dd13 rtemstoolkit: Update elftoolchain to the latest code.
The update is taken from https://github.com/elftoolchain/elftoolchain.

Update #3417
2018-04-29 11:55:37 +10:00
Chris Johns
ec419a05ee rtemstoolkit/rap: Ignore R_ARM_V4BX relocation records
Note, this removes the detalis needed to alter the instruction for
an ARMv4 instruction set. Currently this type of record is not handled
in the RAP format loader and the RTL loader ignores it.

Close #3396
2018-04-16 11:55:01 +10:00
Chris Johns
82c8788b11 rtemstoolkit/rtl-file: Remove a file on close if requested
Close #3395
2018-04-14 14:15:07 +10:00
Sebastian Huber
e5dad3cfed Change RTEMS version from 4.12 to 5
Update #3220.
2017-11-09 08:06:16 +01:00
Chris Johns
c68beb8181 tester: Add the rtems-run command. 2017-11-03 17:59:53 +11:00
Chris Johns
a248471737 rtemstoolkit: Remove test import for YAML.
Closes #3204.
2017-10-25 08:53:27 +11:00
Chris Johns
bf58911519 tester: Refactor to use INI format files for BSP configurations.
- Add support for user condfigurations files with the --user-config.
- Add support for a $HOME/.rtemstesterrc for a user configuration.

Closes #3204.
2017-10-24 22:21:35 +11:00
Chris Johns
7051ba5b19 bsb-builder: Add email support, and config report types. 2017-10-22 18:56:26 +11:00
Chris Johns
dc5de5f299 rtemstoolkit: Update the mailer module to the option interface. 2017-10-12 06:11:16 +11:00
Chris Johns
7c032b0939 rtemstoolkit: Add a capture hook to logging. 2017-10-12 06:09:52 +11:00
Chris Johns
7f1167002c rtemstoolkit: Fix error message in options. 2017-10-12 06:08:31 +11:00
Sebastian Huber
5df7c3cd51 Install missing files 2017-10-10 20:07:15 +02:00
Chris Johns
fa81491764 Move the reraise logic into the tool kit. 2017-09-21 17:45:39 +10:00
Joel Sherrill
875c071feb rtemstoolkit/rld-compression.cpp: Fix warning for comparing signed to unsigned 2017-09-14 18:22:44 -05:00
Chris Johns
8e64821c9f rtemstoolkit: Remove throw from file::image destructor. 2017-09-14 12:22:14 +10:00
Cillian O'Donnell
67d48e2e07 rtemstoolkit/host.py: Change option to search parent directory in Python3.
This works in Python2.7 and Python3.5. Python2 __import__ searches relative
and absolute paths by default. Python3 searches only absolute paths as default.
The option change searches 1 parent directory relative to the calling function
and has the same meaning in Python2 and Python3.
2017-08-29 18:05:00 +10:00
Chris Johns
f2bb43913b rtemstoolkit/libiberty: Fix broken configure detection.
The file libiberty.h requires some configure macros to control some parts
and these are not provided so the file did not match what was needed. Hard
code the result and remove the need for the macros. The related calls
are not provided in our libiberty usage and not needed.

Closes #3103.
2017-08-20 17:19:06 +10:00
Chris Johns
78bbe4c1a3 linkers/exe-info Support ARM static constructors.
Note, ARM destructors are registered at runtime and currently not
easly found.

Update libiberty to get a newer demangler.

Closes #3102.
2017-08-16 18:18:35 +10:00
Cillian O'Donnell
718b23024d rtemstoolkit/rld-process.h: Include rld.h to find 'strings' definition 2017-05-31 21:08:09 +10:00
Chris Johns
4c24f40a99 rtemstoolkit: Improve performance. 2017-05-24 12:27:22 +10:00
Chris Johns
ed80d2c041 rtemstoolkit: Add the configuration.py module to the install. 2017-05-16 16:43:19 +10:00
Chris Johns
ef38b5d7c2 rtemstoolkit: Add Python INI configuration support. 2017-05-15 11:48:44 +10:00
Chris Johns
9e7ed079b3 rtemstoolkit: Set proc buffering to 0 to not block on smaller reads. 2017-04-25 09:31:37 +10:00
Chris Johns
224fb21b30 rtemstoolkit: Add a textbox module for formatted reporting. 2017-04-25 02:38:40 +10:00
Chris Johns
437092487f execute: Use the io python module for output capture.
This change drops the overhead of capturing the process output. The
io module in Python is similar to the POSIX API for a file read
where a read will return up to the buffer size rather than blocking
until the buffer is full.
2017-04-25 00:32:53 +10:00
Chris Johns
7d3350d0bb rtemstoolkit: Move host support access into a separate module.
Moving the host support into a module lets it get used where options
is not being used.
2017-04-25 00:31:44 +10:00
Chris Johns
31e22e337c libelf: Use minimal environment for C translation with readelf.
The output of readelf needs to be in English.
2017-01-09 09:05:18 +11:00