gcc-3.1-0.18 is miscompiling rpm-4.0.4-0.15 build/files.c Workaround was to add attached patch and compile build/files.c with CFLAGS="-g -O0 -DIA64_SUCKS_ROCKS"
Created attachment 43174 [details] patch in build/files.c
Created attachment 43175 [details] temp file
Were you seeing the problem in all 3 places or just one? If just in the stpcpy(foo, "./") case, then it is a different thing than the other two...
Ah, overriding CFLAGS="-g -O0 -DIA64_SUCKS_ROCKS" (note missing -D_GNU_SOURCE) explains the warning. However it does *NOT* explain why I don't get the warning when the same command is repeated a bit later. WTFO? And I get segfaults when trying to repeat results of last night. FWIW, rpm-4.0.4-0.15 built this morning, is installed and running on bullwinkle with the missing -D_GNU_SOURCE -D_REENTRANT compilation patch as described. Appears that there's some uncontrolled for condition related to bullwinkle. I believe my so called patch just happens to work. Temperature? And yes, the problem is/was invariant to disabling each of the 3 stpcpy chunks.
Hmmm, after trying again the warning message is repeatable. Good, I'm not insane, just distracted. We'll see whether rpm-4.0.4-0.16 builds repeatably on ia64.
OK, here's what I see: boris can build rpm-4.0.4-0.16 w hack, runs on bullwinkle OK. bullwinkle can build -0.16 w hack, runs on bullwinkle OK. bullwinkle can build -0.16 w/o hack, does NOT run on bullwinkle.. Off to build w/o hack on boris to eliminate build tree problems, otherwise the problem is as likely to be the missing -D_GNU_SOURCE and -D_REENTRANT as something else.
Build on boris w/o hack does NOT run on boris. That eliminates (well minimizes) build tree pollution. I'm kinda stumped here. Ideas on how to proceed?
Can you tell me the exact way to reproduce the problem (ie. what should I exactly run in the buildroot after I build rpm w/o hack)?
No testcase and the bug is too old.