2012-02-17 10 views
5

Hangi koşullar altında (eğer varsa) SIGSTKFLT sinyali, Linux 3.0 altında kernel tarafından x86_64 üzerinde eşzamanlı olarak yükseltilebilir mi? man 7 signal göreLinux 3.0 x86_64: SIGSTKFLT ne zaman gündeme geldi?

+0

Muhtemelen asla olmaz. Neden soruyorsun? – sep332

+1

Sistem kitaplığında uygun bir hata iletisi yazmaya çalışıyor. –

cevap

3

: x86 işlemci yığını (eminim) hata olamaz yana

Signal  Value  Action Comment 

SIGSTKFLT -,16,-  Term Stack fault on coprocessor (unused) 

, bunu dolaylı olarak işaret edilebilir sanmıyorum. Sadece açık nesil (kill() veya raise() tarafından) neden olabilir.

I grep 'k Çekirdek kaynağı. Kullanmaz, ancak yaklaşık 50 örnekleri (CPU mimarisi başına)

+2

X87 işlemcisi arıza yapabilir: sadece FPU Kontrol Word'ünde IM bitinin maskesini açın ve fstp komutunu fstp veya benzeri olmayanlar olmadan 9 kez çalıştırmayı deneyin. Ancak Linux'ta böyle bir yığın hatası SIGSTKFLT yerine SIGFPE üretir. – Ruslan

+0

@Ruslan: Ben 8087'nin bir SIGSTKFLT üretebileceğini düşünmedim. Tabii ki, SIGSEGV, vb. Gibi diğer hata türlerini de yaratabilir. – wallyk

+1

Hayır, yani gerçekten tam olarak bir yığın hatası olabilir (8 yazmaçları bir yığın halinde düzenlenmiştir) hatalar - uygulama için sadece SIGFPE. – Ruslan