Contents of /trunk/libsdl/patches/libsdl-1.2.9-PIC-hermes-call-dont-jump.patch
Parent Directory | Revision Log
Revision 144 -
(show 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 | 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 |