Skip to content

Commit

Permalink
Merge branch 'bugfix/hal_memcpy_v5.2' into 'release/v5.2'
Browse files Browse the repository at this point in the history
fix(hal): Fix incorrect behavior of hal_memcpy (v5.2)

See merge request espressif/esp-idf!26909
  • Loading branch information
jack0c committed Nov 6, 2023
2 parents 6e2c0de + b6ad870 commit 172b7e4
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions components/hal/platform_port/include/hal/misc.h
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
Expand Down Expand Up @@ -66,11 +66,7 @@ extern "C" {
* @param len The number of bytes to be copied
* @return a pointer to destination
*/
__attribute__((always_inline)) static inline void *hal_memcpy(void *dst_mem, const void *src_mem, size_t len)
{
asm("" : "+r"(dst_mem), "+r"(src_mem));
return memcpy(dst_mem, src_mem, len);
}
#define hal_memcpy(dst_mem, src_mem, len) (__extension__({memcpy(dst_mem, src_mem, len);}))

/**
* @brief Sets the first num bytes of the block of memory pointed by ptr to the specified value
Expand All @@ -82,11 +78,7 @@ __attribute__((always_inline)) static inline void *hal_memcpy(void *dst_mem, con
* @param len The number of bytes to be copied
* @return a pointer to the memory area
*/
__attribute__((always_inline)) static inline void *hal_memset(void *dst_mem, int value, size_t len)
{
asm("" : "+r"(dst_mem));
return memset(dst_mem, value, len);
}
#define hal_memset(dst_mem, value, len) (__extension__({memset(dst_mem, value, len);}))

#ifdef __cplusplus
}
Expand Down

0 comments on commit 172b7e4

Please sign in to comment.