[PATCH] Missing -fexception CFLAGS
Joseph S. Myers
joseph@codesourcery.com
Sat Nov 3 22:58:00 GMT 2012
On Sat, 3 Nov 2012, H.J. Lu wrote:
> There is no problem on i386 and x86-64 with GCC 4.7 since
> async unwind table is on by default. Does -fexception introduce
There is no problem, for the most part, because i386 and x86_64 use the
legacy syscall interface and so these functions are implemented through
syscalls.list entries there, whereas for architectures using the generic
syscall interface they use .c files. It does look like i386 uses a .c
file for open64 and x86_64 uses one for recv.
Any reason based on the actual effects of the options, rather than what
happens to work with particular compiler versions, for not using
-fexceptions for these files, implementing functions subject to
cancellation, would apply equally well to lots of other functions using
-fexceptions. So if these functions are not to use -fexceptions then I
think you should define appropriate variables, like the existing
$(uses-callbacks), for functions with well-defined properties (such as
"may be cancelled"), justify values of those variables on particular
platforms, and arrange for all the existing uses of -fexceptions,
$(exceptions) and -fasynchronous-unwind-tables to use those variables (or
the existing $(uses-callbacks) - various places where $(uses-callbacks)
would seem logically right are using something else, e.g. printf is using
$(exceptions)). Such variables would make logical sense anyway, even if
they don't change how any file is actually built.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list