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
|
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
|
||||||
|
|
35
slides.tex
35
slides.tex
|
@ -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}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue