Commit Graph

59319 Commits

Author SHA1 Message Date
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
florian
0acae47310 * ARM: get rid of more unneeded sxtb/h uxtb/h instructions
git-svn-id: trunk@45529 -
2020-05-29 20:51:04 +00:00
nickysn
2353b1adee + started work on the Z80 internal linker
git-svn-id: trunk@45528 -
2020-05-29 18:13:18 +00:00
svenbarth
1c5d0220fe * enable tests for the Nullable unit
git-svn-id: trunk@45527 -
2020-05-29 13:04:37 +00:00
Mattias Gaertner
73a2b46263 fcl-passrc: specialize varargs of t
git-svn-id: trunk@45526 -
2020-05-29 12:48:42 +00:00
florian
651f5cb8a1 * ARM: (V)LDM do not load from the registers in the reg. set
git-svn-id: trunk@45525 -
2020-05-28 21:37:05 +00:00
nickysn
3f95fa50ef * use const_align(sizeof(pint)) alignment instead of sizeof(pint) for various
compiler-generated structures, so they don't waste any extra alignment space
  on 8-bit CPUs like the Z80 and the AVR

git-svn-id: trunk@45524 -
2020-05-28 21:08:02 +00:00
Mattias Gaertner
4637a882d5 pas2js: async function exit(promise)
git-svn-id: trunk@45523 -
2020-05-28 16:54:22 +00:00
svenbarth
0f372308b5 * fix comment: define is called HAS_OSCONFIG, not HAVE_OSCONFIG
git-svn-id: trunk@45522 -
2020-05-28 14:47:35 +00:00
michael
6b79e2c2c3 * Moved constant to rtlconsts
git-svn-id: trunk@45521 -
2020-05-28 09:45:43 +00:00
michael
e0c5ac1682 * Add nullable (bug ID 0037128)
git-svn-id: trunk@45520 -
2020-05-28 09:39:35 +00:00
florian
8f88112bfe * allow in iso mode constants selecting the branch to dispose of a variant record (no functional effect though), resolves #37085
git-svn-id: trunk@45519 -
2020-05-27 21:10:55 +00:00
Mattias Gaertner
683c5c8faf fcl-passrc: allow external class function async
git-svn-id: trunk@45518 -
2020-05-27 18:30:00 +00:00
Mattias Gaertner
b6e2a228d3 pas2js: async proc type
git-svn-id: trunk@45517 -
2020-05-27 12:32:14 +00:00
michael
d81b21007f * Reset operator after variable list
git-svn-id: trunk@45516 -
2020-05-27 11:38:35 +00:00