> On 28 Jan 2019, at 15:58, Bernhard Schommer <bernhardschom...@gmail.com> > wrote: > > I would like to know if the handling of the option -fno-common has > changed between version 7.3 and 8.2 for x86. I tried it with the > default system version of OpenSUSE and for example: > > const int i; > > is placed in the .bss section. With a newer self-compiled version 8.2 > the same variable is placed in the section .rodata. I could not find > any information in the Changelog whether the behavior has changed and > thus would like to know if there was any change.
If you look in of, say, http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf at section • 6.7.3 Type qualifiers there’s a footnote: • 132) The implementation may place a const object that is not volatile in a read-only region of storage. Moreover, the implementation need not allocate storage for such an object if its address is never used. --- So, I don’t think you can make any assumption about whether such items appear in bss or .rodata (or const on darwin, for example). HTH, Iain