| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
in the Debuging information.
|
| |
|
|
|
|
| |
Producer as well as target system.
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
In order to remove unnecessary dependecies the implemenation type is made
and the DebugInit file initializes the fields in the record. This allows
it to move more functions behind the Debug interface without introducing
circular dependencies.
|
|
|
|
|
|
|
|
| |
Debuging code.
The old functions to store the symbol for the Global variables and retrive this
is no longer needed since the atom is stored in DebugInformation. Also the
Debug.Abbrev module is no longer needed.
|
| |
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
debug/CtoDwarf.ml
debug/DwarfPrinter.ml
|
| |
| |
| |
| |
| |
| | |
The debug printer now uses udata for member sizes since structs can
have a size larger than 255 bytes. Also functions that are inlined
no longer have an high and low pc in their abbreviation entry.
|
| |
| |
| |
| |
| | |
In the case of a structure definition we do not need to set the
structure declaration field set to false.
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| | |
This reverts commit 861292a6c5e58b4f78bef207c717b801b3fc1fed.
|
| |
| |
| |
| |
| |
| | |
Added a new file debug/Debug.ml which will be the interface between for
generating and printing the debuging information. Currently it contains
only the code for the line directived.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
debug/CtoDwarf.ml
debug/DwarfPrinter.ml
debug/DwarfTypes.mli
|
| |
| |
| |
| |
| |
| | |
Dwarf debuging entries for formal parameters were printed as variables.
This could lead to confusion in function pointer types and later with
local variables.
|
| |
| |
| |
| | |
Composite types should be always handled by the composite_type_info table and not by the normal type table.
|
| | |
|
| |
| |
| |
| | |
This reverts commit b4846ffadfa3fbb73ffa7d9c43e5218adeece8da.
|
| |
| |
| |
| | |
members.
|
|/ |
|
| |
|
|
|
|
| |
subroutines.
|
|
|
|
| |
information.
|
| |
|
| |
|
| |
|
|
|
|
| |
separate file.
|
| |
|
| |
|