1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-18 07:29:36 +00:00
cc65/libsrc
Oliver Schmidt 0ee9b2e446 Changed run location of INIT segment.
So far the INIT segment was run from the later heap+stack. Now the INIT segment is run from the later BSS. The background is that so far the INIT segment was pretty small (from $80 to $180 bytes). But upcoming changes will increase the INIT segment in certain scenarios up to ~ $1000 bytes. So programs with very limited heap+stack might just not been able to move the INIT segment to its run location. But moving the INIT segment to the later BSS allows it to occupy the later BSS+heap+stack.

In order to allow that the constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the new INITBSS segment. The latter isn't cleared at any point so the constructors may use it to expose values to the main program. However they must make sure to always write the values as they are not pre-initialized.
2015-10-14 22:52:09 +02:00
..
apple2 Fixed comment. 2015-04-27 09:39:50 +02:00
atari Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
atari5200 Consistently place constructors (and their exclusive subroutines) in "INIT". 2015-10-09 21:44:20 +02:00
atmos Added more info to a comment. 2015-01-09 22:19:35 -05:00
c16 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
c64 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
c128 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
cbm Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
cbm510 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
cbm610 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
common Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
conio Updated the fastcall information in a document and two Assembly files. 2015-07-22 13:31:14 -04:00
dbg Made _afailed() and uncompress() be fastcall functions. 2015-03-13 07:35:47 -04:00
em Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
geos-apple Have src/Makefile and libsrc/Make use disjoint work directories. 2014-03-05 23:24:35 +01:00
geos-cbm Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
geos-common Refined the comments in the target start-up files. 2014-08-24 10:10:20 -04:00
joystick added compiler/assembler target, lib compiles 2014-11-29 15:35:20 +01:00
lynx Refined the comments in the target start-up files. 2014-08-24 10:10:20 -04:00
mouse Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
nes Added empty IRQ backend. 2015-07-22 11:36:54 +02:00
osic1p Consistently place constructors (and their exclusive subroutines) in "INIT". 2015-10-09 21:44:20 +02:00
pce According to the contributor the VGA data is accessed only by the constructor. 2015-10-14 11:50:54 +02:00
pet Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
plus4 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
runtime Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
serial Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
sim6502 Moved two errno helper functions into separate files. 2015-09-25 14:06:58 -04:00
supervision Refined the comments in the target start-up files. 2014-08-24 10:10:20 -04:00
tgi Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
vic20 Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
zlib Made _afailed() and uncompress() be fastcall functions. 2015-03-13 07:35:47 -04:00
Makefile Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-11 13:05:26 +02:00