Mercurial > pub > dyncall > dyncall
comparison doc/manual/callconvs/callconv_arm32.tex @ 467:b47168dacba6
manual:
- adding aggregate passing and returning info for x64 (win and sysv, however, *only* w/ respect to types supported by dyncall)
- python binding text cleanup and sync with current binding version
- added suite_aggrs description and cleaned up other test suite descriptions a bit
- update list of calling convention modes
- cleanup and minor other fixes (e.g. changed \newpage in many places to \clearpage to avoid hitting float limit, crlf->cr, ...)
author | Tassilo Philipp |
---|---|
date | Fri, 04 Feb 2022 23:54:42 +0100 |
parents | 524fdca405bf |
children | 0fc22b5feac7 |
comparison
equal
deleted
inserted
replaced
466:ddfb9577a00e | 467:b47168dacba6 |
---|---|
133 \end{tabular} | 133 \end{tabular} |
134 \caption{Stack layout on arm32} | 134 \caption{Stack layout on arm32} |
135 \end{figure} | 135 \end{figure} |
136 | 136 |
137 | 137 |
138 \newpage | 138 \clearpage |
139 | 139 |
140 | 140 |
141 \subsubsection{ATPCS THUMB mode} | 141 \subsubsection{ATPCS THUMB mode} |
142 | 142 |
143 | 143 |
222 \end{tabular} | 222 \end{tabular} |
223 \caption{Stack layout on arm32 thumb mode} | 223 \caption{Stack layout on arm32 thumb mode} |
224 \end{figure} | 224 \end{figure} |
225 | 225 |
226 | 226 |
227 \newpage | 227 \clearpage |
228 | 228 |
229 | 229 |
230 \subsubsection{EABI (ARM and THUMB mode)} | 230 \subsubsection{EABI (ARM and THUMB mode)} |
231 | 231 |
232 | 232 |
246 \item Ellipsis calls do not work. | 246 \item Ellipsis calls do not work. |
247 \item C++ this calls do not work. | 247 \item C++ this calls do not work. |
248 \end{itemize} | 248 \end{itemize} |
249 | 249 |
250 | 250 |
251 \newpage | 251 \clearpage |
252 | 252 |
253 | 253 |
254 \subsubsection{ARM on Apple's iOS (Darwin) Platform (ARM and THUMB mode)} | 254 \subsubsection{ARM on Apple's iOS (Darwin) Platform (ARM and THUMB mode)} |
255 | 255 |
256 | 256 |
292 \item in ARM mode, r7 is used as frame pointer instead of r11 (so both, ARM and THUMB mode use the same convention) | 292 \item in ARM mode, r7 is used as frame pointer instead of r11 (so both, ARM and THUMB mode use the same convention) |
293 \item r9 does not need to be preserved on iOS 3.0 and greater | 293 \item r9 does not need to be preserved on iOS 3.0 and greater |
294 \end{itemize} | 294 \end{itemize} |
295 | 295 |
296 | 296 |
297 \clearpage | |
298 | |
297 \paragraph{Stack layout} | 299 \paragraph{Stack layout} |
298 | 300 |
299 % verified/amended: TP nov 2019 (see also doc/disas_examples/arm.darwin_{arm,thumb}.disas) | 301 % verified/amended: TP nov 2019 (see also doc/disas_examples/arm.darwin_{arm,thumb}.disas) |
300 Stack directly after function prolog:\\ | 302 Stack directly after function prolog:\\ |
301 | 303 |
320 \hhline{~-~~} | 322 \hhline{~-~~} |
321 local data & & & \\ | 323 local data & & & \\ |
322 \hhline{~-~~} | 324 \hhline{~-~~} |
323 parameter area & \vdots & & \\ | 325 parameter area & \vdots & & \\ |
324 \end{tabular} | 326 \end{tabular} |
325 \caption{Stack layout on arm32} | 327 \caption{Stack layout on arm32 (Apple)} |
326 \end{figure} | 328 \end{figure} |
327 | 329 |
328 | 330 |
329 \newpage | 331 \clearpage |
330 | 332 |
331 | 333 |
332 \subsubsection{ARM hard float (armhf)} | 334 \subsubsection{ARM hard float (armhf)} |
333 | 335 |
334 | 336 |
421 \end{tabular} | 423 \end{tabular} |
422 \caption{Stack layout on arm32 armhf} | 424 \caption{Stack layout on arm32 armhf} |
423 \end{figure} | 425 \end{figure} |
424 | 426 |
425 | 427 |
426 \newpage | 428 \clearpage |
427 | 429 |
428 | 430 |
429 \subsubsection{Architectures} | 431 \subsubsection{Architectures} |
430 | 432 |
431 The ARM architecture family contains several revisions with capabilities and | 433 The ARM architecture family contains several revisions with capabilities and |
451 ARMv8 & iPhone 6 and higher & 64bit support \\ | 453 ARMv8 & iPhone 6 and higher & 64bit support \\ |
452 \end{tabular*} | 454 \end{tabular*} |
453 \caption{Overview of ARM Architecture, Platforms and Details} | 455 \caption{Overview of ARM Architecture, Platforms and Details} |
454 \end{table} | 456 \end{table} |
455 | 457 |
456 | |
457 \newpage | |
458 |