1. 程式人生 > >gcc請不要優化

gcc請不要優化

ini class post 發現 while init asm -- art


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請不要優化