This is the mail archive of the libc-alpha@sources.redhat.com 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]

waitid vs -fexceptions


On alpha, at least, tst-cancelx4 fails with 

  cleanup handler not called for 'waitid'

This happens because the compiler sees that do_waitid makes 
no function calls, and thus "cannot throw".  I *think* that
using -fnon-call-exceptions will let the compiler assume that
volatile asms can trap (and thus throw).  That will, however,
add exception edges for all of the other memory accesses too.

Seems like what's actually needed is an asm annotation that
says that it can throw, but that would require compiler changes.
I'm not sure what else to suggest for the moment, though.


r~


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