Commit Graph

27125 Commits

Author SHA1 Message Date
Karoly Balogh
a4c94c8b44 human68k: more work on getting tinyheap right. still doesn't seem to work, sadly, so still disabled 2023-12-03 12:14:22 +01:00
Karoly Balogh
b81b818a75 human68k: set default stack size to 16KiB 2023-12-03 12:14:22 +01:00
florian
1f91fe4b11 * fix output position of deprecated hint for certain cases where it was wrong, resolves #40534 2023-12-03 11:35:03 +01:00
florian
e1e9a6728f * fix casing 2023-12-02 20:58:43 +01:00
J. Gareth "Curious Kit" Moreton
ccf631eabd * x86: Fixed inefficiencies revealed in "TEST/JNE/TEST/JNE"
optimisations after SkipAligns cull.

         A variant "TEST/JNE/TEST/JE/@Lbl" optimisation now exists to
	 accommodate for an intermediate jump optimisation that prevents
	 the original optimisation from working if performed first.
2023-12-02 18:25:19 +00:00
ccrause
248082347f AVR optimization LdsMov2Lds 2023-12-02 18:22:35 +00:00
Pierre Muller
34ae77bd3b Improve GNU linker call for m68k-human68k target
+ Add '-b xfile' option
  + Add '-m human68kxfile' option
  + Add $GCSECTIONS and set GCSectionStr for GNU linker
2023-12-01 22:51:03 +01:00
Pierre Muller
f1e32bb187 Add human68k OS to list of supported OSes for m68k GNU assembler 2023-12-01 22:12:58 +01:00
Karoly Balogh
5649ce150b m68k: have the targets in alphabetical order in the help text 2023-12-01 01:45:23 +01:00
Karoly Balogh
f2c5bb2bfd regenerated msg*.inc files for the compiler after human68k merge 2023-12-01 01:38:56 +01:00
Karoly Balogh
9eda172a48 m68k: do not generate argument popping for a noreturn call 2023-11-30 23:43:27 +00:00
Karoly Balogh
439faf0da8 m68k: basic DOS syscall generation for human68k 2023-11-30 23:43:27 +00:00
Karoly Balogh
a398da4c72 human68k: fix xecutable generation 2023-11-30 23:43:27 +00:00
Karoly Balogh
679f2f75b3 human68k: regenerated Makefiles 2023-11-30 23:43:27 +00:00
Karoly Balogh
d72eaaf734 human68k: ppudump typo/build fix 2023-11-30 23:43:27 +00:00
Karoly Balogh
ba773e3385 human68k: this system has internal sysinit 2023-11-30 23:43:27 +00:00
Karoly Balogh
3c34c8b86b tabs to spaces cosmetics. no functional change 2023-11-30 23:43:27 +00:00
Karoly Balogh
4a1db1dc79 m68k: initial compiler changes for Human68k (Sharp X68000) support 2023-11-30 23:43:27 +00:00
Pierre Muller
f249987133 Fix usage of GNU assembler for i386-nativent target 2023-11-30 11:32:33 +01:00
Pierre Muller
224a7a8a54 Use PID to generate unique GDB script names
Limit this to cases when -vj or -vJ option is
used to call the compiler, which adds a PID prefix
to all compiler output.
  This feature is useful to debug parallel make issues.
2023-11-30 11:13:10 +01:00
Jonas Maebe
2db4cae7aa nested procvars: support assignments when switch not active
Support assigning one nested procvar to another even when the nestedprocvars
modeswitch is not active. This can happen when the type was declared in a
different unit that was compiled with this modeswitch, or in internally
generated wrapper code (which uses "pure" objfpc mode)
2023-11-25 22:35:55 +01:00
J. Gareth "Curious Kit" Moreton
7080bcc160 * UpdateUsedRegsAndOptimize improved to clear aligns that don't have
any live labels after them, and to better handle non-jump labels.
2023-11-25 20:47:44 +00:00
J. Gareth "Curious Kit" Moreton
90e0b426ef * SkipInstr now includes ait_align 2023-11-25 20:47:44 +00:00
J. Gareth "Curious Kit" Moreton
da47c509df * Label and align optimisation is now only done in the post-peephole
stage rather than passes 1 and 2.
2023-11-25 20:47:44 +00:00
Pierre Muller
b8036f7173 Add dwarf CFI for 32-bit powerpc cpu 2023-11-23 21:39:14 +01:00
Pierre Muller
da683ade18 Add dwarf CFI for powerpc64 cpu 2023-11-23 21:19:52 +01:00
Pierre Muller
429d2cdf12 Call FindUtil for ld or nlmconv utils at linking stage, not before 2023-11-23 20:54:30 +01:00
Pierre Muller
98ef2773e0 Improve token buffer size checks.
* For settings comparison: call CompareByte only on copy_size.
  * For mesgnb: verify that there is enough memory space
    in rest of tokenbuf to hold the number of messages.
  + Add a check that tbi is not greater than tokenbufsize.
2023-11-20 20:59:04 +01:00
Pierre Muller
2ed2ca5cf0 Add missing token buffer index update for ST_LOADMESSAGES handling 2023-11-20 17:52:21 +01:00
Pierre Muller
6f5c6ac410 Add Exception backtrace when compiled with -dDUMP_EXCEPTION_BACKTRACE 2023-11-20 01:05:11 +03:00
Pierre Muller
922893ddbb Attempt to fix tcalext3 big-endian powerpc64 failure 2023-11-20 01:05:10 +03:00
florian
e5de38c42d * patch by lagprogramming: Improvement of function SetCompileModeSwitch, resolves #40525 2023-11-19 13:37:37 +01:00
Nikolay Nikolov
5a61f51b3c + added TWasmExeOutput class (not implemented, yet) 2023-11-17 00:12:18 +02:00
Nikolay Nikolov
ddac127347 + added TInternalLinkerWasi class (not fully implemented, yet) 2023-11-17 00:08:42 +02:00
Michaël Van Canneyt
6652fa7919 * Properly zero-terminate ansistring when calling unicode2ascii 2023-11-15 18:58:20 +01:00
Nikolay Nikolov
d98d0c5e62 + started implementing TWasmObjInput.ReadObjData 2023-11-15 17:58:15 +02:00
Nikolay Nikolov
b9668a88c6 + implemented TWasmObjInput.CanReadObjData: checks for WASM header and version 2023-11-15 01:55:12 +02:00
Nikolay Nikolov
bc727f9fb2 + added TWasmObjInput class. To be used in the WASM internal linker. Not doing anything, yet. 2023-11-15 01:39:39 +02:00
florian
6e5860cb87 * check for *-1 multiplications after folding, resolves #40448 2023-11-12 22:30:43 +01:00
Pierre Muller
6e9521d99a Fix for trunk arm STM optimize bug 2023-11-12 18:22:19 +00:00
Pierre Muller
31c8e78581 Default to external assembler
in cross-endian configuration.

  Add note about reason of switching to external assembler.
2023-11-12 17:26:19 +00:00
Pierre Muller
19a3e69f03 Add new option_switch_bin_to_src_assembler_cross_endian message 2023-11-12 17:26:19 +00:00
Pierre Muller
b054febbc8 Change internal linker in cross-endian message.
Change message level from error to warning,
in order to allow to work on full support of
cross-endian internal assemblers and linkers.
2023-11-12 17:26:19 +00:00
Pierre Muller
2cbaa24f76 Prevent usage of internal linker in cross-endian configuration.
Add LinkInternSetExplicitly field to TOption class.
Set this field to true if '-Xe-' or '-Xi' option is used.
Check at exit if in cross-endian configuration:
 if LinkInternSetExplicitly is set, issue error message,
else add cs_link_extern to init_settings.globalswitches.
2023-11-12 17:25:45 +00:00
Michaël Van Canneyt
c9b88a1cd0 * Allow to disable 8.3 filename search 2023-11-12 09:55:30 +01:00
ccrause
652f21b656 RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal). 2023-11-11 17:45:23 +00:00
J. Gareth "Curious Kit" Moreton
5fab6cc5e0 * Fixed internal error number clash (2022102110) 2023-11-10 18:43:55 +00:00
J. Gareth "Curious Kit" Moreton
afe2e80673 * a64: Node parser now attempts to directly create BIC, ORN and EON instructions 2023-11-08 21:07:00 +00:00
Michaël Van Canneyt
ade7af5234 * Refer to bugreport for internal error 20231102 2023-11-08 00:04:18 +01:00
Sven/Sarah Barth
3f1d62af8e * fix #40504: always provide the global enum symbol for anonymous enum types (e.g. as part of a set)
+ added test
2023-11-07 20:33:55 +01:00