Opened 14 years ago

Last modified 13 years ago

#241 closed defect

libc: build failure with newer gcc/binutils — at Version 1

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 bird)

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 (1)

comment:1 by bird, 13 years ago

Description: modified (diff)
Milestone: libc-0.6.5
Status: newaccepted
Summary: libc build failurelibc: build failure with newer gcc/binutils
Version: 0.70.6
Note: See TracTickets for help on using tickets.