Just to make sure everyone interprets this correctly:
The file size in the first example suggests a 8552 byte
(0.02%) size improvement for removing __read_mostly.
The size output shows a -3935 byte (0.01%) size penalty
instead, much smaller because data that was moved out to
the .data.read_mostly section from .bss now takes space
in the binary but won't consume more RAM.
Since 'size' does not take any sections except text, data and
bss into account, its output is more often than not also
misleading, but at least it shows that the footprint is likely
to get larger without __read_mostly rather than smaller.
Arnd <><
--