Messages in this thread |  | | Date | Thu, 08 Nov 2001 10:29:19 -0500 | From | David Chandler <> | Subject | Re: Bug Report: Dereferencing a bad pointer |
| |
Benjamin LaHaise wrote:
> On Wed, Nov 07, 2001 at 06:23:13PM -0500, David Chandler wrote: > > The following one-line C program, when compiled by gcc 2.96 without > > optimization, should produce a SIGSEGV segmentation fault (on a machine > > with 3 or less gigabytes of virtual memory, at least): > > > > int main() { int k = *(int *)0xc0000000; } > > > > However, it does not do so under 2.4.x -- it does cause a seg fault > > under > > 2.2.x kernels. > > Works here running 2.4.13-ac8+bits. Are you sure you didn't compile with > optimization enabled? > > -ben
I'm quite sure -- an optimized build exits immediately, whereas I'm seeing a hung process with 2.4 kernels that has to be killed (most any signal, including SIGSEGV, will do the trick). With 2.2 kernels, the program seg faults, as it should. By "Works here" I assume you mean that you received a segmentation fault.
I get the same result with gcc 3.0.1 and gcc 2.96 (and yes, the relevant generated code differs slightly). I have tried Linus's official 2.4.13+UML on UML, but I've not tried 2.4.13-ac8.
Please Cc: me on any replies.
David Chandler
_____ David L. Chandler. GrammaTech, Inc. mailto:chandler@grammatech.com http://www.grammatech.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |