socket: 0.915 device: 0.852 graphic: 0.757 ppc: 0.753 architecture: 0.734 vnc: 0.673 network: 0.672 PID: 0.637 semantic: 0.535 files: 0.535 debug: 0.533 performance: 0.509 register: 0.444 VMM: 0.430 permissions: 0.421 TCG: 0.415 peripherals: 0.384 risc-v: 0.360 arm: 0.335 kernel: 0.298 x86: 0.284 i386: 0.239 user-level: 0.213 mistranslation: 0.213 boot: 0.199 hypervisor: 0.119 virtual: 0.112 assembly: 0.090 KVM: 0.055 Windows LTO build fails Description of problem: LTO likes to delete `win32_close_exception_handler` which causes an error when linking ``` [2736/5786] Linking target qemu-system-avr.exe FAILED: qemu-system-avr.exe "cc" "-m64" "-mcx16" @qemu-system-avr.exe.rsp `win32_close_exception_handler' referenced in section `.xdata' of C:\msys64\tmp\cceRwR4N.ltrans59.ltrans.o: defined in discarded section `.text' of libqemuutil.a.p/util_oslib-win32.c.obj (symbol from plugin) collect2.exe: error: ld returned 1 exit status ``` Steps to reproduce: 1. `./configure --enable-lto` 2. `make` Additional information: Looks like the offending commit is d89f30b4df13dfe389a4d6cf8a30b2f87c4c166e "win32: wrap socket close() with an exception handler". Undoing the commit or marking the exception handler as `__attribute__ ((noinline, used))` both appear to fix the issue.