aboutsummaryrefslogtreecommitdiffstats
path: root/debug/Dwarfgen.ml
Commit message (Collapse)AuthorAgeFilesLines
* Code cleanup.Bernhard Schommer2016-03-101-1/+1
| | | | | | 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.
* More unique debug types.Bernhard Schommer2016-01-141-10/+10
| | | | | | 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.
* Added now option to control debug output.Bernhard Schommer2015-11-161-17/+20
| | | | | | | | | | | The new option gdepth subumes the gonly-globals. The option allows it to control the level of information that is produced. This option allows it to generate debugging inforation for: -Only globals -Global and local variables but without location information for the local variable -Full information Bug 17638.
* Do not enforce locations for function parameters.Bernhard Schommer2015-11-101-1/+3
| | | | | | | In the case of struct function parameters it is not always guaranteed that they are still there and not translated into plain integer arguments. Bug 17609.
* Merge branch 'master' of ↵Michael Schmidt2015-11-061-2/+2
|\ | | | | | | git+ssh://ssh.absint.com/common/repositories/git/tools/compcert
| * Do not print parameter names in function types.Bernhard Schommer2015-11-061-2/+2
| | | | | | | | | | | | | | For function types used by function pointers we do not need to print the name of the paraments. Also switch the logic in case of prototyped/unprototyped. Fix 17579.
* | bug 17567, typosMichael Schmidt2015-11-061-2/+2
|/
* New option to control the debug information build.Bernhard Schommer2015-11-041-3/+8
| | | | | | The new option -gonly-global allows the generation of debuging information for global variables only. Bug 17566.
* Implemented the usage of DW_AT_ranges for non-contiguous address ranges.Bernhard Schommer2015-10-161-50/+96
| | | | | | | | | | 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.
* First step to implemente address ranges for the gnu backend.Bernhard Schommer2015-10-151-19/+24
| | | | | | | | | 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.
* bug 17392: remove trailing whitespace in source filesMichael Schmidt2015-10-141-37/+37
|
* Implement the usage of the debug_str section for the gcc backend.Bernhard Schommer2015-10-131-399/+450
| | | | | | | | 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.
* Remove unused members from debug types.Bernhard Schommer2015-10-131-6/+0
| | | | | | | 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.
* Use a more descriptive type for diab debug entries.Bernhard Schommer2015-10-121-1/+8
| | | | | | Instead of using a tuple we now use a record with descriptive names for the different entries. Bug 17392
* Fast fix for functions in different sections in one compilation unit for gcc.Bernhard Schommer2015-10-061-4/+8
|
* Use rev_map so that the debug locations are in the correct order.Bernhard Schommer2015-10-021-1/+1
|
* First try of debug information for gcc.Bernhard Schommer2015-10-021-6/+22
|
* Started implementation of gnu compatible debug information.Bernhard Schommer2015-10-021-44/+48
|
* Moved the types defined by the Debug Interface into a separate file.Bernhard Schommer2015-10-011-0/+2
|
* Use also fucntion id for local variables since atom is not unique.Bernhard Schommer2015-10-011-1/+1
|
* Only print locations for symbols that are present in the assembler.Bernhard Schommer2015-10-011-1/+5
|
* Remove unused globals also from the debug informations.Bernhard Schommer2015-10-011-2/+2
|
* More robust dwarf generation. Do not add incomplete local variablesBernhard Schommer2015-09-301-13/+29
| | | | in the Debuging information.
* Avoid problem with implict declarations.Bernhard Schommer2015-09-301-1/+0
| | | | | | 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.
* More fixes for the DebugInformation.Bernhard Schommer2015-09-291-0/+1
| | | | | | | 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.
* Change the way the debug sections are printed.Bernhard Schommer2015-09-281-47/+69
| | | | | | 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.
* Added location for the formal parameters and move the end of allBernhard Schommer2015-09-281-16/+22
| | | | scopes before the last statement.
* Added translation of the range lists to location entries.Bernhard Schommer2015-09-251-26/+62
|
* Added support for the locations of stack allocated local variables.Bernhard Schommer2015-09-251-15/+46
| | | | | This commit adds furher support for location information for local variables and starts with the implementation of the debug_loc section.
* Added placing labels for live ranges etc.Bernhard Schommer2015-09-241-1/+0
| | | | | In order to avoid the usage of too many labels we replace the debug statements during the Asmexpand phase.
* Added support for printing local variables and fixed issue with .textBernhard Schommer2015-09-231-3/+13
| | | | | | 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.
* Record the scope structure during unblocking.Bernhard Schommer2015-09-221-18/+99
| | | | | | 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.
* Started implementing the scope for the Debug Informations.Bernhard Schommer2015-09-181-2/+14
| | | | | | 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.
* First version with computation of dwarf info from debug info.Bernhard Schommer2015-09-171-0/+247
Introduced a new dwarf generation from the information collected in the DebugInformation and removed the old CtODwarf translation.