While looking into the ODR issues of T55054 / D5326 I was looking at some of the linker output and noticed some rather substantial arrays sitting in one of the RW segments. Turns out there is a bunch of const data we did not mark as such.
The main offenders were the ccl::SOBOL_NUMBERS lookup table and pretty much all datatoc output
This patch properly marks these arrays const
before
Size of blender.exe is 135.972864 MB
name: mem size , disk size
.text: 84.303698 MB
.rdata: 26.809392 MB
.data: 21.529961 MB, 20.121600 MB
.pdata: 2.831688 MB
.idata: 0.038624 MB
.didat: 0.001971 MB
.tls: 0.000813 MB
.00cfg: 0.000283 MB
_RDATA: 0.179370 MB
.rsrc: 0.368265 MB
.reloc: 1.313347 MBafter
Size of blender.exe is 135.972864 MB
name: mem size , disk size
.text: 84.303698 MB
.rdata: 37.246752 MB
.data: 11.092649 MB, 9.684480 MB
.pdata: 2.831688 MB
.idata: 0.038624 MB
.didat: 0.001971 MB
.tls: 0.000813 MB
.00cfg: 0.000283 MB
_RDATA: 0.179370 MB
.rsrc: 0.368265 MB
.reloc: 1.313347 MB