Commit Graph

70566 Commits

Author SHA1 Message Date
Nikolay Nikolov
562ca0ad80 * 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.
2024-09-15 03:44:14 +03:00
Nikolay Nikolov
1a08d76ccb + WebAssembly: insert a tai_local directive also for assembler functions 2024-09-15 02:12:48 +03:00
Nikolay Nikolov
80523e192a * TWasmObjData.DeclareLocal renamed DeclareLocals. No functional changes. 2024-09-15 01:03:56 +03:00
Nikolay Nikolov
b9ca30165c * WebAssembly: refactored tai_local, so that it is a single directive,
containing multiple locals, instead of creating multiple tai_local directives,
  each containing a single local. No functional changes.
2024-09-15 00:49:05 +03:00
Nikolay Nikolov
05b67c7408 - WebAssembly: removed tai_local.name, because we don't use it 2024-09-15 00:09:39 +03:00
florian
a685e2aa5a + avrsim6 controller type 2024-09-14 16:00:35 +02:00
florian
761b451962 + AVR: dummy thlcgcpu.g_intf_wrapper implementation 2024-09-14 16:00:07 +02:00
florian
190b27ad45 * use proper value for Fnv64 initialization
* PPU version increased
2024-09-14 13:54:54 +02:00
florian
84da5e619c * use also an FNV hash to shorten interface wrapper names 2024-09-13 22:13:22 +02:00
Michaël Van Canneyt
aec11012e8 * Remove superfluous initialization of local variable. Fixes issue #40917 2024-09-13 16:09:36 +02:00
Michaël Van Canneyt
633f905b79 * Correct export name 2024-09-13 16:09:36 +02:00
Pierre Muller
231bb3df8d Change prt0.as and cprt0.as to allow to generate FreeBSD aarch64 13.2 executables 2024-09-13 11:57:16 +00:00
Michaël Van Canneyt
3e2b0ac8b9 * CopyFromMemory 2024-09-13 11:35:37 +02:00
Pierre Muller
f5336f6311 Set DynamicLinker for FreeBSD systems 2024-09-13 09:22:29 +00:00
Pierre Muller
feb7d54553 Fix compilation of heaptrc unit using fixes branch bsd compiler 2024-09-13 09:21:47 +00:00
florian
5c91c89aea * avr: take advantage of sbiw in mod/div_word
+ test
2024-09-11 22:40:10 +02:00
Pierre Muller
cfe85a036b Add TEST_FAILLIST, TEST_LOG and TEST_LONGLOG variables, and use those to set LOGFILES list, to avoid troubles if LOG, LONGLOG or FAILLIST variables already are set 2024-09-11 11:21:12 +02:00
Margers
d1e239f3c4 Branch to save Enhanced video buffer or Legacy video buffer (Unix). 2024-09-11 06:50:49 +00:00
Margers
f3eb7f8608 Restored array of Sw_Word to array of Word as those are ment to be video buffer cells. 2024-09-11 06:48:59 +00:00
Margers
f0760bacc0 Ctrl-C in ide does not generate signal SIGINT (dos). 2024-09-11 06:47:07 +00:00
Margers
e945c65255 Remove redundant ctrl-c enable and disable. 2024-09-11 06:47:07 +00:00
Margers
359d23e595 Properly mirror InitEnhancedVideo with DoneEnhancedVideo in FV. 2024-09-11 06:46:15 +00:00
Margers
bc7c288703 Save and restore user screen original cursor position for every unix terminal not only xterm 2024-09-11 06:45:24 +00:00
Margers
9c3a66930c Message box have to draw some blank lines. 2024-09-11 06:43:53 +00:00
Margers
8ff73efe32 On return to IDE screen resize IDEapp if needed (Unix). 2024-09-11 06:43:15 +00:00
Nikolay Nikolov
99943610cb * WebAssembly: generate the final bashB opcode of a function via the
end_function instruction, instead of adding it magically in the object writer.
  This makes the WebAssembly debug line info more accurate, covering the
  end_function instruction as well.
2024-09-11 07:46:23 +03:00
Nikolay Nikolov
d81170ab23 * fix generation of addend for R_WASM_FUNCTION_OFFSET_I32 relocations. This
improves code address accuracy for WebAssembly debug line info information.
2024-09-11 04:50:35 +03:00
Nikolay Nikolov
c8e4a52428 + WebAssembly internal object writer: added safety check for catching bugs,
caused by instruction size changes between Pass1 and Pass2
2024-09-11 04:44:50 +03:00
Nikolay Nikolov
d41d98b70b * WebAssembly internal object writer: fixed helper function SlebSize() 2024-09-11 04:44:05 +03:00
Nikolay Nikolov
23debb77b3 * set procalign and loopalign to 0 for WebAssembly - code alignment is unnecessary, as this is a VM. 2024-09-11 04:12:00 +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
dbc3e71eda + more relocation types added to the enum TWasmRelocationType 2024-09-11 01:00:30 +03:00
Nikolay Nikolov
06917784d0 - removed redundant if 2024-09-11 00:46:58 +03:00
Nikolay Nikolov
b7742def46 + WebAssembly internal linker: support the R_WASM_GLOBAL_INDEX_I32 relocation,
used for threadvar debug info, among another possible uses.
2024-09-11 00:31:27 +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
9799c6a5ec + support writing R_WASM_GLOBAL_INDEX_I32 relocations in the WebAssembly internal object writer 2024-09-11 00:12:20 +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
florian
1ed9054bb9 * fix capabilites check 2024-09-10 22:53:35 +02: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
Michaël Van Canneyt
a20c83fdfb * Delphi compatibility improvements 2024-09-10 18:13:42 +02:00
Michaël Van Canneyt
cc15c3c2de * Regexp for wasm (using browser API) 2024-09-10 16:52:02 +02:00
Michaël Van Canneyt
1084346b00 * Allow to set lastindex 2024-09-10 16:52:02 +02:00
mattias
af206dfecd fcl-js: escape unicode whitespaces in string literals 2024-09-10 10:28:45 +02:00
mattias
1a3d651cfb pastojs: fixed else modeswitch 2024-09-10 10:26:56 +02:00
ccrause
fc76d9fac2 Omit FPC_INIT_FUNC_TABLE generation if no unit initialization is registered for current project. 2024-09-09 20:00:44 +00:00
J. Gareth "Curious Kit" Moreton
677fd4fb00 * Added missing i386-win32 target selection 2024-09-09 14:24:05 +01:00
Michaël Van Canneyt
9600b5276a * Add license header 2024-09-08 10:56:24 +02:00