Commit Graph

59333 Commits

Author SHA1 Message Date
florian
b776d48367 + x86: optimziation MovMov2MovMov 2
git-svn-id: trunk@45582 -
2020-06-03 20:29:00 +00:00
nickysn
f5489b5678 + allow specifying the program load address for the ZX Spectrum target via the -WB option
git-svn-id: trunk@45581 -
2020-06-03 20:09:27 +00:00
nickysn
1263880ef0 - removed the z80_internal_linker build mode from the lazarus project
git-svn-id: trunk@45580 -
2020-06-03 19:37:44 +00:00
nickysn
d1377777be + enabled the ZX Spectrum internal linker
git-svn-id: trunk@45579 -
2020-06-03 19:36:41 +00:00
nickysn
84cd9e129b + ZX Spectrum internal linker: invoke the ihx2tzx to postprocess the ihx file,
produced by the internal linker (in the future, the code of this utility may
  be integrated into the compiler)
* changed the exe extension of ZX Spectrum to '.tzx'

git-svn-id: trunk@45578 -
2020-06-03 19:33:03 +00:00
nickysn
12dce172f9 + implemented TIntelHexExeOutput.DoRelocationFixup
git-svn-id: trunk@45577 -
2020-06-03 17:12:41 +00:00
nickysn
3023a9f0e2 - removed the GetCode/Data/BssSize overrides in the ZX Spectrum internal linker,
since the default implementation, inherited from parent now works

git-svn-id: trunk@45576 -
2020-06-03 15:39:28 +00:00
nickysn
4b5c8982ff + implemented IHX writing in the Z80 internal linker
git-svn-id: trunk@45575 -
2020-06-03 15:35:42 +00:00
Mattias Gaertner
dbc2d630c0 pas2js: fixed rtti record field anonymous array
git-svn-id: trunk@45574 -
2020-06-03 13:25:15 +00:00
ondrej
533312c619 Variants: fix letter case in variant type names
git-svn-id: trunk@45573 -
2020-06-03 07:02:15 +00:00
ondrej
896b7c8dc2 Variants: add varQWord to OrdinalVarTypes and varDecimal to FloatVarTypes
git-svn-id: trunk@45572 -
2020-06-03 06:56:32 +00:00
nickysn
a5ab1c03ea * avoid 8-bit truncation of the sizes in the internal linker map
git-svn-id: trunk@45571 -
2020-06-02 23:13:32 +00:00
nickysn
da2bd5f789 * ImageBase changed to qword to avoid 8-bit truncation in the internal linker map file
git-svn-id: trunk@45570 -
2020-06-02 23:10:31 +00:00
nickysn
9c54d753f5 * ImageBase changed to qword (same type as CurrMemPos) to avoid truncating to 8-bit on Z80
git-svn-id: trunk@45569 -
2020-06-02 23:07:45 +00:00
nickysn
4a5a2f5ba2 + set IMAGEBASE in the Z80 internal linker script
git-svn-id: trunk@45568 -
2020-06-02 23:01:07 +00:00
nickysn
b29257fd05 * avoid setting the oso_Data flag on bss sections
git-svn-id: trunk@45567 -
2020-06-02 22:54:16 +00:00
nickysn
996ab2feba * renamed some REL sections to follow a similar naming convention
git-svn-id: trunk@45566 -
2020-06-02 22:44:57 +00:00
florian
6d3b74f96e * extended r45555 to take care of chars as well
git-svn-id: trunk@45565 -
2020-06-02 20:58:44 +00:00
nickysn
788797d078 + implemented reading of T and R records
git-svn-id: trunk@45564 -
2020-06-02 17:48:06 +00:00
Mattias Gaertner
f94221d788 pas2js: rename overloads in specialized members
git-svn-id: trunk@45563 -
2020-06-01 23:34:36 +00:00
Mattias Gaertner
a03ed979fd fcl-passrc: resolver: ClassScope_Record
git-svn-id: trunk@45562 -
2020-06-01 23:34:16 +00:00
nickysn
ad66f17a87 * group T and R records together and call a function (not implemented yet) to handle them in pairs
git-svn-id: trunk@45561 -
2020-06-01 22:48:51 +00:00
nickysn
a91b42bd8d + add .text, .data and .bss exe sections and define the entry point in the ZX Spectrum internal linker script
git-svn-id: trunk@45560 -
2020-06-01 22:37:37 +00:00
nickysn
6d3bfccbe3 * set MaxMemPos to $FFFF in the Z80 internal linker
git-svn-id: trunk@45559 -
2020-06-01 22:34:10 +00:00
nickysn
d0beacc35f * return the correct size for files in ar archive. This is required by the REL
reader, which reads files until the end of file

git-svn-id: trunk@45558 -
2020-06-01 22:25:31 +00:00
nickysn
3e2cf16d1f * TRelObjInput.ReadObjData: return success, if file was read correctly
git-svn-id: trunk@45557 -
2020-06-01 22:14:01 +00:00
nickysn
0e54ea6bab + parse the REL symbol records
git-svn-id: trunk@45556 -
2020-06-01 21:07:21 +00:00
florian
792cf056eb * a nil node is also a constant pointer node
+ convert (v1=const1) and (v2=const2) into ((v1 xor const1) or (v2 xor const2))=0 if the expressions have no side effects

git-svn-id: trunk@45555 -
2020-06-01 20:50:38 +00:00
nickysn
19a66947bc + parse the area records of REL files
git-svn-id: trunk@45554 -
2020-06-01 19:52:25 +00:00
nickysn
c8337937b3 + parse the REL header
git-svn-id: trunk@45553 -
2020-06-01 18:06:15 +00:00
nickysn
31b7fd8965 + partial implementation of TRelObjInput.ReadObjData
git-svn-id: trunk@45552 -
2020-06-01 17:29:29 +00:00
nickysn
8873a199ec * buffered text reading functions moved from being local to TRelObjInput.CanReadObjData
to being class members, so they can be used by ReadObjData as well

git-svn-id: trunk@45551 -
2020-06-01 15:17:47 +00:00
nickysn
996eaf16b3 + override TInternalLinkerZXSpectrum.GetCode/Data/BssSize to avoid access violation error
git-svn-id: trunk@45550 -
2020-06-01 14:02:10 +00:00
nickysn
7eb782446e + create a linker script for the ZX Spectrum internal linker
git-svn-id: trunk@45549 -
2020-06-01 13:54:27 +00:00
nickysn
3685b50e75 + set cobjdata in TIntelHexExeOutput.create;
git-svn-id: trunk@45548 -
2020-06-01 13:53:28 +00:00
nickysn
6104cd321c + set cobjdata in TRelObjInput.create
git-svn-id: trunk@45547 -
2020-06-01 13:14:46 +00:00
nickysn
b2714052d1 + override TInternalLinkerZXSpectrum.InitSysInitUnitName
git-svn-id: trunk@45546 -
2020-06-01 13:10:39 +00:00
Mattias Gaertner
67ba0641fc pas2js: fixed check if specialized class interface is needed
git-svn-id: trunk@45545 -
2020-06-01 11:50:08 +00:00
florian
42e4d66c5e * AArch64: enable TARMAsmOptimizer.OptPass1And
git-svn-id: trunk@45544 -
2020-05-31 21:40:59 +00:00
nickysn
8ffd756546 + added 'z80_internal_linker' build mode to the z80 lazarus project
git-svn-id: trunk@45543 -
2020-05-31 20:26:07 +00:00
nickysn
4a296c9f5d * enable the Z80 internal linker (not working yet) if the compiler is compiled with the Z80_INTERNAL_LINKER define
git-svn-id: trunk@45542 -
2020-05-31 19:39:12 +00:00
nickysn
3c8ac8d356 - removed the z80_internal_asm build mode, since it's now a feature enabled by default, not hidden behind an ifdef
git-svn-id: trunk@45541 -
2020-05-31 19:30:59 +00:00
nickysn
11cc085870 + implemented TRelObjInput.CanReadObjData
git-svn-id: trunk@45540 -
2020-05-31 17:45:12 +00:00
marco
c95b1348fb * make properties file binary the same for chms with binary index.
git-svn-id: trunk@45539 -
2020-05-31 16:10:00 +00:00
michael
700f3e6ec1 * Add dictionary tests for comparison with pas2js
git-svn-id: trunk@45538 -
2020-05-31 10:57:12 +00:00
Mattias Gaertner
9df74570a6 pas2js: filer: restore specialize class
git-svn-id: trunk@45537 -
2020-05-31 09:10:11 +00:00
florian
c5d7e6807c * ARM: factor out TARMAsmOptimizer.OptPass1And
git-svn-id: trunk@45536 -
2020-05-30 20:44:19 +00:00
Mattias Gaertner
9c8fc6bcf5 fcl-passrc: fixed specialize while-do and with-do
git-svn-id: trunk@45535 -
2020-05-30 18:18:28 +00:00
Mattias Gaertner
619776ad48 fcl-passrc: resolver: nicer incompatible types anonymous proc and proc type
git-svn-id: trunk@45531 -
2020-05-30 13:28:51 +00:00
Mattias Gaertner
d0faf82fcd pas2js: filer: started delay specialize
git-svn-id: trunk@45530 -
2020-05-30 11:48:08 +00:00