From d0d78e96ebf4187fb9362465f1a397680447046f Mon Sep 17 00:00:00 2001 From: Matt Joyce Date: Mon, 16 May 2022 10:54:31 +0200 Subject: [PATCH] Define _REENT_EMERGENCY(ptr) only once Use this macro to access the _emergency member of struct _reent. This macro will help to replace the _emergency member of struct _reent with a thread-local storage object in a follow up patch. --- newlib/libc/include/sys/reent.h | 4 ++-- newlib/libc/reent/reent.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index e9bded6c7..2b0ff46b7 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -531,7 +531,6 @@ struct _reent #define _REENT_MP_FREELIST(ptr) ((ptr)->_mp->_freelist) #define _REENT_ASCTIME_BUF(ptr) ((ptr)->_asctime_buf) #define _REENT_TM(ptr) ((ptr)->_localtime_buf) -#define _REENT_EMERGENCY(ptr) ((ptr)->_emergency) #define _REENT_STRTOK_LAST(ptr) ((ptr)->_misc->_strtok_last) #define _REENT_MBLEN_STATE(ptr) ((ptr)->_misc->_mblen_state) #define _REENT_MBTOWC_STATE(ptr)((ptr)->_misc->_mbtowc_state) @@ -704,7 +703,6 @@ struct _reent #define _REENT_MP_FREELIST(ptr) ((ptr)->_freelist) #define _REENT_ASCTIME_BUF(ptr) ((ptr)->_new._reent._asctime_buf) #define _REENT_TM(ptr) (&(ptr)->_new._reent._localtime_buf) -#define _REENT_EMERGENCY(ptr) ((ptr)->_emergency) #define _REENT_STRTOK_LAST(ptr) ((ptr)->_new._reent._strtok_last) #define _REENT_MBLEN_STATE(ptr) ((ptr)->_new._reent._mblen_state) #define _REENT_MBTOWC_STATE(ptr)((ptr)->_new._reent._mbtowc_state) @@ -720,6 +718,8 @@ struct _reent #endif /* !_REENT_SMALL */ +#define _REENT_EMERGENCY(_ptr) ((_ptr)->_emergency) + #define _REENT_INIT_PTR(var) \ { memset((var), 0, sizeof(*(var))); \ _REENT_INIT_PTR_ZEROED(var); \ diff --git a/newlib/libc/reent/reent.c b/newlib/libc/reent/reent.c index d61415901..a9d44b455 100644 --- a/newlib/libc/reent/reent.c +++ b/newlib/libc/reent/reent.c @@ -62,8 +62,8 @@ _reclaim_reent (struct _reent *ptr) #endif #ifdef _REENT_SMALL - if (ptr->_emergency) - _free_r (ptr, ptr->_emergency); + if (_REENT_EMERGENCY(ptr)) + _free_r (ptr, _REENT_EMERGENCY(ptr)); if (ptr->_mp) _free_r (ptr, ptr->_mp); if (ptr->_r48)