diff --git a/share/libc/regex.h b/share/libc/regex.h
index 97277d5564e19613ff3867a2556331879e0e37ee..d33bc5833af9e45dc8f5cbeb5bd5ac9f79b73eb4 100644
--- a/share/libc/regex.h
+++ b/share/libc/regex.h
@@ -43,7 +43,7 @@ typedef struct re_pattern_buffer regex_t;
 #define REG_NOTEOL 2
 
 /* Error codes */
-typedef enum
+typedef enum __fc_reg_errcode_t
 {
   REG_NOERROR = 0,
   REG_NOMATCH,	  
@@ -66,7 +66,7 @@ typedef enum
 
 typedef int regoff_t;
 
-typedef struct
+typedef struct __fc_regmatch_t
 {
   regoff_t rm_so;
   regoff_t rm_eo;
diff --git a/share/libc/setjmp.h b/share/libc/setjmp.h
index ecca7307fda4be495b6b765343d6fa178b14e4c0..eacfb3efa9142c299e71172ff302e060c1f98a11 100644
--- a/share/libc/setjmp.h
+++ b/share/libc/setjmp.h
@@ -41,7 +41,7 @@ extern int setjmp(jmp_buf env);
 extern void longjmp(jmp_buf env, int val);
 
 #include "__fc_define_sigset_t.h"
-typedef struct {jmp_buf buf; sigset_t sigs;} sigjmp_buf;
+typedef struct __fc_sigjmp_buf {jmp_buf buf; sigset_t sigs;} sigjmp_buf;
 
 
 extern int sigsetjmp(sigjmp_buf env, int savesigs);
diff --git a/share/libc/signal.h b/share/libc/signal.h
index 2605e2cea27bb152bf471e3748e2e73ec201ac61..f42d35711ab12190c0f7e2900f36ce4a2b922333 100644
--- a/share/libc/signal.h
+++ b/share/libc/signal.h
@@ -132,7 +132,7 @@ struct sigevent {
 
 #ifndef __have_siginfo_t
 #define __have_siginfo_t
-typedef struct {
+typedef struct __fc_siginfo_t {
 	int si_signo;
 	int si_code;
 	union sigval si_value;
diff --git a/share/libc/wchar.h b/share/libc/wchar.h
index aeb08ed3eae799080bb75fd042674f6e138af0e1..ff7e863ad8de1e7b5cf5c657bfe7f17d873ceadd 100644
--- a/share/libc/wchar.h
+++ b/share/libc/wchar.h
@@ -206,7 +206,7 @@ extern int fwscanf(FILE * stream, const wchar_t * format, ...);
 extern int swscanf(const wchar_t * str, const wchar_t * format, ...);
 
 #ifndef __mbstate_t_defined
-typedef struct { int __count; char __value[4]; } mbstate_t;
+typedef struct __fc_mbstate_t { int __count; char __value[4]; } mbstate_t;
 #define __mbstate_t_defined
 #endif
 
diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle
index a0d63cf77b129c701a89d1e3da29808ad515ff32..fef572d466a84995aea5c0aa7257c0c5023461ec 100644
--- a/tests/libc/oracle/fc_libc.1.res.oracle
+++ b/tests/libc/oracle/fc_libc.1.res.oracle
@@ -127,7 +127,7 @@ union sigval {
    int sival_int ;
    void *sival_ptr ;
 };
-struct __anonstruct_siginfo_t_1 {
+struct __fc_siginfo_t {
    int si_signo ;
    int si_code ;
    union sigval si_value ;
@@ -138,7 +138,7 @@ struct __anonstruct_siginfo_t_1 {
    int si_status ;
    int si_band ;
 };
-typedef struct __anonstruct_siginfo_t_1 siginfo_t;
+typedef struct __fc_siginfo_t siginfo_t;
 struct sigaction {
    void (*sa_handler)(int ) ;
    void (*sa_sigaction)(int , siginfo_t *, void *) ;
@@ -338,11 +338,11 @@ struct passwd {
    char *pw_shell ;
 };
 typedef int ( jmp_buf)[5];
-struct __anonstruct_sigjmp_buf_22 {
+struct __fc_sigjmp_buf {
    jmp_buf buf ;
    sigset_t sigs ;
 };
-typedef struct __anonstruct_sigjmp_buf_22 sigjmp_buf;
+typedef struct __fc_sigjmp_buf sigjmp_buf;
 struct _code {
    char const *c_name ;
    int c_val ;