| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
In contrast to the dcc, the gcc uses address ranges to express
non-contiguous range of addresses. As a first step we set the
start and end addresses for the different address ranges for
the compilation unit by using the start and end addresses of
functions.
Bug 17392.
|
|
|
|
|
|
| |
Instead of pushing strings around use the actual section. However
the string is still used in the Hashtbl.
Bug 17392.
|
| |
|
|
|
|
|
| |
The function exists_type is not really used so we can remove it.
Bug 17392.
|
|
|
|
|
|
|
| |
Instead of making each filed mutuable we use a reference to a record
of type implem. Now only the default implementation and the default
debug information need to be upated to add a new function.
Bug 17392.
|
|
|
|
|
|
| |
Since the strip functions might be useful in other context and is
more general then the debug information.
Bug 17392.
|
|
|
|
|
|
| |
The atom to global variable debug id mapping is never used so we
do not need to insert global variables into it.
Bug 17392.
|
|
|
|
|
|
|
| |
Instead of defining two functions for adding the mapping from atom
to debug id we use one function which then sets the corresponding
values.
Bug 17392.
|
| |
|
|
|
|
| |
information.
|
|\
| |
| |
| |
| | |
Conflicts:
debug/DebugInformation.ml
|
| | |
|
| | |
|
|/
|
|
|
| |
Since files without function definition contain no function in the
Section_text the filenum would be empty otherwise.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
in the Debuging information.
|
|
|
|
| |
the code more robust and added indentation for convertCompositeDef
|
|
|
|
|
|
| |
In order to avoid the problem that the stamp is not correct for
implict declarations I insert all possible stamps of a function
into my mapping and assign them one debug id.
|
|
|
|
|
|
|
| |
Changed the sizeof function to take into account the bytes needed
for the sleb128/uleb128 encoding of the DW_OP_* arguments and
changed the end_live_range function to only close functions where
the live range is currently open.
|
|
|
|
|
|
| |
If a user uses the #pragma use_section for functions the diab linker
requires a separate debug_info section for each entry. This commit
adds functionality to emulate this behavior.
|
|
|
|
| |
scopes before the last statement.
|
| |
|
|
|
|
|
| |
This commit adds furher support for location information for local
variables and starts with the implementation of the debug_loc section.
|
|
|
|
|
| |
In order to avoid the usage of too many labels we replace the
debug statements during the Asmexpand phase.
|
|
|
|
| |
atom + scope id Hashtable.
|
|
|
|
|
|
| |
Local variables are now added with bogus lexical scopes to reflect
the actually lexical scopes. Also this commit fixes assembler problems
of the das when a user section with the name ".text" is defined.
|
|
|
|
|
|
| |
Instead of creating separate annotations for the local variables
we call the Debug.add_lvar_scope and we construct a mapping from
function id + scope id to scope information.
|
|
|
|
|
| |
Instead of reimplementing the whole scope handling in the debug information
use the existing functionality and fill the scopes explicitly in the functions.
|
|
|
|
|
|
| |
Scopes will be handled by a stack of all open scopes. This stack
then can also be used to generate the debug directives to track the
scopes through the rest of the passes.
|
|
|
|
|
| |
Introduced a new dwarf generation from the information collected in
the DebugInformation and removed the old CtODwarf translation.
|
|
|
|
|
|
| |
Added functions to add more information to the debuging interface,
like the struct layout with offsets, bitifiled layout and removed
the no longer needed mapping from stamp to atom.
|
|
|
|
|
|
|
|
| |
The new file Debug.ml contains the interface for generating and
printing debug information. In order to generate debug information
the init function initializes the necessary functions depending
on the -g flag. If the -g is not there all functions are dummy
functions which do nothing.
|
|
|
|
|
| |
Added the rest of the global declarations and started adding functions
to fill in the missing information about struct and union fields etc.
|
| |
|
|
|
|
|
|
| |
The insert_type function add types by adding their subtypes. Also currently
the structs or unions are added as empty skeletopn and later during filled
during the inserting of the declarations.
|
|
|
|
|
|
| |
In contrast to CtoDwarf this time we use the name to identify
everything. To make this work we print the full identifier with stamp
to avoid the problems with anonymous structs and unions.
|
|
|