Opened 15 years ago
Closed 14 years ago
#241 closed defect (fixed)
libc: build failure with newer gcc/binutils
| Reported by: | abwillis | Owned by: | bird |
|---|---|---|---|
| Priority: | normal | Milestone: | libc-0.6.5 |
| Component: | libc | Version: | 0.6 |
| Severity: | normal | Keywords: | |
| Cc: |
Description (last modified by )
With newer gcc/binutils fnstsw changes from using %ax to %eax: src/msun/i387/fenv.c
int
_STD(feupdateenv)(const fenv_t *envp)
{
- int mxcsr, status;
+ int mxcsr;
+ uint16_t status;
__fnstsw(&status);
if (__HAS_SSE())
__stmxcsr(&mxcsr);
else
mxcsr = 0;
fesetenv(envp);
feraiseexcept((mxcsr | status) & FE_ALL_EXCEPT);
return (0);
}
The code is incorrectly using int (32-bit) for a 16-bit type (FSW).
Change History (3)
comment:1 by , 14 years ago
| Description: | modified (diff) |
|---|---|
| Milestone: | → libc-0.6.5 |
| Status: | new → accepted |
| Summary: | libc build failure → libc: build failure with newer gcc/binutils |
| Version: | 0.7 → 0.6 |
comment:2 by , 14 years ago
| Status: | accepted → assigned |
|---|
comment:3 by , 14 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

Corrected this in r3765 and r3766.