Red Hat Bugzilla – Bug 58657
gcc-3.1-0.18 miscompilation on rpm build/files.c
Last modified: 2007-04-18 12:39:07 EDT
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]
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.
And yes, the problem is/was invariant to disabling each of the 3
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.