mirror of
https://github.com/golang/go
synced 2024-11-25 04: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 _divu(void);
|
||||||
void _modu(void);
|
void _modu(void);
|
||||||
|
|
||||||
static int32
|
int32
|
||||||
runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *g, int32 skip, uintptr *pcbuf, int32 max)
|
runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *g, int32 skip, uintptr *pcbuf, int32 max)
|
||||||
{
|
{
|
||||||
int32 i, n, iter;
|
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.
|
// MACHINE GENERATED - DO NOT EDIT.
|
||||||
|
|
||||||
@ -58,23 +58,15 @@ enum {
|
|||||||
BUS_OBJERR = 0x3,
|
BUS_OBJERR = 0x3,
|
||||||
SEGV_MAPERR = 0x1,
|
SEGV_MAPERR = 0x1,
|
||||||
SEGV_ACCERR = 0x2,
|
SEGV_ACCERR = 0x2,
|
||||||
|
ITIMER_REAL = 0,
|
||||||
|
ITIMER_PROF = 0x2,
|
||||||
|
ITIMER_VIRTUAL = 0x1,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Types
|
// Types
|
||||||
#pragma pack on
|
#pragma pack on
|
||||||
|
|
||||||
typedef struct Sigset Sigset;
|
typedef uint32 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 struct Timespec Timespec;
|
typedef struct Timespec Timespec;
|
||||||
struct Timespec {
|
struct Timespec {
|
||||||
@ -120,11 +112,23 @@ struct Ucontext {
|
|||||||
Ucontext *uc_link;
|
Ucontext *uc_link;
|
||||||
Sigaltstack uc_stack;
|
Sigaltstack uc_stack;
|
||||||
Sigcontext uc_mcontext;
|
Sigcontext uc_mcontext;
|
||||||
Sigset uc_sigmask;
|
uint32 uc_sigmask;
|
||||||
int32 __unused[30];
|
int32 __unused[31];
|
||||||
uint32 uc_regspace[128];
|
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;
|
typedef struct Siginfo Siginfo;
|
||||||
struct Siginfo {
|
struct Siginfo {
|
||||||
int32 si_signo;
|
int32 si_signo;
|
||||||
@ -132,4 +136,12 @@ struct Siginfo {
|
|||||||
int32 si_code;
|
int32 si_code;
|
||||||
uint8 _sifields[4];
|
uint8 _sifields[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct Sigaction Sigaction;
|
||||||
|
struct Sigaction {
|
||||||
|
void *sa_handler;
|
||||||
|
uint32 sa_flags;
|
||||||
|
void *sa_restorer;
|
||||||
|
uint32 sa_mask;
|
||||||
|
};
|
||||||
#pragma pack off
|
#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_flags |= SA_RESTART;
|
||||||
sa.sa_mask = ~0ULL;
|
sa.sa_mask = ~0ULL;
|
||||||
sa.sa_restorer = (void*)runtime·sigreturn;
|
sa.sa_restorer = (void*)runtime·sigreturn;
|
||||||
sa.k_sa_handler = fn;
|
sa.sa_handler = fn;
|
||||||
runtime·rt_sigaction(i, &sa, nil, 8);
|
runtime·rt_sigaction(i, &sa, nil, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +163,6 @@ runtime·initsig(int32 queue)
|
|||||||
void
|
void
|
||||||
runtime·resetcpuprofiler(int32 hz)
|
runtime·resetcpuprofiler(int32 hz)
|
||||||
{
|
{
|
||||||
Sigaction sa;
|
|
||||||
Itimerval it;
|
Itimerval it;
|
||||||
|
|
||||||
runtime·memclr((byte*)&it, sizeof it);
|
runtime·memclr((byte*)&it, sizeof it);
|
||||||
|
@ -73,10 +73,10 @@ TEXT runtime·munmap(SB),7,$0
|
|||||||
SWI $0
|
SWI $0
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT runtime·getitimer(SB),7,$0
|
TEXT runtime·setitimer(SB),7,$0
|
||||||
MOVW 0(FP), R0
|
MOVW 0(FP), R0
|
||||||
MOVW 4(FP), R1
|
MOVW 4(FP), R1
|
||||||
MOWW 8(FP), R2
|
MOVW 8(FP), R2
|
||||||
MOVW $SYS_setitimer, R7
|
MOVW $SYS_setitimer, R7
|
||||||
SWI $0
|
SWI $0
|
||||||
RET
|
RET
|
||||||
|
@ -4,16 +4,18 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Input to godefs
|
* 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
|
* On a Debian Lenny arm linux distribution:
|
||||||
|
godefs -f-I/usr/src/linux-headers-2.6.26-2-versatile/include defs_arm.c
|
||||||
* Another input file for ARM defs.h
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define __ARCH_SI_UID_T int
|
||||||
|
|
||||||
#include <asm/signal.h>
|
#include <asm/signal.h>
|
||||||
#include <asm/mman.h>
|
#include <asm/mman.h>
|
||||||
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
||||||
#include <asm/ucontext.h>
|
#include <asm/ucontext.h>
|
||||||
#include <asm/siginfo.h>
|
#include <asm/siginfo.h>
|
||||||
|
#include <linux/time.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#include <sys/signal.h>
|
#include <sys/signal.h>
|
||||||
@ -21,8 +23,6 @@
|
|||||||
#include <ucontext.h>
|
#include <ucontext.h>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
$PROT_NONE = PROT_NONE,
|
$PROT_NONE = PROT_NONE,
|
||||||
$PROT_READ = PROT_READ,
|
$PROT_READ = PROT_READ,
|
||||||
@ -84,14 +84,19 @@ enum {
|
|||||||
|
|
||||||
$SEGV_MAPERR = SEGV_MAPERR & 0xFFFF,
|
$SEGV_MAPERR = SEGV_MAPERR & 0xFFFF,
|
||||||
$SEGV_ACCERR = SEGV_ACCERR & 0xFFFF,
|
$SEGV_ACCERR = SEGV_ACCERR & 0xFFFF,
|
||||||
|
|
||||||
|
$ITIMER_REAL = ITIMER_REAL,
|
||||||
|
$ITIMER_PROF = ITIMER_PROF,
|
||||||
|
$ITIMER_VIRTUAL = ITIMER_VIRTUAL,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef sigset_t $Sigset;
|
typedef sigset_t $Sigset;
|
||||||
typedef struct sigaction $Sigaction;
|
|
||||||
typedef struct timespec $Timespec;
|
typedef struct timespec $Timespec;
|
||||||
typedef struct sigaltstack $Sigaltstack;
|
typedef struct sigaltstack $Sigaltstack;
|
||||||
typedef struct sigcontext $Sigcontext;
|
typedef struct sigcontext $Sigcontext;
|
||||||
typedef struct ucontext $Ucontext;
|
typedef struct ucontext $Ucontext;
|
||||||
|
typedef struct timeval $Timeval;
|
||||||
|
typedef struct itimerval $Itimerval;
|
||||||
|
|
||||||
struct xsiginfo {
|
struct xsiginfo {
|
||||||
int si_signo;
|
int si_signo;
|
||||||
@ -101,3 +106,17 @@ struct xsiginfo {
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct xsiginfo $Siginfo;
|
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