On 2018-09-26 13:54 +0100, Kalamatee wrote: > Hi > > I am wondering if there is a reason globals marked const volatile are > put > into the data section and not read-only as const should imply? > > I am trying to compile code for m68k AmigaOS which is resident using > the > mathlib functions which need certain constants as volatile to prevent > incorrect sequence re-ordering in gcc's optimizations - however doing > so > puts the value in bss data without const. > > How can we have a global that is both volatile (to prevent incorrect > sequencing) and const (so it is read only and stored in read only > data > section) ? "const" means your program should not modify it. "volatile" means other things (invisible to your program) may modify it. For example, a microcontroller's 8 input pins can be described as "const volatile uint8_t mcu_input_1" in its C header. -- Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University