diff --git a/slides.tex b/slides.tex index 97bc46b..e369c38 100644 --- a/slides.tex +++ b/slides.tex @@ -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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/texlib/specific.sty b/texlib/specific.sty index cfada16..22bf9f8 100644 --- a/texlib/specific.sty +++ b/texlib/specific.sty @@ -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}}