Subject: Linux-Activists - Channel NORMAL digest. 93-0-16-5:15
From: "Linux Activists" <[email-masked]>
To: "Linux-Activists" <[email-masked]>
Date: Sat, 16 Jan 1993 10:59:51 +0200

Topics:
	 New FAQ on kernel panics
	 Re: Linux-Activists - Channel NORMAL digest. 93-0-15-23:4

----------------------------------------------------------------------

From: [email-masked] (Eric Youngdale)
Subject: New FAQ on kernel panics
Date: Sat, 16 Jan 1993 07:59:32 +0200

> - send along about 10 lines of the nm output from around the offending
>   instruction.  Assuming the EIP value reported by the panic was
>   00012345, the output of nm that is interesting might look like this:
>
>	00011fd4 T _sys_ssetmask
>	00011ff4 T _sys_sigpending
>	00012024 T _sys_sigsuspend
>	00012084 T _sys_signal
>	00012114 T _sys_sigaction
>	00012204 T _do_signal

	Here is an item that is probably only of interest to kernel hackers.
The beta version of gas, 1.93, is capable of generating listing files.  It will
print out the offsets of each instruction, the hexadecimal bytes that each
instruction is translated to, and the source code that was responsible for
the assembly code.  I am enclosing a short example at the end of this message.

	To generate the listings, you need to use the '-a' switch, and the
listing goes to stdout.

-Eric

GAS LISTING seagate.s 			page 50

 1556      00000100
 1556      0000
 857:seagate.c     **** 				printk("disconnecting..");
 1557              		.stabd 68,0,857
 1558 0f42 68790600 		pushl $LC25
 1558      00
 1559 0f47 E8B4F0FF 		call _printk
 1559      FF
 1560 0f4c 83C404   		addl $4,%esp
 858:seagate.c     **** 				if(!SCint) panic("SCint == NULL after REQ_MSGIN1");
 1561              		.stabd 68,0,858
 1562 0f4f 833D5612 		cmpl $0,_SCint
 1562      000000
 1563 0f56 7510     		jne L110
 1564 0f58 68890600 		pushl $LC26
 1564      00
 1565 0f5d E89EF0FF 		call _panic
 1565      FF
 1566 0f62 83C404   		addl $4,%esp
 1567 0f65 909090   		.align 4,0x90
 1568              	L110:
 859:seagate.c     ****                                   current_data = data;    /* WDE add */
 1569              		.stabd 68,0,859
 1570 0f68 8B4DF8   		movl -8(%ebp),%ecx
 1571 0f6b 890D7C12 		movl %ecx,_current_data
 1571      0000
 860:seagate.c     ****                                   current_bufflen = len;  /* WDE add */
 1572              		.stabd 68,0,860
 1573 0f71 8B55FC   		movl -4(%ebp),%edx
 1574 0f74 89158012 		movl %edx,_current_bufflen
 1574      0000
 861:seagate.c     ****   #if (DEBUG & (PHASE_RESELECT | PHASE_MSGIN))
 862:seagate.c     **** 				printk("scsi%d : disconnected.\n", hostno);
 863:seagate.c     ****   #endif
 864:seagate.c     **** 				done=1;
 1575              		.stabd 68,0,864
 1576 0f7a C745EC01 		movl $1,-20(%ebp)
 1576      000000
 865:seagate.c     **** 				break;
 1577              		.stabd 68,0,865
 1578 0f81 E9CA0000 		jmp L108
 1578      00
 1579 0f86 9090     		.align 4,0x90
 1580              	L111:
 866:seagate.c     **** 			case COMMAND_COMPLETE :
 867:seagate.c     ****   #if (DEBUG & PHASE_MSGIN)
 868:seagate.c     **** 				printk("scsi%d : command complete.\n", hostno);
 869:seagate.c     ****   #endif
 870:seagate.c     **** 				if(!SCint) panic("SCint == NULL after REQ_MSGIN2");
 1581              		.stabd 68,0,870
 1582 0f88 833D5612 		cmpl $0,_SCint
 1582      000000
 1583 0f8f 750F     		jne L112
 1584 0f91 68A80600 		pushl $LC27
 1584      00
 1585 0f96 E865F0FF 		call _panic
 1585      FF

------------------------------

From: [email-masked] (Mark Horstman)
Subject: Re: Linux-Activists - Channel NORMAL digest. 93-0-15-23:4
Date: Sat, 16 Jan 1993 07:15:36 +0200

> From: Philip Perucci <[email-masked]>
> Subject: 0.99pl3 Makefile?
> Date: Sat, 16 Jan 1993 02:26:43 +0200
> 
> 
> Is there a problem with the Linux 0.99pl3 Makefile?
> I have been happily making my own kernels since 0.98pl6 with NO trouble.
> "make" for 0.99pl3 does nothing but compile main.c.
> "make all" crashes on something like tools/version.h.
> Any feedback, flames, jokes, or floggings greatly appreciated!

I had the same problem (for the first time in 0.99.3)... The make dep
generated a funky depend for the tools/version.o target. I found the target
tools/version.o in /usr/src/linux/.depend and changed it's dependency for 
tools/./version.h to tools/version.h. That seemed to fix it.

-- 
Mark Horstman
[email-masked]

------------------------------

End of NORMAL Digest
********************
-------