From 6abb74f6b791acb04c9d149d1703213162d4126d Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 29 Jul 2019 21:30:06 +1000 Subject: Bootloaders: Enable LTO to reduce compiled size. --- Bootloaders/CDC/makefile | 1 + Bootloaders/DFU/makefile | 1 + Bootloaders/HID/makefile | 1 + Bootloaders/MassStorage/makefile | 1 + Bootloaders/Printer/makefile | 1 + LUFA/DoxygenPages/ChangeLog.txt | 1 + 6 files changed, 6 insertions(+) diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index c618e9cca..98fa4300f 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -22,6 +22,7 @@ SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $( LUFA_PATH = ../../LUFA CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) +LTO = Y # Flash size and bootloader section sizes of the target, in KB. These must # match the target's total FLASH size and the bootloader size set in the diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index dc54ba954..2859aa0b1 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -22,6 +22,7 @@ SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $( LUFA_PATH = ../../LUFA CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) +LTO = Y # Flash size and bootloader section sizes of the target, in KB. These must # match the target's total FLASH size and the bootloader size set in the diff --git a/Bootloaders/HID/makefile b/Bootloaders/HID/makefile index 238823fe3..cd1b8b3b5 100644 --- a/Bootloaders/HID/makefile +++ b/Bootloaders/HID/makefile @@ -22,6 +22,7 @@ SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB) LUFA_PATH = ../../LUFA CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -DBOOT_START_ADDR=$(BOOT_START_OFFSET) -IConfig/ LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) +LTO = Y # Flash size and bootloader section sizes of the target, in KB. These must # match the target's total FLASH size and the bootloader size set in the diff --git a/Bootloaders/MassStorage/makefile b/Bootloaders/MassStorage/makefile index 2df26669b..a5ce0a16c 100644 --- a/Bootloaders/MassStorage/makefile +++ b/Bootloaders/MassStorage/makefile @@ -22,6 +22,7 @@ SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Li LUFA_PATH = ../../LUFA CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) +LTO = Y # Flash size and bootloader section sizes of the target, in KB. These must # match the target's total FLASH size and the bootloader size set in the diff --git a/Bootloaders/Printer/makefile b/Bootloaders/Printer/makefile index 744ba2a33..1b0caeb15 100644 --- a/Bootloaders/Printer/makefile +++ b/Bootloaders/Printer/makefile @@ -22,6 +22,7 @@ SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $( LUFA_PATH = ../../LUFA CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) +LTO = Y # Flash size and bootloader section sizes of the target, in KB. These must # match the target's total FLASH size and the bootloader size set in the diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index 55d5f55a8..a84ca3d57 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -22,6 +22,7 @@ * - Reduced compiled size of the Endpoint_Discard_Stream() and Endpoint_Null_Stream() functions. * - Library Applications: * - Updated Printer class bootloader to not store 32-bit HEX parser flash offsets on small flash devices. + * - Enabled Link Time Optimizations (LTO) on bootloaders to reduce compiled size on newer versions of GCC. * * Fixed: * - Core: -- cgit v1.2.3