| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Ranges of locations are relative to some base address. Most times
this is just the same as the compilation unit. However if the
compilation unit contains functions in multiple sections we need
to add a base address of the section that the locations are
contained.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Do not use `Pervasives.xxx` qualified names
Starting with OCaml 4.08, `Pervasives` is deprecated in favor of `Stdlib`,
and uses of `Pervasives` cause fatal warnings.
This commit uses unqualified names instead, as no ambiguity occurs.
* Clarify "open" statements
OCaml 4.08.0 has stricter warnings concerning open statements that
shadow module names.
Closes: #300
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Instead of printing an the start label and adding the offset by
computing the difference of the range label and the start label
use the range label directly.
Bug 26234
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fist changes changes the offset for range entries to used labels
instead of integer constants, leaving the computation to the
assembler.
The second part of the change the address changes the way ranges
entries of scopes are printed. They need to be relative to the start
address of the code in the section they are included.
Bug 26234
|
|
|
|
|
|
| |
Fix various typos in diagnostic messages and unified wording and
capitalization.
Bug 23850
|
|
|
|
|
|
| |
We don't need verbose debug for the assembler. The verbose debug
information should only be printed if assembler files are
generated.
|
|
|
|
|
|
| |
Instead of using Filename.quote, string entries are printed with
%S.
Bug 21216
|
|
|
|
|
| |
Anonymous members no longer are printed in the debug information.
Fix 20798
|
| |
|
|
|
|
|
| |
A non reseted Hashtbl caused problems with multiple input files.
Bug 20462
|
|
|
|
|
|
| |
Since the dwarf register names for x86_32 and x86_64 differ it is
wrong to hardcode the dwarf register number for rsp to 4.
Bug 20461
|
|
|
|
|
| |
Address constants need to be 64bit also in the debug information.
Bug 20335
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
In order to get deterministic output code we need to sort the strings
in the debug_str section by their label.
Fix 17727.
|
|
|
|
|
|
| |
The new option -gonly-global allows the generation of debuging
information for global variables only.
Bug 17566.
|
|
|
|
|
|
|
|
|
|
| |
The gcc produces DW_AT_ranges for non-contiguous address ranges, like
compilation units containing functions which are placed in different
ELF-sections or lexical scopes that are split up. With this commit
CompCert also uses this DWARF v3 feature for gnu backend based targets.
In order to ensure backward compability a flag is added which avoids
this and produces debug info in DWARF v2 format.
Bug 17392.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Like, for example the clang, CompCert now prints a more detailed
descriptions of the debug information in the assembler file. For
each abbreviation and debug entry the dwarf attributes and their encodings
are added.
Bug 17392.
|
| |
|
|
|
|
|
|
|
|
| |
Instead of using a string they now take an optional string, which
should be none if the backend is not the diab backend and the
corresponding section is the text section and Some s with s being
the custom section name else.
Bug 17392.
|
|
|
|
|
|
|
|
| |
GCC prints all string larger than 3 characters in the debug_str
section which reduces the size of the debug information since entries
containing the same string now map to the same string in the
debug_str sections.
Bug 17392.
|
|
|
|
|
|
|
| |
The dwarf 2 standard allows more attributes for certain debuggint
entries than used by gcc or diab data. Since they are also not
set by compcert they can be removed.
Bug 17392.
|
|
|
|
|
|
| |
Instead of using a tuple we now use a record with descriptive names
for the different entries.
Bug 17392
|
|
|
|
|
|
| |
The name_of_section function no returns the correct name for the
debug sections, the prologue and epilogue directives are added and
the labels for the live ranges are introduced in the Asmexpand pass.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Producer as well as target system.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| | |
This reverts commit b4846ffadfa3fbb73ffa7d9c43e5218adeece8da.
|
|/ |
|