Opened 15 years ago
Closed 15 years ago
#239 closed defect (fixed)
emxomfld can generate incorrect stack size
| Reported by: | Steven Levine | Owned by: | bird |
|---|---|---|---|
| Priority: | normal | Milestone: | libc-0.6.4 |
| Component: | baselayout | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Given -Zlinker /ST:0x80000 emxomfld will generate OPTION STACK 0x80c00. The occurs because stack_size is signed and gcc implements the divide in
stack_size = (stack_size + 0xfff) / 1024;
at line 2135 as a signed shift with additional rounding. The generated code is effectively
stack_size = ((stack_size + 0xfff) + 0x3ff) >> 10;
Change History (3)
comment:1 by , 15 years ago
| Status: | new → assigned |
|---|
comment:2 by , 15 years ago
comment:3 by , 15 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

No, I think it's because my rounding is wrong. The statement should've read:
or