This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Missing -fexception CFLAGS

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]