https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955
--- Comment #10 from fiesh at zefix dot tv --- Naturally, but it doesn't go away: avr-size on all individual object files: text data bss dec hex filename 88 0 0 88 58 /b_os_nolto/subprojects/avr/libarduinocore-main-mduinoplus.a.p/cores_industrialshields_main.cpp.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_CDC.cpp.o text data bss dec hex filename 372 0 0 372 174 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_wiring_pulse.c.o text data bss dec hex filename 714 0 0 714 2ca /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_HardwareSerial.cpp.o text data bss dec hex filename 8 0 0 8 8 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_abi.cpp.o text data bss dec hex filename 1002 16 0 1018 3fa /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_WInterrupts.c.o text data bss dec hex filename 2 0 0 2 2 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_hooks.c.o text data bss dec hex filename 802 0 0 802 322 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_wiring_digital.c.o text data bss dec hex filename 254 0 0 254 fe /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_wiring_shift.c.o text data bss dec hex filename 588 1 0 589 24d /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_wiring_analog.c.o text data bss dec hex filename 278 0 157 435 1b3 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_HardwareSerial0.cpp.o text data bss dec hex filename 1833 0 0 1833 729 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_Print.cpp.o text data bss dec hex filename 420 0 0 420 1a4 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_IPAddress.cpp.o text data bss dec hex filename 278 0 157 435 1b3 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_HardwareSerial1.cpp.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_HardwareSerial2.cpp.o text data bss dec hex filename 544 0 9 553 229 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_wiring.c.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_HardwareSerial3.cpp.o text data bss dec hex filename 456 0 0 456 1c8 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_IndustrialShields.cpp.o text data bss dec hex filename 80 0 1 81 51 /b_os_nolto/subprojects/avr/libarduinocore-mduinoplus.a.p/cores_industrialshields_Watchdog.cpp.o text data bss dec hex filename 758 0 159 917 395 /b_os_nolto/subprojects/avr/libraries/RS485/libarduinocore-rs485-mduinoplus.a.p/src_RS485.cpp.o text data bss dec hex filename 272 0 5 277 115 /b_os_nolto/subprojects/avr/libraries/SPI/libarduinocore-spi-mduinoplus.a.p/src_SPI.cpp.o text data bss dec hex filename 32 0 0 32 20 /b_os_nolto/subprojects/avr/libraries/Utils/libarduinocore-utils-mduinoplus.a.p/src_BCD.cpp.o text data bss dec hex filename 2048 0 116 2164 874 /b_os_nolto/subprojects/avr/libraries/Wire/libarduinocore-wire-mduinoplus.a.p/src_utility_twi.c.o text data bss dec hex filename 892 0 86 978 3d2 /b_os_nolto/subprojects/avr/libraries/Wire/libarduinocore-wire-mduinoplus.a.p/src_Wire.cpp.o text data bss dec hex filename 1468 0 43 1511 5e7 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_Ethernet2.cpp.o text data bss dec hex filename 589 0 6 595 253 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_Twitter.cpp.o text data bss dec hex filename 992 0 6 998 3e6 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_EthernetUdp2.cpp.o text data bss dec hex filename 3195 0 6 3201 c81 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_Dhcp.cpp.o text data bss dec hex filename 760 0 6 766 2fe /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_EthernetServer.cpp.o text data bss dec hex filename 1476 2 2 1480 5c8 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_utility_w5500.cpp.o text data bss dec hex filename 1426 0 6 1432 598 /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_Dns.cpp.o text data bss dec hex filename 1106 2 6 1114 45a /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_EthernetClient.cpp.o text data bss dec hex filename 1962 0 2 1964 7ac /b_os_nolto/subprojects/avr/libraries/Ethernet2/libarduinocore-ethernet2-mduinoplus.a.p/src_utility_socket.cpp.o text data bss dec hex filename 1264 0 9 1273 4f9 /b_os_nolto/subprojects/avr/libraries/RTC/libarduinocore-rtc-mduinoplus.a.p/src_RTC.cpp.o text data bss dec hex filename 1334 0 68 1402 57a /b_os_nolto/subprojects/avr/libraries/SoftwareSerial/libarduinocore-softwareserial-mduinoplus.a.p/src_SoftwareSerial.cpp.o text data bss dec hex filename 1390 2 0 1392 570 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_tcp.cpp.o text data bss dec hex filename 66 0 0 66 42 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_thirdparty_modbus_utilities_crc16.cpp.o text data bss dec hex filename 62 0 0 62 3e /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_eeprom.cpp.o text data bss dec hex filename 20 0 0 20 14 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_io.cpp.o text data bss dec hex filename 248 0 0 248 f8 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_rtc.cpp.o text data bss dec hex filename 907 14 7 928 3a0 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_syslog.cpp.o text data bss dec hex filename 5869 0 425 6294 1896 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_modbusfsm.cpp.o text data bss dec hex filename 208 0 8 216 d8 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_systemclock.cpp.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_stack_info.cpp.o text data bss dec hex filename 200 0 0 200 c8 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_network.cpp.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_thirdparty_modbus_ModbusRTU.cpp.o text data bss dec hex filename 229 0 0 229 e5 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_thirdparty_modbus_Modbus.cpp.o text data bss dec hex filename 817 1 301 1119 45f /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_modbus.cpp.o text data bss dec hex filename 148 0 0 148 94 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_watchdog.cpp.o text data bss dec hex filename 1102 0 0 1102 44e /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_thirdparty_modbus_ModbusRTUMaster.cpp.o text data bss dec hex filename 54 0 0 54 36 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_progmem.cpp.o text data bss dec hex filename 820 0 0 820 334 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_udp.cpp.o text data bss dec hex filename 1090 0 0 1090 442 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_thirdparty_modbus_ModbusMaster.cpp.o text data bss dec hex filename 438 13 0 451 1c3 /b_os_nolto/subprojects/wsiot/libwsiot.a.p/src_ntp.cpp.o text data bss dec hex filename 62 0 0 62 3e /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_hash_bytes.cc.o text data bss dec hex filename 0 0 0 0 0 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_math.cc.o text data bss dec hex filename 376 0 0 376 178 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_list.cc.o text data bss dec hex filename 31 0 2 33 21 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_new_handler.cc.o text data bss dec hex filename 68 0 0 68 44 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_functexcept.cc.o text data bss dec hex filename 627 0 0 627 273 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_limits.cc.o text data bss dec hex filename 1704 0 0 1704 6a8 /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_tree.cc.o text data bss dec hex filename 1788 0 0 1788 6fc /b_os_nolto/subprojects/avr-libstdcpp/libavr_libstdcpp.a.p/src_hashtable_c++0x.cc.o text data bss dec hex filename 184 0 0 184 b8 /b_os_nolto/phacility.p/src_sensors.cpp.o text data bss dec hex filename 127391 2 2563 129956 1fba4 /b_os_nolto/phacility.p/src_main.cpp.o text data bss dec hex filename 252 0 0 252 fc /b_os_nolto/phacility.p/src_status.cpp.o text data bss dec hex filename 2882 0 0 2882 b42 /b_os_nolto/phacility.p/src_config.cpp.o text data bss dec hex filename 7082 40 42 7164 1bfc /b_os_nolto/phacility.p/src_output.cpp.o avr-size on the linked binary: text data bss dec hex filename 158056 2242 3734 164032 280c0 /b_os_nolto/phacility (It's somewhat better than with lto though. Not sure if it's supposed to be this way?) I'm fairly certain src_main.cpp.o should be the object file with a much larger data segment.