This is the mail archive of the gcc-bugs@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]

[Bug optimization/13379] [tree-ssa] miscompiles 2.6.0-test11 Linux kernel


------- Additional Comments From mingo at elte dot hu  2004-01-30 15:19 -------
for details please see the attached files i just posted.

i happen to be the author of most of the code in bootmem.c - it really does
nothing weird or unexpected. It just uses a big flat bitmap to do
page-granularity allocation at boot-time - with some additional
track-last-partially-allocated-page code to not waste too much RAM on small,
continuous allocations. (it also has multiple flat bitmaps when there are NUMA
nodes, but that code is essentially turned off on x86, where the failure
happens. On x86 we have only a single node, and thus a single bootmem bitmap.)

The hang is caused by an assert triggering in the last few lines of
__alloc_bootmem_core() [provably this is the only miscompiled function in this
module], the last BUG() hits [the bitmap has already been set] - which most
likely indicates that the bitmap arithmetics are off somewhere.

this code never triggered compiler problems before.

it is near 100% sure that the miscompilation is in __alloc_bootmem_core() itself
- the assert can only be caused by incorrect code in that function, it does not
assume anything about the bitmap or other external state.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13379


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