Quote:
Originally Posted by dalton
The clearing loop in the beginning of the program appears to be clearing 4 times the data it should. So it basically goes on to clear some constant data I have included in my program.
Very strange! Is it a bug in vbcc?
|
Don't think so. My guess is that you are using an obsolete vlink version for m68k-kick13.
In my startup code source the "move.l #$00000030,d0" is
Code:
move.l #__BSSLEN,d0
__BSSLEN is a (SAS/C-compatible) linker symbol, which represents the number of long words in the BSS part of a Data-Bss section. There was a bug fix for vlink recently (before the vbcc 0.9f release). From the history file:
Code:
- 0.16 (16.05.17)
...
o (ados/ehf): Fixed SAS/C-compatibility linker symbol __BSSLEN. Now it
represents the number of long words instead of the number of bytes.
WARNING! Make sure to check your code, if you used __BSSLEN before!
Make sure your vlink is V0.16.
Hmm. There was no m68k-kick13 target in 0.9e. I first released it with 0.9f (accompanied by the appropriate vlink-version).