码迷,mamicode.com
首页 > 其他好文 > 详细

gcc请不要优化

时间:2017-12-12 17:50:24      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:map   禁用   lag   pos   ems   需要   while   art   memory   


gdb跟踪剖发现free_area_init中一段优化错了,如下:
    memset(mem_map, 0, start_mem - (unsigned long) mem_map);
    do {
        __asm__ __volatile__("":::"memory"); //gcc请不要优化
        --p;
        p->flags = (1 << PG_DMA) | (1 << PG_reserved);
        p->map_nr = p - mem_map; //gcc优化后,p->map_nr值乱了,需要上面那行禁用gcc优化
    } while (p > mem_map);

 

1.3.100

gcc请不要优化

标签:map   禁用   lag   pos   ems   需要   while   art   memory   

原文地址:http://www.cnblogs.com/mull/p/8028372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!