Hi! > From: Haitao Shan > > This is a workaround which fixes triple fault > in __restore_processor_state on clang when > built with LTO. > > When load_TR_desc and load_mm_ldt are inlined into > fix_processor_context due to LTO, they cause > fix_processor_context (or in this case __restore_processor_state, > as fix_processor_context was inlined into __restore_processor_state) > to access the stack canary through %gs, but before > __restore_processor_state has restored the previous value > of %gs properly. LLVM appears to be inlining functions with stack > protectors into functions compiled with -fno-stack-protector, > which is likely a bug in LLVM's inliner that needs to be fixed. That's rather ugly. Would it be easier to simply mark those functions as noinline or something like that? Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html