feat(gcc): Update cross toolchain GCC to v8.x

This commit is contained in:
donghengqaz
2020-02-12 10:22:49 +08:00
committed by Dong Heng
parent 1be2289fcd
commit 28f466d12e
159 changed files with 359 additions and 15440 deletions

View File

@ -27,30 +27,6 @@ config ESP8266_DEFAULT_CPU_FREQ_MHZ
default 80 if ESP8266_DEFAULT_CPU_FREQ_80
default 160 if ESP8266_DEFAULT_CPU_FREQ_160
choice NEWLIB_STDOUT_LINE_ENDING
prompt "Line ending for UART output"
default NEWLIB_STDOUT_LINE_ENDING_CRLF
help
This option allows configuring the desired line endings sent to UART
when a newline ('\n', LF) appears on stdout.
Three options are possible:
CRLF: whenever LF is encountered, prepend it with CR
LF: no modification is applied, stdout is sent as is
CR: each occurence of LF is replaced with CR
This option doesn't affect behavior of the UART driver (drivers/uart.h).
config NEWLIB_STDOUT_LINE_ENDING_CRLF
bool "CRLF"
config NEWLIB_STDOUT_LINE_ENDING_LF
bool "LF"
config NEWLIB_STDOUT_LINE_ENDING_CR
bool "CR"
endchoice
choice ESP_FILENAME_MACRO
prompt "File name macro text"
default ESP_FILENAME_MACRO_NO_PATH

View File

@ -1,5 +1,5 @@
SUPPORTED_TOOLCHAIN_COMMIT_DESC := 1.22.0-100-ge567ec7
SUPPORTED_TOOLCHAIN_GCC_VERSIONS := 5.2.0
SUPPORTED_TOOLCHAIN_COMMIT_DESC := esp-2020r3-49-gd5524c1
SUPPORTED_TOOLCHAIN_GCC_VERSIONS := 8.4.0
ifdef CONFIG_ESP8266_LEGACY

View File

@ -60,8 +60,6 @@ SECTIONS
. = 0x70;
KEEP(*(.DoubleExceptionVector.text));
*(.text .literal)
*(.*Vector.literal)
*(.UserEnter.literal);

View File

@ -15,43 +15,43 @@ PROVIDE ( lldesc_build_chain = 0x40004f40 );
PROVIDE ( lldesc_num2link = 0x40005050 );
PROVIDE ( lldesc_set_owner = 0x4000507c );
PROVIDE ( __adddf3 = 0x4000c538 );
PROVIDE ( __addsf3 = 0x4000c180 );
PROVIDE ( __divdf3 = 0x4000cb94 );
PROVIDE ( __divdi3 = 0x4000ce60 );
PROVIDE ( __divsi3 = 0x4000dc88 );
PROVIDE ( __extendsfdf2 = 0x4000cdfc );
PROVIDE ( __fixdfsi = 0x4000ccb8 );
PROVIDE ( __fixunsdfsi = 0x4000cd00 );
PROVIDE ( __fixunssfsi = 0x4000c4c4 );
PROVIDE ( __floatsidf = 0x4000e2f0 );
PROVIDE ( __floatsisf = 0x4000e2ac );
PROVIDE ( __floatunsidf = 0x4000e2e8 );
PROVIDE ( __floatunsisf = 0x4000e2a4 );
PROVIDE ( __muldf3 = 0x4000c8f0 );
PROVIDE ( __muldi3 = 0x40000650 );
PROVIDE ( __mulsf3 = 0x4000c3dc );
PROVIDE ( __subdf3 = 0x4000c688 );
PROVIDE ( __subsf3 = 0x4000c268 );
PROVIDE ( __truncdfsf2 = 0x4000cd5c );
PROVIDE ( __udivdi3 = 0x4000d310 );
PROVIDE ( __udivsi3 = 0x4000e21c );
PROVIDE ( __umoddi3 = 0x4000d770 );
PROVIDE ( __umodsi3 = 0x4000e268 );
PROVIDE ( __umulsidi3 = 0x4000dcf0 );
__adddf3 = 0x4000c538;
__addsf3 = 0x4000c180;
__divdf3 = 0x4000cb94;
__divdi3 = 0x4000ce60;
__divsi3 = 0x4000dc88;
__extendsfdf2 = 0x4000cdfc;
__fixdfsi = 0x4000ccb8;
__fixunsdfsi = 0x4000cd00;
__fixunssfsi = 0x4000c4c4;
__floatsidf = 0x4000e2f0;
__floatsisf = 0x4000e2ac;
__floatunsidf = 0x4000e2e8;
__floatunsisf = 0x4000e2a4;
__muldf3 = 0x4000c8f0;
__muldi3 = 0x40000650;
__mulsf3 = 0x4000c3dc;
__subdf3 = 0x4000c688;
__subsf3 = 0x4000c268;
__truncdfsf2 = 0x4000cd5c;
__udivdi3 = 0x4000d310;
__udivsi3 = 0x4000e21c;
__umoddi3 = 0x4000d770;
__umodsi3 = 0x4000e268;
__umulsidi3 = 0x4000dcf0;
PROVIDE ( bzero = 0x4000de84 );
PROVIDE ( memcmp = 0x4000dea8 );
PROVIDE ( memcpy = 0x4000df48 );
PROVIDE ( memmove = 0x4000e04c );
PROVIDE ( memset = 0x4000e190 );
bzero = 0x4000de84;
memcmp = 0x4000dea8;
memcpy = 0x4000df48;
memmove = 0x4000e04c;
memset = 0x4000e190;
PROVIDE ( strcmp = 0x4000bdc8 );
PROVIDE ( strcpy = 0x4000bec8 );
PROVIDE ( strlen = 0x4000bf4c );
PROVIDE ( strncmp = 0x4000bfa8 );
PROVIDE ( strncpy = 0x4000c0a0 );
PROVIDE ( strstr = 0x4000e1e0 );
strcmp = 0x4000bdc8;
strcpy = 0x4000bec8;
strlen = 0x4000bf4c;
strncmp = 0x4000bfa8;
strncpy = 0x4000c0a0;
strstr = 0x4000e1e0;
PROVIDE ( gpio_input_get = 0x40004cf0 );
PROVIDE ( gpio_pin_wakeup_disable = 0x40004ed4 );

View File

@ -1,3 +1,8 @@
[sections:text_0]
entries:
.text
.literal
[sections:text]
entries:
.text+
@ -50,6 +55,7 @@ entries:
[scheme:default]
entries:
text_0 -> iram0_text
text -> flash_text
rodata -> flash_rodata
data -> dram0_data
@ -87,3 +93,7 @@ entries:
[scheme:wifi_iram]
entries:
wifi_iram -> iram0_text
[scheme:inflash_text]
entries:
text -> flash_text

View File

@ -20,3 +20,10 @@ archive: libcore.a
entries:
if ESP8266_CORE_GLOBAL_DATA_LINK_IRAM = y:
* (iram_bss)
[mapping:gcc]
archive: libgcc.a
entries:
unwind-dw2 (inflash_text)
unwind-dw2-fde (inflash_text)

View File

@ -35,9 +35,7 @@
#include "task.h"
#include "esp_task.h"
#ifndef CONFIG_NEWLIB_LIBRARY_CUSTOMER
#include "esp_newlib.h"
#endif
extern esp_err_t esp_pthread_init(void);
extern void chip_boot(void);
@ -85,9 +83,7 @@ static void user_init_entry(void *param)
esp_task_wdt_init();
#endif
#ifdef CONFIG_ENABLE_PTHREAD
assert(esp_pthread_init() == 0);
#endif
#ifdef CONFIG_BOOTLOADER_FAST_BOOT
REG_CLR_BIT(DPORT_CTL_REG, DPORT_CTL_DOUBLE_CLK);
@ -167,9 +163,7 @@ void call_start_cpu(size_t start_addr)
assert(__esp_os_init() == 0);
#endif
#ifndef CONFIG_NEWLIB_LIBRARY_CUSTOMER
esp_newlib_init();
#endif
assert(esp_newlib_init() == 0);
assert(xTaskCreate(user_init_entry, "uiT", ESP_TASK_MAIN_STACK, NULL, ESP_TASK_MAIN_PRIO, NULL) == pdPASS);