RTEMS  5.0.0
Macros | Typedefs | Functions
rtl-trace.h File Reference

RTEMS Run-Time Linker ELF Trace Support. More...

#include <stdbool.h>
#include <stdint.h>
#include <rtems/printer.h>

Go to the source code of this file.

Macros

#define RTEMS_RTL_TRACE   1
 
#define RTEMS_RTL_TRACE_DETAIL   (1UL << 0)
 
#define RTEMS_RTL_TRACE_WARNING   (1UL << 1)
 
#define RTEMS_RTL_TRACE_LOAD   (1UL << 2)
 
#define RTEMS_RTL_TRACE_UNLOAD   (1UL << 3)
 
#define RTEMS_RTL_TRACE_SECTION   (1UL << 4)
 
#define RTEMS_RTL_TRACE_SYMBOL   (1UL << 5)
 
#define RTEMS_RTL_TRACE_RELOC   (1UL << 6)
 
#define RTEMS_RTL_TRACE_GLOBAL_SYM   (1UL << 7)
 
#define RTEMS_RTL_TRACE_LOAD_SECT   (1UL << 8)
 
#define RTEMS_RTL_TRACE_ALLOCATOR   (1UL << 9)
 
#define RTEMS_RTL_TRACE_UNRESOLVED   (1UL << 10)
 
#define RTEMS_RTL_TRACE_CACHE   (1UL << 11)
 
#define RTEMS_RTL_TRACE_ARCHIVES   (1UL << 12)
 
#define RTEMS_RTL_TRACE_ARCHIVE_SYMS   (1UL << 13)
 
#define RTEMS_RTL_TRACE_DEPENDENCY   (1UL << 14)
 
#define RTEMS_RTL_TRACE_BIT_ALLOC   (1UL << 15)
 
#define RTEMS_RTL_TRACE_ALL
 

Typedefs

typedef uint32_t rtems_rtl_trace_mask
 

Functions

bool rtems_rtl_trace (rtems_rtl_trace_mask mask)
 
rtems_rtl_trace_mask rtems_rtl_trace_set_mask (rtems_rtl_trace_mask mask)
 
rtems_rtl_trace_mask rtems_rtl_trace_clear_mask (rtems_rtl_trace_mask mask)
 
int rtems_rtl_trace_shell_command (const rtems_printer *printer, int argc, char *argv[])
 

Detailed Description

RTEMS Run-Time Linker ELF Trace Support.

Macro Definition Documentation

◆ RTEMS_RTL_TRACE

#define RTEMS_RTL_TRACE   1

Set to 1 to build trace support in to the RTL code.

◆ RTEMS_RTL_TRACE_ALL

#define RTEMS_RTL_TRACE_ALL
Value:
(0xffffffffUL & ~(RTEMS_RTL_TRACE_CACHE | \
RTEMS_RTL_TRACE_GLOBAL_SYM | \
RTEMS_RTL_TRACE_ARCHIVE_SYMS))

◆ RTEMS_RTL_TRACE_DETAIL

#define RTEMS_RTL_TRACE_DETAIL   (1UL << 0)

List of tracing bits for the various parts of the link editor.

Typedef Documentation

◆ rtems_rtl_trace_mask

typedef uint32_t rtems_rtl_trace_mask

The type of the mask.

Function Documentation

◆ rtems_rtl_trace()

bool rtems_rtl_trace ( rtems_rtl_trace_mask  mask)

Call to check if this part is bring traced. If RTEMS_RTL_TRACE is defined to 0 the code is dead code elminiated when built with -Os, -O2, or higher.

Parameters
maskThe part of the API to trace.
Return values
trueTracing is active for the mask.
falseDo not trace.

◆ rtems_rtl_trace_clear_mask()

rtems_rtl_trace_mask rtems_rtl_trace_clear_mask ( rtems_rtl_trace_mask  mask)

Clear the mask.

Parameters
maskThe mask bits to clear.
Returns
The previous mask.

◆ rtems_rtl_trace_set_mask()

rtems_rtl_trace_mask rtems_rtl_trace_set_mask ( rtems_rtl_trace_mask  mask)

Set the mask.

Parameters
maskThe mask bits to set.
Returns
The previous mask.

◆ rtems_rtl_trace_shell_command()

int rtems_rtl_trace_shell_command ( const rtems_printer printer,
int  argc,
char *  argv[] 
)

Add shell trace shell command.