esp-idf/tools/ci
Darian Leung fbcde6777f newlib: Add workaround for printf functions using 32-bit time_t on first call
sizeof(time_t) was previously switched from 4 to 8, ROM functions that use
time_t or dependent types (such as "struct stat") are no longer called due as
they still treat sizeof(time_t) as 4 (see commit
24c20d188e).

However, there is a ROM callpath that was left out. If putchar is the first
stdio print related call, the call path will result in cantwrite() ->
__swsetup_r() -> __smakebuf_r() -> __swhatbuf_r() using the ROM "struct stat"
(where sizeof(time_t)==4).

Instead of removing all printf related ROM newlib functions (which will result
in increased binary size), this commit adds a workaround to setup the stdio
files before any print related calls occur.

This results in cantwrite() always returning false, thus the callpath described
above never being reached.

Closes https://github.com/espressif/esp-idf/issues/9269
2022-08-21 15:27:50 +08:00
..
integration_test CI: add integration test env 2022-08-08 22:07:40 +08:00
python_packages Merge branch 'fix/flake8_v5_warnings' into 'master' 2022-08-12 23:27:14 +08:00
build_example_dirs.txt ci: support building examples with external components 2018-11-19 12:36:31 +08:00
build_template_app.sh feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
check_api_violation.sh ci: added script to check api violations 2021-06-22 11:28:01 +08:00
check_artifacts_expire_time.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
check_blobs.sh esp_phy: support esp32h2beta2 phy build 2022-05-16 10:50:44 +00:00
check_build_test_rules.py ci: allow running check-readmes pre-commit hook without IDF_PATH set 2022-07-14 16:32:20 +02:00
check_callgraph.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
check_codeowners.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
check_copyright_config.yaml tinyusb: Add TinyUSB example tests 2022-08-10 14:51:18 +02:00
check_copyright_ignore.txt newlib: Add workaround for printf functions using 32-bit time_t on first call 2022-08-21 15:27:50 +08:00
check_deprecated_kconfigs.py ci: fix no subtyping for type annotation in python3.7 2022-07-27 11:11:09 +08:00
check_esp_memory_utils_headers.sh esp_hw_support: remove public dependency on bootloader_support 2022-04-16 10:50:12 +02:00
check_examples_rom_header.sh esp_rom: extract common GPIO apis into esp_rom_gpio.h 2020-07-07 11:40:19 +08:00
check_executables.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
check_idf_version.sh Build & config: Remove the "make" build system 2021-11-10 09:53:53 +01:00
check_kconfigs.py kconfig: update check_kconfigs.py to handle orsource command 2022-05-06 11:31:24 +08:00
check_ldgen_mapping_exceptions.txt components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
check_public_headers_exceptions.txt Merge branch 'fix/s3_world_controller_headers' into 'master' 2022-08-11 13:38:53 +08:00
check_public_headers.py ci: fix syntax error 2022-07-27 11:11:09 +08:00
check_readme_links.py cleanup remaining references for esp-cryptoauthlib 2022-08-12 11:25:29 +05:30
check_requirement_files.py Tools: Make easier the detection of the list of Python features 2022-02-03 19:02:14 +01:00
check_rules_yml.py ci: fix no subtyping for type annotation in python3.7 2022-07-27 11:11:09 +08:00
check_soc_headers_leak.py test: ignore pytest dut log artifacts 2022-04-25 17:16:50 +08:00
check_soc_struct_headers.py tools: Change copyright in ci dir 2022-07-11 12:58:06 +00:00
check_tools_files_patterns.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
check_type_comments.py tools: Change copyright in ci dir 2022-07-11 12:58:06 +00:00
checkout_project_ref.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
ci_build_apps.py ci: fix cleanup bin wrongly when extra_preserve_dir equals to the app dir 2022-07-25 15:54:54 +08:00
ci_fetch_submodule.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
ci_get_mr_info.py tools: Change copyright in ci dir 2022-07-11 12:58:06 +00:00
clang_tidy_dirs.txt ci: enable clang-tidy check for more components 2021-08-19 09:26:20 +08:00
configure_ci_environment.sh feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
deploy_docs.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
envsubst.py ci: Add python types hints 2022-07-22 21:15:01 +02:00
exclude_check_tools_files.txt ci: simplify the python env to idf venv only 2022-08-18 11:40:22 +08:00
executable-list.txt partition_table: Support registering custom subtypes 2022-08-03 05:18:37 +00:00
fix_empty_prototypes.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
get_all_test_results.py CI: update test cases from test results 2022-03-09 14:08:38 +08:00
get_supported_examples.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
get-full-sources.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
idf_ci_utils.py ci: build but set preserve to false for different nightly_run scenarios 2022-07-18 10:17:54 +08:00
ignore_build_warnings.txt ci: ignore partition nearly full warning 2022-08-18 15:51:49 +08:00
mirror-submodule-update.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
multirun_with_pyenv.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
mypy_ignore_list.txt ci: Add python types hints 2022-07-22 21:15:01 +02:00
push_to_github.sh Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
sonar_exclude_list.txt protobuf: Fix v4.21.0 (python) compatibility issue 2022-05-30 09:54:31 +05:30
static-analysis-rules.yml cleanup remaining references for esp-cryptoauthlib 2022-08-12 11:25:29 +05:30
test_autocomplete.py tools: Change copyright in ci dir 2022-07-11 12:58:06 +00:00
test_build_system_cmake.sh build: fix excluded components being passed to component manager 2022-08-08 13:09:20 +02:00
test_build_system_spaces.py ci: add build job to test paths with spaces 2022-05-02 19:05:48 +02:00
test_check_kconfigs.py tools: Delete the old kconfig tools 2021-11-24 13:07:56 +01:00
test_configure_ci_environment.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
test_reproducible_build.sh build: create BUILD_DIR/prefix_map_gdbinit when enable reproducible build 2021-10-26 10:55:00 +08:00
utils.sh fix: run_cmd 2022-07-18 09:10:33 +08:00