Commit Graph

70568 Commits

Author SHA1 Message Date
Rika Ichinose
1ecd60e90d Align Win64 CONTEXT to 16 bytes. 2024-09-22 07:57:00 +00:00
Rika Ichinose
3183902868 Import tlhelp32.h functions. 2024-09-22 07:55:12 +00:00
Rika Ichinose
b8fdd7148b Simplify RTTIRecordOp. 2024-09-22 07:50:51 +00:00
florian
5c94ccc4c2 * cosmetics 2024-09-21 22:53:27 +02:00
J. Gareth "Curious Kit" Moreton
adac1e6db2 "tnodeutils.has_init_list" is now static 2024-09-21 20:50:09 +00:00
J. Gareth "Curious Kit" Moreton
a4ff1d185e * More efficient condition checks for "tnodeutils.has_init_list" 2024-09-21 20:50:09 +00:00
Nikolay Nikolov
3ae64e5e17 + include unit aoptcpu in wasm32/cputarg.pas 2024-09-21 15:41:26 +03:00
Nikolay Nikolov
a7be888255 + add optimizer units (empty for now) for the WebAssembly target 2024-09-21 14:50:16 +03:00
Nikolay Nikolov
dba753eb8d - removed obsolete define FPC_WASM_THREADS_INTERNAL_LINKER from ppcwasm32.lpi 2024-09-21 14:22:26 +03:00
Nikolay Nikolov
130d1e9d40 * WebAssembly internal linker: only generate the tag name subsection if there
are any tags in the module
2024-09-21 09:43:21 +03:00
Nikolay Nikolov
508e0dd01c * WebAssembly internal linker: refactor writing the name custom section - group
generating subsection data with the actual writing of the subsection data
2024-09-21 09:42:17 +03:00
Nikolay Nikolov
1ea876b517 + add tag names to the WebAssembly name section 2024-09-21 09:40:25 +03:00
florian
44d9234f38 * properly unlink unused type symbols from their defs to avoid
internal errors when generating debug info, resolves 
2024-09-20 22:49:08 +02:00
Nikolay Nikolov
33a389dfb7 * WebAssembly internal linker: add the data segment names to the name section 2024-09-20 16:28:14 +03:00
Michaël Van Canneyt
083ac5c114 * Fix warnings, hints and notes 2024-09-20 11:34:24 +02:00
Michaël Van Canneyt
ae83472a06 DumpLiveObjects call 2024-09-20 10:37:06 +02:00
florian
8b48127b2c * as shared libraries without glibc on linux currently don't work, link those tests
on current fpc versions and linux always against glibc, so the shared library handling is tested
2024-09-19 22:57:45 +02:00
Nikolay Nikolov
a46c6229c5 + WebAssembly interal linker: add global names to the name custom section 2024-09-19 07:00:56 +03:00
Nikolay Nikolov
507e728ee8 + introduced local method WriteNameMap for writing name maps in the WebAssembly name custom section 2024-09-19 06:48:22 +03:00
Nikolay Nikolov
b5d0cd57ed + introduced method TWasmExeOutput.AddToGlobalNameMap 2024-09-19 06:43:52 +03:00
Nikolay Nikolov
7c545cfa8b + introduced method TWasmExeOutput.AddToNameMap 2024-09-19 06:42:03 +03:00
Nikolay Nikolov
85143f515d + introduced private type TCustomSectionNameMap to class TWasmExeOutput 2024-09-19 06:40:37 +03:00
Nikolay Nikolov
2ee8a59fbd + introduced private type TCustomSectionNameMapEntry to class TWasmExeOutput 2024-09-19 06:39:38 +03:00
Nikolay Nikolov
ffd461860b + added extra values to TWasmNameSubsectionType from the extended name section
proposal and the gc proposal
2024-09-19 06:35:49 +03:00
Pierre Muller
b1a18f5690 Handle floatx80 records with gaps also in InternalAssembler 2024-09-18 18:54:44 +00:00
Michaël Van Canneyt
705b2cf62a * Fix compilation in pas2js 2024-09-18 18:47:40 +02:00
Michaël Van Canneyt
b18e381049 * Some minor improvements 2024-09-18 17:49:41 +02:00
Michaël Van Canneyt
5ac4fd0b13 * Allow message in ShowAsDebug 2024-09-18 17:32:37 +02:00
Michaël Van Canneyt
1f0c72b6c1 * JOB debugobject call 2024-09-18 17:09:02 +02:00
Michaël Van Canneyt
334102e391 * Add timer API and demo 2024-09-18 16:49:27 +02:00
Michaël Van Canneyt
c883683b6a * Fix compiling system unit 2024-09-18 08:46:17 +02:00
florian
76fc3275bc * handle except blocks as normal code block with regard to specialization of generics, resolves 2024-09-17 23:02:25 +02:00
Margers
4ed3e6d002 Increase IDE version 2024-09-17 06:25:14 +00:00
Margers
016962261f Assembler Reader Options for x86_64 2024-09-17 06:24:21 +00:00
Margers
69d552415a Save All is enabled and disabled as requiered 2024-09-17 06:22:32 +00:00
Nikolay Nikolov
29ee863e8f - 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.
2024-09-17 06:14:03 +03:00
Nikolay Nikolov
cf7d9fa4c5 + WebAssembly internal linker: create a name custom section to help debugging 2024-09-17 05:34:20 +03:00
florian
9d7ea2c069 * revert check for boolean type when handling LOC_FLAG in tcgassignmentnode.pass_generate_code. This makes pas boolean the default,
resolves 
2024-09-16 22:48:18 +02:00
Pierre Muller
400094921c Handle cross-endian case inside TCoffObjData.writereloc method 2024-09-16 18:58:40 +00:00
Margers
822a9e1bb1 Compilation error fix for Assembler output options. 2024-09-16 18:18:29 +00:00
Margers
dde4d515bf Autosave before Run with Breakpoints in Debuger 2024-09-16 17:39:51 +00:00
Margers
ca03194927 Enable mouse in pterm (putty) 2024-09-16 17:37:12 +00:00
Margers
69e7ffadba Implementation of Kitty keys and xterm - ModifyOtherKeys (Unix keyboard) 2024-09-16 17:36:02 +00:00
Margers
4f35953353 Cancel exit if Auto Save is ON and saving new file is canceled. 2024-09-16 17:34:48 +00:00
Margers
ef4ad5d669 Save and read correctly Assembler Output options in Textmoed ide. 2024-09-16 17:33:45 +00:00
Margers
e4596d3db4 Textmode ide: in Change Directrory dialog can copy and paste in input line. 2024-09-16 07:55:31 +00:00
florian
0e0c4bd621 * make UpdateFnv64 closer to the original algorithm as proposed by Gareth 2024-09-15 21:49:02 +02:00
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
aba44452f3 * WebAssembly internal linker: also don't remove unused data sections if
smartlinking is turned off.
2024-09-15 08:59:08 +03:00
Nikolay Nikolov
36ecb2b5da * WebAssembly internal linker: don't remove unused code sections if smartlinking
is turned off. This is needed for debugging, because FPC doesn't support debug
  info with smartlinking on most platforms, and that includes WebAssembly.
2024-09-15 08:32:35 +03:00