Cygwin: wincap.h: clarify NO_COPY_RO usage

...and drop one unnecessary usage of NO_COPY_RO.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2023-01-12 10:51:39 +01:00
parent e7d0f0eb41
commit e5880bef39
2 changed files with 7 additions and 1 deletions

View File

@ -313,7 +313,7 @@ struct namepart {
bool create_dir; bool create_dir;
}; };
/* mutex name is formed along dir names */ /* mutex name is formed along dir names */
static namepart NO_COPY_RO const static namepart const
forkable_nameparts[] = { forkable_nameparts[] = {
/* text textfunc mutex_from_dir create */ /* text textfunc mutex_from_dir create */
{ L"<cygroot>", rootname, false, false, }, { L"<cygroot>", rootname, false, false, },

View File

@ -10,6 +10,12 @@ details. */
#define __INSIDE_CYGWIN__ #define __INSIDE_CYGWIN__
/* Use "static NO_COPY_RO" instead of "static const", if the datastructure
should be R/O, but without the "const" qualifier. Typically this is only
required if the static datastructure is "const" in reality, but the Windows
function is defined with a R/W type as argument. Unfortunately this is
often the case. However, make sure to try "const" first, and use
"NO_COPY_RO" as seldom as possible. */
#define NO_COPY_RO __attribute__((nocommon)) __attribute__((section(".rdata_cygwin_nocopy"))) #define NO_COPY_RO __attribute__((nocommon)) __attribute__((section(".rdata_cygwin_nocopy")))
#define NO_COPY __attribute__((nocommon)) __attribute__((section(".data_cygwin_nocopy"))) #define NO_COPY __attribute__((nocommon)) __attribute__((section(".data_cygwin_nocopy")))
#define NO_COPY_INIT __attribute__((section(".data_cygwin_nocopy"))) #define NO_COPY_INIT __attribute__((section(".data_cygwin_nocopy")))