~ubuntu-branches/ubuntu/vivid/golang/vivid

« back to all changes in this revision

Viewing changes to src/pkg/runtime/sys_freebsd_amd64.s

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2013-08-20 14:06:23 UTC
  • mfrom: (14.1.23 saucy-proposed)
  • Revision ID: package-import@ubuntu.com-20130820140623-b414jfxi3m0qkmrq
Tags: 2:1.1.2-2ubuntu1
* Merge from Debian unstable (LP: #1211749, #1202027). Remaining changes:
  - 016-armhf-elf-header.patch: Use correct ELF header for armhf binaries.
  - d/control,control.cross: Update Breaks/Replaces for Ubuntu
    versions to ensure smooth upgrades, regenerate control file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
        MOVQ    m_g0(R13), DI
39
39
        MOVQ    DI, g(CX)
40
40
 
41
 
        CALL runtime·stackcheck(SB)
42
 
        CALL runtime·mstart(SB)
 
41
        CALL    runtime·stackcheck(SB)
 
42
        CALL    runtime·mstart(SB)
 
43
 
43
44
        MOVQ 0, AX                      // crash (not reached)
44
45
 
45
46
// Exit the entire program (like C exit)
57
58
        MOVL    $0xf1, 0xf1  // crash
58
59
        RET
59
60
 
 
61
TEXT runtime·open(SB),7,$-8
 
62
        MOVQ    8(SP), DI               // arg 1 pathname
 
63
        MOVL    16(SP), SI              // arg 2 flags
 
64
        MOVL    20(SP), DX              // arg 3 mode
 
65
        MOVL    $5, AX
 
66
        SYSCALL
 
67
        RET
 
68
 
 
69
TEXT runtime·close(SB),7,$-8
 
70
        MOVL    8(SP), DI               // arg 1 fd
 
71
        MOVL    $6, AX
 
72
        SYSCALL
 
73
        RET
 
74
 
 
75
TEXT runtime·read(SB),7,$-8
 
76
        MOVL    8(SP), DI               // arg 1 fd
 
77
        MOVQ    16(SP), SI              // arg 2 buf
 
78
        MOVL    24(SP), DX              // arg 3 count
 
79
        MOVL    $3, AX
 
80
        SYSCALL
 
81
        RET
 
82
 
60
83
TEXT runtime·write(SB),7,$-8
61
84
        MOVL    8(SP), DI               // arg 1 fd
62
85
        MOVQ    16(SP), SI              // arg 2 buf
72
95
        SYSCALL
73
96
        RET
74
97
 
75
 
TEXT runtime·raisesigpipe(SB),7,$16
 
98
TEXT runtime·raise(SB),7,$16
76
99
        // thr_self(&8(SP))
77
100
        LEAQ    8(SP), DI       // arg 1 &8(SP)
78
101
        MOVL    $432, AX
79
102
        SYSCALL
80
103
        // thr_kill(self, SIGPIPE)
81
104
        MOVQ    8(SP), DI       // arg 1 id
82
 
        MOVQ    $13, SI // arg 2 SIGPIPE
 
105
        MOVL    sig+0(FP), SI   // arg 2
83
106
        MOVL    $433, AX
84
107
        SYSCALL
85
108
        RET
94
117
 
95
118
// func now() (sec int64, nsec int32)
96
119
TEXT time·now(SB), 7, $32
97
 
        MOVL    $116, AX
98
 
        LEAQ    8(SP), DI
99
 
        MOVQ    $0, SI
 
120
        MOVL    $232, AX
 
121
        MOVQ    $0, DI
 
122
        LEAQ    8(SP), SI
100
123
        SYSCALL
101
124
        MOVQ    8(SP), AX       // sec
102
 
        MOVL    16(SP), DX      // usec
 
125
        MOVQ    16(SP), DX      // nsec
103
126
 
104
 
        // sec is in AX, usec in DX
 
127
        // sec is in AX, nsec in DX
105
128
        MOVQ    AX, sec+0(FP)
106
 
        IMULQ   $1000, DX
107
129
        MOVL    DX, nsec+8(FP)
108
130
        RET
109
131
 
110
132
TEXT runtime·nanotime(SB), 7, $32
111
 
        MOVL    $116, AX
112
 
        LEAQ    8(SP), DI
113
 
        MOVQ    $0, SI
 
133
        MOVL    $232, AX
 
134
        MOVQ    $0, DI
 
135
        LEAQ    8(SP), SI
114
136
        SYSCALL
115
137
        MOVQ    8(SP), AX       // sec
116
 
        MOVL    16(SP), DX      // usec
 
138
        MOVQ    16(SP), DX      // nsec
117
139
 
118
 
        // sec is in AX, usec in DX
 
140
        // sec is in AX, nsec in DX
119
141
        // return nsec in AX
120
142
        IMULQ   $1000000000, AX
121
 
        IMULQ   $1000, DX
122
143
        ADDQ    DX, AX
123
144
        RET
124
145
 
138
159
        // check that m exists
139
160
        MOVQ    m(BX), BP
140
161
        CMPQ    BP, $0
141
 
        JNE     2(PC)
 
162
        JNE     4(PC)
 
163
        MOVQ    DI, 0(SP)
142
164
        CALL    runtime·badsignal(SB)
 
165
        RET
143
166
 
144
167
        // save g
145
168
        MOVQ    g(BX), R10
182
205
        MOVL    $0xf1, 0xf1  // crash
183
206
        RET
184
207
 
 
208
TEXT runtime·madvise(SB),7,$0
 
209
        MOVQ    8(SP), DI
 
210
        MOVQ    16(SP), SI
 
211
        MOVQ    24(SP), DX
 
212
        MOVQ    $75, AX // madvise
 
213
        SYSCALL
 
214
        // ignore failure - maybe pages are locked
 
215
        RET
 
216
        
185
217
TEXT runtime·sigaltstack(SB),7,$-8
186
218
        MOVQ    new+8(SP), DI
187
219
        MOVQ    old+16(SP), SI
229
261
        MOVQ    $202, AX                // sys___sysctl
230
262
        SYSCALL
231
263
        JCC 3(PC)
232
 
        NEGL    AX
 
264
        NEGQ    AX
233
265
        RET
234
266
        MOVL    $0, AX
235
267
        RET