Red Hat Bugzilla – Bug 50642
gcc breaks on && (address-of-label) operator
Last modified: 2005-10-31 17:00:50 EST
Description of Problem:gcc versions greater than 2.91.66 break on zealos (zealos.sourceforge.net, cvs module zealos-new) in i386/kern/desc.c:476
How Reproducible:Always. jump location seems to be non-random, but isn't correct either.
Steps to Reproduce:compile it with a non-kgcc gcc compiler and it will usially infinate-loop.
1. download zealos
2. compile with rh7.1's gcc
3. try to run it
Actual Results:it loops round infinatly printing it's messages (jumping to a psudo-random location in the binary)
Expected Results:it should preform a long jump to reload CS and EIP with the new GDT
Additional Information:Told to report it by arjan v
zealos.sourceforge.net no longer exists, and I can wade through enough
dutch to find where the current code.
I do recall that a lot of folk had invalid source concerning label
addresses and computed gotos at the time. I strongly suspect this
was one of those.