diff --git a/Bootloaders/CDC/BootloaderAPI.h b/Bootloaders/CDC/BootloaderAPI.h index 9c9d5a4cef..e9709125d0 100644 --- a/Bootloaders/CDC/BootloaderAPI.h +++ b/Bootloaders/CDC/BootloaderAPI.h @@ -43,9 +43,6 @@ #include - /* External Variables: */ - extern uint8_t* BootloaderAPI_JumpTable; - /* Function Prototypes: */ void BootloaderAPI_ErasePage(uint32_t Address); void BootloaderAPI_WritePage(uint32_t Address); diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c index f336a13687..7695e33d81 100644 --- a/Bootloaders/CDC/BootloaderCDC.c +++ b/Bootloaders/CDC/BootloaderCDC.c @@ -63,10 +63,6 @@ static bool RunBootloader = true; */ int main(void) { - /* Force a reference to the API jump table to prevent the linker from discarding it */ - uint8_t* volatile Dummy = BootloaderAPI_JumpTable; - (void)Dummy; - /* Setup hardware required for the bootloader */ SetupHardware(); diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index 65982263e4..f98372dfbb 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -340,7 +340,7 @@ EXTMEMOPTS = # -Map: create map file # --cref: add cross reference to map file LDFLAGS = -Wl,-Map=$(TARGET).map,--cref -LDFLAGS += -Wl,--section-start=.text=$(BOOT_START) -Wl,--section-start=.apitable=$(BOOT_API_TABLESTART) +LDFLAGS += -Wl,--section-start=.text=$(BOOT_START) -Wl,--section-start=.apitable=$(BOOT_API_TABLESTART) -Wl,--undefined=BootloaderAPI_JumpTable LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) diff --git a/Bootloaders/DFU/BootloaderAPI.h b/Bootloaders/DFU/BootloaderAPI.h index 9c9d5a4cef..e9709125d0 100644 --- a/Bootloaders/DFU/BootloaderAPI.h +++ b/Bootloaders/DFU/BootloaderAPI.h @@ -43,9 +43,6 @@ #include - /* External Variables: */ - extern uint8_t* BootloaderAPI_JumpTable; - /* Function Prototypes: */ void BootloaderAPI_ErasePage(uint32_t Address); void BootloaderAPI_WritePage(uint32_t Address); diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c index 078d59debb..6e0c95d06b 100644 --- a/Bootloaders/DFU/BootloaderDFU.c +++ b/Bootloaders/DFU/BootloaderDFU.c @@ -99,10 +99,6 @@ static uint16_t EndAddr = 0x0000; */ int main(void) { - /* Force a reference to the API jump table to prevent the linker from discarding it */ - uint8_t* volatile Dummy = BootloaderAPI_JumpTable; - (void)Dummy; - /* Configure hardware required by the bootloader */ SetupHardware(); diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index bd7120d8f6..87cfd072ef 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -335,7 +335,7 @@ EXTMEMOPTS = # -Map: create map file # --cref: add cross reference to map file LDFLAGS = -Wl,-Map=$(TARGET).map,--cref -LDFLAGS += -Wl,--section-start=.text=$(BOOT_START) -Wl,--section-start=.apitable=$(BOOT_API_TABLESTART) +LDFLAGS += -Wl,--section-start=.text=$(BOOT_START) -Wl,--section-start=.apitable=$(BOOT_API_TABLESTART) -Wl,--undefined=BootloaderAPI_JumpTable LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS)