bfd: Define ___lc_codepage_func prototype for older MinGW-w64
authorTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Tue, 16 Aug 2022 17:04:21 +0000 (18:04 +0100)
committerLuis Machado <luis.machado@arm.com>
Tue, 16 Aug 2022 17:04:21 +0000 (18:04 +0100)
In commit 68e80d96a84282d547f3b3c1234c99009521630c, the usage of
___lc_codepage_func was introduced to determine the current encoding.

Prior to version 9.0 of MinGW-w64, the function prototype for
___lc_codepage_func was missing and trying to build BFD caused the
following error:

error: implicit declaration of function ‘___lc_codepage_func’

This changeset adds a conditonal definition of
___lc_codepage_func to allow a sucessful build with MinGW-w64.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
bfd/bfdio.c

index a7c7d5bd3631f624466c7ed1149910d0df732b73..571f12b625a1b09ebfc50c758d73e52295e52c6b 100644 (file)
 #include <locale.h>
 #endif
 
+#if defined(__MINGW64_VERSION_MAJOR) && __MINGW64_VERSION_MAJOR < 9
+/* This prototype was added to locale.h in version 9.0 of MinGW-w64.  */
+_CRTIMP unsigned int __cdecl ___lc_codepage_func(void);
+#endif
+
 #ifndef S_IXUSR
 #define S_IXUSR 0100    /* Execute by owner.  */
 #endif