I was posting an additional comment about stack_size, but got a bit carried away. So, I thought I should start a new thread.
Two main points follow:
- stack_size in slink64 has reverted to hex numbers
- stack overflow errors need a rethink, but I don't know who should fix them. In 2018, they should not occur.
stack_size <hex_number>
I note that stack_size requires a hex number. Could we get back to decimal ? (SLINK appears to use decimal)
Also, could we use something like 'stack_size 100_MB'.
Others may be more fluent in hex, but I struggle with a 1 followed by a string of zeros. We need something a bit clearer.
Is the default 'stack_size 0x1000000' or 'stack_size 1000000' ? I would find 'stack_size 16_mb' or 'stack_size 16mb' much easier to read.
We also need the selected stack size to be reported. Does 'map <file>' report the stack size selected ? Is it possible to get this reported in /32 or /64 ? Getting a stack overflow can be annoying, but then struggling with how to specify a larger stack can tip me over the edge.
Stack Overflow Errors
These belong in the last century / last millennium !! Stack overflow is an annoying error report. It is not my (the programmer's) fault, but the fault of the 'stack manager' who is too lazy to fix this problem it has caused by failure to find another stack location. There are gigabytes of unused memory available to be used. Even /32 typically has addresses above 2gb as unused. I am serious when I say it is the fault of the lazy 'stack manager'. If you think about what is happening, this is where the problem should be solved. Who controls the 'stack manager' Is it Microsoft O/S or SLINK ? We need a Stack overflow address to extend the stack and in 64-bit that should not be a difficult problem.
Who agrees ?
John