Rename c3po ucontext to avoid namespace collision
authorAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>
Sat, 5 Nov 2011 02:06:59 +0000 (19:06 -0700)
committerAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>
Sat, 5 Nov 2011 02:06:59 +0000 (19:06 -0700)
... with sys/ucontext.h's struct ucontext.

user/c3po/Makefile
user/c3po/threads/threadlib_internal.h
user/c3po/threads/ucontext.c
user/c3po/threads/ucontext.h

index d2f7f5f..b917ee5 100644 (file)
@@ -1,5 +1,6 @@
 TARGET_ARCH ?= none    # catch bugs
-CFLAGS = -O2 -static -std=gnu99 -fomit-frame-pointer -DOPTIMIZE=2 -DNO_TIMING
+CFLAGS = -O2 -static -std=gnu99 -fomit-frame-pointer -DOPTIMIZE=2 -DNO_TIMING \
+         -Wno-deprecated-declarations
 LIBNAME = c3po
 SUBDIRS = util stack threads #aio 
 V ?= @
index 7b1c62f..570b5be 100644 (file)
@@ -32,7 +32,7 @@ struct _thread_attr {
 struct thread_st {
   unsigned tid;   // thread id, mainly for readability of debug output
   struct thread_st *self; // pointer to itself 
-  struct ucontext *context;
+  struct u_context *context;
   void *stack;
   void *stack_bottom;
   int stack_fingerprint;
index e2b6372..e821b1c 100644 (file)
@@ -9,12 +9,12 @@
 /* Maintain a static reference to the main threads tls region */
 static void *__main_tls_desc;
 
-struct ucontext* create_context(thread_t *t, void *entry_pt, void *stack_top)
+struct u_context* create_context(thread_t *t, void *entry_pt, void *stack_top)
 {
        uint32_t vcoreid = vcore_id();
 
        /* Allocate a new context struct */
-       struct ucontext *uc = malloc(sizeof(struct ucontext));
+       struct u_context *uc = malloc(sizeof(struct u_context));
        if(!uc) return NULL;
 
        /* If we are the main thread, then current_thread has not been set yet, so
@@ -57,13 +57,13 @@ struct ucontext* create_context(thread_t *t, void *entry_pt, void *stack_top)
        return uc;
 }
 
-void save_context(struct ucontext *uc)
+void save_context(struct u_context *uc)
 {
        /* Save the trapframe for this context */
        save_ros_tf(&uc->utf);
 }
 
-void restore_context(struct ucontext *uc)
+void restore_context(struct u_context *uc)
 {
        uint32_t vcoreid = vcore_id();
 
@@ -76,7 +76,7 @@ void restore_context(struct ucontext *uc)
        pop_ros_tf(&uc->utf, vcoreid);
 }
 
-void destroy_context(struct ucontext *uc)
+void destroy_context(struct u_context *uc)
 {
     extern void _dl_deallocate_tls (void *tcb, bool dealloc_tcb) internal_function;
 
@@ -90,7 +90,7 @@ void destroy_context(struct ucontext *uc)
        free(uc);
 }
 
-void print_context(struct ucontext *uc)
+void print_context(struct u_context *uc)
 {
        /* Just print the trapframe */
        print_trapframe(&uc->utf);
index f9f70cc..962e64c 100644 (file)
@@ -4,16 +4,16 @@
 #include <stdint.h>
 #include <ros/arch/trapframe.h>
 #include <threadlib_internal.h>
-struct ucontext {
+struct u_context {
        struct user_trapframe utf;
     void *tls_desc;
        thread_t *thread;
 }; 
 
-struct ucontext* create_context(thread_t *t, void *entry_pt, void *stack_top);
-void save_context(struct ucontext *uc);
-void restore_context(struct ucontext *uc);
-void destroy_context(struct ucontext *uc);
-void print_context(struct ucontext *uc);
+struct u_context* create_context(thread_t *t, void *entry_pt, void *stack_top);
+void save_context(struct u_context *uc);
+void restore_context(struct u_context *uc);
+void destroy_context(struct u_context *uc);
+void print_context(struct u_context *uc);
 
 #endif