Date: Thu, 27 Mar 1997 19:13:45 -0800 From: John Polstra <jdp@polstra.com> To: smc@servtech.com Cc: dyson@freebsd.org, hackers@freebsd.org Subject: Re: Anyone else seen this? Message-ID: <199703280313.TAA28286@austin.polstra.com> In-Reply-To: <333AA089.41C67EA6@servtech.com> References: <199703270427.XAA04344@dyson.iquest.net> <333AA089.41C67EA6@servtech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <333AA089.41C67EA6@servtech.com>, Shawn Carey <smc@servtech.com> wrote: > The problem is not GDB related, GDB just makes it clear when it > happens. When GDB has stopped the program (which is every time so far), > I have had no breakpoints or watchpoints set. Hmm, well I've just been messing around with it, and to me it does seem related to GDB. At least, I can make it happen reliably with GDB, but not without GDB. Mind you, I don't think it's a GDB bug. It's just that GDB writes into the text segments of the executables. On a -2.2 system (unknown vintage, sorry), I compiled hello.c with "cc -g": #include <stdio.h> main(int argc, char *argv[]) { printf("Hello, world!\n"); return 0; } Then I started gdb on it, and set a breakpoint on "main". I ran it repeatedly (all from the same gdb invocation). Many, but not all, of the times, GDB gave me the message that the file had changed. I just tried it on a -current system from March 17th, and it exhibited the same behavior. In another window, I did repeated "ls -lT" commands on the executable. Its modtime did in fact change, though the appearance of each change lagged a bit behind the moment when GDB noticed the difference. I am pretty sure that lag was caused by the delays between "update" runs. (A "sync" reliably made the changes visible to "ls".) Hmmm ... Hey, this is pretty interesting. I set the breakpoint at main and alternamed "r" "c" "r" "c" ... over and over rapidly. (I.e.: run the program, continue past the breakpoint, program finishes, repeat.) It looked very much like I got the "has changed" message from GDB about every 30 seconds, which is the kern.update interval. Does this give you something to chew on, John Dyson? -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703280313.TAA28286>