esp-idf/components
Ivan Grokhotkov cf5ef7f0e1 freertos: don't clobber a4 while spilling register windows
Commit 891eb3b0 was fixing an issue with PS and EPC1 not being
preserved after the window spill procedure. It did so by saving PS in
a2 and EPC1 in a4. However the a4 register may be a live register of
another window in the call stack, and if it is overwritten and then
spilled to the stack, then the corresponding register value will end
up being corrupted. In practice the problem would show up as an
IllegalInstruction exception, when trying to return from a function
when a0 value was 0x40020.
Fix by using a0 register instead of a4 as scratch. Also fix a comment
about xthal_save_extra_nw, as this function in fact doesn't clobber
a4 or a5 because XCHAL_NCP_NUM_ATMPS is defined as 1.

Closes https://github.com/espressif/esp-idf/issues/5758
2020-11-11 14:43:15 +00:00
..
app_trace newlib: use --specs=nano.specs to enable "nano" version of C library 2020-06-02 13:15:08 +07:00
app_update app_update: fix test failure for get_app_elf_sha256 test 2020-04-15 21:09:57 +08:00
asio asio: updated ASIO port to use latest asio and esp-idf features 2020-01-09 21:53:50 +01:00
bootloader Add platform independent CMake signing 2020-07-09 11:55:21 +05:30
bootloader_support bootloader_support: fix issue in memory mapping for getting app descriptor 2020-10-06 14:42:45 +05:30
bt ble_mesh: test: Fix node test function not update role flag 2020-10-29 15:49:35 +08:00
cbor cbor: add tinycbor library and example 2019-08-22 17:44:29 +08:00
coap coap: move mbedTLS config options from component to examples 2020-05-26 20:05:33 +05:30
console tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
cxx toolchain: C++ exception workaround 2020-09-17 10:51:39 +07:00
driver Merge branch 'bugfix/fix_i2s_reset_issue_v4.1' into 'release/v4.1' 2020-11-05 09:05:50 +08:00
efuse CI: Increase stack size for efuse unit test 2020-09-22 12:00:33 +08:00
esp32 spiram: fix the read id failure 2020-11-05 04:13:39 +00:00
esp32s2beta spiram: fix the read id failure 2020-11-05 04:13:39 +00:00
esp_adc_cal Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
esp_common esp_idf_version.h: Add __ASSEMBLER__ flag to fix build failure with assembly files 2020-10-19 13:21:52 +05:30
esp_eth esp_eth: moved extern "C" after includes 2020-09-09 10:19:10 +08:00
esp_event ut: Move tests back from "esp32" subfolder 2020-01-06 17:13:53 +08:00
esp_gdbstub gdb: Modify PC in case of invalid PC 2020-10-08 11:13:17 +05:30
esp_http_client esp_http_client.c: In esp_http_client_read, add fix to return (-1) if esp_transport_read fails 2020-09-02 12:30:51 +00:00
esp_http_server Merge branch 'bugfix/http_server_lru_v4.1' into 'release/v4.1' 2020-08-20 21:47:56 +08:00
esp_https_ota esp_https_ota.c: Add fix to return failure if (-1) is returned from esp_http_client_read 2020-09-02 12:30:51 +00:00
esp_https_server esp-tls: Naming variables refering to certificates and keys in a neutral way to suggest that both PEM and DER format could be used, added comments descibing important details about using these formats 2019-08-02 09:25:16 +02:00
esp_local_ctrl tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
esp_netif esp_netif: initialize TCP ISN hook if enabled in configuration 2020-11-02 14:27:33 +05:30
esp_ringbuf feat(timer): refator timer group driver 2019-11-21 14:14:19 +08:00
esp_rom Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj_4.1' into 'release/v4.1' 2020-09-24 13:01:16 +08:00
esp_serial_slave_link essl: new component to communicate with esp serial slave devices 2019-12-03 22:58:41 +08:00
esp_websocket_client Websocket client: avoid deadlock if stop called from event handler 2020-09-01 15:38:12 +08:00
esp_wifi esp_wifi_mesh: update wifi mesh libs 2020-10-29 20:26:49 +08:00
esp-tls Merge branch 'bugfix/enable_mbedtls_renegotiation_v4.1' into 'release/v4.1' 2020-08-21 12:30:45 +08:00
espcoredump Bugfix/espcoredump fix error reported for blank partition (Backport v4.1) 2020-08-27 08:46:58 +08:00
esptool_py tools: Fix flashing encrypted binaries from IDF Monitor 2020-03-27 09:43:26 +01:00
expat heap_caps: small fixes on comments plus cleaning 2019-12-20 13:35:56 -03:00
fatfs Merge branch 'bugfix/fatfs_corrupted_assert' into 'master' 2020-01-14 08:37:07 +08:00
freemodbus freemodbus: add comments for limitation in current version of freemodbus 2020-06-04 09:46:04 +02:00
freertos freertos: don't clobber a4 while spilling register windows 2020-11-11 14:43:15 +00:00
heap heap: Only fill new heaps with FREE_FILL_PATTERN if Comprehensive poisoning is on 2020-04-27 16:32:24 +10:00
idf_test ci: move auto_test_script to new repo (backport 4.1) 2020-10-24 09:24:59 +08:00
jsmn jsmn: define macros in build system 2019-11-29 18:05:24 +08:00
json cJSON: include only source file objects for cmake build 2020-02-10 17:32:14 +05:30
libsodium ut: Move tests back from "esp32" subfolder 2020-01-06 17:13:53 +08:00
log esp_wifi: backport some wifi bugs 0323 2020-03-24 15:05:00 +08:00
lwip Merge branch 'feature/lwip_tcp_isn_hook_v4.1' into 'release/v4.1' 2020-11-05 12:10:17 +08:00
mbedtls Merge branch 'bugfix/mbedtls_mpi_exp_mod_v4.1' into 'release/v4.1' 2020-08-24 13:36:51 +08:00
mdns mdns: Support queries in responses in mDNS non-strict mode 2020-10-12 13:24:30 +02:00
mqtt MQTT: Update submodule reference 2020-09-01 16:00:49 +08:00
newlib Merge branch 'bugfix/adjtime_return_outdelta_before_new_delta_set_v4.1' into 'release/v4.1' 2020-09-22 15:34:27 +08:00
nghttp Modified http_parser to handle ICY uris. 2019-10-11 05:04:08 +00:00
nvs_flash Merge branch 'feature/nvs_allow_custom_part_4.1' into 'release/v4.1' 2020-09-10 16:08:36 +08:00
openssl openssl: made verification mode conversion to mbetls modes more strict 2020-09-21 13:21:41 +00:00
partition_table partition_table: Fix parttool.py crashes when retrieving partition info 2020-06-04 16:31:05 +08:00
perfmon xtensa: update header file 2019-12-09 09:44:56 +08:00
protobuf-c components: use new component registration api 2019-06-21 19:53:29 +08:00
protocomm Merge branch 'bugfix/softap_prov_session_v4.1' into 'release/v4.1' 2020-08-20 21:47:34 +08:00
pthread pthread: Use INTERFACE in target_link_libraries for vPortCleanUpTCB wrapper 2020-05-12 10:35:27 +05:30
sdmmc sdmmc: fix the probe issue that forbid sdspi working in highspeed mode 2020-07-28 17:38:37 +08:00
soc Merge branch 'bugfix/fix_uart_module_enable_issue_v4.1' into 'release/v4.1' 2020-11-05 10:32:28 +08:00
spi_flash Merge branch 'bugfix/spi_flash_yield_coredump_v4.1' into 'release/v4.1' 2020-10-03 14:52:55 +08:00
spiffs spiffs: Fix for case when CONFIG_SPIFFS_USE_MTIME is not defined 2020-02-12 18:12:58 +08:00
tcp_transport transport: fix transport ssl blocking 2020-10-12 10:11:22 +00:00
tcpip_adapter Set default AP handlers in wifi_create_and_start_ap() 2020-09-15 14:53:11 +08:00
ulp ulp: fix ULP assembler version detection for localized systems 2020-09-10 09:35:45 +02:00
unity ut: add DISABLED_FOR_TARGETS macros to control ut building 2020-01-06 17:13:47 +08:00
vfs vfs: support vfs uart set line endings with specified uart number (release/v4.1) 2020-08-24 15:37:44 +08:00
wear_levelling ut: Move tests back from "esp32" subfolder 2020-01-06 17:13:53 +08:00
wifi_provisioning provisioning: use memcpy instead of strncpy for copying SSID 2020-09-17 15:54:23 +05:30
wpa_supplicant Merge branch 'bugfix/wps_fail_reason_code' into 'master' 2020-11-03 13:48:21 +08:00
xtensa expression_with_stack: added a tweak on TCB stackpointers to avoid false trigger of stack overflow 2020-09-10 10:00:32 -03:00