Browse Source

Last minute changes

master
Théophile Bastian 4 years ago
parent
commit
dad989d757
  1. 2
      Makefile
  2. 35
      slides.tex

2
Makefile

@ -7,4 +7,4 @@ clean: @@ -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

@ -87,7 +87,7 @@ @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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…
Cancel
Save