Commit Graph

25797 Commits

Author SHA1 Message Date
florian
34630c2ef9 * properly set types for currency divisions, resolves #38717 2022-02-13 22:47:38 +01:00
Nikolay Nikolov
21593942a1 * regenerate all makefiles with the latest fpcmake 2022-02-13 15:26:54 +02:00
Nikolay Nikolov
3c91a7c01e + emit an error message if the ihxutil is not found when compiling an ZX Spectrum executable with the internal linker
+ emit a 'tried' message (fpc -vt) when using ihxutil for ZX Spectrum
2022-02-13 02:54:40 +02:00
Jonas Maebe
14289173bb PPC64: fix wrong ifdef for SYSV ABI
The TOC is used by PPC64, not by PPC32. Resolves #39571
2022-02-12 15:26:49 +01:00
Jonas Maebe
0fcc57fb4b PPC64: don't save TOC in pure assembler routines
Fix by Pierre
2022-02-12 15:26:27 +01:00
Nikolay Nikolov
2c0f10d988 * when adding WebAssembly object info, traverse through current_module.used_units,
as well as the usedunits global. This resolves #39543
2022-02-12 08:32:48 +02:00
Pierre Muller
c9e8bfd118 Add internalerror if ogwasm tries to write unset Func/Global or TagIndex of TWasmObjSymbol 2022-02-11 22:19:43 +00:00
florian
67d80d414b * do not copy parameters onto the stack using FPU registers if the type is
actually handled by the MM unit, resolves #39567
2022-02-10 22:42:49 +01:00
florian
ba51494bd7 * more MIPS64 fixes 2022-02-09 22:59:46 +01:00
florian
bbece3e668 * MIPS64 can
* MIPS64 does not need separate 64 bit code path for ordinals
2022-02-08 23:08:32 +01:00
J. Gareth "Curious Kit" Moreton
fe39f9ca21 Fixed bug on x86 platforms where the stack pointer was not allocated if it was different to the frame pointer 2022-02-08 20:47:47 +00:00
Karoly Balogh
077a3f1892 * m68k: don't attempt to copy less than 1 byte in g_concatcopy, this fixes tdfa7.pp on 68000 and removes some superfluous address processing on 68020+ in the same test 2022-02-08 03:04:28 +01:00
Karoly Balogh
8f083f6342 * m68k: do not generate unnecessary unaligned load sequences for byte loads into registers, this fixes tcnvint1 test on plain 68000 2022-02-08 01:26:28 +01:00
florian
c42b8c43bd * \t => spaces 2022-02-07 23:04:20 +01:00
Jonas Maebe
2ee45c7ed8 PowerPC32 SysV: fix abis_ppc_toc declaration
No TOC on those platforms (as mentioned in tcgppcgen.get_rtoc_offset), so also
exclude from this constant
2022-02-07 20:31:46 +01:00
Jonas Maebe
629c1de460 TOC handling: clean up
Also fix on 32 bits PowerPC
2022-02-06 22:10:06 +01:00
florian
28964711d7 * sorted defines in the compiler: mips64 is defined on all 64 Bit mips platforms, mips64el for little endian, misp64eb for big endian 2022-02-06 21:57:01 +01:00
Florian Klämpfl
a6d6f93887 * revert accidently committed code 2022-02-06 20:15:00 +01:00
Florian Klämpfl
9348f58e70 * cosmetics 2022-02-06 20:13:51 +01:00
Karoly Balogh
568d4de77e * aros64: recent developments hanged the library call ABI, lets try to follow it (aros64 is experimental) 2022-02-06 16:30:04 +01:00
florian
c1ef094457 + startup code skeleton for MIPS64 2022-02-06 13:50:32 +01:00
florian
bd82ad0d41 * register MIPS64 targets properly 2022-02-06 10:50:57 +01:00
florian
e9e8013316 + some basic stuff for MIPS64 2022-02-05 23:25:31 +01:00
Jonas Maebe
68b5ca633c ppc platforms: fix missing TOC restoration room
PPC platforms that use a TOC can never use a tail call to call a different
routine that potentially accesses globals, as it may use a different TOC and
then the linker must be able to insert an instruction after the branch to
restore the original TOC register value on "return". Even if FPC code itself
does not use the TOC register, it's still required since
  1) the linker does not know this, and
  2) the FPC code might still be called from other code that does use it
2022-02-05 21:36:41 +01:00
Jonas Maebe
83c18df69a ppc64: fix rtoc handling
Save on procedure entry if it performs a call, rather than (only) before every
indirect call
2022-02-05 17:36:08 +01:00
Pierre Muller
a9c67f22fd Add use of SD instruction in tcgmips.a_load_reg_ref method 2022-02-04 22:54:58 +00:00
florian
ed2b73eee6 * sorted MIPS defines 2022-02-04 23:07:25 +01:00
Pierre Muller
4db332fecf Add default macros inoptions unit for mips64 and mips64el CPUs 2022-02-04 19:59:26 +00:00
Pierre Muller
65880e6631 Also set mipseb or mipsel macro for 64-bit mips CPU 2022-02-04 19:57:42 +00:00
Pierre Muller
c2ffd51c63 Fix compilation from 32-bit CPU by avoiding use of aint variable in for loop 2022-02-04 18:32:49 +00:00
Pierre Muller
ea812d1c2e mips64 define must also set mips 2022-02-04 18:31:53 +00:00
florian
b2e553d3c4 * mips64el compiler can be compiled 2022-02-03 23:15:34 +01:00
J. Gareth "Curious Kit" Moreton
c4ea01cf3d Improved JccMov1JmpMov0Jmp -> SETcc optimisation 2022-02-03 21:38:52 +00:00
Thorsten Otto
073b48de82 atari: add -Wt<x> option to allow specifying the executable format
This is useful to create aoutmint format binaries using vlink,
which have a symbol table that has no limit for the name length.
2022-02-02 21:34:32 +00:00
Thorsten Otto
41d4e181ea atari: pass tos exe flags also to ld 2022-02-02 21:34:32 +00:00
florian
b2eaa4e701 + some MIPS64 stuff added to the Makefiles 2022-02-02 22:14:43 +01:00
Thorsten Otto
859ae5fc7c Fix linker script for atari/gnu ld 2022-01-30 13:34:10 +01:00
Thorsten Otto
d93c7579de Fix linker commandline for m68k-atari 2022-01-30 13:34:10 +01:00
J. Gareth "Curious Kit" Moreton
9b4033fa80 Fast mod 2022-01-30 08:22:39 +00:00
ccrause
181ee30174 Update build and link requirements for esp-idf v4.4. Refactor the version dependent linker fragments list into an array of version specific array of strings for easier updating in future. 2022-01-30 08:14:07 +00: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
f21f7f0f50 * handle result type of unsigned ordinal operations in ISO/Extpas mode similiar to TP, solves
#37875
2022-01-28 22:48:50 +01:00
J. Gareth "Curious Kit" Moreton
29625c7112 Fixed registers in references not being tracked properly in MovMovXX2MovXX 1 optimisation 2022-01-28 20:17:24 +00:00
J. Gareth "Curious Kit" Moreton
f8e04aad03 CMOV now modifies rather than writes to the destination register so RegUsedAfterInstruction behaves properly 2022-01-28 20:17:24 +00:00
J. Gareth "Curious Kit" Moreton
69fff102af Added correct flag tracking for JccMov2CMov optimisations 2022-01-28 20:17:24 +00:00
florian
d5d9716916 * fix thlcgxtensa.g_intf_wrapper as proposed by Anton in #39326, resolves #39326 2022-01-27 22:37:31 +01:00
Karoly Balogh
6010ece532 * m68k-atari: make vasm the default assembler. also don't claim we have an internal linker 2022-01-25 23:50:07 +01:00
Karoly Balogh
a87b38f753 * m68k-atari: make the Atari target always default to VLink, even for crosscompilers 2022-01-25 23:50:07 +01:00
Karoly Balogh
ed2dca9a9b * m68k-atari: make the Atari target use 68000 CPU as default 2022-01-25 23:50:07 +01:00