mirror of
https://github.com/golang/go
synced 2024-11-25 03:57:56 -07:00
runtime: fix arm build
R=adg, dfc, r CC=golang-dev https://golang.org/cl/4296042
This commit is contained in:
parent
c0168f8f90
commit
1f2234633f
@ -14,7 +14,7 @@ void _mod(void);
|
||||
void _divu(void);
|
||||
void _modu(void);
|
||||
|
||||
static int32
|
||||
int32
|
||||
runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *g, int32 skip, uintptr *pcbuf, int32 max)
|
||||
{
|
||||
int32 i, n, iter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// godefs -carm-gcc -f -I/usr/local/google/src/linux-2.6.28/arch/arm/include -f -I/usr/local/google/src/linux-2.6.28/include -f-D__KERNEL__ -f-D__ARCH_SI_UID_T=int defs_arm.c
|
||||
// godefs -f-I/usr/src/linux-headers-2.6.26-2-versatile/include defs_arm.c
|
||||
|
||||
// MACHINE GENERATED - DO NOT EDIT.
|
||||
|
||||
@ -58,23 +58,15 @@ enum {
|
||||
BUS_OBJERR = 0x3,
|
||||
SEGV_MAPERR = 0x1,
|
||||
SEGV_ACCERR = 0x2,
|
||||
ITIMER_REAL = 0,
|
||||
ITIMER_PROF = 0x2,
|
||||
ITIMER_VIRTUAL = 0x1,
|
||||
};
|
||||
|
||||
// Types
|
||||
#pragma pack on
|
||||
|
||||
typedef struct Sigset Sigset;
|
||||
struct Sigset {
|
||||
uint32 sig[2];
|
||||
};
|
||||
|
||||
typedef struct Sigaction Sigaction;
|
||||
struct Sigaction {
|
||||
void *sa_handler;
|
||||
uint32 sa_flags;
|
||||
void *sa_restorer;
|
||||
Sigset sa_mask;
|
||||
};
|
||||
typedef uint32 Sigset;
|
||||
|
||||
typedef struct Timespec Timespec;
|
||||
struct Timespec {
|
||||
@ -120,11 +112,23 @@ struct Ucontext {
|
||||
Ucontext *uc_link;
|
||||
Sigaltstack uc_stack;
|
||||
Sigcontext uc_mcontext;
|
||||
Sigset uc_sigmask;
|
||||
int32 __unused[30];
|
||||
uint32 uc_sigmask;
|
||||
int32 __unused[31];
|
||||
uint32 uc_regspace[128];
|
||||
};
|
||||
|
||||
typedef struct Timeval Timeval;
|
||||
struct Timeval {
|
||||
int32 tv_sec;
|
||||
int32 tv_usec;
|
||||
};
|
||||
|
||||
typedef struct Itimerval Itimerval;
|
||||
struct Itimerval {
|
||||
Timeval it_interval;
|
||||
Timeval it_value;
|
||||
};
|
||||
|
||||
typedef struct Siginfo Siginfo;
|
||||
struct Siginfo {
|
||||
int32 si_signo;
|
||||
@ -132,4 +136,12 @@ struct Siginfo {
|
||||
int32 si_code;
|
||||
uint8 _sifields[4];
|
||||
};
|
||||
|
||||
typedef struct Sigaction Sigaction;
|
||||
struct Sigaction {
|
||||
void *sa_handler;
|
||||
uint32 sa_flags;
|
||||
void *sa_restorer;
|
||||
uint32 sa_mask;
|
||||
};
|
||||
#pragma pack off
|
||||
|
@ -135,7 +135,7 @@ sigaction(int32 i, void (*fn)(int32, Siginfo*, void*, G*), bool restart)
|
||||
sa.sa_flags |= SA_RESTART;
|
||||
sa.sa_mask = ~0ULL;
|
||||
sa.sa_restorer = (void*)runtime·sigreturn;
|
||||
sa.k_sa_handler = fn;
|
||||
sa.sa_handler = fn;
|
||||
runtime·rt_sigaction(i, &sa, nil, 8);
|
||||
}
|
||||
|
||||
@ -163,7 +163,6 @@ runtime·initsig(int32 queue)
|
||||
void
|
||||
runtime·resetcpuprofiler(int32 hz)
|
||||
{
|
||||
Sigaction sa;
|
||||
Itimerval it;
|
||||
|
||||
runtime·memclr((byte*)&it, sizeof it);
|
||||
|
@ -73,10 +73,10 @@ TEXT runtime·munmap(SB),7,$0
|
||||
SWI $0
|
||||
RET
|
||||
|
||||
TEXT runtime·getitimer(SB),7,$0
|
||||
TEXT runtime·setitimer(SB),7,$0
|
||||
MOVW 0(FP), R0
|
||||
MOVW 4(FP), R1
|
||||
MOWW 8(FP), R2
|
||||
MOVW 8(FP), R2
|
||||
MOVW $SYS_setitimer, R7
|
||||
SWI $0
|
||||
RET
|
||||
|
@ -4,16 +4,18 @@
|
||||
|
||||
/*
|
||||
* Input to godefs
|
||||
godefs -carm-gcc -f -I/usr/local/google/src/linux-2.6.28/arch/arm/include -f -I/usr/local/google/src/linux-2.6.28/include -f-D__KERNEL__ -f-D__ARCH_SI_UID_T=int defs_arm.c >arm/defs.h
|
||||
|
||||
* Another input file for ARM defs.h
|
||||
* On a Debian Lenny arm linux distribution:
|
||||
godefs -f-I/usr/src/linux-headers-2.6.26-2-versatile/include defs_arm.c
|
||||
*/
|
||||
|
||||
#define __ARCH_SI_UID_T int
|
||||
|
||||
#include <asm/signal.h>
|
||||
#include <asm/mman.h>
|
||||
#include <asm/sigcontext.h>
|
||||
#include <asm/ucontext.h>
|
||||
#include <asm/siginfo.h>
|
||||
#include <linux/time.h>
|
||||
|
||||
/*
|
||||
#include <sys/signal.h>
|
||||
@ -21,8 +23,6 @@
|
||||
#include <ucontext.h>
|
||||
*/
|
||||
|
||||
#include <time.h>
|
||||
|
||||
enum {
|
||||
$PROT_NONE = PROT_NONE,
|
||||
$PROT_READ = PROT_READ,
|
||||
@ -84,14 +84,19 @@ enum {
|
||||
|
||||
$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 sigaction $Sigaction;
|
||||
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;
|
||||
@ -101,3 +106,17 @@ struct xsiginfo {
|
||||
};
|
||||
|
||||
typedef struct xsiginfo $Siginfo;
|
||||
|
||||
#undef sa_handler
|
||||
#undef sa_flags
|
||||
#undef sa_restorer
|
||||
#undef sa_mask
|
||||
|
||||
struct xsigaction {
|
||||
void (*sa_handler)(void);
|
||||
unsigned long sa_flags;
|
||||
void (*sa_restorer)(void);
|
||||
unsigned int sa_mask; /* mask last for extensibility */
|
||||
};
|
||||
|
||||
typedef struct xsigaction $Sigaction;
|
||||
|
Loading…
Reference in New Issue
Block a user