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