aboutsummaryrefslogtreecommitdiffstats
path: root/debug
Commit message (Collapse)AuthorAgeFilesLines
* Simplified offset printing.Bernhard Schommer2019-04-161-2/+3
| | | | | | | 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
* Print only debug info for printed functions.Bernhard Schommer2019-04-165-13/+16
| | | | | | | | | | | 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
* Reworked range entries.Bernhard Schommer2019-04-163-39/+71
| | | | | | | | | | | | 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
* Avoid generation of empty ranges.Bernhard Schommer2019-04-161-1/+4
| | | | | | As noted in the DWARF 3 specification empty ranges have no effect and can be left out. Bug 26234
* Relax requirement for ranges for compilation unit.Bernhard Schommer2019-04-161-1/+1
| | | | | | Ranges for non-contiguous address ranges are already part of dwarf version 3. Bug 26234
* Various improvements in the wording of diagnostics.Michael Schmidt2018-08-021-1/+1
| | | | | | Fix various typos in diagnostic messages and unified wording and capitalization. Bug 23850
* Reverted reintroduced quote of compilation dir.Bernhard Schommer2017-09-191-2/+2
|
* No verbose debug info in default mode.Bernhard Schommer2017-07-141-5/+17
| | | | | | We don't need verbose debug for the assembler. The verbose debug information should only be printed if assembler files are generated.
* Hybrid 64bit/32bit PowerPC portBernhard Schommer2017-05-031-2/+2
| | | | | | | | | | | | | This commit adds code generation for 64bit PowerPC architectures which execute 32bit applications. The main difference to the normal 32bit PowerPC port is that it uses the available 64bit instructions instead of using the runtime library functions. However pointers are still 32bit and the 32bit calling convention is used. In order to use this port the target architecture must be either in Server execution mode or if in Embedded execution mode the high order 32 bits of GPRs must be implemented in 32-bit mode. Furthermore the operating system must preserve the high order 32 bits of GPRs.
* Better fix for problems with quoting in files.Bernhard Schommer2017-03-202-4/+4
| | | | | | Instead of using Filename.quote, string entries are printed with %S. Bug 21216
* Quote directory for comp_dir entry.Bernhard Schommer2017-03-201-2/+2
| | | | | | The compilation directory entry needs quoting since it could be a toplevel directory under windows. Bug 21216
* Introduced configuration variable for gnu systems.Bernhard Schommer2017-02-131-7/+6
| | | | | | | The variable gnu_toolchain is true if a gnu toolchain is used and false in all other cases. The variable avoids the explicit test whether the system string is diab and should be easier to change. Bug 20521.
* Simplified DebugInformation interface.Bernhard Schommer2017-02-063-83/+36
| | | | | Instead of exporting and setting all functions we just fill the struct already in DebugInformation with the correct functions.
* Remove open AST.Bernhard Schommer2017-02-061-4/+3
| | | | The two types needed from AST are prefixed directly.
* Removed the open AST.Bernhard Schommer2017-02-062-10/+8
| | | | | Only two types from AST are needed and the global shadowing open can be removed.
* Do not print anonymous member names in debug infoBernhard Schommer2017-01-245-4/+6
| | | | | Anonymous members no longer are printed in the debug information. Fix 20798
* Use quoted strings.Bernhard Schommer2017-01-181-5/+6
| | | | | | Instead of escaping all newlines etc for the help options use quoted strings. Bug 19872
* More verbose dwarf.Bernhard Schommer2016-12-073-4/+6
|
* Compute the correct size of location expressions.Bernhard Schommer2016-12-011-1/+1
| | | | | The arm dwarf float registers constants are larger than 2 bytes. Bug 20489
* Reset all Hashtbls.Bernhard Schommer2016-11-252-10/+14
| | | | | A non reseted Hashtbl caused problems with multiple input files. Bug 20462
* Do not use hardcoded register number for sp.Bernhard Schommer2016-11-251-10/+10
| | | | | | 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
* Use 64 bit address in debug information.Bernhard Schommer2016-11-102-19/+23
| | | | | Address constants need to be 64bit also in the debug information. Bug 20335
* macosx needs all strings in degub_str.Bernhard Schommer2016-10-251-1/+2
|
* Pass range info to the children.Bernhard Schommer2016-10-251-1/+2
|
* Refactored debugging options.Bernhard Schommer2016-10-141-2/+36
| | | | | | | The options controlling the generation of debugging information are now moved into the Debug module. Futhermore the -gdepth options are replaced in favor of a more gcc compatible version. Bug 20193
* Added sizetyp for subarray bounds. Fix 19894Bernhard Schommer2016-09-223-21/+43
|
* Use asprintf instead of printing to a buffer.Bernhard Schommer2016-07-261-5/+2
|
* Activate advanced debug information for arm, ia32.Bernhard Schommer2016-06-281-1/+1
| | | | | | The configuration advanced debug is removed and now full debug information is also generated for ia32 and arm. Bug 17609
* Merge branch 'master' into cleanupBernhard Schommer2016-03-211-10/+0
|\
* | Added an interface file for DebugInformation.Bernhard Schommer2016-03-185-43/+183
| | | | | | | | | | | | The interface hides the implementation details, like the huge number of Hashtbls from the rest of the implementatio. Bug 18394
* | Code cleanup.Bernhard Schommer2016-03-107-25/+12
|/ | | | | | 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-143-26/+26
| | | | | | 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.
* Sort strings in the debug_str section.Bernhard Schommer2015-12-041-0/+1
| | | | | | In order to get deterministic output code we need to sort the strings in the debug_str section by their label. Fix 17727.
* Fixed regression introduce by merge of PR#69.Bernhard Schommer2015-12-034-0/+16
| | | | | | | 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.
* 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-064-11/+11
|/
* New option to control the debug information build.Bernhard Schommer2015-11-042-5/+12
| | | | | | The new option -gonly-global allows the generation of debuging information for global variables only. Bug 17566.
* bug 17567, typosMichael Schmidt2015-11-041-3/+3
|
* bug 17567, typosMichael Schmidt2015-11-042-2/+2
|
* Implemented the usage of DW_AT_ranges for non-contiguous address ranges.Bernhard Schommer2015-10-164-59/+127
| | | | | | | | | | 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-157-76/+95
| | | | | | | | | 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.
* More verbose debug printer.Bernhard Schommer2015-10-143-226/+273
| | | | | | | | 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.
* Reworked the section interface for the debug information.Bernhard Schommer2015-10-143-20/+30
| | | | | | Instead of pushing strings around use the actual section. However the string is still used in the Hashtbl. Bug 17392.
* bug 17392: remove trailing whitespace in source filesMichael Schmidt2015-10-147-78/+78
|
* Changed the type of the debug sections with additional string.Bernhard Schommer2015-10-131-3/+4
| | | | | | | | 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.
* Implement the usage of the debug_str section for the gcc backend.Bernhard Schommer2015-10-133-470/+537
| | | | | | | | 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-133-21/+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.