I use the MinGW toolchain on Fedora to build busybox-w32, a WIN32 port of BusyBox[1][2]. I've recently updated to Fedora 32 and was disappointed to find that binaries built there are bigger than those built on Fedora 31.
I presume this is due to the switch to dwarf-2 exceptions[3] as the versions of most things seem to be otherwise unchanged.
Even the 64-bit build is affected. Most sections are the same size but for .text F31 gives:
Idx Name Size VMA LMA File off Algn 0 .text 00070e58 0000000000401000 0000000000401000 00000400 2**4
and F32:
0 .text 00071678 0000000000401000 0000000000401000 00000400 2**4
So, 2080 bytes larger.
The 32-bit build has a similar increase in .text (2288 bytes) and a whole new section (7604 bytes). There are minor differences in some other sections but I'm not too concerned about them. F31:
Idx Name Size VMA LMA File off Algn 0 .text 00068754 00401000 00401000 00000400 2**4
F32:
Idx Name Size VMA LMA File off Algn 0 .text 00069044 00401000 00401000 00000400 2**4 3 .eh_frame 00001db4 0047d000 0047d000 0007a000 2**2
Can anything be done to reduce this? I'm used to agonising about changes that add 16 bytes, an additional 10KB for no new functionality is quite a shock.
For the moment I'll continue to build releases on F31.
Ron
[1] https://frippery.org/busybox [2] https://github.com/rmyorston/busybox-w32 [3] https://fedoraproject.org/wiki/Changes/Mingw32GccDwarf2