Index: src/pkg/runtime/linux/defs_arm.go |
=================================================================== |
rename from src/pkg/runtime/linux/defs_arm.c |
rename to src/pkg/runtime/linux/defs_arm.go |
--- a/src/pkg/runtime/linux/defs_arm.c |
+++ b/src/pkg/runtime/linux/defs_arm.go |
@@ -3,13 +3,18 @@ |
// license that can be found in the LICENSE file. |
/* |
- * Input to godefs |
- * On a Debian Lenny arm linux distribution: |
- godefs -f-I/usr/src/linux-headers-2.6.26-2-versatile/include defs_arm.c |
- */ |
+Input to cgo. |
+On a Debian Lenny arm linux distribution: |
+ |
+cgo -cdefs defs_arm.c >arm/defs.h |
+*/ |
+ |
+package runtime |
+ |
+/* |
+#cgo CFLAGS: -I/usr/src/linux-headers-2.6.26-2-versatile/include |
#define __ARCH_SI_UID_T int |
- |
#include <asm/signal.h> |
#include <asm/mman.h> |
#include <asm/sigcontext.h> |
@@ -17,87 +22,6 @@ |
#include <asm/siginfo.h> |
#include <linux/time.h> |
-/* |
-#include <sys/signal.h> |
-#include <sys/mman.h> |
-#include <ucontext.h> |
-*/ |
- |
-enum { |
- $PROT_NONE = PROT_NONE, |
- $PROT_READ = PROT_READ, |
- $PROT_WRITE = PROT_WRITE, |
- $PROT_EXEC = PROT_EXEC, |
- |
- $MAP_ANON = MAP_ANONYMOUS, |
- $MAP_PRIVATE = MAP_PRIVATE, |
- $MAP_FIXED = MAP_FIXED, |
- |
- $SA_RESTART = SA_RESTART, |
- $SA_ONSTACK = SA_ONSTACK, |
- $SA_RESTORER = SA_RESTORER, |
- $SA_SIGINFO = SA_SIGINFO, |
- |
- $SIGHUP = SIGHUP, |
- $SIGINT = SIGINT, |
- $SIGQUIT = SIGQUIT, |
- $SIGILL = SIGILL, |
- $SIGTRAP = SIGTRAP, |
- $SIGABRT = SIGABRT, |
- $SIGBUS = SIGBUS, |
- $SIGFPE = SIGFPE, |
- $SIGKILL = SIGKILL, |
- $SIGUSR1 = SIGUSR1, |
- $SIGSEGV = SIGSEGV, |
- $SIGUSR2 = SIGUSR2, |
- $SIGPIPE = SIGPIPE, |
- $SIGALRM = SIGALRM, |
- $SIGSTKFLT = SIGSTKFLT, |
- $SIGCHLD = SIGCHLD, |
- $SIGCONT = SIGCONT, |
- $SIGSTOP = SIGSTOP, |
- $SIGTSTP = SIGTSTP, |
- $SIGTTIN = SIGTTIN, |
- $SIGTTOU = SIGTTOU, |
- $SIGURG = SIGURG, |
- $SIGXCPU = SIGXCPU, |
- $SIGXFSZ = SIGXFSZ, |
- $SIGVTALRM = SIGVTALRM, |
- $SIGPROF = SIGPROF, |
- $SIGWINCH = SIGWINCH, |
- $SIGIO = SIGIO, |
- $SIGPWR = SIGPWR, |
- $SIGSYS = SIGSYS, |
- |
- $FPE_INTDIV = FPE_INTDIV & 0xFFFF, |
- $FPE_INTOVF = FPE_INTOVF & 0xFFFF, |
- $FPE_FLTDIV = FPE_FLTDIV & 0xFFFF, |
- $FPE_FLTOVF = FPE_FLTOVF & 0xFFFF, |
- $FPE_FLTUND = FPE_FLTUND & 0xFFFF, |
- $FPE_FLTRES = FPE_FLTRES & 0xFFFF, |
- $FPE_FLTINV = FPE_FLTINV & 0xFFFF, |
- $FPE_FLTSUB = FPE_FLTSUB & 0xFFFF, |
- |
- $BUS_ADRALN = BUS_ADRALN & 0xFFFF, |
- $BUS_ADRERR = BUS_ADRERR & 0xFFFF, |
- $BUS_OBJERR = BUS_OBJERR & 0xFFFF, |
- |
- $SEGV_MAPERR = SEGV_MAPERR & 0xFFFF, |
- $SEGV_ACCERR = SEGV_ACCERR & 0xFFFF, |
- |
- $ITIMER_REAL = ITIMER_REAL, |
- $ITIMER_PROF = ITIMER_PROF, |
- $ITIMER_VIRTUAL = ITIMER_VIRTUAL, |
-}; |
- |
-typedef sigset_t $Sigset; |
-typedef struct timespec $Timespec; |
-typedef struct sigaltstack $Sigaltstack; |
-typedef struct sigcontext $Sigcontext; |
-typedef struct ucontext $Ucontext; |
-typedef struct timeval $Timeval; |
-typedef struct itimerval $Itimerval; |
- |
struct xsiginfo { |
int si_signo; |
int si_errno; |
@@ -105,8 +29,6 @@ |
char _sifields[4]; |
}; |
-typedef struct xsiginfo $Siginfo; |
- |
#undef sa_handler |
#undef sa_flags |
#undef sa_restorer |
@@ -116,7 +38,84 @@ |
void (*sa_handler)(void); |
unsigned long sa_flags; |
void (*sa_restorer)(void); |
- unsigned int sa_mask; /* mask last for extensibility */ |
+ unsigned int sa_mask; // mask last for extensibility |
}; |
+*/ |
+import "C" |
-typedef struct xsigaction $Sigaction; |
+const ( |
+ PROT_NONE = C.PROT_NONE |
+ PROT_READ = C.PROT_READ |
+ PROT_WRITE = C.PROT_WRITE |
+ PROT_EXEC = C.PROT_EXEC |
+ |
+ MAP_ANON = C.MAP_ANONYMOUS |
+ MAP_PRIVATE = C.MAP_PRIVATE |
+ MAP_FIXED = C.MAP_FIXED |
+ |
+ SA_RESTART = C.SA_RESTART |
+ SA_ONSTACK = C.SA_ONSTACK |
+ SA_RESTORER = C.SA_RESTORER |
+ SA_SIGINFO = C.SA_SIGINFO |
+ |
+ SIGHUP = C.SIGHUP |
+ SIGINT = C.SIGINT |
+ SIGQUIT = C.SIGQUIT |
+ SIGILL = C.SIGILL |
+ SIGTRAP = C.SIGTRAP |
+ SIGABRT = C.SIGABRT |
+ SIGBUS = C.SIGBUS |
+ SIGFPE = C.SIGFPE |
+ SIGKILL = C.SIGKILL |
+ SIGUSR1 = C.SIGUSR1 |
+ SIGSEGV = C.SIGSEGV |
+ SIGUSR2 = C.SIGUSR2 |
+ SIGPIPE = C.SIGPIPE |
+ SIGALRM = C.SIGALRM |
+ SIGSTKFLT = C.SIGSTKFLT |
+ SIGCHLD = C.SIGCHLD |
+ SIGCONT = C.SIGCONT |
+ SIGSTOP = C.SIGSTOP |
+ SIGTSTP = C.SIGTSTP |
+ SIGTTIN = C.SIGTTIN |
+ SIGTTOU = C.SIGTTOU |
+ SIGURG = C.SIGURG |
+ SIGXCPU = C.SIGXCPU |
+ SIGXFSZ = C.SIGXFSZ |
+ SIGVTALRM = C.SIGVTALRM |
+ SIGPROF = C.SIGPROF |
+ SIGWINCH = C.SIGWINCH |
+ SIGIO = C.SIGIO |
+ SIGPWR = C.SIGPWR |
+ SIGSYS = C.SIGSYS |
+ |
+ FPE_INTDIV = C.FPE_INTDIV & 0xFFFF |
+ FPE_INTOVF = C.FPE_INTOVF & 0xFFFF |
+ FPE_FLTDIV = C.FPE_FLTDIV & 0xFFFF |
+ FPE_FLTOVF = C.FPE_FLTOVF & 0xFFFF |
+ FPE_FLTUND = C.FPE_FLTUND & 0xFFFF |
+ FPE_FLTRES = C.FPE_FLTRES & 0xFFFF |
+ FPE_FLTINV = C.FPE_FLTINV & 0xFFFF |
+ FPE_FLTSUB = C.FPE_FLTSUB & 0xFFFF |
+ |
+ BUS_ADRALN = C.BUS_ADRALN & 0xFFFF |
+ BUS_ADRERR = C.BUS_ADRERR & 0xFFFF |
+ BUS_OBJERR = C.BUS_OBJERR & 0xFFFF |
+ |
+ SEGV_MAPERR = C.SEGV_MAPERR & 0xFFFF |
+ SEGV_ACCERR = C.SEGV_ACCERR & 0xFFFF |
+ |
+ ITIMER_REAL = C.ITIMER_REAL |
+ ITIMER_PROF = C.ITIMER_PROF |
+ ITIMER_VIRTUAL = C.ITIMER_VIRTUAL |
+) |
+ |
+type Sigset C.sigset_t |
+type Timespec C.struct_timespec |
+type Sigaltstack C.struct_sigaltstack |
+type Sigcontext C.struct_sigcontext |
+type Ucontext C.struct_ucontext |
+type Timeval C.struct_timeval |
+type Itimerval C.struct_itimerval |
+type Siginfo C.struct_xsiginfo |
+type Sigaction C.struct_xsigaction |