The "20040817-gcc4.patch" as applied to duke3d, is bogus and causes the 3D engine to hang right away.
Created attachment 87759 [details, diff] Apply this patch to fix "20040817-gcc4.patch" :-) Compiled and run-tested with gcc 3.4.5. Obviously, it is gcc4-friendly too. Please test and apply...
Can someone please include my patch ? Duke3d is completely broken without it :-(
See Comment #5 and #6 on Bug 122290 as this incorporates your patches.
The fix is now in portage. Thanks for contribution.