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