Start synthesis §

This commit is contained in:
Théophile Bastian 2018-11-07 08:50:04 +01:00
parent 751ff79d67
commit e74efb43d5
2 changed files with 16 additions and 2 deletions

View file

@ -539,8 +539,20 @@ $1 = 84
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Unwinding data synthesis from assembly}
\begin{frame}{TODO}
\todo{}
\begin{frame}{What have we got so far?}
We now want to \alert{synthesize unwinding data}. \pause{}That means
\alert{forgetting the blue part of the previous schemes}.
\begin{itemize}[<+->]
\item Upon entering a function, we know (ABI)
\[ \cfa = \reg{rsp} - 8
\qquad \ra = \cfa + 8 \]
\item For each instruction, we know \alert{how it changes \cfa}.
\item We assume \alert{\ra{} constant wrt. \cfa}.
\begin{itemize}
\item[$\leadsto$] only \cfa{} tracking matters (for unwinding)
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View file

@ -13,6 +13,8 @@
%% DWARF semantics
\newcommand{\dwcfa}[1]{\texttt{DW\_CFA\_#1}}
\newcommand{\reg}[1]{\%#1}
\newcommand{\cfa}{\texttt{CFA}}
\newcommand{\ra}{\texttt{RA}}
\newcommand{\DWARF}{\operatorname{DWARF}}