~ubuntu-branches/ubuntu/oneiric/gnupg2/oneiric-updates

« back to all changes in this revision

Viewing changes to mpi/m68k/syntax.h

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Viehmann
  • Date: 2008-10-04 10:25:53 UTC
  • mfrom: (5.1.15 intrepid)
  • Revision ID: james.westby@ubuntu.com-20081004102553-fv62pp8dsitxli47
Tags: 2.0.9-3.1
* Non-maintainer upload.
* agent/gpg-agent.c: Deinit the threading library before exec'ing
  the command to run in --daemon mode. And because that still doesn't
  restore the sigprocmask, do that manually. Closes: #499569

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* asm.h -- Definitions for 68k syntax variations.
2
 
 *
3
 
 *      Copyright (C) 1992, 1994, 1996, 1998,
4
 
 *                    2001 Free Software Foundation, Inc.
5
 
 *       
6
 
 * This file is part of GnuPG.
7
 
 *
8
 
 * GnuPG is free software; you can redistribute it and/or modify
9
 
 * it under the terms of the GNU General Public License as published by
10
 
 * the Free Software Foundation; either version 2 of the License, or
11
 
 * (at your option) any later version.
12
 
 *
13
 
 * GnuPG is distributed in the hope that it will be useful,
14
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 
 * GNU General Public License for more details.
17
 
 *
18
 
 * You should have received a copy of the GNU General Public License
19
 
 * along with this program; if not, write to the Free Software
20
 
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
21
 
 *
22
 
 * Note: This code is heavily based on the GNU MP Library.
23
 
 *       Actually it's the same code with only minor changes in the
24
 
 *       way the data is stored; this is to support the abstraction
25
 
 *       of an optional secure memory allocation which may be used
26
 
 *       to avoid revealing of sensitive data due to paging etc.
27
 
 *       The GNU MP Library itself is published under the LGPL;
28
 
 *       however I decided to publish this code under the plain GPL.
29
 
 */
30
 
 
31
 
 
32
 
#undef ALIGN
33
 
 
34
 
#ifdef MIT_SYNTAX
35
 
#define PROLOG(name)
36
 
#define EPILOG(name)
37
 
#define R(r)r
38
 
#define MEM(base)base@
39
 
#define MEM_DISP(base,displacement)base@(displacement)
40
 
#define MEM_INDX(base,idx,size_suffix)base@(idx:size_suffix)
41
 
#define MEM_INDX1(base,idx,size_suffix,scale)base@(idx:size_suffix:scale)
42
 
#define MEM_PREDEC(memory_base)memory_base@-
43
 
#define MEM_POSTINC(memory_base)memory_base@+
44
 
#define L(label) label
45
 
#define TEXT .text
46
 
#define ALIGN .even
47
 
#define GLOBL .globl
48
 
#define moveql moveq
49
 
/* Use variable sized opcodes.  */
50
 
#define bcc jcc
51
 
#define bcs jcs
52
 
#define bls jls
53
 
#define beq jeq
54
 
#define bne jne
55
 
#define bra jra
56
 
#endif
57
 
 
58
 
#ifdef SONY_SYNTAX
59
 
#define PROLOG(name)
60
 
#define EPILOG(name)
61
 
#define R(r)r
62
 
#define MEM(base)(base)
63
 
#define MEM_DISP(base,displacement)(displacement,base)
64
 
#define MEM_INDX(base,idx,size_suffix)(base,idx.size_suffix)
65
 
#define MEM_INDX1(base,idx,size_suffix,scale)(base,idx.size_suffix*scale)
66
 
#define MEM_PREDEC(memory_base)-(memory_base)
67
 
#define MEM_POSTINC(memory_base)(memory_base)+
68
 
#define L(label) label
69
 
#define TEXT .text
70
 
#define ALIGN .even
71
 
#define GLOBL .globl
72
 
#endif
73
 
 
74
 
#ifdef MOTOROLA_SYNTAX
75
 
#define PROLOG(name)
76
 
#define EPILOG(name)
77
 
#define R(r)r
78
 
#define MEM(base)(base)
79
 
#define MEM_DISP(base,displacement)(displacement,base)
80
 
#define MEM_INDX(base,idx,size_suffix)(base,idx.size_suffix)
81
 
#define MEM_INDX1(base,idx,size_suffix,scale)(base,idx.size_suffix*scale)
82
 
#define MEM_PREDEC(memory_base)-(memory_base)
83
 
#define MEM_POSTINC(memory_base)(memory_base)+
84
 
#define L(label) label
85
 
#define TEXT
86
 
#define ALIGN
87
 
#define GLOBL XDEF
88
 
#define lea LEA
89
 
#define movel MOVE.L
90
 
#define moveml MOVEM.L
91
 
#define moveql MOVEQ.L
92
 
#define cmpl CMP.L
93
 
#define orl OR.L
94
 
#define clrl CLR.L
95
 
#define eorw EOR.W
96
 
#define lsrl LSR.L
97
 
#define lsll LSL.L
98
 
#define roxrl ROXR.L
99
 
#define roxll ROXL.L
100
 
#define addl ADD.L
101
 
#define addxl ADDX.L
102
 
#define addql ADDQ.L
103
 
#define subl SUB.L
104
 
#define subxl SUBX.L
105
 
#define subql SUBQ.L
106
 
#define negl NEG.L
107
 
#define mulul MULU.L
108
 
#define bcc BCC
109
 
#define bcs BCS
110
 
#define bls BLS
111
 
#define beq BEQ
112
 
#define bne BNE
113
 
#define bra BRA
114
 
#define dbf DBF
115
 
#define rts RTS
116
 
#define d0 D0
117
 
#define d1 D1
118
 
#define d2 D2
119
 
#define d3 D3
120
 
#define d4 D4
121
 
#define d5 D5
122
 
#define d6 D6
123
 
#define d7 D7
124
 
#define a0 A0
125
 
#define a1 A1
126
 
#define a2 A2
127
 
#define a3 A3
128
 
#define a4 A4
129
 
#define a5 A5
130
 
#define a6 A6
131
 
#define a7 A7
132
 
#define sp SP
133
 
#endif
134
 
 
135
 
#ifdef ELF_SYNTAX
136
 
#define PROLOG(name) .type name,@function
137
 
#define EPILOG(name) .size name,.-name
138
 
#define MEM(base)(R(base))
139
 
#define MEM_DISP(base,displacement)(displacement,R(base))
140
 
#define MEM_PREDEC(memory_base)-(R(memory_base))
141
 
#define MEM_POSTINC(memory_base)(R(memory_base))+
142
 
#ifdef __STDC__
143
 
#define R_(r)%##r
144
 
#define R(r)R_(r)
145
 
#define MEM_INDX_(base,idx,size_suffix)(R(base),R(idx##.##size_suffix))
146
 
#define MEM_INDX(base,idx,size_suffix)MEM_INDX_(base,idx,size_suffix)
147
 
#define MEM_INDX1_(base,idx,size_suffix,scale)(R(base),R(idx##.##size_suffix*scale))
148
 
#define MEM_INDX1(base,idx,size_suffix,scale)MEM_INDX1_(base,idx,size_suffix,scale)
149
 
#define L(label) .##label
150
 
#else
151
 
#define R(r)%/**/r
152
 
#define MEM_INDX(base,idx,size_suffix)(R(base),R(idx).size_suffix)
153
 
#define MEM_INDX1(base,idx,size_suffix,scale)(R(base),R(idx).size_suffix*scale)
154
 
#define L(label) ./**/label
155
 
#endif
156
 
#define TEXT .text
157
 
#define ALIGN .align 2
158
 
#define GLOBL .globl
159
 
#define bcc jbcc
160
 
#define bcs jbcs
161
 
#define bls jbls
162
 
#define beq jbeq
163
 
#define bne jbne
164
 
#define bra jbra
165
 
#endif
166
 
 
167
 
#if defined (SONY_SYNTAX) || defined (ELF_SYNTAX)
168
 
#define movel move.l
169
 
#define moveml movem.l
170
 
#define moveql moveq.l
171
 
#define cmpl cmp.l
172
 
#define orl or.l
173
 
#define clrl clr.l
174
 
#define eorw eor.w
175
 
#define lsrl lsr.l
176
 
#define lsll lsl.l
177
 
#define roxrl roxr.l
178
 
#define roxll roxl.l
179
 
#define addl add.l
180
 
#define addxl addx.l
181
 
#define addql addq.l
182
 
#define subl sub.l
183
 
#define subxl subx.l
184
 
#define subql subq.l
185
 
#define negl neg.l
186
 
#define mulul mulu.l
187
 
#endif