Changes between Version 4 and Version 5 of Developer/Tracing/Trace_Linker


Ignore:
Timestamp:
Mar 16, 2015, 12:20:31 AM (5 years ago)
Author:
Chris Johns
Comment:

Update.

Legend:

Unmodified
Added
Removed
Modified
  • Developer/Tracing/Trace_Linker

    v4 v5  
    4343The trace linker uses the INI file format for configuration files. Users provide a top level configuration that defines the trace executable created.  The trace linker comes with a number of standard configurations that provide a range of functionality. A user can use those configurations or they can define a completely new set and produce a localised specific form or trace executable.
    4444
     45=== INI Files ===
     46
     47[http://en.wikipedia.org/wiki/INI_file INI files format] consist of sections with a section name that groups keys A key has a name and value used as `name=value`. An example format is:
     48
     49{{{
     50[section]
     51name1=value1
     52name2 = value2
     53}}}
     54
     55The use of keys depends on the user of the INI file and in our case this is the trace linker. The trace linker can include other INI files using the `include` key name and a comma separated list of files to include:
     56
     57{{{
     58include = rtems.ini, rtld-base.ini
     59}}}
     60
     61The trace linker also uses values in key to specify other sections. In this example the `functions` name lists `test-trace-funcs` and that section a `headers` key that references a further section `test-headers`:
     62
     63{{{
     64functions = test-trace-funcs, rtems-api
     65
     66[test-trace-funcs]
     67; Parsed via the 'function-set', not parse as a 'trace'.
     68headers = test-headers
     69
     70[test-headers]
     71header = '#include "test-trace-1.h"'
     72}}}
     73
     74The ability to include INI files and have key lists reference sections lets the trace linker provide base functionality a user can specialise.
     75
     76=== Tracer Section ===
     77
     78The top level section is `[tracer]`. The tracer section can contain the following keys:
     79
     80 name:: A user defined name for the trace.
     81 bsp:: The BSP as an RTEMS standard `arch/bsp` pair. Currently not used.
     82 options:: Various trace linker defined options. Currently not used.
     83 traces:: List of trace sections. A trace section defines how functions are to be instrumented.
     84 functions:: List function sections. Function sections list the functions to be instrumented.
     85
     86=== Trace Section ===
     87
     88A trace section defines how trace wrapper functions are built.
     89
    4590== Wrapping ==
    4691