Commit Graph

14 Commits

Author SHA1 Message Date
Sebastian Huber
dd8e4b760b libdebugger: Move to separate library
Always build remote TCP support since it depends only on the POSIX
socket API.  It works with the legacy network stack and libbsd.  Move it
to a separate libdebugger.a library to allow an easy use with libbsd via
"-ldebugger -lbsd" otherwise we would have a cyclic dependency between
libbsd.a and librtemscpu.a.

Update #3419.
2018-05-02 09:56:43 +02:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
6ad3f47143 libdebugger: Avoid use of <bsp/linker-symbols.h>
Update #3254.
2017-12-13 09:04:25 +01:00
Chris Johns
8ad4d937df libdebugger/i386 Fix i386 backend after changes.
Closes #3097.
2017-08-16 13:34:16 +10:00
Chris Johns
b2353ed924 libdebugger: Fixes to debugging, ARM support, locking, and gcc-7.1 warnings.
- Add `printk` support to aid multi-core debugging.
- Add lock trace to aid lock debugging.
- Fixes to gcc-7.1 warnings.
- Fixes from ticket #2879.
- Add verbose command controls.
- Change using the RTEMS sys/lock.h API to manage exception threads.
- ARM hardware breakpoint fixes. Support for SMP stepping
  is not implemented, this requires use of the context id
  register.

Closes #2879.
2017-08-15 11:39:22 +10:00
Chris Johns
7f95cc0707 libdebugger: Fix the mode on task create. Clean up warnings.
Closes #2976.
2017-04-19 14:33:29 +10:00
Chris Johns
b53ad4615a libdebugger: Work around assert when using _Thread_Executing.
Using _Thread_Executing with RTEMS_DEBUG results in an `assert` if
the server accesses invalid memory.

Updates #2993.
2017-04-15 08:18:25 +10:00
Sebastian Huber
a3730b38cc Add and use rtems_assoc_thread_states_to_string() 2017-01-12 07:44:37 +01:00
Sebastian Huber
b7f1fc3b36 libdebugger: Fix const qualifier 2017-01-12 07:44:36 +01:00
Sebastian Huber
d063e7b3d8 score: Replace STATES_DELAYING
Replace STATES_DELAYING with STATES_WAITING_FOR_TIME.

There is no need for separate timeout thread states.  The
Thread_Control::Timer::header and Watchdog_Control::cpu members can be
used to figure out the kind of timeout.
2017-01-12 07:44:36 +01:00
Sebastian Huber
9a448aabe6 score: Add STATES_THREAD_QUEUE_WITH_IDENTIFIER
Add thread state bit to identify thread queues that are embedded in an
object with identifier.
2017-01-11 08:16:27 +01:00
Sebastian Huber
c6000d2b54 score: Delete STATES_WAITING_FOR_BUFFER 2017-01-11 08:16:27 +01:00
Chris Johns
e629076003 libdebugger: Build for ARM's without a CP15. 2016-12-02 15:39:56 +11:00
Chris Johns
a0d4e9933c cpukit: Add libdebugger, a remote debugger agent for GDB. 2016-11-29 08:50:40 +11:00