]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: include constants and defs_*_*.h types in generated Go defs
authorRuss Cox <rsc@golang.org>
Fri, 29 Aug 2014 20:00:31 +0000 (16:00 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 29 Aug 2014 20:00:31 +0000 (16:00 -0400)
I had to rename Kevent and Sigaction to avoid the functions of the
same (lowercase) name.

LGTM=iant, r
R=golang-codereviews, r, iant, aram.h
CC=dvyukov, golang-codereviews, khr
https://golang.org/cl/140740043

31 files changed:
src/cmd/cc/godefs.c
src/cmd/dist/buildruntime.c
src/pkg/runtime/defs.c
src/pkg/runtime/defs_darwin_386.h
src/pkg/runtime/defs_darwin_amd64.h
src/pkg/runtime/defs_dragonfly_386.h
src/pkg/runtime/defs_dragonfly_amd64.h
src/pkg/runtime/defs_freebsd_386.h
src/pkg/runtime/defs_freebsd_amd64.h
src/pkg/runtime/defs_freebsd_arm.h
src/pkg/runtime/defs_linux_386.h
src/pkg/runtime/defs_linux_amd64.h
src/pkg/runtime/defs_linux_arm.h
src/pkg/runtime/defs_netbsd_386.h
src/pkg/runtime/defs_netbsd_amd64.h
src/pkg/runtime/defs_netbsd_arm.h
src/pkg/runtime/defs_openbsd_386.h
src/pkg/runtime/defs_openbsd_amd64.h
src/pkg/runtime/defs_solaris_amd64.h
src/pkg/runtime/malloc.go
src/pkg/runtime/netpoll_kqueue.c
src/pkg/runtime/os_darwin.c
src/pkg/runtime/os_darwin.h
src/pkg/runtime/os_dragonfly.c
src/pkg/runtime/os_freebsd.c
src/pkg/runtime/os_linux.c
src/pkg/runtime/os_linux.h
src/pkg/runtime/os_netbsd.c
src/pkg/runtime/os_openbsd.c
src/pkg/runtime/os_solaris.c
src/pkg/runtime/os_solaris.h

index 1f2a9d7e0465acc66ce3c4ef706378c4d999248d..d3ab52fde4eb9da2a8352923e017bb45918f9a31 100644 (file)
@@ -317,9 +317,9 @@ godefvar(Sym *s)
        switch(t->etype) {
        case TENUM:
                if(!typefd[t->etype])
-                       Bprint(&outbuf, "const %U = %lld\n", s->name, s->vconst);
+                       Bprint(&outbuf, "const %s = %lld\n", s->name, s->vconst);
                else
-                       Bprint(&outbuf, "const %U = %f\n;", s->name, s->fconst);
+                       Bprint(&outbuf, "const %s = %f\n;", s->name, s->fconst);
                break;
 
        case TFUNC:
index 5daa31494be48c94de9998d7b76d38af1909ef24..2396e20c56b96a97b729b12d4784ec9d9893a5f9 100644 (file)
@@ -346,6 +346,10 @@ mkzruntimedefs(char *dir, char *file)
                "\n"
        );
 
+       // Do not emit constant definitions for these.
+       vadd(&seen, "true");
+       vadd(&seen, "false");
+       vadd(&seen, "raceenabled");
        
        // Run 6c -D GOOS_goos -D GOARCH_goarch -I workdir -q -n -o workdir/runtimedefs
        // on each of the runtimedefs C files.
@@ -375,15 +379,15 @@ mkzruntimedefs(char *dir, char *file)
        splitlines(&lines, bstr(&in));
        for(i=0; i<lines.len; i++) {
                p = lines.p[i];
-               // Drop comment, func, and const lines.
-               if(hasprefix(p, "//") || hasprefix(p, "const") || hasprefix(p, "func"))
+               // Drop comment and func lines.
+               if(hasprefix(p, "//") || hasprefix(p, "func"))
                        continue;
                
                // Note beginning of type or var decl, which can be multiline.
                // Remove duplicates.  The linear check of seen here makes the
                // whole processing quadratic in aggregate, but there are only
                // about 100 declarations, so this is okay (and simple).
-               if(hasprefix(p, "type ") || hasprefix(p, "var ")) {
+               if(hasprefix(p, "type ") || hasprefix(p, "var ") || hasprefix(p, "const ")) {
                        splitfields(&fields, p);
                        if(fields.len < 2)
                                continue;
@@ -394,6 +398,17 @@ mkzruntimedefs(char *dir, char *file)
                        }
                        vadd(&seen, fields.p[1]);
                }
+
+               // Const lines are printed in original case (usually upper). Add a leading _ as needed.
+               if(hasprefix(p, "const ")) {
+                       if('A' <= p[6] && p[6] <= 'Z')
+                               bwritestr(&out, "const _");
+                       else
+                               bwritestr(&out, "const ");
+                       bwritestr(&out, p+6);
+                       continue;
+               }
+
                if(skip) {
                        if(hasprefix(p, "}"))
                                skip = 0;
index 7563344578b1478b49392359ceea108009d30954..b6ed9c8115b3cb8bddc957f89a7e2c43a871d216 100644 (file)
@@ -12,3 +12,4 @@
 #include "race.h"
 #include "chan.h"
 #include "mprof.h"
+#include "defs_GOOS_GOARCH.h"
index 7b210eebf8f0d7854cdfe27fb3f4d49090218f87..0e0b4fbf79fc305bb54c16135221057373298bbc 100644 (file)
@@ -124,7 +124,7 @@ typedef struct MachHeader MachHeader;
 typedef struct MachNDR MachNDR;
 typedef struct MachPort MachPort;
 typedef struct StackT StackT;
-typedef struct Sigaction Sigaction;
+typedef struct SigactionT SigactionT;
 typedef struct Siginfo Siginfo;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
@@ -142,7 +142,7 @@ typedef struct FloatState32 FloatState32;
 typedef struct ExceptionState32 ExceptionState32;
 typedef struct Mcontext32 Mcontext32;
 typedef struct Ucontext Ucontext;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -182,7 +182,7 @@ struct StackT {
 };
 typedef        byte    Sighandler[4];
 
-struct Sigaction {
+struct SigactionT {
        byte    __sigaction_u[4];
        void    *sa_tramp;
        uint32  sa_mask;
@@ -379,7 +379,7 @@ struct Ucontext {
        Mcontext32      *uc_mcontext;
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        int16   filter;
        uint16  flags;
index 2d464a9e50607a0668c83d67c7855dfc335b3b1c..4bf83c1cb9ec497099ba047a70153907d153baca 100644 (file)
@@ -124,7 +124,7 @@ typedef struct MachHeader MachHeader;
 typedef struct MachNDR MachNDR;
 typedef struct MachPort MachPort;
 typedef struct StackT StackT;
-typedef struct Sigaction Sigaction;
+typedef struct SigactionT SigactionT;
 typedef struct Siginfo Siginfo;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
@@ -142,7 +142,7 @@ typedef struct FloatState32 FloatState32;
 typedef struct ExceptionState32 ExceptionState32;
 typedef struct Mcontext32 Mcontext32;
 typedef struct Ucontext Ucontext;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -183,7 +183,7 @@ struct StackT {
 };
 typedef        byte    Sighandler[8];
 
-struct Sigaction {
+struct SigactionT {
        byte    __sigaction_u[8];
        void    *sa_tramp;
        uint32  sa_mask;
@@ -382,7 +382,7 @@ struct Ucontext {
        Mcontext64      *uc_mcontext;
 };
 
-struct Kevent {
+struct KeventT {
        uint64  ident;
        int16   filter;
        uint16  flags;
index 696dcd887d2df8360b7b65a671c6b7b8a5f568a0..032b23574e3fb5853b3f4d0dcbbf69b45e45ac32 100644 (file)
@@ -94,7 +94,7 @@ typedef struct Ucontext Ucontext;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -185,7 +185,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        int16   filter;
        uint16  flags;
index 74581cc94c204cddc3b3f1b4986b728b9ab2b8a9..c37a72e72988d258e4775892a6a1e87a97eb8a0e 100644 (file)
@@ -94,7 +94,7 @@ typedef struct Ucontext Ucontext;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -195,7 +195,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint64  ident;
        int16   filter;
        uint16  flags;
index fab9385269bb89c35d3c60128a5a21bc7774be91..e625079bc7f042a7c65cd437adcdb822a49a170e 100644 (file)
@@ -98,7 +98,7 @@ typedef struct Ucontext Ucontext;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -200,7 +200,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        int16   filter;
        uint16  flags;
index c1db91803ed113acf337c107dc6d406254e11bf4..40476f9e4fc00976ed2635cceca33b16445e58bd 100644 (file)
@@ -98,7 +98,7 @@ typedef struct Ucontext Ucontext;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -211,7 +211,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint64  ident;
        int16   filter;
        uint16  flags;
index 4fc452e457db2f13a6f29b396b0270d092b1971d..927d3a48b50c492c1d1d947251454ca04975c242 100644 (file)
@@ -98,7 +98,7 @@ typedef struct Ucontext Ucontext;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -173,7 +173,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        int16   filter;
        uint16  flags;
index 27dae9e82b1d87f7f3645f978a533806d15ed647..2df3f66d806c710383a323b6f3ac2f6af3b372cf 100644 (file)
@@ -95,7 +95,7 @@ typedef struct Xmmreg Xmmreg;
 typedef struct Fpstate Fpstate;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
-typedef struct Sigaction Sigaction;
+typedef struct SigactionT SigactionT;
 typedef struct Siginfo Siginfo;
 typedef struct Sigaltstack Sigaltstack;
 typedef struct Sigcontext Sigcontext;
@@ -144,7 +144,7 @@ struct Timeval {
        int32   tv_sec;
        int32   tv_usec;
 };
-struct Sigaction {
+struct SigactionT {
        void    *k_sa_handler;
        uint32  sa_flags;
        void    *sa_restorer;
index 3e87df68a1ff44fe9fafcbec25996d5869cf8bcf..42826c39eebdc9e2fb6df0ca41e2b691c4a65cd9 100644 (file)
@@ -88,7 +88,7 @@ enum {
 
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
-typedef struct Sigaction Sigaction;
+typedef struct SigactionT SigactionT;
 typedef struct Siginfo Siginfo;
 typedef struct Itimerval Itimerval;
 typedef struct EpollEvent EpollEvent;
@@ -103,7 +103,7 @@ struct Timeval {
        int64   tv_sec;
        int64   tv_usec;
 };
-struct Sigaction {
+struct SigactionT {
        void    *sa_handler;
        uint64  sa_flags;
        void    *sa_restorer;
index 05a17af64b812604156dd3363ed24f2f1d5ee8e0..8c17e3805b32a93537e4788400977876a0648d7b 100644 (file)
@@ -151,8 +151,8 @@ struct Siginfo {
        uint8 _sifields[4];
 };
 
-typedef struct Sigaction Sigaction;
-struct Sigaction {
+typedef struct SigactionT SigactionT;
+struct SigactionT {
        void *sa_handler;
        uint32 sa_flags;
        void *sa_restorer;
index 7fd66959f3bf71a1903c3cea331350a7e733b01e..fb23611990fa37d9208828bbee60497b768392d2 100644 (file)
@@ -91,7 +91,7 @@ typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
 typedef struct McontextT McontextT;
 typedef struct UcontextT UcontextT;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -143,7 +143,7 @@ struct UcontextT {
        int32   __uc_pad[4];
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        uint32  filter;
        uint32  flags;
index 972af165b72c6caa29d754bceef9cb41cf8641df..f6ba3db189e65d0329141e441826177120a0317e 100644 (file)
@@ -91,7 +91,7 @@ typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
 typedef struct McontextT McontextT;
 typedef struct UcontextT UcontextT;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -147,7 +147,7 @@ struct UcontextT {
        McontextT       uc_mcontext;
 };
 
-struct Kevent {
+struct KeventT {
        uint64  ident;
        uint32  filter;
        uint32  flags;
index c6f5b1c47c2b5008d48d695729d8cc532fbc362f..815d54749be887669aaf283a51581011e12b9357 100644 (file)
@@ -91,7 +91,7 @@ typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
 typedef struct McontextT McontextT;
 typedef struct UcontextT UcontextT;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -147,7 +147,7 @@ struct UcontextT {
        int32   __uc_pad[2];
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        uint32  filter;
        uint32  flags;
index b8f993e2b88c90d5355121d0cd7aab3c8ef84cc5..a63b182a041b1ecda8ededc8dd49fdb85f52f867 100644 (file)
@@ -89,7 +89,7 @@ typedef struct StackT StackT;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -155,7 +155,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint32  ident;
        int16   filter;
        uint16  flags;
index a1ae2ef65c5e3cdcfc1f46a63f83e6f9865b863d..818ac35207719daacc83dcd5cc684769f0ff6f29 100644 (file)
@@ -89,7 +89,7 @@ typedef struct StackT StackT;
 typedef struct Timespec Timespec;
 typedef struct Timeval Timeval;
 typedef struct Itimerval Itimerval;
-typedef struct Kevent Kevent;
+typedef struct KeventT KeventT;
 
 #pragma pack on
 
@@ -166,7 +166,7 @@ struct Itimerval {
        Timeval it_value;
 };
 
-struct Kevent {
+struct KeventT {
        uint64  ident;
        int16   filter;
        uint16  flags;
index 799724fadcd6f86affa238caa3adc9994425fe4f..08727b017e61bf67a6da31d470c20c5fc5aabe37 100644 (file)
@@ -105,7 +105,7 @@ typedef struct Sigaltstack Sigaltstack;
 typedef struct Sigset Sigset;
 typedef struct StackT StackT;
 typedef struct Siginfo Siginfo;
-typedef struct Sigaction Sigaction;
+typedef struct SigactionT SigactionT;
 typedef struct Fpregset Fpregset;
 typedef struct Mcontext Mcontext;
 typedef struct Ucontext Ucontext;
@@ -149,7 +149,7 @@ struct Siginfo {
        int32   si_pad;
        byte    __data[240];
 };
-struct Sigaction {
+struct SigactionT {
        int32   sa_flags;
        byte    Pad_cgo_0[4];
        byte    _funcptr[8];
index e95bdbbf97871b022a7fecb641853f75fe18b57e..49afc67364d4ff9cee71ece3ca49d0f645a55b2e 100644 (file)
@@ -22,15 +22,13 @@ const (
        pageSize  = 1 << pageShift
        pageMask  = pageSize - 1
 
-       gcBits             = 4
-       wordsPerBitmapByte = 8 / gcBits
-       bitsPerPointer     = 2
-       bitsMask           = 1<<bitsPerPointer - 1
-       pointersPerByte    = 8 / bitsPerPointer
-       bitPtrMask         = bitsMask << 2
-       maxGCMask          = 64
-       bitsDead           = 0
-       bitsPointer        = 2
+       bitsPerPointer  = 2
+       bitsMask        = 1<<bitsPerPointer - 1
+       pointersPerByte = 8 / bitsPerPointer
+       bitPtrMask      = bitsMask << 2
+       maxGCMask       = 64
+       bitsDead        = 0
+       bitsPointer     = 2
 
        bitBoundary = 1
        bitMarked   = 2
index 171346cce28bf451f56a1291b9c04701021f2ccc..6b7fc869d3aa42da89ce61a902e0ab65bb5aa72a 100644 (file)
@@ -11,7 +11,7 @@
 // Integrated network poller (kqueue-based implementation).
 
 int32  runtime·kqueue(void);
-int32  runtime·kevent(int32, Kevent*, int32, Kevent*, int32, Timespec*);
+int32  runtime·kevent(int32, KeventT*, int32, KeventT*, int32, Timespec*);
 void   runtime·closeonexec(int32);
 
 static int32 kq = -1;
@@ -30,7 +30,7 @@ runtime·netpollinit(void)
 int32
 runtime·netpollopen(uintptr fd, PollDesc *pd)
 {
-       Kevent ev[2];
+       KeventT ev[2];
        int32 n;
 
        // Arm both EVFILT_READ and EVFILT_WRITE in edge-triggered mode (EV_CLEAR)
@@ -72,7 +72,7 @@ G*
 runtime·netpoll(bool block)
 {
        static int32 lasterr;
-       Kevent events[64], *ev;
+       KeventT events[64], *ev;
        Timespec ts, *tp;
        int32 n, i, mode;
        G *gp;
index c660fb8c10cbfc3a48fbf8700230fa5479e28d75..bf13cdbafec78b4c325ed4caef7e8d7ef7923e86 100644 (file)
@@ -488,7 +488,7 @@ runtime·memlimit(void)
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
                
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -503,7 +503,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
index 91a405f2145586f2c9cac92c17d5bfc431689346..af9052e9c2a728c4d1ff5d00aa7f069862085f07 100644 (file)
@@ -25,8 +25,8 @@ typedef uint32 Sigset;
 void   runtime·sigprocmask(int32, Sigset*, Sigset*);
 void   runtime·unblocksignals(void);
 
-struct Sigaction;
-void   runtime·sigaction(uintptr, struct Sigaction*, struct Sigaction*);
+struct SigactionT;
+void   runtime·sigaction(uintptr, struct SigactionT*, struct SigactionT*);
 
 struct StackT;
 void   runtime·sigaltstack(struct StackT*, struct StackT*);
index 65121d32734e8e66b7a834a7bf363e557b786fea..a2a88e4c8047613a4bf1f0ff7af0dbd7766712c4 100644 (file)
@@ -240,12 +240,12 @@ typedef struct sigaction {
        } __sigaction_u;                /* signal handler */
        int32   sa_flags;               /* see signal options below */
        Sigset  sa_mask;                /* signal mask to apply */
-} Sigaction;
+} SigactionT;
 
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -264,7 +264,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
index d360f6712d028625d423c48faac96d671f443bee..ae959d90bb807b5730bb30c2abf9a999c3d8d41d 100644 (file)
@@ -248,12 +248,12 @@ typedef struct sigaction {
        } __sigaction_u;                /* signal handler */
        int32   sa_flags;               /* see signal options below */
        Sigset  sa_mask;                /* signal mask to apply */
-} Sigaction;
+} SigactionT;
 
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -272,7 +272,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
index 33c756374348b0a6940cf01bc0f64ba68f9fd794..d3677f2e6c8505b137343981040424f23469f680 100644 (file)
@@ -293,7 +293,7 @@ extern void runtime·sigreturn(void);       // calls rt_sigreturn, only used with SA_R
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_ONSTACK | SA_SIGINFO | SA_RESTORER;
@@ -319,7 +319,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        if(runtime·rt_sigaction(i, nil, &sa, sizeof(sa.sa_mask)) != 0)
index d4b1902c3ad4b1e22baa9bb9bf312c7ebd81ddab..84f516d50c3050ec346c1e571076d19c0117f3e7 100644 (file)
@@ -8,8 +8,8 @@
 int32  runtime·futex(uint32*, int32, uint32, Timespec*, uint32*, uint32);
 int32  runtime·clone(int32, void*, M*, G*, void(*)(void));
 
-struct Sigaction;
-int32  runtime·rt_sigaction(uintptr, struct Sigaction*, void*, uintptr);
+struct SigactionT;
+int32  runtime·rt_sigaction(uintptr, struct SigactionT*, void*, uintptr);
 
 void   runtime·sigaltstack(Sigaltstack*, Sigaltstack*);
 void   runtime·sigpanic(void);
index 0889181a81a09f6a1fd05fe06d57bd4e1d7bb6a4..8567146ed4328a019a63235faa14a9c194721193 100644 (file)
@@ -286,12 +286,12 @@ typedef struct sigaction {
        } _sa_u;                        /* signal handler */
        uint32  sa_mask[4];             /* signal mask to apply */
        int32   sa_flags;               /* see signal options below */
-} Sigaction;
+} SigactionT;
 
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -310,7 +310,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
index 60db7efdd997eccf6e19b30a55d830b37cd38800..a7463853147e5540e1139c6b84f8035f8ceae00b 100644 (file)
@@ -263,12 +263,12 @@ typedef struct sigaction {
        } __sigaction_u;                /* signal handler */
        uint32  sa_mask;                /* signal mask to apply */
        int32   sa_flags;               /* see signal options below */
-} Sigaction;
+} SigactionT;
 
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -284,7 +284,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
index 0cdfd52c9b7f987bc9c0641b5d03bcc2e346adfd..42295aa75462356266f893ea825a74614eece668 100644 (file)
@@ -267,7 +267,7 @@ extern void runtime·sigtramp(void);
 void
 runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        sa.sa_flags = SA_SIGINFO|SA_ONSTACK;
@@ -286,7 +286,7 @@ runtime·setsig(int32 i, GoSighandler *fn, bool restart)
 GoSighandler*
 runtime·getsig(int32 i)
 {
-       Sigaction sa;
+       SigactionT sa;
 
        runtime·memclr((byte*)&sa, sizeof sa);
        runtime·sigaction(i, nil, &sa);
@@ -530,7 +530,7 @@ runtime·setitimer(int32 which, Itimerval* value, Itimerval* ovalue)
 }
 
 /* int32 */ void
-runtime·sigaction(int32 sig, struct Sigaction* act, struct Sigaction* oact)
+runtime·sigaction(int32 sig, struct SigactionT* act, struct SigactionT* oact)
 {
        runtime·sysvicall3(libc·sigaction, (uintptr)sig, (uintptr)act, (uintptr)oact);
 }
index 355cdf55898edbe8003294b6b4a015c24880f77d..20a0027205bcde23310849708a55d7de94f09f68 100644 (file)
@@ -15,7 +15,7 @@ struct sigaction;
 void   runtime·sigpanic(void);
 
 void   runtime·setitimer(int32, Itimerval*, Itimerval*);
-void   runtime·sigaction(int32, struct Sigaction*, struct Sigaction*);
+void   runtime·sigaction(int32, struct SigactionT*, struct SigactionT*);
 void   runtime·sigaltstack(Sigaltstack*, Sigaltstack*);
 void   runtime·sigprocmask(int32, Sigset*, Sigset*);
 void   runtime·unblocksignals(void);