Commit Graph

336 Commits

Author SHA1 Message Date
Nikolay Nikolov
beee98e246 * WebAssembly debug info: make wasmtime happy by not emitting line info end
sequences for procedures that lack any debug lines emitted previously
2024-09-15 11:15:17 +03:00
Nikolay Nikolov
993db6cf32 WebAssembly debug info: use different LINE_BASE and LINE_RANGE on WebAssembly to
improve compatibility with WasmTime's debugger support
2024-09-15 07:21:32 +03:00
Nikolay Nikolov
4914a5a31f + introduced LINE_RANGE constant in the DWARF debug info generation unit 2024-09-15 05:36:42 +03:00
Nikolay Nikolov
d2231e99e8 * 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)
2024-09-11 02:39:29 +03:00
Nikolay Nikolov
cc15a2dba7 * fixed blocksize when generating debug info for WebAssembly threadvars 2024-09-11 01:22:52 +03:00
Nikolay Nikolov
1ddf014980 * 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.
2024-09-11 01:12:33 +03:00
Nikolay Nikolov
06917784d0 - removed redundant if 2024-09-11 00:46:58 +03:00
Nikolay Nikolov
60965cdb69 + generate proper reference to the TLS_BASE_SYM global in the WebAssembly debug info for threadvars 2024-09-11 00:12:53 +03:00
Nikolay Nikolov
ee98fa8e3f + 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.
2024-09-10 23:56:00 +03:00
Nikolay Nikolov
d60300e807 + WebAssembly DWARF debug info: generate DW_AT_frame_base entries for functions 2024-09-10 21:42:11 +03:00
Nikolay Nikolov
97e5936f78 * generate debuginfo for WebAssembly threadvars like for normal vars, when
WebAssembly threads are turned off
2024-09-10 19:58:32 +03:00
Alligator-1
e87982e925 const array - reducing unnecessary data copying 2024-07-07 19:48:42 +05:00
florian
b313a66a47 * correct Dwarf-4 line info header as noted by Martin on the mailing list 2024-05-23 22:55:31 +02:00
Michaël Van Canneyt
fe62b3ace8 * Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently 2024-02-13 19:44:36 +01:00
Pierre Muller
11b0b9dc57 Use reverse_byte to write constant sets in cross-endian configuration 2024-01-25 11:04:42 +00:00
Pierre Muller
637c34571e Avoid range check error in AddNormalStringDef 2024-01-10 23:24:46 +01:00
Nikolay Nikolov
fbcd90f286 + generate DWARF debug info for WebAssembly locals 2024-01-08 01:18:35 +02:00
florian
94cb1c3a49 * correctly name nested enum type debug symbols, resolves #40462 2023-10-10 23:16:31 +02:00
florian
8cd10d88cc * revert use of DW_AT_external for types as this is not covered by the dwarf standard 2023-03-23 22:44:00 +01:00
florian
4848327300 * write types declared in the interface section with a DW_AT_external tag, should resolve #40210 2023-03-22 21:16:49 +01:00
florian
f1f84a292c * don't not generate non-constant leb128 entriesm for riscv32-freertos 2023-02-10 21:28:39 +01:00
florian
36afcbf7fe * only i386 uses same special fastcall calling convention 2022-11-06 22:48:18 +01:00
florian
3fa77a4f62 * fix life information propagation for while loops, resolves #39971
* warnings/errors fixed which are caused by the new life information propagation
  + test
2022-10-24 22:13:43 +02:00
Martin
dd0711a27e Fix incorrect dwarf entry count. Issue #39928 introduced in 1b6982107f 2022-10-20 20:03:23 +00:00
florian
1b6982107f * TDebugInfoDwarf3.appenddef_object should not write an extra finish_entry for objects and C++ classes 2022-10-10 22:46:25 +02:00
florian
88cf633b97 * use append_object_struct also for dwarf-3 when creating dwarf debug info for objects, resolves #39920 2022-09-26 21:28:39 +02:00
florian
e28238da9b * handle absolute on strings correctly for dwarf debug info, resolves #39816 2022-07-05 23:04:57 +02:00
Jonas Maebe
4da1ad71a4 * moved a bunch of constants from dbgdwarf to dbgdwarfconst 2022-05-13 22:49:02 +02:00
Jonas Maebe
3d3c904ac5 TSymStr: more consistent usage 2022-05-08 15:03:44 +02:00
Joost van der Sluis
e547284588 * Section-offsets have 64 bits in the Dwarf-64 format 2022-01-29 23:57:49 +01:00
Joost van der Sluis
b26463ed99 * Removed unused parameter 2022-01-29 23:00:12 +01:00
florian
ca9384fd6c * patch by Dean Mustakino to avoid generation of debug info for generics, resolves #38827
+ test
2021-10-11 18:45:41 +02:00
florian
bae6ca6883 * Dwarf: write variant fields only if the require features are present, resolves #38651
git-svn-id: trunk@49032 -
2021-03-22 18:11:41 +00:00
nickysn
940738a3a1 * synchronized with trunk
git-svn-id: branches/wasm@48846 -
2021-03-01 13:21:24 +00:00
Jonas Maebe
9c831677ff * support Objective-C classes and protocols with -gw3 (mantis #36250)
git-svn-id: trunk@48834 -
2021-02-27 21:44:53 +00:00
nickysn
6f0a02a92d + apped end of symbol in TDebugInfoDwarf.afterappenddef
git-svn-id: branches/wasm@48510 -
2021-02-04 10:41:25 +00:00
nickysn
c073362928 - don't emit DEBUGSTART and DEBUGEND symbols for WebAssembly. See https://bugs.llvm.org/show_bug.cgi?id=48971
git-svn-id: branches/wasm@48509 -
2021-02-04 10:07:17 +00:00
nickysn
af12279bed * fixed local var dwarf debug info output for WebAssembly
git-svn-id: branches/wasm@48448 -
2021-01-28 17:15:14 +00:00
nickysn
fa30ae7d97 + added the DW_OP_WASM_location constant
git-svn-id: branches/wasm@48447 -
2021-01-28 16:25:35 +00:00
florian
637976e83f * patch by Marģers to unify internal error numbers, resolves #37888
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
Jonas Maebe
e7d1a77f9a * rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
  * repurpose the AArch64/Darwin target for AArch64/macOS
   o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler

git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
Jeppe Johansen
1201cc024e * Add riscv-embedded to targets that don't support non-constant leb128's.
git-svn-id: trunk@43851 -
2020-01-03 17:03:38 +00:00
svenbarth
e7715023da * fix for Mantis #35567: use the correct type for the size type of a dynamic array
git-svn-id: trunk@43264 -
2019-10-19 15:41:29 +00:00
florian
6e58178963 * do not write DW_AT_allocated and DW_AT_data_location tags for old style objects and cppobjects, resolves #36017
git-svn-id: trunk@43183 -
2019-10-13 10:06:48 +00:00
Jonas Maebe
3e11f1b2fe * fix length calculation of winlike widestrings in Dwarf 3 (patch by
Martin Friebe, mantis #35566)

git-svn-id: trunk@43182 -
2019-10-13 09:31:08 +00:00
Jonas Maebe
bdcda8660e * fix Dwarf 3 array location broken in r43171 (fix by Martin Friebe,
mantis #36144)

git-svn-id: trunk@43181 -
2019-10-13 07:37:42 +00:00
Jonas Maebe
6c29ecbd1c * moved array stride back to array entry (mantis #36144)
git-svn-id: trunk@43171 -
2019-10-12 12:25:07 +00:00
florian
8ecdb2e9ca + dwarf support for tls threadvars
git-svn-id: trunk@43134 -
2019-10-05 20:48:31 +00:00
Jeppe Johansen
ff3372567f - Applied patch by Christo Crause from #33914
git-svn-id: trunk@42493 -
2019-07-25 13:24:10 +00:00
svenbarth
755e271b4e * fix for Mantis #35566 by applying patch by Martin Friebe: correctly dereference the 32-bit length value for Windows Widestrings
git-svn-id: trunk@42087 -
2019-05-16 20:56:18 +00:00