126 Commits

Author SHA1 Message Date
Chris Johns
757578d3ab rtemstoolkit/configuration: Fix interpolation support.
- It was disabled always. Now optional by the constructor.
2019-06-12 09:48:28 +10:00
Chris Johns
2b27eec2ae rtemstoolkit/macros: Improve the macro output.
- Support optionally reporting just the keys and their values.
2019-06-11 11:00:30 +10:00
Chris Johns
89dcdbc9ff rtemstoolkit/configuration: Add get_sections() to get the sections.
- Fix module access when catching exceptions.
2019-06-11 11:00:30 +10:00
Chris Johns
af9b561e92 rtemstoolkit/path: Merge RSB changes. 2019-06-11 11:00:30 +10:00
Chris Johns
5dd75b028a rtemstoolkit/log: Add info(). 2019-06-11 11:00:30 +10:00
Chris Johns
9b153bc20f rtemstoolkit/host: Make the load() public. 2019-06-11 11:00:30 +10:00
Chris Johns
7568306148 rtemstoolkit/check: Optionally check exe silently. 2019-06-11 11:00:30 +10:00
Chris Johns
cbff4c8ca2 rtemstoolkit/macros: Convert all keys to str from unicode. 2019-06-11 08:37:25 +10:00
Chris Johns
d7979dece6 waf: Update the check_cc tests to a newer method supported by waf.
- Fix a minor issue in covoar's use of 64bit calls.
2019-05-27 10:08:27 +10:00
Vijay Kumar Banerjee
6c79a16e20 rtemstoolkit/path : print OSError in mkdir 2019-05-21 15:53:38 +10:00
Vijay Kumar Banerjee
9f197dea76 rtemstoolkit/path : Add listdir function 2019-05-21 15:53:38 +10:00
Chris Johns
925448a452 rtemstoolkit: columns are only ints. 2019-05-05 10:48:49 +10:00
Joel Sherrill
9277878fed rtemstoolkit/mailer.py: Check for no --smtp-host arg being provided 2019-02-21 17:52:49 -06:00
Chris Johns
6e0f49a94a linkers/syms: Add symbol filtering.
- Filter symbols by regx.
- Return the name of a symbol via demangled() even it is not
  a mangled C++ function.
2019-02-11 16:42:53 +11:00
Chris Johns
61741fe1b2 rtemstoolkit/execute: Print the trace exe command as a string and not list. 2019-02-08 05:41:03 +11:00
Chris Johns
6db01e577f rtemstoolkit/host: Fix the darwin support.
- Add python as a unit test variant.
2018-11-29 10:16:44 +11:00
Chris Johns
93821feb16 rtemstoolkit/git: Use 'git' if no macro path is present. 2018-11-29 10:16:38 +11:00
Chris Johns
3bc12bbd4c rtemstoolkit/version: Remove the tailing - with a clean git repo 2018-11-29 09:24:48 +11:00
Chris Johns
6d30de6dac rtemstoolkit: Fix unittests on Windows
- Fix Windows host support so MSYS pythons can be used.
- Fix Windows host support for python3.
- Improve the mailer unittest.
2018-11-29 08:37:40 +11:00
Chris Johns
09f4dbea55 rtemstoolkit:libelf: Removing warning for asprintf on Windows. 2018-11-29 08:16:39 +11:00
Chris Johns
3d2db56f7d Fix warnings on Windows. 2018-11-29 05:45:21 +11:00
Chris Johns
95abe76daf waf: Fix version paths on Windows. 2018-11-29 05:45:05 +11:00
Chris Johns
571db94df5 rtemstoolkit: Fix mailer unittest. 2018-11-28 20:27:50 +11:00
Christian Spindeldreier
97dc555efa fix native elf detection on x86_64 machines
Closes #3616
2018-11-27 17:02:18 +11:00
Chris Johns
29f9e10ed4 rtemstoolkit/git: Ignore untracked files in the dirty state. 2018-11-26 14:37:09 +11:00
Chris Johns
af5cecfff0 rtemstoolkit: Fixes to the reader and writer threads for capturing
- Use the 'read1' file handle call to return if any data is queued
  for reading from stdout or stderr.
- Flush the stdin pipe in the writer thread.

These changes let the execute module work on Python2 and Python3.
2018-11-26 14:36:44 +11:00
Chris Johns
7e5cdeaabe rtemstoolkit: Add unit testing for the python modules
- Add support to run the unit tests for the rtemstoolkit python
  modules from waf. Enter './waf test' for the tests to be run on
  python2 and python3.
- Update the importing of rtemstoolkit modules to the standard
  method which works on python2 and python3.
- Update the README.
2018-11-23 15:02:52 +11:00
Chris Johns
6fa09650b8 rtemstoolkit/execute: Use buffered output and improve performance
- Use buffered output on the stdout and stderr streams from
  child processors.
- Simplify the read thread line processing to improve performance.
- Disable 'close_fds' as it slows down python3's popen call.
- Update the importing of rtemstoolkit modules.
2018-11-23 14:59:18 +11:00
Vijay Kumar Banerjee
f9a17cd2a1 rtemstoolkit/path : Add support to copy single files 2018-11-17 12:31:45 +11:00
Chris Johns
94214bf125 rtemstoolkit: Add ARM and AArch64 support to Linux elftoolchain. 2018-11-15 13:35:35 +11:00
Chris Johns
e058db0281 python: Provide support to select a valid python version.
- Update imports after wrapping the code.
- Fix python3 issues.
- Fix config path issues for in repo and install runs.

Closes #3537
2018-11-08 18:13:45 +11:00
Chris Johns
087be8c67f rtemstoolkit: Fix the parsing of the revision string to a number.
Fix provided by Amar on the user list:

 https://lists.rtems.org/pipermail/users/2018-October/032714.html
2018-11-05 15:37:49 +11:00
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