Description: dwarf related
This file as text.
(active) Revisions in this set:
758a8dd34a5dd016c6cc4447d609ddb1d6541556,1b16ff3629c51a305b9808e751456f7eff1a5df8,0b61b5d4cfd624402797619075436c57e0da3be9
8ec3cd6390b6da0f42cb4cf79fe910c04dc9dd5d,aac8559a8d55b1d594ce91258d8cb66a7a3d0877,df4ec9e8e3b59f70b37bb762f50d37725c22bda6
8ecdb2e9ca9b32f1334f237612411e7e17e5d1e6,35e11cd6d4df412a4a193e63b09fda3c9ba910f3,6c29ecbd1cd0e51977fba16d6ebb09ba32f4e520
bdcda8660eaa0f02365a9000a55c7ad8ac3becf9,1201cc024ed4f14903cdd59e26a458985f8621fd,0fbd418cb739d5cb4dfc4c21ce6e67e7d17dc961
637976e83fc692df21a49930461d41137145d1c4,1e960a9aeb12ae75877ef9321efbb89f34bbbdce,a3d68e6839f1803353d6b575f34fc91686ff5088
e694897bb3bdea5f4606946dbad784ba7bf0af1c,436a0d3f9ee306b55bb8d0b232587668c8ecf48a,5b29e7a3ecfdc47203c64ee8b26e5db5cba35b60
599ba8cc2a1d68bb9dc6dae9600cac6b1847d046,9c831677ff1f6d00592d7bea91a3fdb6d65e0aea,577e584c771de341a03c62bc93f1ed2fcda3e2de
bae6ca6883d84aff6c9061af6ddf35a7766b51b4,ca399f3c7166947e42e507c3cb141cfec46f9e0f,4da1ad71a4ead2a6643e56087d03c1ddb6303416
ca9384fd6c265aa76a9ef59229b3746153e6114a,b26463ed993e184d2e2dc2cd9059ca7a024552a4,e5472845882a4747c80ba6e0d7ceaff936c71484
d29473154267150c65be268cf070941573a58ffc,6cacd9c824d34c42f71977b23342dcf2403b47de,3d3c904ac588dc79441b0d9c29bd79b6744358c7
481741c65b34f6090e319161eadfa4612f786736,9f47e21da3c24a06be2dde8435acd3b3a2d1aa72,f9b216f99a3dd7822d9f3f112aa1ebb7c8590f20
1b2d7755aceb4592607340d8703410aab776be54,1ac2334b593e9ba9d9b3442fd1c1952e8fb1ec75,e28238da9b5111fbceaf4bdc81528ef4cdfe26e2
3385ce92a2ce8a7c6b47b02c689e8b28b8fc8362,cf5feb0dca15e1898739352de4bc0028b831d0f9,eed1fbe38aad67688da6bf7b142e146ca34a2fbd
90305b6032926a4e7d19d8cdedb183310d56edb7,6a94d2683bdf2ff9cec4aae2815d079b592c0650,63c8e458bba2831baaae76913d61ab0ccabc4b94
88cf633b973ba2002e8f392ad0748b614bf1f1c9,1fc54dd8bbdb83ad9a8f82e4a16d73a17178b655,9e9b38d0cfc08bbc3c9aa873ba41441b9ea0afb7
1b6982107f1ac4b4111e37be0a3649d155a2bc1e,dd0711a27e85d15d45dc47e7b014c6bcc3fbf230,3fa77a4f627e5ce993c88be7849e27b64e7ae80a
57935a895cd02101ae2e26701579133fb23f75e2,c5cdfbd9c03c0d443e5a4f4a7eafd5ea1c2b0e21,cda8971baaeb240bb7c5075faa96dd4be02d923a
12c4290ffe114161fca1a0c5ecdcac5cfd7f87a2,36afcbf7fea3dd51e292b20594ef994f683d26b0,e54197e9d2b5c595cf77d884fec32f0639dafb8e
0e05e908d54113f40a6d4ce0870e2fb9f87a5d6f,f1f84a292c9478a02bb2ea40b4c368fa15047e21,ccfa38c68ef1428faeef660970a964e3b7328e00
4848327300b0580f23eed91842ea767e0cc60227,8cd10d88cc81868bce6f03f481b0bc83946d6ace,b797bbf5dc08ecf002c05c73ec1aec4adfd7195d
94cb1c3a49c870888ebcec5c84bba9e42140d4d8,ab3b7f8f69bad57e6ff9e664ac60f326d390bb6d,fbcd90f2860903ed0bd7fcac0fe51f7202156a14
637c34571e50d78cc1c9368f0ee44128f06a2bc3,11b0b9dc57556caca09bf46bba722979ded5fcc5,fe62b3ace8c237d8bd1800beb5969e5cb540723f
e87982e925720e0b29d7c097749802c99ed92125,2536529bc01873d211a7309c76c0a2f758247bc6,97e5936f788017402d80384ae987ac55ee08d1c3
d60300e807e911efd4e903412082084b21db8e07,ee98fa8e3f5f31ebbad70b1f2225d62157db2413,60965cdb69c7c9f0142138ee3d112bc325488174
06917784d033fcf9e4a1c59888ef5758971e8105,1ddf0149803ddccb0aad22d3e6545a04f17bbe89,cc15a2dba7fc9ad98ecc335fcce6a0c994214a4b
d2231e99e8cbdff20da1d4331fec565ecd3c6861,562ca0ad801ea4d6015f8c9c971c8929b9c428cd,4914a5a31f907bdf8ec97ad9d9c5ca3ea52b716e
993db6cf32c96c03e2e339b4d30677211ea5052c,beee98e246d2684dc0d1fa42ef9c77c59a381733,29ee863e8faedc99e3b12b1e4d66b21bf51cddbb
40f90b60eb0e01dbd415feb19c18448ccf313547,21668148d853092dbb56bf5f8160f2eff0c0a1fc,eba0624535cc504fcaf367055cd3adeab56097a4
51b9f31f7cecef028afa71252926888ca9ea42b7,17f0bc1ae18b5dc17525fced7263078f38e5e6d8,98ab19b6eb05e5ead38e54555f944aa0a26bd5c6
2c1ff71e8c0bd2d4ceb05dd5759c46188ebf9dc3,3d536547eb124b203dbd3668a56c6fb0ee4eaad2,b66e66efb8baec1bb7ee2d234b9e156d47aaa64e
d55fc6565e66c1a260472a0515cad1ee842bdad9
Clicking a revision will expand files
Change default debugging format for x86_64-haiku to dwarf-2, as stabs is normally disabled on 64-bit systems
* added extra header to ppu inside a subsection, so we won't run into
trouble when the ppu version hits 255
* also moved several ppu flags to a set inside that section
* append rather than insert the alias symbols for the program/procedure
initialisation/finalisation routines
o this ensures the procdef's mangled name and its first symbol match,
which is required for Darwin when generating debug information and
using ".set" directives to define alias symbols, because a symbol
defined via ".set" cannot be used in a data relocations (and the DWARF
debug generator uses the default mangled name, which used to correspond
to the alias symbol due to the "insert" instead of "append")
* some runtime errors fixed, if compiled with -CrR
* arm-linux uses dwarf debug info by default
+ dwarf support for tls threadvars
* several linux targets switches from stabs to dwarf
* moved array stride back to array entry (mantis
0036144)
* fix Dwarf 3 array location broken in
0043171 (fix by Martin Friebe,
mantis
0036144)
* Add riscv-embedded to targets that don't support non-constant leb128's.
* generate CFI data only if we're either using it for exception handling or if debug output is enabled (or should this only be generated for targets that in theory support DWARF exception handling?). This removes unnecessary bloat from e.g. Windows binaries
* patch by Marģers to unify internal error numbers, resolves
0037888
* the size of the CIE_pointer in an FDE is always 32 bit
* arm thumb: generate proper cfi
* initial implementation of CFI support for arm (non-thumb)
* generate advance_loc records only if there was code/data since the last advance_loc entry
+ (safe) heuristics to use DW_CFA_advance_loc1 in CFI
+ generate initial cfi for aarch64
* support Objective-C classes and protocols with -gw3 (mantis
0036250)
* RiscV: basic CFI stuff fixed
* Dwarf: write variant fields only if the require features are present, resolves
0038651
* don't generate high-level CFI statements when the selected assembler
does not support them, even if the target normally uses them
o fixes assembling with -Aas-darwin for i386/arm/x86-64 (on OS
versions that used those)
* moved a bunch of constants from dbgdwarf to dbgdwarfconst
* patch by Dean Mustakino to avoid generation of debug info for generics, resolves
gitlab 0038827
+ test
* Removed unused parameter
* Section-offsets have 64 bits in the Dwarf-64 format
LLVM: enable DWARF debug info generation
llvmdbg: initial version based on dbgdwarf
Line information is mostly functional, type information not yet (except
for basic procdef info, as that's required for line info)
TSymStr: more consistent usage
llvmdbg: remove some commented dbgdwarf code
Also adjusted some hashtable sizes
* increase default dwarf version for linux targets where current distributions exist
dbgllvm: remove tmembercallbackinfo
Leftover from dbgdwarf, not used here
darwin: also run dsymutil for DWARF 4
* do not use Dwarf-4 yet as it is too little tested and has no benefits
* handle absolute on strings correctly for dwarf debug info, resolves
gitlab 0039816
* Always generate CFI-information. During linking it can be omitted when
no debug-information is requested. On Linux this needed a change in the
linker-script. On Windows it already works as desired. Other targets
may need some adjustments as well.
+ support writing of 32-bit and 64-bit relocations in the REL object writer
for Z80. This fixes DWARF debug output and makes it behave consistently with
the Z80 external assembler writer.
+ added custom section descriptions for DWARF debug info for the WebAssembly object writer (not actually emitted, yet)
+ write the actual DWARF debug sections in the WebAssembly object writer. The relocations aren't ready, yet, though.
+ emit WASM DWARF debug info relocations
* workaround crash when generating WebAssembly DWARF debug info for threadvars, while multithreading is turned off
* use append_object_struct also for dwarf-3 when creating dwarf debug info for objects, resolves
gitlab 0039920
* improve dwarf cfi on avr
* cfi for avr needs 32 bit pc begin and range
* TDebugInfoDwarf3.appenddef_object should not write an extra finish_entry for objects and C++ classes
Fix incorrect dwarf entry count. Issue
gitlab 0039928 introduced in 1b6982107f1ac4b4111e37be0a3649d155a2bc1e
* fix life information propagation for while loops, resolves
gitlab 0039971
* warnings/errors fixed which are caused by the new life information propagation
+ test
Darwin: really fix -Xg for DWARF4
dwarf-eh: don't emit header if there's no data to emit
Add loongarch64 architecture support to compiler
* only i386 uses same special fastcall calling convention
Darwin: support -Xg for DWARFv4
riscv32-freertos:
* unit name fixed
* linker script fixed
* assembler supports dwarf
* don't not generate non-constant leb128 entriesm for riscv32-freertos
* write types declared in the interface section with a DW_AT_external tag, should resolve
gitlab 0040210
* revert use of DW_AT_external for types as this is not covered by the dwarf standard
* correctly name nested enum type debug symbols, resolves
gitlab 0040462
* Do not use namespace prefix for lnfodwarf
+ generate DWARF debug info for WebAssembly locals
Avoid range check error in AddNormalStringDef
Use reverse_byte to write constant sets in cross-endian configuration
* Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently
const array - reducing unnecessary data copying
Reuse DWARF buffer on seeks.
* generate debuginfo for WebAssembly threadvars like for normal vars, when
WebAssembly threads are turned off
+ WebAssembly DWARF debug info: generate DW_AT_frame_base entries for functions
+ WebAssembly internal linker: support data relocations to threadvars, resolve
them as relative values to the beginning of the TLS section. Will be used for
generating debug info for threadvars.
+ generate proper reference to the TLS_BASE_SYM global in the WebAssembly debug info for threadvars
* create a TWasmGlobalAsmSymbol instead of TAsmSymbol when generating debug info
for thread vars. This fixes a memory corruption error, when later the compiler
tries to access the extra fields in TWasmGlobalAsmSymbol for the '__tls_base'
symbol.
* fixed blocksize when generating debug info for WebAssembly threadvars
* fix the final entry size in the .debug_aranges table on platforms where the
ALU size differs from the address size (such as WebAssembly 32-bit)
* WebAssembly internal assembler writer: generate the function locals header
when assembling the tai_local directive, instead of injecting them manually in
TWasmObjOutput.WriteFunctionCode. This makes function code offsets correct
and avoids the need to manually adjust relocation fixups by adding the locals
header size. It also fixes relative relocations, used in DWARF debug line
info.
+ introduced LINE_RANGE constant in the DWARF debug info generation unit
WebAssembly debug info: use different LINE_BASE and LINE_RANGE on WebAssembly to
improve compatibility with WasmTime's debugger support
* WebAssembly debug info: make wasmtime happy by not emitting line info end
sequences for procedures that lack any debug lines emitted previously
- WebAssembly code generator: removed the g_fingerprint hack, that added 4
useless i64 constants on the stack with random numbers and then drop them. It
was used for primitive debugging, since previously it wasn't possible to
identify the function name. Now we can produce DWARF debug info, as well as a
"names" custom section to give each function a name and most WebAssembly
environments support at least one of the two mechanisms. Therefore the
g_fingerprint hack is no longer necessary.
* DWARF line info: only use the cached module if the base address also is the same; this can happen if the initial exception occurred at a random address outside the module, but the next stack address can be found inside the correct module
* WebAssembly internal linker: invoke helper code generation moved earlier,
before the relocation fixups are applied. This should make the DWARF debug
line info correct again. Also, the offsets in the linker map file should be
correct now, as well.
* Dwarf: write enum symbol constants with the size of the enum, as proposed in
gitlab 0041021
* Dwarf 3+: write always a type for enums
* stabs is getting removed from gdb, so make dwarf the default debugging format for most
linux targets excepts ones not really supported anymore. resolves
gitlab 0041474
compiler: set to nil after free
compiler: set to nil after free
Mass typo fixes in comments for compiler.
CloseDwarf is public, so lock.
Speed up DWARF processing...