From e74efb43d50e70079b7b9227f22593f29613bcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Wed, 7 Nov 2018 08:50:04 +0100 Subject: [PATCH] =?UTF-8?q?Start=20synthesis=20=C2=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slides.tex | 16 ++++++++++++++-- texlib/specific.sty | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) 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}}