Stack Size Cannot Be Specified as Exactly 65,535 Bytes

ID Number: Q70262

3.x 4.0x 4.10 5.0x 5.10 5.11 5.13 | 5.0x 5.10 5.11 5.13

MS-DOS | OS/2

buglist5.10 buglist5.11 buglist5.13

Summary:

If a program is linked with the stack size specified as exactly 65,535

bytes, the resulting executable file may hang the computer, give

unexpected results, or generate the following error:

run-time error R6000

- stack overflow

Linking with the /STACK option specified as /ST:65535 or /ST:0xFFFF

(or compiling with the /F FFFF option) will result in an attempt to

set the stack to this invalid value. No warning message will be

generated and the actual size of the stack will be zero bytes.

The problem results from the fact that in order to create the most

efficient executable, LINK rounds all odd stack sizes to the next even

value. When 65535 (0xFFFF) is given as the stack size, LINK rounds

this value to zero.

Microsoft has confirmed this to be a problem in LINK versions 3.65,

3.69, 4.06, 4.07, 4.10, 5.01.20, 5.01.21, 5.03, 5.05, 5.10, 5.11, and

5.13. We are researching this problem and will post new information

here as it becomes available.

Additional keywords: buglist3.65 buglist3.69 buglist4.06 buglist4.07

buglist4.10 buglist5.01 buglist5.03 buglist5.05 buglist501.20

buglist501.21 fixlist5.30