freebsd-skq/sys/amd64/ia32
kib be9c86776f Since version 4.3, gcc changed its behaviour concerning the i386/amd64
ABI and the direction flag, that is it now assumes that the direction
flag is cleared at the entry of a function and it doesn't clear once
more if needed. This new behaviour conforms to the i386/amd64 ABI.

Modify the signal handler frame setup code to clear the DF {e,r}flags
bit on the amd64/i386 for the signal handlers.

jhb@ noted that it might break old apps if they assumed DF == 1 would be
preserved in the signal handlers, but that such apps should be rare and
that older versions of gcc would not generate such apps.

Submitted by:	Aurelien Jarno <aurelien aurel32 net>
PR:	121422
Reviewed by:	jhb
MFC after:	2 weeks
2008-03-13 10:54:38 +00:00
..
ia32_exception.S Newer versions of gcc don't support treating structures passed by value 2006-12-17 06:48:40 +00:00
ia32_reg.c include opt_compat.h to unbreak the build 2005-10-24 00:00:00 +00:00
ia32_signal.c Since version 4.3, gcc changed its behaviour concerning the i386/amd64 2008-03-13 10:54:38 +00:00
ia32_sigtramp.S Stop reloading %fs and %gs, since it causes the base address from 2006-09-23 13:42:09 +00:00
ia32_syscall.c Optimize vmmeter locking. 2007-06-10 21:59:14 +00:00