mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
feat(tools): Update Clang version to esp-17.0.1_20240419
This commit is contained in:
parent
2bb73deff5
commit
57f61d2311
@ -143,7 +143,7 @@ build_clang_test_apps_esp32s3:
|
|||||||
# For RISCV clang generates '.linker-options' sections of type 'llvm_linker_options' in asm files.
|
# For RISCV clang generates '.linker-options' sections of type 'llvm_linker_options' in asm files.
|
||||||
# See (https://llvm.org/docs/Extensions.html#linker-options-section-linker-options).
|
# See (https://llvm.org/docs/Extensions.html#linker-options-section-linker-options).
|
||||||
# Binutils gas ignores them with warning.
|
# Binutils gas ignores them with warning.
|
||||||
# TODO: LLVM-112, Use integrated assembler.
|
# TODO: LLVM-333, Use integrated assembler.
|
||||||
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'Warning: unrecognized section type'"
|
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'Warning: unrecognized section type'"
|
||||||
|
|
||||||
build_clang_test_apps_esp32c3:
|
build_clang_test_apps_esp32c3:
|
||||||
@ -164,11 +164,30 @@ build_clang_test_apps_esp32c6:
|
|||||||
extends:
|
extends:
|
||||||
- .build_clang_test_apps_riscv
|
- .build_clang_test_apps_riscv
|
||||||
- .rules:build
|
- .rules:build
|
||||||
# TODO: c6 builds fail in master due to missing headers
|
|
||||||
allow_failure: true
|
|
||||||
variables:
|
variables:
|
||||||
IDF_TARGET: esp32c6
|
IDF_TARGET: esp32c6
|
||||||
|
|
||||||
|
build_clang_test_apps_esp32c5:
|
||||||
|
extends:
|
||||||
|
- .build_clang_test_apps_riscv
|
||||||
|
- .rules:build
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32c5
|
||||||
|
|
||||||
|
build_clang_test_apps_esp32h2:
|
||||||
|
extends:
|
||||||
|
- .build_clang_test_apps_riscv
|
||||||
|
- .rules:build
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32h2
|
||||||
|
|
||||||
|
build_clang_test_apps_esp32p4:
|
||||||
|
extends:
|
||||||
|
- .build_clang_test_apps_riscv
|
||||||
|
- .rules:build
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32p4
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Build System Tests #
|
# Build System Tests #
|
||||||
######################
|
######################
|
||||||
|
@ -83,6 +83,12 @@ variables:
|
|||||||
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
|
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
|
||||||
CI_PYTHON_TOOL_BRANCH: ""
|
CI_PYTHON_TOOL_BRANCH: ""
|
||||||
|
|
||||||
|
# Set this variable to Clang toolchain distro URL to be used.
|
||||||
|
# NOTE: We have separate toolchains for Xtensa and RISCV, therefore jobs for one arch will fail.
|
||||||
|
# This is OK as far as we use CI_CLANG_DISTRO_URL for pre-release tests purposes only.
|
||||||
|
# Keep the variable empty when not used.
|
||||||
|
CI_CLANG_DISTRO_URL: ""
|
||||||
|
|
||||||
# Set this variable to specify the file name for the known failure cases.
|
# Set this variable to specify the file name for the known failure cases.
|
||||||
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
|
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
|
||||||
|
|
||||||
@ -152,7 +158,7 @@ variables:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Install esp-clang if necessary
|
# Install esp-clang if necessary
|
||||||
if [[ "$IDF_TOOLCHAIN" == "clang" ]]; then
|
if [[ "$IDF_TOOLCHAIN" == "clang" && -z "$CI_CLANG_DISTRO_URL" ]]; then
|
||||||
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
|
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -167,7 +173,7 @@ variables:
|
|||||||
|
|
||||||
source ./export.sh
|
source ./export.sh
|
||||||
|
|
||||||
# Custom clang
|
# Custom clang toolchain
|
||||||
if [[ ! -z "$CI_CLANG_DISTRO_URL" ]]; then
|
if [[ ! -z "$CI_CLANG_DISTRO_URL" ]]; then
|
||||||
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
|
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
|
||||||
wget $CI_CLANG_DISTRO_URL
|
wget $CI_CLANG_DISTRO_URL
|
||||||
|
@ -68,6 +68,7 @@ list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_heap_impl")
|
|||||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
|
||||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_pthread_impl")
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_pthread_impl")
|
||||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_assert_impl")
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_assert_impl")
|
||||||
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_getentropy_impl")
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE "${EXTRA_LINK_FLAGS}")
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "${EXTRA_LINK_FLAGS}")
|
||||||
|
|
||||||
# Forces the linker to include newlib_init.c
|
# Forces the linker to include newlib_init.c
|
||||||
|
@ -19,302 +19,153 @@ entries:
|
|||||||
# The following libs are either used in a lot of places or in critical
|
# The following libs are either used in a lot of places or in critical
|
||||||
# code. (such as panic or abort)
|
# code. (such as panic or abort)
|
||||||
# Thus, they shall always be placed in IRAM.
|
# Thus, they shall always be placed in IRAM.
|
||||||
if IDF_TOOLCHAIN = "gcc": # TODO: IDF-8134
|
libc_a-itoa (noflash)
|
||||||
libc_a-itoa (noflash)
|
libc_a-memcmp (noflash)
|
||||||
libc_a-memcmp (noflash)
|
libc_a-memcpy (noflash)
|
||||||
libc_a-memcpy (noflash)
|
libc_a-memset (noflash)
|
||||||
libc_a-memset (noflash)
|
libc_a-strcat (noflash)
|
||||||
libc_a-strcat (noflash)
|
libc_a-strcmp (noflash)
|
||||||
libc_a-strcmp (noflash)
|
libc_a-strlen (noflash)
|
||||||
libc_a-strlen (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-itoa (noflash)
|
|
||||||
lib_a-memcmp (noflash)
|
|
||||||
lib_a-memcpy (noflash)
|
|
||||||
lib_a-memset (noflash)
|
|
||||||
lib_a-strcat (noflash)
|
|
||||||
lib_a-strcmp (noflash)
|
|
||||||
lib_a-strlen (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBJMP_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBJMP_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-longjmp (noflash)
|
||||||
libc_a-longjmp (noflash)
|
libc_a-setjmp (noflash)
|
||||||
libc_a-setjmp (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-longjmp (noflash)
|
|
||||||
lib_a-setjmp (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBMATH_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBMATH_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-abs (noflash)
|
||||||
libc_a-abs (noflash)
|
libc_a-div (noflash)
|
||||||
libc_a-div (noflash)
|
libc_a-labs (noflash)
|
||||||
libc_a-labs (noflash)
|
libc_a-ldiv (noflash)
|
||||||
libc_a-ldiv (noflash)
|
libc_a-quorem (noflash)
|
||||||
libc_a-quorem (noflash)
|
libc_a-s_fpclassify (noflash)
|
||||||
libc_a-s_fpclassify (noflash)
|
libc_a-sf_nan (noflash)
|
||||||
libc_a-sf_nan (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-abs (noflash)
|
|
||||||
lib_a-div (noflash)
|
|
||||||
lib_a-labs (noflash)
|
|
||||||
lib_a-ldiv (noflash)
|
|
||||||
lib_a-quorem (noflash)
|
|
||||||
lib_a-s_fpclassify (noflash)
|
|
||||||
lib_a-sf_nan (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-utoa (noflash)
|
||||||
libc_a-utoa (noflash)
|
libc_a-atoi (noflash)
|
||||||
libc_a-atoi (noflash)
|
libc_a-atol (noflash)
|
||||||
libc_a-atol (noflash)
|
libc_a-strtol (noflash)
|
||||||
libc_a-strtol (noflash)
|
libc_a-strtoul (noflash)
|
||||||
libc_a-strtoul (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-utoa (noflash)
|
|
||||||
lib_a-atoi (noflash)
|
|
||||||
lib_a-atol (noflash)
|
|
||||||
lib_a-strtol (noflash)
|
|
||||||
lib_a-strtoul (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBIO_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBIO_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-wcrtomb (noflash)
|
||||||
libc_a-wcrtomb (noflash)
|
libc_a-fvwrite (noflash)
|
||||||
libc_a-fvwrite (noflash)
|
libc_a-wbuf (noflash)
|
||||||
libc_a-wbuf (noflash)
|
libc_a-wsetup (noflash)
|
||||||
libc_a-wsetup (noflash)
|
libc_a-fputwc (noflash)
|
||||||
libc_a-fputwc (noflash)
|
libc_a-wctomb_r (noflash)
|
||||||
libc_a-wctomb_r (noflash)
|
libc_a-ungetc (noflash)
|
||||||
libc_a-ungetc (noflash)
|
libc_a-makebuf (noflash)
|
||||||
libc_a-makebuf (noflash)
|
libc_a-fflush (noflash)
|
||||||
libc_a-fflush (noflash)
|
libc_a-refill (noflash)
|
||||||
libc_a-refill (noflash)
|
libc_a-sccl (noflash)
|
||||||
libc_a-sccl (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-wcrtomb (noflash)
|
|
||||||
lib_a-fvwrite (noflash)
|
|
||||||
lib_a-wbuf (noflash)
|
|
||||||
lib_a-wsetup (noflash)
|
|
||||||
lib_a-fputwc (noflash)
|
|
||||||
lib_a-wctomb_r (noflash)
|
|
||||||
lib_a-ungetc (noflash)
|
|
||||||
lib_a-makebuf (noflash)
|
|
||||||
lib_a-fflush (noflash)
|
|
||||||
lib_a-refill (noflash)
|
|
||||||
lib_a-sccl (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBTIME_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBTIME_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-asctime (noflash)
|
||||||
libc_a-asctime (noflash)
|
libc_a-asctime_r (noflash)
|
||||||
libc_a-asctime_r (noflash)
|
libc_a-ctime (noflash)
|
||||||
libc_a-ctime (noflash)
|
libc_a-ctime_r (noflash)
|
||||||
libc_a-ctime_r (noflash)
|
libc_a-lcltime (noflash)
|
||||||
libc_a-lcltime (noflash)
|
libc_a-lcltime_r (noflash)
|
||||||
libc_a-lcltime_r (noflash)
|
libc_a-gmtime (noflash)
|
||||||
libc_a-gmtime (noflash)
|
libc_a-gmtime_r (noflash)
|
||||||
libc_a-gmtime_r (noflash)
|
libc_a-strftime (noflash)
|
||||||
libc_a-strftime (noflash)
|
libc_a-mktime (noflash)
|
||||||
libc_a-mktime (noflash)
|
libc_a-tzset_r (noflash)
|
||||||
libc_a-tzset_r (noflash)
|
libc_a-tzset (noflash)
|
||||||
libc_a-tzset (noflash)
|
libc_a-time (noflash)
|
||||||
libc_a-time (noflash)
|
libc_a-gettzinfo (noflash)
|
||||||
libc_a-gettzinfo (noflash)
|
libc_a-systimes (noflash)
|
||||||
libc_a-systimes (noflash)
|
libc_a-month_lengths (noflash)
|
||||||
libc_a-month_lengths (noflash)
|
libc_a-timelocal (noflash)
|
||||||
libc_a-timelocal (noflash)
|
libc_a-tzvars (noflash)
|
||||||
libc_a-tzvars (noflash)
|
libc_a-tzlock (noflash)
|
||||||
libc_a-tzlock (noflash)
|
libc_a-tzcalc_limits (noflash)
|
||||||
libc_a-tzcalc_limits (noflash)
|
libc_a-strptime (noflash)
|
||||||
libc_a-strptime (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-asctime (noflash)
|
|
||||||
lib_a-asctime_r (noflash)
|
|
||||||
lib_a-ctime (noflash)
|
|
||||||
lib_a-ctime_r (noflash)
|
|
||||||
lib_a-lcltime (noflash)
|
|
||||||
lib_a-lcltime_r (noflash)
|
|
||||||
lib_a-gmtime (noflash)
|
|
||||||
lib_a-gmtime_r (noflash)
|
|
||||||
lib_a-strftime (noflash)
|
|
||||||
lib_a-mktime (noflash)
|
|
||||||
lib_a-tzset_r (noflash)
|
|
||||||
lib_a-tzset (noflash)
|
|
||||||
lib_a-time (noflash)
|
|
||||||
lib_a-gettzinfo (noflash)
|
|
||||||
lib_a-systimes (noflash)
|
|
||||||
lib_a-month_lengths (noflash)
|
|
||||||
lib_a-timelocal (noflash)
|
|
||||||
lib_a-tzvars (noflash)
|
|
||||||
lib_a-tzlock (noflash)
|
|
||||||
lib_a-tzcalc_limits (noflash)
|
|
||||||
lib_a-strptime (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBCHAR_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBCHAR_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-ctype_ (noflash)
|
||||||
libc_a-ctype_ (noflash)
|
libc_a-toupper (noflash)
|
||||||
libc_a-toupper (noflash)
|
libc_a-tolower (noflash)
|
||||||
libc_a-tolower (noflash)
|
libc_a-toascii (noflash)
|
||||||
libc_a-toascii (noflash)
|
libc_a-strupr (noflash)
|
||||||
libc_a-strupr (noflash)
|
libc_a-bzero (noflash)
|
||||||
libc_a-bzero (noflash)
|
libc_a-isalnum (noflash)
|
||||||
libc_a-isalnum (noflash)
|
libc_a-isalpha (noflash)
|
||||||
libc_a-isalpha (noflash)
|
libc_a-isascii (noflash)
|
||||||
libc_a-isascii (noflash)
|
libc_a-isblank (noflash)
|
||||||
libc_a-isblank (noflash)
|
libc_a-iscntrl (noflash)
|
||||||
libc_a-iscntrl (noflash)
|
libc_a-isdigit (noflash)
|
||||||
libc_a-isdigit (noflash)
|
libc_a-isgraph (noflash)
|
||||||
libc_a-isgraph (noflash)
|
libc_a-islower (noflash)
|
||||||
libc_a-islower (noflash)
|
libc_a-isprint (noflash)
|
||||||
libc_a-isprint (noflash)
|
libc_a-ispunct (noflash)
|
||||||
libc_a-ispunct (noflash)
|
libc_a-isspace (noflash)
|
||||||
libc_a-isspace (noflash)
|
libc_a-isupper (noflash)
|
||||||
libc_a-isupper (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-ctype_ (noflash)
|
|
||||||
lib_a-toupper (noflash)
|
|
||||||
lib_a-tolower (noflash)
|
|
||||||
lib_a-toascii (noflash)
|
|
||||||
lib_a-strupr (noflash)
|
|
||||||
lib_a-bzero (noflash)
|
|
||||||
lib_a-isalnum (noflash)
|
|
||||||
lib_a-isalpha (noflash)
|
|
||||||
lib_a-isascii (noflash)
|
|
||||||
lib_a-isblank (noflash)
|
|
||||||
lib_a-iscntrl (noflash)
|
|
||||||
lib_a-isdigit (noflash)
|
|
||||||
lib_a-isgraph (noflash)
|
|
||||||
lib_a-islower (noflash)
|
|
||||||
lib_a-isprint (noflash)
|
|
||||||
lib_a-ispunct (noflash)
|
|
||||||
lib_a-isspace (noflash)
|
|
||||||
lib_a-isupper (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBMEM_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBMEM_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-memccpy (noflash)
|
||||||
libc_a-memccpy (noflash)
|
libc_a-memchr (noflash)
|
||||||
libc_a-memchr (noflash)
|
libc_a-memmove (noflash)
|
||||||
libc_a-memmove (noflash)
|
libc_a-memrchr (noflash)
|
||||||
libc_a-memrchr (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-memccpy (noflash)
|
|
||||||
lib_a-memchr (noflash)
|
|
||||||
lib_a-memmove (noflash)
|
|
||||||
lib_a-memrchr (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBSTR_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBSTR_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-strcasecmp (noflash)
|
||||||
libc_a-strcasecmp (noflash)
|
libc_a-strcasestr (noflash)
|
||||||
libc_a-strcasestr (noflash)
|
libc_a-strchr (noflash)
|
||||||
libc_a-strchr (noflash)
|
libc_a-strcoll (noflash)
|
||||||
libc_a-strcoll (noflash)
|
libc_a-strcpy (noflash)
|
||||||
libc_a-strcpy (noflash)
|
libc_a-strcspn (noflash)
|
||||||
libc_a-strcspn (noflash)
|
libc_a-strdup (noflash)
|
||||||
libc_a-strdup (noflash)
|
libc_a-strdup_r (noflash)
|
||||||
libc_a-strdup_r (noflash)
|
libc_a-strlcat (noflash)
|
||||||
libc_a-strlcat (noflash)
|
libc_a-strlcpy (noflash)
|
||||||
libc_a-strlcpy (noflash)
|
libc_a-strlwr (noflash)
|
||||||
libc_a-strlwr (noflash)
|
libc_a-strncasecmp (noflash)
|
||||||
libc_a-strncasecmp (noflash)
|
libc_a-strncat (noflash)
|
||||||
libc_a-strncat (noflash)
|
libc_a-strncmp (noflash)
|
||||||
libc_a-strncmp (noflash)
|
libc_a-strncpy (noflash)
|
||||||
libc_a-strncpy (noflash)
|
libc_a-strndup (noflash)
|
||||||
libc_a-strndup (noflash)
|
libc_a-strndup_r (noflash)
|
||||||
libc_a-strndup_r (noflash)
|
libc_a-strnlen (noflash)
|
||||||
libc_a-strnlen (noflash)
|
libc_a-strrchr (noflash)
|
||||||
libc_a-strrchr (noflash)
|
libc_a-strsep (noflash)
|
||||||
libc_a-strsep (noflash)
|
libc_a-strspn (noflash)
|
||||||
libc_a-strspn (noflash)
|
libc_a-strstr (noflash)
|
||||||
libc_a-strstr (noflash)
|
libc_a-strtok_r (noflash)
|
||||||
libc_a-strtok_r (noflash)
|
libc_a-strupr (noflash)
|
||||||
libc_a-strupr (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-strcasecmp (noflash)
|
|
||||||
lib_a-strcasestr (noflash)
|
|
||||||
lib_a-strchr (noflash)
|
|
||||||
lib_a-strcoll (noflash)
|
|
||||||
lib_a-strcpy (noflash)
|
|
||||||
lib_a-strcspn (noflash)
|
|
||||||
lib_a-strdup (noflash)
|
|
||||||
lib_a-strdup_r (noflash)
|
|
||||||
lib_a-strlcat (noflash)
|
|
||||||
lib_a-strlcpy (noflash)
|
|
||||||
lib_a-strlwr (noflash)
|
|
||||||
lib_a-strncasecmp (noflash)
|
|
||||||
lib_a-strncat (noflash)
|
|
||||||
lib_a-strncmp (noflash)
|
|
||||||
lib_a-strncpy (noflash)
|
|
||||||
lib_a-strndup (noflash)
|
|
||||||
lib_a-strndup_r (noflash)
|
|
||||||
lib_a-strnlen (noflash)
|
|
||||||
lib_a-strrchr (noflash)
|
|
||||||
lib_a-strsep (noflash)
|
|
||||||
lib_a-strspn (noflash)
|
|
||||||
lib_a-strstr (noflash)
|
|
||||||
lib_a-strtok_r (noflash)
|
|
||||||
lib_a-strupr (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBRAND_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBRAND_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-srand (noflash)
|
||||||
libc_a-srand (noflash)
|
libc_a-rand (noflash)
|
||||||
libc_a-rand (noflash)
|
libc_a-rand_r (noflash)
|
||||||
libc_a-rand_r (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-srand (noflash)
|
|
||||||
lib_a-rand (noflash)
|
|
||||||
lib_a-rand_r (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBENV_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBENV_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-environ (noflash)
|
||||||
libc_a-environ (noflash)
|
libc_a-envlock (noflash)
|
||||||
libc_a-envlock (noflash)
|
libc_a-getenv_r (noflash)
|
||||||
libc_a-getenv_r (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-environ (noflash)
|
|
||||||
lib_a-envlock (noflash)
|
|
||||||
lib_a-getenv_r (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBFILE_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBFILE_IN_IRAM = y:
|
||||||
lock (noflash)
|
lock (noflash)
|
||||||
isatty (noflash)
|
isatty (noflash)
|
||||||
creat (noflash)
|
creat (noflash)
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-fclose (noflash)
|
||||||
libc_a-fclose (noflash)
|
libc_a-open (noflash)
|
||||||
libc_a-open (noflash)
|
libc_a-close (noflash)
|
||||||
libc_a-close (noflash)
|
libc_a-creat (noflash)
|
||||||
libc_a-creat (noflash)
|
libc_a-read (noflash)
|
||||||
libc_a-read (noflash)
|
libc_a-rshift (noflash)
|
||||||
libc_a-rshift (noflash)
|
libc_a-sbrk (noflash)
|
||||||
libc_a-sbrk (noflash)
|
libc_a-stdio (noflash)
|
||||||
libc_a-stdio (noflash)
|
libc_a-syssbrk (noflash)
|
||||||
libc_a-syssbrk (noflash)
|
libc_a-sysclose (noflash)
|
||||||
libc_a-sysclose (noflash)
|
libc_a-sysopen (noflash)
|
||||||
libc_a-sysopen (noflash)
|
libc_a-sysread (noflash)
|
||||||
libc_a-sysread (noflash)
|
libc_a-syswrite (noflash)
|
||||||
libc_a-syswrite (noflash)
|
libc_a-impure (noflash)
|
||||||
libc_a-impure (noflash)
|
libc_a-fwalk (noflash)
|
||||||
libc_a-fwalk (noflash)
|
libc_a-findfp (noflash)
|
||||||
libc_a-findfp (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-fclose (noflash)
|
|
||||||
lib_a-open (noflash)
|
|
||||||
lib_a-close (noflash)
|
|
||||||
lib_a-creat (noflash)
|
|
||||||
lib_a-read (noflash)
|
|
||||||
lib_a-rshift (noflash)
|
|
||||||
lib_a-sbrk (noflash)
|
|
||||||
lib_a-stdio (noflash)
|
|
||||||
lib_a-syssbrk (noflash)
|
|
||||||
lib_a-sysclose (noflash)
|
|
||||||
lib_a-sysopen (noflash)
|
|
||||||
lib_a-sysread (noflash)
|
|
||||||
lib_a-syswrite (noflash)
|
|
||||||
lib_a-impure (noflash)
|
|
||||||
lib_a-fwalk (noflash)
|
|
||||||
lib_a-findfp (noflash)
|
|
||||||
|
|
||||||
if SPIRAM_CACHE_LIBMISC_IN_IRAM = y:
|
if SPIRAM_CACHE_LIBMISC_IN_IRAM = y:
|
||||||
if IDF_TOOLCHAIN = "gcc":
|
libc_a-raise (noflash)
|
||||||
libc_a-raise (noflash)
|
libc_a-system (noflash)
|
||||||
libc_a-system (noflash)
|
|
||||||
else:
|
|
||||||
lib_a-raise (noflash)
|
|
||||||
lib_a-system (noflash)
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -28,3 +28,8 @@ int getentropy(void *buffer, size_t length)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void newlib_include_getentropy_impl(void)
|
||||||
|
{
|
||||||
|
// Linker hook, exists for no other purpose
|
||||||
|
}
|
||||||
|
@ -136,13 +136,8 @@ void esp_newlib_init(void)
|
|||||||
syscall_table_ptr = &s_stub_table;
|
syscall_table_ptr = &s_stub_table;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __NEWLIB__ > 4 || ( __NEWLIB__ == 4 && __NEWLIB_MINOR__ > 1 ) /* TODO: IDF-8134 */
|
|
||||||
memset(&__sglue, 0, sizeof(__sglue));
|
memset(&__sglue, 0, sizeof(__sglue));
|
||||||
_global_impure_ptr = _GLOBAL_REENT;
|
_global_impure_ptr = _GLOBAL_REENT;
|
||||||
#else
|
|
||||||
static struct _reent s_reent;
|
|
||||||
_GLOBAL_REENT = &s_reent;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Ensure that the initialization of sfp is prevented until esp_newlib_init_global_stdio() is explicitly invoked. */
|
/* Ensure that the initialization of sfp is prevented until esp_newlib_init_global_stdio() is explicitly invoked. */
|
||||||
_GLOBAL_REENT->__cleanup = esp_cleanup_r;
|
_GLOBAL_REENT->__cleanup = esp_cleanup_r;
|
||||||
|
@ -1,23 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#if __NEWLIB__ > 4 || ( __NEWLIB__ == 4 && __NEWLIB_MINOR__ > 1 ) /* TODO: IDF-8134 */
|
|
||||||
#define _REENT_BACKWARD_BINARY_COMPAT
|
#define _REENT_BACKWARD_BINARY_COMPAT
|
||||||
#define _REENT_SDIDINIT(_ptr) ((_ptr)->_reserved_0)
|
#define _REENT_SDIDINIT(_ptr) ((_ptr)->_reserved_0)
|
||||||
#define _REENT_SGLUE(_ptr) (__sglue)
|
#define _REENT_SGLUE(_ptr) (__sglue)
|
||||||
#else
|
|
||||||
#define _REENT_CLEANUP(_ptr) ((_ptr)->__cleanup)
|
|
||||||
#define _REENT_STDIN(_ptr) ((_ptr)->_stdin)
|
|
||||||
#define _REENT_STDOUT(_ptr) ((_ptr)->_stdout)
|
|
||||||
#define _REENT_STDERR(_ptr) ((_ptr)->_stderr)
|
|
||||||
#define _REENT_SDIDINIT(_ptr) ((_ptr)->__sdidinit)
|
|
||||||
#define _REENT_SGLUE(_ptr) ((_ptr)->__sglue)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include_next<sys/reent.h>
|
#include_next<sys/reent.h>
|
||||||
|
|
||||||
@ -25,23 +16,11 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __NEWLIB__ > 4 || ( __NEWLIB__ == 4 && __NEWLIB_MINOR__ > 1 ) /* TODO: IDF-8134 */
|
|
||||||
|
|
||||||
extern void __sinit(struct _reent *);
|
extern void __sinit(struct _reent *);
|
||||||
|
|
||||||
extern struct _glue __sglue;
|
extern struct _glue __sglue;
|
||||||
extern struct _reent * _global_impure_ptr;
|
extern struct _reent * _global_impure_ptr;
|
||||||
|
|
||||||
#else /* __NEWLIB__ > 4 || ( __NEWLIB__ == 4 && __NEWLIB_MINOR__ > 1 ) */
|
|
||||||
|
|
||||||
/* This function is not part of the newlib API, it is defined in libc/stdio/local.h
|
|
||||||
* There is no nice way to get __cleanup member populated while avoiding __sinit,
|
|
||||||
* so extern declaration is used here.
|
|
||||||
*/
|
|
||||||
extern void _cleanup_r(struct _reent *);
|
|
||||||
|
|
||||||
#endif /* __NEWLIB__ > 4 || ( __NEWLIB__ == 4 && __NEWLIB_MINOR__ > 1 ) */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -337,16 +337,9 @@
|
|||||||
# define XTHAL_GET_INTERRUPT() ({ int __interrupt; \
|
# define XTHAL_GET_INTERRUPT() ({ int __interrupt; \
|
||||||
__asm__ __volatile__("rsr.interrupt %0" : "=a"(__interrupt)); \
|
__asm__ __volatile__("rsr.interrupt %0" : "=a"(__interrupt)); \
|
||||||
__interrupt; })
|
__interrupt; })
|
||||||
#ifdef __clang__
|
|
||||||
// TODO: LLVM-195. Currently clang does not support INTSET alias for INTERRUPT special reg
|
|
||||||
# define XTHAL_SET_INTSET(v) do { int __interrupt = (int)(v); \
|
|
||||||
__asm__ __volatile__("wsr.interrupt %0" :: "a"(__interrupt):"memory"); \
|
|
||||||
} while(0)
|
|
||||||
#else
|
|
||||||
# define XTHAL_SET_INTSET(v) do { int __interrupt = (int)(v); \
|
# define XTHAL_SET_INTSET(v) do { int __interrupt = (int)(v); \
|
||||||
__asm__ __volatile__("wsr.intset %0" :: "a"(__interrupt):"memory"); \
|
__asm__ __volatile__("wsr.intset %0" :: "a"(__interrupt):"memory"); \
|
||||||
} while(0)
|
} while(0)
|
||||||
#endif
|
|
||||||
# define XTHAL_SET_INTCLEAR(v) do { int __interrupt = (int)(v); \
|
# define XTHAL_SET_INTCLEAR(v) do { int __interrupt = (int)(v); \
|
||||||
__asm__ __volatile__("wsr.intclear %0" :: "a"(__interrupt):"memory"); \
|
__asm__ __volatile__("wsr.intclear %0" :: "a"(__interrupt):"memory"); \
|
||||||
} while(0)
|
} while(0)
|
||||||
@ -376,7 +369,7 @@
|
|||||||
# define XTHAL_SET_CCOMPARE(n,v) do {/*nothing*/} while(0)
|
# define XTHAL_SET_CCOMPARE(n,v) do {/*nothing*/} while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* New functions added to accomodate XEA3 and allow deprecation of older
|
/* New functions added to accommodate XEA3 and allow deprecation of older
|
||||||
functions. For this release they just map to the older ones. */
|
functions. For this release they just map to the older ones. */
|
||||||
|
|
||||||
/* Enables the specified interrupt. */
|
/* Enables the specified interrupt. */
|
||||||
@ -440,7 +433,7 @@ static inline unsigned XTHAL_COMPARE_AND_SET( int *addr, int testval, int setva
|
|||||||
: "=a"(result) : "0" (setval), "a" (testval), "a" (addr)
|
: "=a"(result) : "0" (setval), "a" (testval), "a" (addr)
|
||||||
: "memory");
|
: "memory");
|
||||||
#elif XCHAL_HAVE_INTERRUPTS
|
#elif XCHAL_HAVE_INTERRUPTS
|
||||||
int tmp = 0; // clang complains on unitialized var
|
int tmp = 0; // clang complains on uninitialized var
|
||||||
__asm__ __volatile__ (
|
__asm__ __volatile__ (
|
||||||
" rsil %4, 15 \n" // %4 == saved ps
|
" rsil %4, 15 \n" // %4 == saved ps
|
||||||
" l32i %0, %3, 0 \n" // %0 == value to test, return val
|
" l32i %0, %3, 0 \n" // %0 == value to test, return val
|
||||||
|
@ -5,12 +5,14 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER xtensa-esp32-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP xtensa-esp32-elf-objdump)
|
set(CMAKE_OBJDUMP xtensa-esp32-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32 ${CMAKE_C_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32 \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
@ -23,8 +25,16 @@ set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
|||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32 -Xassembler --longcalls ${CMAKE_ASM_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32 -Xassembler --longcalls \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=xtensa-esp32-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
@ -5,28 +5,36 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP riscv32-esp-elf-objdump)
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_C_FLAGS}"
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_CXX_FLAGS}"
|
${CMAKE_CXX_FLAGS}"
|
||||||
UNIQ_CMAKE_CXX_FLAGS)
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_ASM_FLAGS}"
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
@ -5,28 +5,36 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP riscv32-esp-elf-objdump)
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_C_FLAGS}"
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_CXX_FLAGS}"
|
${CMAKE_CXX_FLAGS}"
|
||||||
UNIQ_CMAKE_CXX_FLAGS)
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_ASM_FLAGS}"
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
40
tools/cmake/toolchain-clang-esp32c5.cmake
Normal file
40
tools/cmake/toolchain-clang-esp32c5.cmake
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
include($ENV{IDF_PATH}/tools/cmake/utilities.cmake)
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER clang)
|
||||||
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
|
set(CMAKE_AR llvm-ar)
|
||||||
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
|
CACHE STRING "C Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_CXX_FLAGS}"
|
||||||
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
|
CACHE STRING "Assembler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
@ -5,28 +5,36 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP riscv32-esp-elf-objdump)
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_C_FLAGS}"
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_CXX_FLAGS}"
|
${CMAKE_CXX_FLAGS}"
|
||||||
UNIQ_CMAKE_CXX_FLAGS)
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_ASM_FLAGS}"
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
40
tools/cmake/toolchain-clang-esp32c61.cmake
Normal file
40
tools/cmake/toolchain-clang-esp32c61.cmake
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
include($ENV{IDF_PATH}/tools/cmake/utilities.cmake)
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER clang)
|
||||||
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
|
set(CMAKE_AR llvm-ar)
|
||||||
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
|
CACHE STRING "C Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_CXX_FLAGS}"
|
||||||
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imac_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
|
CACHE STRING "Assembler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
@ -5,28 +5,36 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP riscv32-esp-elf-objdump)
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_C_FLAGS}"
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_CXX_FLAGS}"
|
${CMAKE_CXX_FLAGS}"
|
||||||
UNIQ_CMAKE_CXX_FLAGS)
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_ASM_FLAGS}"
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
@ -5,28 +5,36 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP riscv32-esp-elf-objdump)
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_C_FLAGS}"
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_CXX_FLAGS}"
|
${CMAKE_CXX_FLAGS}"
|
||||||
UNIQ_CMAKE_CXX_FLAGS)
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 \
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imc_zicsr_zifencei -mabi=ilp32 -no-integrated-as \
|
||||||
${CMAKE_ASM_FLAGS}"
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
40
tools/cmake/toolchain-clang-esp32p4.cmake
Normal file
40
tools/cmake/toolchain-clang-esp32p4.cmake
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
include($ENV{IDF_PATH}/tools/cmake/utilities.cmake)
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER clang)
|
||||||
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER riscv32-esp-elf-clang-ld)
|
||||||
|
|
||||||
|
set(CMAKE_AR llvm-ar)
|
||||||
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
|
set(CMAKE_OBJDUMP riscv32-esp-elf-clang-objdump)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imafc_zicsr_zifencei -mabi=ilp32f -no-integrated-as \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
|
CACHE STRING "C Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imafc_zicsr_zifencei -mabi=ilp32f -no-integrated-as \
|
||||||
|
${CMAKE_CXX_FLAGS}"
|
||||||
|
UNIQ_CMAKE_CXX_FLAGS)
|
||||||
|
set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
||||||
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--target=riscv32-esp-elf -march=rv32imafc_zicsr_zifencei -mabi=ilp32f -no-integrated-as \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
|
CACHE STRING "Assembler Base Flags"
|
||||||
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=riscv32-esp-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
@ -5,13 +5,14 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER xtensa-esp32s2-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP xtensa-esp32s2-elf-objdump)
|
set(CMAKE_OBJDUMP xtensa-esp32s2-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s2 ${CMAKE_C_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s2 \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
@ -24,8 +25,16 @@ set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
|||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s2 -Xassembler --longcalls ${CMAKE_ASM_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s2 -Xassembler --longcalls \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=xtensa-esp32s2-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
@ -5,12 +5,14 @@ set(CMAKE_SYSTEM_NAME Generic)
|
|||||||
set(CMAKE_C_COMPILER clang)
|
set(CMAKE_C_COMPILER clang)
|
||||||
set(CMAKE_CXX_COMPILER clang++)
|
set(CMAKE_CXX_COMPILER clang++)
|
||||||
set(CMAKE_ASM_COMPILER clang)
|
set(CMAKE_ASM_COMPILER clang)
|
||||||
|
set(CMAKE_LINKER xtensa-esp32s3-elf-clang-ld)
|
||||||
|
|
||||||
set(CMAKE_AR llvm-ar)
|
set(CMAKE_AR llvm-ar)
|
||||||
set(CMAKE_RANLIB llvm-ranlib)
|
set(CMAKE_RANLIB llvm-ranlib)
|
||||||
set(CMAKE_OBJDUMP xtensa-esp32s3-elf-objdump)
|
set(CMAKE_OBJDUMP xtensa-esp32s3-elf-clang-objdump)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s3 ${CMAKE_C_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s3 \
|
||||||
|
${CMAKE_C_FLAGS}"
|
||||||
UNIQ_CMAKE_C_FLAGS)
|
UNIQ_CMAKE_C_FLAGS)
|
||||||
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}"
|
||||||
CACHE STRING "C Compiler Base Flags"
|
CACHE STRING "C Compiler Base Flags"
|
||||||
@ -23,8 +25,16 @@ set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}"
|
|||||||
CACHE STRING "C++ Compiler Base Flags"
|
CACHE STRING "C++ Compiler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s3 -Xassembler --longcalls ${CMAKE_ASM_FLAGS}"
|
remove_duplicated_flags("--target=xtensa-esp-elf -mcpu=esp32s3 -Xassembler --longcalls \
|
||||||
|
${CMAKE_ASM_FLAGS}"
|
||||||
UNIQ_CMAKE_ASM_FLAGS)
|
UNIQ_CMAKE_ASM_FLAGS)
|
||||||
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_ASM_FLAGS}"
|
||||||
CACHE STRING "Assembler Base Flags"
|
CACHE STRING "Assembler Base Flags"
|
||||||
FORCE)
|
FORCE)
|
||||||
|
|
||||||
|
remove_duplicated_flags("--ld-path=xtensa-esp32s3-elf-clang-ld -z noexecstack \
|
||||||
|
${CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
UNIQ_CMAKE_EXE_LINKER_FLAGS)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_EXE_LINKER_FLAGS}"
|
||||||
|
CACHE STRING "Linker Base Flags"
|
||||||
|
FORCE)
|
||||||
|
@ -19,7 +19,7 @@ tools/test_apps/system/cxx_no_except:
|
|||||||
|
|
||||||
tools/test_apps/system/cxx_pthread_bluetooth:
|
tools/test_apps/system/cxx_pthread_bluetooth:
|
||||||
enable:
|
enable:
|
||||||
- if: IDF_TARGET in ["esp32", "esp32c2", "esp32c3", "esp32s2", "esp32s3"]
|
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c5", "esp32c6", "esp32h2", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: the other targets are not supported yet
|
reason: the other targets are not supported yet
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
# C++ pthread Example
|
# C++ pthread Example
|
||||||
|
|
||||||
|
@ -257,41 +257,40 @@
|
|||||||
"clang",
|
"clang",
|
||||||
"--version"
|
"--version"
|
||||||
],
|
],
|
||||||
"version_regex": "version\\s*([0-9\\.]+)\\s*\\([^\\s]+\\s*(\\w{10}).+\\)",
|
"version_regex": "\\([^\\s]+\\s+([0-9a-zA-Z\\.\\-_]+)\\)",
|
||||||
"version_regex_replace": "\\1-\\2",
|
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"linux-amd64": {
|
"linux-amd64": {
|
||||||
"sha256": "3dbd8dd290913a93e8941da8a451ecd49f9798cc2d74bb9b63ef5cf5c4fee37f",
|
"sha256": "c4d4bef40532b777907bdf35cf10d91432a4c6b8351ee0a21cf3332fc9aabdb1",
|
||||||
"size": 215176120,
|
"size": 296940300,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-amd64.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-x86_64-linux-gnu.tar.xz"
|
||||||
},
|
},
|
||||||
"linux-arm64": {
|
"linux-arm64": {
|
||||||
"sha256": "4b115af6ddd04a9bffc1908fc05837998ee71d450891d741c446186f2aa9b961",
|
"sha256": "200d12bca443f8c751dfdd8e0abdc388832820ca8ebfff86952302146b972cf9",
|
||||||
"size": 222261932,
|
"size": 286403588,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-arm64.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-aarch64-linux-gnu.tar.xz"
|
||||||
},
|
},
|
||||||
"linux-armhf": {
|
"linux-armhf": {
|
||||||
"sha256": "935082bb0704420c5ca42b35038bba8702135348a50cac454ae2fb55af0b4c32",
|
"sha256": "9731b04ef704748a2579ead5960a556e85ffd536d69b41022cbf2d5e59fa178c",
|
||||||
"size": 214888520,
|
"size": 286907980,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-armhf.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-arm-linux-gnueabihf.tar.xz"
|
||||||
},
|
},
|
||||||
"macos": {
|
"macos": {
|
||||||
"sha256": "d9824acafd3e7b1d17ace084243b82a95bbdcb149a26b085bba487ab3d3716d7",
|
"sha256": "02ebf1c3efc8b3514b774a5c02c51a5cdd23d6d35769c1a1698006bb41e25a97",
|
||||||
"size": 182440672,
|
"size": 272744196,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-macos.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-x86_64-apple-darwin.tar.xz"
|
||||||
},
|
},
|
||||||
"macos-arm64": {
|
"macos-arm64": {
|
||||||
"sha256": "ed5621396dc3e48413e14e8b6caed8e2993e7f2ab5fca1410081f40c940a1060",
|
"sha256": "c422ebe6c497182020e9bb9e5896f415d3bc7635b4d996c7f16fb060124c28c2",
|
||||||
"size": 171912324,
|
"size": 252779444,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-macos-arm64.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-aarch64-apple-darwin.tar.xz"
|
||||||
},
|
},
|
||||||
"name": "16.0.1-fe4f10a809",
|
"name": "esp-17.0.1_20240419",
|
||||||
"status": "recommended",
|
"status": "recommended",
|
||||||
"win64": {
|
"win64": {
|
||||||
"sha256": "598c8241c8bf10fd1be8bd21845307cfc404e127041b4ba4e828350a88692883",
|
"sha256": "341d3eed6881fbea19910fee5254a2f9c5406d2948bf0814a1c567d8c65dadcb",
|
||||||
"size": 243979484,
|
"size": 410784492,
|
||||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-win64.tar.xz"
|
"url": "https://github.com/espressif/llvm-project/releases/download/esp-17.0.1_20240419/clang-esp-17.0.1_20240419-x86_64-w64-mingw32.tar.xz"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user