Last minute changes
This commit is contained in:
parent
ede4714a01
commit
dad989d757
2 changed files with 28 additions and 9 deletions
2
Makefile
2
Makefile
|
@ -7,4 +7,4 @@ clean:
|
|||
rm -f *aux *bbl *bcf *blg *_latexmk *fls *log *out *.run.xml
|
||||
|
||||
upload: build
|
||||
scp slides.pdf www.tobast:~/files/sweden18.pdf
|
||||
scp slides.pdf www.tobast:~/files/oracle18.pdf
|
||||
|
|
35
slides.tex
35
slides.tex
|
@ -87,7 +87,7 @@
|
|||
\vspace{-2em}
|
||||
\begin{center}
|
||||
\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{center}
|
||||
\end{frame}
|
||||
|
@ -279,8 +279,7 @@ $1 = 84
|
|||
Yields to
|
||||
\begin{itemize}
|
||||
\item{} unreliable DWARF\@: can cause headaches when debugging
|
||||
\item{} or not generated at all (eg. OCaml until recently) \todo{Check
|
||||
this}
|
||||
\item{} or not generated at all (eg. OCaml until recently)
|
||||
\end{itemize}
|
||||
|
||||
\vspace{1em}
|
||||
|
@ -524,12 +523,32 @@ $1 = 84
|
|||
\item We can \alert{validate DWARF tables}!
|
||||
\item \ldots{}well, only along \alert{one execution path}\ldots
|
||||
\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{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?}
|
||||
We now want to \alert{synthesize unwinding data}. \pause{}That means
|
||||
|
@ -869,7 +888,7 @@ $1 = 84
|
|||
\LinusMailOne{}
|
||||
|
||||
\only<1>{\LinusSource{}}
|
||||
\only<2->\vspace{1em}
|
||||
\only<2->{\vspace{1em}}
|
||||
\pause{}
|
||||
|
||||
\LinusMailTwo{}
|
||||
|
@ -881,7 +900,7 @@ $1 = 84
|
|||
|
||||
\begin{center}
|
||||
\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{frame}
|
||||
|
@ -895,7 +914,7 @@ $1 = 84
|
|||
\begin{center}
|
||||
\large
|
||||
\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{center}
|
||||
|
||||
|
|
Loading…
Reference in a new issue