| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Move its definitions to modules C (the type `builtins`) and Env
(the operations that deal with the initial environment).
Reasons for the refactoring:
1- The name "Builtins" will soon be reused for a Coq module
2- `Env.initial()` makes more sense than `Builtins.environment()`.
|
|
|
|
|
|
| |
This is a manual, partial merge of Github pull request #296 by @Fourchaux.
flocq/, cparser/MenhirLib/ and parts of test/ have not been changed
because these are local copies and the fixes should be performed upstream.
|
|
|
|
|
|
|
|
|
|
|
| |
Functions that are removed from the compilation unit, for example
inline functions without extern, should not produce debug
information.
This commit reuses the mechanism used for variables in order to
track additionally the printed functions. Therefore the printed
variable versions are exchanged for a printed symbol version.
Bug 26234
|
|
|
|
|
|
| |
As noted in the DWARF 3 specification empty ranges have no effect
and can be left out.
Bug 26234
|
|
|
|
|
| |
Instead of exporting and setting all functions we just fill the
struct already in DebugInformation with the correct functions.
|
|
|
|
|
| |
Anonymous members no longer are printed in the debug information.
Fix 20798
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
The interface hides the implementation details, like the huge
number of Hashtbls from the rest of the implementatio.
Bug 18394
|
|/
|
|
|
|
| |
Removed some unused variables, functions etc. and resolved some
problems which occur if all warnings except 3,4,9 and 29 are active.
Bug 18394.
|
|
|
|
|
|
| |
The typdef, enumerator and function_type types form the DebugTypes and
DwarfTypes shared a some fields. This commits renames them in order to
make them more unique and avoid potential name clashes.
|
|
|
|
|
|
|
| |
Since the identifier of a function definition and of its declaration
are equal we only should remove functions if the function iteself is
removed.
Bug 17724.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|