Browse Source

Disable symbol mangling for C++

Tibor Nagy 6 years ago
parent
commit
d4308c8a9b
7 changed files with 56 additions and 0 deletions
  1. 8 0
      include/bits/errno.h
  2. 8 0
      include/bits/fcntl.h
  3. 8 0
      include/bits/stdio.h
  4. 8 0
      include/bits/unistd.h
  5. 8 0
      include/getopt.h
  6. 8 0
      include/malloc.h
  7. 8 0
      include/setjmp.h

+ 8 - 0
include/bits/errno.h

@@ -1,7 +1,15 @@
 #ifndef _BITS_ERRNO_H
 #define _BITS_ERRNO_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 //TODO extern __thread int errno;
 extern int errno;
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif /* _BITS_ERRNO_H */

+ 8 - 0
include/bits/fcntl.h

@@ -1,7 +1,15 @@
 #ifndef _BITS_FCNTL_H
 #define _BITS_FCNTL_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int open(const char* filename, int flags, ...);
 int fcntl(int fildes, int cmd, ...);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif

+ 8 - 0
include/bits/stdio.h

@@ -5,6 +5,10 @@
 
 typedef struct FILE FILE;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int fprintf(FILE * stream, const char * fmt, ...);
 int printf(const char * fmt, ...);
 int snprintf(char *s, size_t n, const char * fmt, ...);
@@ -13,4 +17,8 @@ int fscanf(FILE * stream, const char * fmt, ...);
 int scanf(const char * fmt, ...);
 int sscanf(const char * input, const char * fmt, ...);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif /* _BITS_STDIO_H */

+ 8 - 0
include/bits/unistd.h

@@ -3,7 +3,15 @@
 
 #define _POSIX_VERSION 200809L
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int execl(const char *path, const char* argv0, ...);
 int execle(const char *path, const char* argv0, ...);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif

+ 8 - 0
include/getopt.h

@@ -4,10 +4,18 @@
 // Generated from:
 // `grep "opt" target/include/unistd.h`
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 extern char* optarg;
 extern int opterr;
 extern int optind;
 extern int optopt;
 int getopt(int argc, char *const *argv, const char *optstring);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif

+ 8 - 0
include/malloc.h

@@ -6,6 +6,10 @@
 // Generated from:
 // `grep "malloc\|calloc\|realloc\|free\|valloc\|memalign" target/include/stdlib.h`
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void *calloc(size_t nelem, size_t elsize);
 void free(void *ptr);
 void *malloc(size_t size);
@@ -13,4 +17,8 @@ void *memalign(size_t alignment, size_t size);
 void *realloc(void *ptr, size_t size);
 void *valloc(size_t size);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif

+ 8 - 0
include/setjmp.h

@@ -61,7 +61,15 @@ typedef unsigned long long jmp_buf[8];
 typedef unsigned long jmp_buf[8];
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int setjmp(jmp_buf buf);
 void longjmp(jmp_buf buf, int value);
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif /* _SETJMP_H */