The Linux kernel will run on a 486 and upwards, i believe they dropped 386 because it was extremely crufty... It also still runs on m68k as far as i know, all the way back to mc68020 (i even have an m68k box to hand running a fairly modern kernel but its a 68060).
Mainstream distros compile to require modern hardware by default because it makes sense to do so, not making use of such features results in inferior performance when running on newer hardware, thats why many people use distros like gentoo where you can compile everything with support for your actual cpu.
There's nothing stopping you from compiling binaries to support older cpus, and there are distros out there which support them but that's no reason to hold everyone else back for the very few niche users who might want to run linux on a 486...
I'm also not sure why you'd want to run gcc3 on a 15 year old piece of hardware, you could always cross compile on new hardware and doing so is going to be MUCH faster.