From olwi@citadel.ncc.icyb.kiev.ua  Sat Jan  9 13:11:48 1999
Received: from burka.carrier.kiev.ua (burka.carrier.kiev.ua [193.193.193.107])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA14491
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 9 Jan 1999 13:11:44 -0800 (PST)
          (envelope-from olwi@citadel.ncc.icyb.kiev.ua)
Received: from citadel.ncc.icyb.kiev.ua (olwi@citadel.ncc.icyb.kiev.ua [193.193.216.140])
	by burka.carrier.kiev.ua (8.Who.Cares/8.Who.Cares) with ESMTP id XAA05763
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 9 Jan 1999 23:11:10 +0200 (EET)
	(envelope-from olwi@citadel.ncc.icyb.kiev.ua)
Received: (from olwi@localhost)
	by citadel.ncc.icyb.kiev.ua (8.8.8/ICyb-2.3exp) id XAA16689;
	Sat, 9 Jan 1999 23:11:10 +0200 (EET)
	(envelope-from olwi)
Message-Id: <199901092111.XAA16689@citadel.ncc.icyb.kiev.ua>
Date: Sat, 9 Jan 1999 23:11:10 +0200 (EET)
From: Oleg Cherevko <olwi@icyb.kiev.ua>
Reply-To: olwi@icyb.kiev.ua
To: FreeBSD-gnats-submit@freebsd.org
Subject: "make kernel" yields buggy kernel in ceratin cases (ld bug?)
X-Send-Pr-Version: 3.2

>Number:         9407
>Category:       kern
>Synopsis:       "make kernel" yields buggy kernel in ceratin cases (ld bug?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan  9 13:20:00 PST 1999
>Closed-Date:    Sun Jul 15 13:19:03 PDT 2001
>Last-Modified:  Sun Jul 15 13:19:25 PDT 2001
>Originator:     Oleg Cherevko
>Release:        FreeBSD 2.2.8-RELEASE i386
>Organization:
ICyb ISP
>Environment:

	Was observed on:
	FreeBSD 2.2.7-RELEASE (AMD K6-2 300MHz, 64Mb RAM)
	FreeBSD 2.2.8-RELEASE (Intel 80x486DX 33MHz, 16Mb RAM)

>Description:

	This is the most strange problem that I did encounter with FreeBSD.
	The story goes like this. I made patch for FreeBSD 2.2.8 sio driver
	that adds several nice enhancements to it (the patch is included in
	this report). I tested the new sio driver this way and that,
	and finally was about to contribute it to the FreeBSD community
	when decided to change a couple of variable names in the driver
	source code. To my sheer astonishment, this simple cosmetic operation 
	have led to unstable kernel that crashed and did silent reboot as soon
	as I tried to open sio device with "cu" and type in a few chracters.
	This was my home box (AMD K6-2 300MHz, 64Mb RAM) running 2.2.7-RELEASE.
	Sure thing, I decided that I somehow broke my new sio driver.
	I checked everything twice but the driver itself proved not to be the
	source of the problem. Then I thought that it might be some broken
	hardware, so I got to different machine (Intel 80x486DX 33MHz, 16Mb RAM)
	running 2.2.8-RELEASE, and got mostly the same result (only instead of
	rebooting silently it panicked due to page fault).
	I played with names of those ill-fated variables, and finally got the
	working driver version that becomes nonoperational as soon as you
	_change the case of three letters_ in the names of 2 sio.c variables.
	Namely, "SameIRQ" -> "Sameirq", "NeedToInitSameIRQ" -> "NeedToInitSameirq"
	Yes, folks, I know that all I told you is just plain impossible,
	I know that it simply can never happen. And yet I face it now and
	frankly speaking have no ideas as to what all this actually means.

>How-To-Repeat:

	1. First, you need to patch your 2.2.[78]-RELEASE sio.c & sioreg.h
	   to get the new enhanced version of the sio driver.
	   The patch named sio-228.patch is in the sio-228.patch.tgz file
	   included in this report. You may also want to look through
	   the README.sio-228.patch (not required).

	2. Second, you want to make a new kernel with the new patched sio
	   driver. To be able to reproduce the bug we are talking about
	   you need to enable 2 options:
		options COM_MULTIPORT
		options COM_MULTIPORT_SEPARATE_IRQS
	   because the 2 variables in question are in the multiport code
	   portion that is compiled in only if those options are enabled.
	   Alternatively, you may add the following 2 defines to
	   /sys/compile/<YOURKERNEL>/sio.h:
		#define COM_MULTIPORT
		#define COM_MULTIPORT_SEPARATE_IRQS
	   (in case you don't want to reconfigure & recompile your kernel
	   from scratch).

	   After "make kernel" is complete, I recommend making copies of
	   the "sio.o" and "kernel":
	   	cp sio.o sio.IRQ.o
	   	cp kernel kernel.IRQ

	3. Next, you need to patch your sio.c again to make this innocent
	   cosmetic change. You may use sio-IRQ-irq.patch that is included
	   in this report, or just replace all instances of the text
	   "SameIRQ" with "Sameirq" throughout the sio.c (2 variables are
	   affected).

	4. "make kernel" once again.
	   	cp sio.o sio.irq.o
	   	cp kernel kernel.irq

	5. Now you can compare "sio.IRQ.o" and "sio.irq.o" (in my case,
	   they differ in 6 bytes as should be) as well as "kernel.IRQ"
	   and "kernel.irq" (in my case, they differ a lot, which is
	   very strange!)

	6. You may boot from "kernel.IRQ" (then from "kernel.irq") and try
	   to access your com ports with something like "cu -l cuaaX -s <speed>"
	   It works just great when I boot from "kernel.IRQ" but crashes
	   when I boot from "kernel.irq". (Be careful to disable your
	   /etc/rc.serial code, if any, or you risk crashing right
	   in the middle of the multiuser boot process)

begin 644 sio-IRQ-irq.patch.gz
M'XL("$'$ES8``W-I;RU)4E$M:7)Q+G!A=&-H`)U5:VOB0!3]//D5%PK%.$:C
M8KLVM2B+"RZUNB;]M)1@FP@#FKA)"EV6_O>]-Y/$1R;!71],=,Z<G'O.]6H8
M!L0B;,]6/]IOS%XG\'T=``RA.[PS;^YZ`[P8#C7.>0HK06[Q)2'C,1B]8;_U
M!;A<QF,-XB1Z?TO@/1!)[,9[//='@_PA@@1V(G!IMP6[]4=Z96GP:6E&^:2]
MWODH\^>3/5LX"^<%0:]AN'43>/)]SPEG",TP,`)G]3RU-*ZF$=&O(QJNI$%,
M00-7?N")#72:\'4Q=^?/C\YLN5@Y<'U]^H5K3Y>3U<29NJC"AF9'`WR2-8-N
MO]7M`<]6,N<*&3U_(P+?:YRPZ,2;[4"CY@:Z!@P-9>2D0#\8$YN&P@X=;>>J
M32J2-H$QM@FC!HB1:8&`>\CLP0\8/4&0G+$\`_'2SI-#DW)L&9-EBAC3(@5R
ME^RO8"AA3AA(YF=Z%U7DWR:/]E12J*+,MH$H@-[_'RH%VC6'9JO;!YY?4*2D
MGH$\OIQ/;&>Z:HC8V^NZ\2`\-Q4B*\'P,>&Z&Q';;ATG?H3BRXQ%W*D]]\7/
M`[(S1_[JJ64U@!'(7]XQXX.*,4^CDO$0EV3D)8T4K%(C/TJ^1B,O:3P[<-!8
MP7BN$9L!_&WLRR8OBDHQ90&@!"GJ+NY<2:0"E<15=*EBTC"H:>J\:P=FOW6+
M32O7M&?E^&-L'\:Q>-W^=G=AY+LX4Z+8HOEU0:L:-(*H70OU50Z1-2JLRH1_
MJAX+Z32S&KLWLL9T36OT0CGE%#4>C8:+*J5!"8VJ,K.0K:SE1X?_->"<UFP6
AGY.H.J6>!+W!IJ6BCKG,_-!A@I\<N=#.OQ[-%P<8"```
`
end

begin 644 sio-228.patch.tgz
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
-9OC_P+\2!_UR`'@``-`9
`
end

>Fix:
	
	Unknown
>Release-Note:
>Audit-Trail:

From: Sakari Jalovaara <sakari@regex.fi>
To: freebsd-gnats-submit@freebsd.org, olwi@icyb.kiev.ua
Cc:  
Subject: Re: kern/9407: "make kernel" yields buggy kernel in ceratin cases (ld bug?)
Date: Sun, 31 Jan 1999 20:16:06 +0200

 > [changing the name of a variable produces very different
 >  kernels, one of which crashes]
 
 'cmp -l kernel.IRQ kernel.irq' probably produces lots of output
 because some sort of symbol table hashing/sorting/whatever in 'ld'.
 
 Compile the following:
 
 	#include <stdio.h>
 	int aa;
 	int bb;
 	int main (void)
 	{
 	    printf ("%d\n", &aa < &bb);
 	    return 0;
 	}
 
 cc tst.c
 mv a.out a.out-bb
 <edit tst.c and change 'bb's to 'zz'>
 cc tst.c
 cmp -l a.out a.out-bb
 
 -- gives more than four bytes worth of output.
 
 Also, when you rename 'bb' to 'zz' in the above program, the output of
 the program changes (at least on 4.0-current/ELF it does -- for other
 versions of 'ld' some other name than 'zz' may do this.)
 
 A more likely explanation than an ld bug is that either the patch or
 the original sio.c has a bug whose behavior is changed when objects
 are re-ordered in memory.  For a first guess, I'd try placing
 	assert (xxx >= 0 && xxx < NSIOTOT);
 statements wherever SameIRQ[xxx] is accessed.
 								++sja
State-Changed-From-To: open->feedback 
State-Changed-By: kris 
State-Changed-When: Thu May 24 13:04:20 PDT 2001 
State-Changed-Why:  
Did you try the suggested debugging aid? 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9407 
State-Changed-From-To: feedback->closed 
State-Changed-By: kris 
State-Changed-When: Sun Jul 15 13:19:03 PDT 2001 
State-Changed-Why:  
Feedback timeout 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9407 
>Unformatted:
