Last minute changes

This commit is contained in:
Théophile Bastian 2018-11-14 10:13:19 +01:00
parent ede4714a01
commit dad989d757
2 changed files with 28 additions and 9 deletions

View File

@ -7,4 +7,4 @@ clean:
rm -f *aux *bbl *bcf *blg *_latexmk *fls *log *out *.run.xml rm -f *aux *bbl *bcf *blg *_latexmk *fls *log *out *.run.xml
upload: build upload: build
scp slides.pdf www.tobast:~/files/sweden18.pdf scp slides.pdf www.tobast:~/files/oracle18.pdf

View File

@ -87,7 +87,7 @@
\vspace{-2em} \vspace{-2em}
\begin{center} \begin{center}
\begin{align*} \begin{align*}
\text{Slides: } &\text{\url{https://tobast.fr/files/sweden18.pdf}} \\ \text{Slides: } &\text{\url{https://tobast.fr/files/oracle18.pdf}} \\
\end{align*} \end{align*}
\end{center} \end{center}
\end{frame} \end{frame}
@ -279,8 +279,7 @@ $1 = 84
Yields to Yields to
\begin{itemize} \begin{itemize}
\item{} unreliable DWARF\@: can cause headaches when debugging \item{} unreliable DWARF\@: can cause headaches when debugging
\item{} or not generated at all (eg. OCaml until recently) \todo{Check \item{} or not generated at all (eg. OCaml until recently)
this}
\end{itemize} \end{itemize}
\vspace{1em} \vspace{1em}
@ -524,12 +523,32 @@ $1 = 84
\item We can \alert{validate DWARF tables}! \item We can \alert{validate DWARF tables}!
\item \ldots{}well, only along \alert{one execution path}\ldots \item \ldots{}well, only along \alert{one execution path}\ldots
\item but mostly we are close to a working \alert{algorithm} to \item but mostly we are close to a working \alert{algorithm} to
\alert{synthesize unwinding data from assembly}! \alert{synthesize unwinding data from binaries}!
\end{itemize} \end{itemize}
\end{frame} \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Unwinding data synthesis from assembly} \section{Unwinding data synthesis from binaries}
\begin{frame}{Why would synthesis be useful?}
\pause{}
\begin{itemize}
\item As said earlier, \alert{DWARF is complex}
\pause{}
\item Some compilers \alert{do not generate it}: hard to \alert{debug}
\& \alert{profile}.
\pause{}
\item Think of \alert{JIT-compiled assembly} (eg. JVM)
\pause{}
\item \ldots{}or even \alert{hand-written inlined assembly}!
\pause{}
\begin{itemize}
\item Painful enough to write for not bothering with DWARF
\item May not even be known by the programmer, breaks gdb
\item May be wrong (remember Linus!)
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{What have we got so far?} \begin{frame}{What have we got so far?}
We now want to \alert{synthesize unwinding data}. \pause{}That means We now want to \alert{synthesize unwinding data}. \pause{}That means
@ -869,7 +888,7 @@ $1 = 84
\LinusMailOne{} \LinusMailOne{}
\only<1>{\LinusSource{}} \only<1>{\LinusSource{}}
\only<2->\vspace{1em} \only<2->{\vspace{1em}}
\pause{} \pause{}
\LinusMailTwo{} \LinusMailTwo{}
@ -881,7 +900,7 @@ $1 = 84
\begin{center} \begin{center}
\bf \bf
Give us a few months to make Linus reconsider \texttt{;)} Give us a few months: we will make Linus reconsider \texttt{;)}
\end{center} \end{center}
\end{frame} \end{frame}
@ -895,7 +914,7 @@ $1 = 84
\begin{center} \begin{center}
\large \large
\begin{align*} \begin{align*}
\textbf{Slides: } &\text{\url{https://tobast.fr/files/sweden18.pdf}} \\ \textbf{Slides: } &\text{\url{https://tobast.fr/files/oracle18.pdf}} \\
\end{align*} \end{align*}
\end{center} \end{center}