This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Update bug 15020: Bugtracking complains unreasonably


When trying to submit further information for gcc bug 15020 I get

Not allowed
You tried to change the Assignee field from unassigned@gcc.gnu.org to __UNKNOWN__, but only the assignee of the bug, or a sufficiently empowered user may change that field.


I can not figure which field of the form is causing this message or
what I should change to get past the message, thus I burden you
with this complaint mail. The submission attempt happened
approcimately Tue Mar 7 02:53:17 GMT 2006.


Whatever the problem, please add following to bug 15020 titled
"[win32] -mcpu=pentium4 generates wrong code":


Not sure if this the same bug, but I have observed that gcc 3.4.5 compiled
as a cross compiler targetting i586-pc-mingw32 definitely miscompiles.
Apparently in a 3000 line C function with nearly 100 local variables the
stack for preparing a function call collides (stomps on) with the stack
based local variables.


Specifically, when push instructions to prepare for function call are executed
some of the local variables get overwritten with disastrous consequences
later (i.e. a core).


Workaround: Using `-g -O2 -fno-defer-pop -fno-strict-aliasing' apparently
makes the problem go away, though it might just reduce incidence since the
first locals on line to be stomped might not be used in my test case.
I think it was the -fno-defer-pop that made the difference. Using just
`-g -fno-strict-aliasing' without any optimization still reproduces the
problem.


If there is interest I can try to prepare a case that reproduces, but
this is rather difficult as said 3000 line funcion is in context of
a 70000 line virtual machine :-)


This cropped up in porting the virtual machine to Windows. On Linux,
Mac OS X, Solaris, and some BSD platforms the code works OK and
passes extensive test suites. Thus this would seem to be specific
to MinGW platform or the way the cross compiler is built.


Cheers,
--Sampo
....................................................................
Sampo Kellomaki ---> Chief Architect ---> DirectoryScript
M: +351-918.731.007  F: +351-213.422.185  W: www.symlabs.com
Customize directories -> LDAP SOAP Liberty SIP -> Directory Extender


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]