Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!sun!amdcad!mozart.amd.com!proton!tim From: tim@proton.amd.com (Tim Olson) Newsgroups: comp.unix.questions Subject: Re: Signals Message-ID: <1991Feb21.022020.2357@mozart.amd.com> Date: 21 Feb 91 02:20:20 GMT References: <1991Feb20.153845.14999@b11.ingr.com> Sender: usenet@mozart.amd.com (Usenet News) Reply-To: tim@amd.com (Tim Olson) Organization: Advanced Micro Devices, Austin, TX Lines: 31 In article <1991Feb20.153845.14999@b11.ingr.com> dclark@b11.ingr.com (Dave Clark) writes: | | When debugging a program recently, I found that it was crashing due to receipt | of a signal "SIGEMT." My manual describes this as: | | SIGEMT 07 EMT instruction | | Naturally, "EMT" is not defined anywhere else in the manual. Can someone out | there in netland tell me what EMT stands for? On the PDP-11 processor, the EMT (Emulator Trap) instructions were opcodes 0104000 - 0104377 that simply caused a specific trap to occur when executed. They were presumably to be used for emulating other instructions not included in the standard instruction set. The UNIX kernel for the PDP-11 generated a SIGEMT signal when this trap occured. That's what the original "EMT" stands for, but what causes it in your system is a different matter (and subject to the actual implementation). It is often used as the signal generated for non-floating point arithmetic exceptions (e.g. overflow), since there usually is no other standard signal for these. For example, SunOS generates a SIGEMT when a taddcctv instruction (tagged add, set condition codes, trap overflow) overflows. -- -- Tim Olson Advanced Micro Devices (tim@amd.com)