From 48f4b0f7cb559ff94c505cc9e88987f2df4ab8d4 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Tue, 28 Feb 2023 15:16:36 -0800 Subject: [PATCH] Switch to gcc 12.3 for arm32 Fixes #7432 --- .github/actions/deps/external/action.yml | 2 +- ports/atmel-samd/boards/common.template.ld | 6 +++--- ports/broadcom/Makefile | 2 +- ports/espressif/Makefile | 2 +- ports/litex/Makefile | 2 +- ports/nrf/Makefile | 2 +- ports/silabs/Makefile | 2 +- ports/stm/Makefile | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/actions/deps/external/action.yml b/.github/actions/deps/external/action.yml index 2d6f65eeff..faeb9100a8 100644 --- a/.github/actions/deps/external/action.yml +++ b/.github/actions/deps/external/action.yml @@ -25,7 +25,7 @@ runs: inputs.port != 'espressif' uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '10-2020-q4' + release: '12.3.Rel1' # espressif - name: Get espressif toolchain diff --git a/ports/atmel-samd/boards/common.template.ld b/ports/atmel-samd/boards/common.template.ld index 97504d44e5..cda6fe115f 100644 --- a/ports/atmel-samd/boards/common.template.ld +++ b/ports/atmel-samd/boards/common.template.ld @@ -67,7 +67,7 @@ SECTIONS The program executes knowing that the data is in the RAM but the loader puts the initial values in the FLASH_FIRMWARE (inidata). It is one task of the startup to copy the initial values from FLASH_FIRMWARE to RAM. */ - .data : AT ( _sidata ) + .data : { . = ALIGN(4); _srelocate = .; /* create a global symbol at data start; used by startup code in order to initialize the .data section in RAM */ @@ -78,7 +78,7 @@ SECTIONS . = ALIGN(4); _erelocate = .; /* define a global symbol at data end; used by startup code in order to initialize the .data section in RAM */ - } >RAM + } >RAM AT> FLASH_FIRMWARE /* Uninitialized data section */ .bss (NOLOAD) : @@ -96,7 +96,7 @@ SECTIONS } >RAM /* this just checks there is enough RAM for the requested stack. */ - .stack : + .stack (NOLOAD) : { . = ALIGN(4); . = . + ${CIRCUITPY_DEFAULT_STACK_SIZE}; diff --git a/ports/broadcom/Makefile b/ports/broadcom/Makefile index be2dd788f8..31dc835ea6 100644 --- a/ports/broadcom/Makefile +++ b/ports/broadcom/Makefile @@ -148,7 +148,7 @@ else $(BUILD)/kernel$(SUFFIX).elf: $(OBJ) $(STEPECHO) "LINK $@" $(Q)echo $(OBJ) > $(BUILD)/firmware.objs - $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--start-group $(LIBS) -Wl,--end-group + $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--print-memory-usage -Wl,--start-group $(LIBS) -Wl,--end-group endif $(BUILD)/kernel$(SUFFIX).img: $(BUILD)/kernel$(SUFFIX).elf diff --git a/ports/espressif/Makefile b/ports/espressif/Makefile index 03435b53a4..87d6b8b988 100644 --- a/ports/espressif/Makefile +++ b/ports/espressif/Makefile @@ -569,7 +569,7 @@ esp-idf-stamp: $(BUILD)/esp-idf/config/sdkconfig.h $(BUILD)/firmware.elf: $(OBJ) | esp-idf-stamp $(IDF_CMAKE_TARGETS) $(STEPECHO) "LINK $@" - $(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED) $(BINARY_BLOBS) $(MBEDTLS_COMPONENTS_LINK_EXPANDED) $(LIBS) -Wl,--end-group -u newlib_include_pthread_impl -u ld_include_highint_hdl -u __cxx_fatal_exception + $(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--print-memory-usage -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED) $(BINARY_BLOBS) $(MBEDTLS_COMPONENTS_LINK_EXPANDED) $(LIBS) -Wl,--end-group -u newlib_include_pthread_impl -u ld_include_highint_hdl -u __cxx_fatal_exception $(BUILD)/circuitpython-firmware.bin: $(BUILD)/firmware.elf | tools/build_memory_info.py $(STEPECHO) "Create $@" diff --git a/ports/litex/Makefile b/ports/litex/Makefile index 7fd118de36..1caf26a4dc 100644 --- a/ports/litex/Makefile +++ b/ports/litex/Makefile @@ -138,7 +138,7 @@ $(BUILD)/firmware.elf: invalid-board else $(BUILD)/firmware.elf: $(OBJ) $(STEPECHO) "LINK $@" - $(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(LIBS) -Wl,--end-group + $(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--print-memory-usage -Wl,--start-group $(LIBS) -Wl,--end-group $(Q)$(SIZE) $@ | $(PYTHON) $(TOP)/tools/build_memory_info.py $(LD_FILE) $(BUILD) endif diff --git a/ports/nrf/Makefile b/ports/nrf/Makefile index bd2da35eea..655d00b733 100755 --- a/ports/nrf/Makefile +++ b/ports/nrf/Makefile @@ -214,7 +214,7 @@ else $(BUILD)/firmware.elf: $(OBJ) $(GENERATED_LD_FILE) $(STEPECHO) "LINK $@" $(Q)echo $(OBJ) > $(BUILD)/firmware.objs - $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--start-group $(LIBS) -Wl,--end-group + $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--print-memory-usage -Wl,--start-group $(LIBS) -Wl,--end-group $(Q)$(SIZE) $@ | $(PYTHON) $(TOP)/tools/build_memory_info.py $(GENERATED_LD_FILE) $(BUILD) endif diff --git a/ports/silabs/Makefile b/ports/silabs/Makefile index ab30e5d756..de976f1c51 100644 --- a/ports/silabs/Makefile +++ b/ports/silabs/Makefile @@ -144,7 +144,7 @@ $(SILABS_BUILD)/$(PROJECTNAME).Makefile: | $(HEADER_BUILD)/mpversion.h $(OUTPUT_DIR)/firmware.out: $(SILABS_BUILD)/pin_functions.h $(SILABS_BUILD)/pins.c $(OBJ) $(OBJS) $(LIB_FILES) $(STEPECHO) 'Linking $(OUTPUT_DIR)/firmware.out' $(Q)echo "$(OBJS) $(OBJ)" > $(OUTPUT_DIR)/linker_objs - $(Q)$(CC) $(LD_FLAGS) @$(OUTPUT_DIR)/linker_objs $(LIBS) -o $(OUTPUT_DIR)/firmware.out + $(Q)$(CC) $(LD_FLAGS) @$(OUTPUT_DIR)/linker_objs -Wl,--print-memory-usage $(LIBS) -o $(OUTPUT_DIR)/firmware.out $(Q)$(OBJCOPY) $(OUTPUT_DIR)/firmware.out -O binary $(OUTPUT_DIR)/firmware.bin flash: $(OUTPUT_DIR)/firmware.bin diff --git a/ports/stm/Makefile b/ports/stm/Makefile index 03a41f526e..44d8b96d7c 100755 --- a/ports/stm/Makefile +++ b/ports/stm/Makefile @@ -270,7 +270,7 @@ else $(BUILD)/firmware.elf: $(OBJ) $(STEPECHO) "LINK $@" $(Q)echo $^ > $(BUILD)/firmware.objs - $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--start-group $(LIBS) -Wl,--end-group + $(Q)$(CC) -o $@ $(LDFLAGS) @$(BUILD)/firmware.objs -Wl,--print-memory-usage -Wl,--start-group $(LIBS) -Wl,--end-group $(Q)$(SIZE) $@ | $(PYTHON) $(TOP)/tools/build_memory_info.py $(LD_FILE) $(BUILD) endif