Annotation of /trunk/libsdl/patches/libsdl-1.2.9-PIC-hermes-call-dont-jump.patch
Parent Directory | Revision Log
Revision 144 -
(hide annotations)
(download)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 4928 byte(s)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 4928 byte(s)
-import
1 | niro | 144 | Fixes from PaX team to eliminate TEXTRELs in hermes code |
2 | |||
3 | --- src/hermes/mmx_main.asm | ||
4 | +++ src/hermes/mmx_main.asm | ||
5 | @@ -10,7 +10,6 @@ | ||
6 | BITS 32 | ||
7 | |||
8 | GLOBAL _ConvertMMX | ||
9 | -GLOBAL _mmxreturn | ||
10 | |||
11 | |||
12 | SECTION .text | ||
13 | @@ -50,9 +49,8 @@ _ConvertMMX: | ||
14 | y_loop: | ||
15 | mov ecx,[ebp+4] | ||
16 | |||
17 | - jmp [ebp+32] | ||
18 | + call [ebp+32] | ||
19 | |||
20 | -_mmxreturn: | ||
21 | add esi,[ebp+12] | ||
22 | add edi,[ebp+28] | ||
23 | |||
24 | --- src/hermes/x86_main.asm | ||
25 | +++ src/hermes/x86_main.asm | ||
26 | @@ -12,7 +12,6 @@ | ||
27 | BITS 32 | ||
28 | |||
29 | GLOBAL _ConvertX86 | ||
30 | -GLOBAL _x86return | ||
31 | |||
32 | GLOBAL _Hermes_X86_CPU | ||
33 | |||
34 | @@ -54,9 +53,8 @@ | ||
35 | y_loop: | ||
36 | mov ecx,[ebp+4] | ||
37 | |||
38 | - jmp [ebp+32] | ||
39 | + call [ebp+32] | ||
40 | |||
41 | -_x86return: | ||
42 | add esi,[ebp+12] | ||
43 | add edi,[ebp+28] | ||
44 | |||
45 | --- src/hermes/x86p_16.asm | ||
46 | +++ src/hermes/x86p_16.asm | ||
47 | @@ -25,7 +25,6 @@ GLOBAL _ConvertX86p16_16BGR555 | ||
48 | GLOBAL _ConvertX86p16_8RGB332 | ||
49 | |||
50 | EXTERN _ConvertX86 | ||
51 | -EXTERN _x86return | ||
52 | |||
53 | |||
54 | SECTION .text | ||
55 | @@ -57,7 +56,7 @@ _ConvertX86p16_16BGR565: | ||
56 | dec ecx | ||
57 | jnz .L1 | ||
58 | .L2 | ||
59 | - jmp _x86return | ||
60 | + retn | ||
61 | |||
62 | .L3 ; head | ||
63 | mov eax,edi | ||
64 | @@ -135,7 +134,7 @@ _ConvertX86p16_16BGR565: | ||
65 | add edi,BYTE 2 | ||
66 | |||
67 | .L7 | ||
68 | - jmp _x86return | ||
69 | + retn | ||
70 | |||
71 | |||
72 | |||
73 | @@ -164,7 +163,7 @@ _ConvertX86p16_16RGB555: | ||
74 | dec ecx | ||
75 | jnz .L1 | ||
76 | .L2 | ||
77 | - jmp _x86return | ||
78 | + retn | ||
79 | |||
80 | .L3 ; head | ||
81 | mov eax,edi | ||
82 | @@ -243,7 +242,7 @@ _ConvertX86p16_16RGB555: | ||
83 | jmp SHORT .L6 | ||
84 | |||
85 | .L7 pop ebp | ||
86 | - jmp _x86return | ||
87 | + retn | ||
88 | |||
89 | |||
90 | |||
91 | @@ -277,7 +276,7 @@ _ConvertX86p16_16BGR555: | ||
92 | dec ecx | ||
93 | jnz .L1 | ||
94 | .L2 | ||
95 | - jmp _x86return | ||
96 | + retn | ||
97 | |||
98 | .L3 ; head | ||
99 | mov eax,edi | ||
100 | @@ -361,7 +360,7 @@ _ConvertX86p16_16BGR555: | ||
101 | add edi,BYTE 2 | ||
102 | |||
103 | .L7 | ||
104 | - jmp _x86return | ||
105 | + retn | ||
106 | |||
107 | |||
108 | |||
109 | @@ -394,7 +393,7 @@ _ConvertX86p16_8RGB332: | ||
110 | dec ecx | ||
111 | jnz .L1 | ||
112 | .L2 | ||
113 | - jmp _x86return | ||
114 | + retn | ||
115 | |||
116 | .L3 mov eax,edi | ||
117 | and eax,BYTE 11b | ||
118 | @@ -492,5 +491,5 @@ _ConvertX86p16_8RGB332: | ||
119 | jnz .L6 | ||
120 | |||
121 | .L7 pop ebp | ||
122 | - jmp _x86return | ||
123 | + retn | ||
124 | |||
125 | --- src/hermes/x86p_32.asm | ||
126 | +++ src/hermes/x86p_32.asm | ||
127 | @@ -23,8 +23,7 @@ GLOBAL _ConvertX86p32_16RGB555 | ||
128 | GLOBAL _ConvertX86p32_16BGR555 | ||
129 | GLOBAL _ConvertX86p32_8RGB332 | ||
130 | |||
131 | -EXTERN _x86return | ||
132 | - | ||
133 | + | ||
134 | SECTION .text | ||
135 | |||
136 | |||
137 | @@ -53,7 +52,7 @@ _ConvertX86p32_32BGR888: | ||
138 | dec ecx | ||
139 | jnz .L1 | ||
140 | .L2 | ||
141 | - jmp _x86return | ||
142 | + retn | ||
143 | |||
144 | .L3 ; save ebp | ||
145 | push ebp | ||
146 | @@ -113,7 +112,7 @@ _ConvertX86p32_32BGR888: | ||
147 | jnz .L5 | ||
148 | |||
149 | .L6 pop ebp | ||
150 | - jmp _x86return | ||
151 | + retn | ||
152 | |||
153 | |||
154 | |||
155 | @@ -133,7 +132,7 @@ _ConvertX86p32_32RGBA888: | ||
156 | dec ecx | ||
157 | jnz .L1 | ||
158 | .L2 | ||
159 | - jmp _x86return | ||
160 | + retn | ||
161 | |||
162 | .L3 ; save ebp | ||
163 | push ebp | ||
164 | @@ -184,7 +183,7 @@ _ConvertX86p32_32RGBA888: | ||
165 | jnz .L5 | ||
166 | |||
167 | .L6 pop ebp | ||
168 | - jmp _x86return | ||
169 | + retn | ||
170 | |||
171 | |||
172 | |||
173 | @@ -204,7 +203,7 @@ _ConvertX86p32_32BGRA888: | ||
174 | dec ecx | ||
175 | jnz .L1 | ||
176 | .L2 | ||
177 | - jmp _x86return | ||
178 | + retn | ||
179 | |||
180 | .L3 ; save ebp | ||
181 | push ebp | ||
182 | @@ -257,7 +256,7 @@ _ConvertX86p32_32BGRA888: | ||
183 | jnz .L5 | ||
184 | |||
185 | .L6 pop ebp | ||
186 | - jmp _x86return | ||
187 | + retn | ||
188 | |||
189 | |||
190 | |||
191 | @@ -282,7 +281,7 @@ _ConvertX86p32_24RGB888: | ||
192 | dec ecx | ||
193 | jnz .L1 | ||
194 | .L2 | ||
195 | - jmp _x86return | ||
196 | + retn | ||
197 | |||
198 | .L3 ; head | ||
199 | mov edx,edi | ||
200 | @@ -354,7 +353,7 @@ _ConvertX86p32_24RGB888: | ||
201 | jnz .L6 | ||
202 | |||
203 | .L7 pop ebp | ||
204 | - jmp _x86return | ||
205 | + retn | ||
206 | |||
207 | |||
208 | |||
209 | @@ -380,7 +379,7 @@ _ConvertX86p32_24BGR888: | ||
210 | dec ecx | ||
211 | jnz .L1 | ||
212 | .L2 | ||
213 | - jmp _x86return | ||
214 | + retn | ||
215 | |||
216 | .L3 ; head | ||
217 | mov edx,edi | ||
218 | @@ -455,7 +454,7 @@ _ConvertX86p32_24BGR888: | ||
219 | |||
220 | .L7 | ||
221 | pop ebp | ||
222 | - jmp _x86return | ||
223 | + retn | ||
224 | |||
225 | |||
226 | |||
227 | @@ -484,7 +483,7 @@ _ConvertX86p32_16RGB565: | ||
228 | jnz .L1 | ||
229 | |||
230 | .L2: ; End of short loop | ||
231 | - jmp _x86return | ||
232 | + retn | ||
233 | |||
234 | |||
235 | .L3 ; head | ||
236 | @@ -570,7 +569,7 @@ _ConvertX86p32_16RGB565: | ||
237 | add edi,BYTE 2 | ||
238 | |||
239 | .L7: | ||
240 | - jmp _x86return | ||
241 | + retn | ||
242 | |||
243 | |||
244 | |||
245 | @@ -599,7 +598,7 @@ _ConvertX86p32_16BGR565: | ||
246 | dec ecx | ||
247 | jnz .L1 | ||
248 | .L2 | ||
249 | - jmp _x86return | ||
250 | + retn | ||
251 | |||
252 | .L3 ; head | ||
253 | mov ebx,edi | ||
254 | @@ -684,7 +683,7 @@ _ConvertX86p32_16BGR565: | ||
255 | add edi,BYTE 2 | ||
256 | |||
257 | .L7 | ||
258 | - jmp _x86return | ||
259 | + retn | ||
260 | |||
261 | |||
262 | |||
263 | @@ -713,7 +712,7 @@ _ConvertX86p32_16RGB555: | ||
264 | dec ecx | ||
265 | jnz .L1 | ||
266 | .L2 | ||
267 | - jmp _x86return | ||
268 | + retn | ||
269 | |||
270 | .L3 ; head | ||
271 | mov ebx,edi | ||
272 | @@ -795,7 +794,7 @@ _ConvertX86p32_16RGB555: | ||
273 | add edi,BYTE 2 | ||
274 | |||
275 | .L7 | ||
276 | - jmp _x86return | ||
277 | + retn | ||
278 | |||
279 | |||
280 | |||
281 | @@ -825,7 +824,7 @@ _ConvertX86p32_16BGR555: | ||
282 | dec ecx | ||
283 | jnz .L1 | ||
284 | .L2 | ||
285 | - jmp _x86return | ||
286 | + retn | ||
287 | |||
288 | .L3 ; head | ||
289 | mov ebx,edi | ||
290 | @@ -910,7 +909,7 @@ _ConvertX86p32_16BGR555: | ||
291 | add edi,BYTE 2 | ||
292 | |||
293 | .L7 | ||
294 | - jmp _x86return | ||
295 | + retn | ||
296 | |||
297 | |||
298 | |||
299 | @@ -1040,5 +1039,5 @@ _ConvertX86p32_8RGB332: | ||
300 | jnz .L3 | ||
301 | |||
302 | .L4: | ||
303 | - jmp _x86return | ||
304 | + retn | ||
305 | |||
306 | --- src/hermes/mmxp2_32.asm | ||
307 | +++ src/hermes/mmxp2_32.asm | ||
308 | @@ -27,8 +27,6 @@ GLOBAL _ConvertMMXpII32_16BGR565 | ||
309 | GLOBAL _ConvertMMXpII32_16RGB555 | ||
310 | GLOBAL _ConvertMMXpII32_16BGR555 | ||
311 | |||
312 | -EXTERN _mmxreturn | ||
313 | - | ||
314 | SECTION .data | ||
315 | |||
316 | ALIGN 8 | ||
317 | @@ -108,7 +98,7 @@ _ConvertMMXpII32_24RGB888: | ||
318 | dec ecx | ||
319 | jnz .L3 | ||
320 | .L4: | ||
321 | - jmp _mmxreturn | ||
322 | + return | ||
323 | |||
324 | |||
325 | |||
326 | @@ -176,7 +173,7 @@ _ConvertMMXpII32_16RGB565: | ||
327 | jnz .L3 | ||
328 | |||
329 | .L4: | ||
330 | - jmp _mmxreturn | ||
331 | + retn | ||
332 | |||
333 | |||
334 | _ConvertMMXpII32_16BGR565: | ||
335 | @@ -245,7 +249,7 @@ _ConvertMMXpII32_16BGR565: | ||
336 | jnz .L3 | ||
337 | |||
338 | .L4: | ||
339 | - jmp _mmxreturn | ||
340 | + retn | ||
341 | |||
342 | _ConvertMMXpII32_16BGR555: | ||
343 | |||
344 | @@ -380,5 +384,5 @@ _convert_bgr555_cheat: | ||
345 | jnz .L3 | ||
346 | |||
347 | .L4: | ||
348 | - jmp _mmxreturn | ||
349 | + retn | ||
350 |