Hello Toni,
now i'm playing with the 64bit Version under Win10.
If i load my program which has two hunks (code & data/bss) with uaedbg, it prints about a third hunk with size 4096 wich i think is for the stack, right? Could this size be configured?
Now if i start with "g" i get an illegal-memory-access-error: obviously access to uninitialized stack area.
I think this is due to my use of the SAS/C-Compiler and the linkage with the normal startup-module c.o. This code tries to get the stack-base wich is a (possible undocumented?) parameter on the stack.
Code:
*
* C initial startup procedure under AmigaDOS
*
* Use the following command line to make c.o
* asm -u -iINCLUDE: c.a
;;;
;;; Stack map.
;;;
OFFSET 0
ds.b 4
savereg ds.b 13*4
stackbtm ds.b 4
*=======================================================================
*====== CLI Startup Code ===============================================
*=======================================================================
*
* Entry: D2 = command length
* A2 = Command pointer
fromCLI:
move.l a7,D0 * get top of stack
sub.l stackbtm(a7),D0 * compute bottom
add.l #128,D0 * allow for parms overflow
move.l D0,_base(A4) * save for stack checking
These are only a few lines to show the problematic instruction.
Later i get some Exceptions 8, 26 and 27. I think they are Priviledge-Violation, Int-2 and Int-3. Should i inspect my code for errors or is this normal behavior? I think this happens by printf (DOS-calls, eg. Write).
Thank you for your time...