Add cross-references, remove useless TODOs

This commit is contained in:
Théophile Bastian 2018-08-07 11:33:30 +02:00
parent ee09bc2b4b
commit 57a6cb9e8b

View file

@ -413,7 +413,8 @@ operand~--- are irrelevant and will be eluded.
row. This is \emph{not implemented in this semantics} for simplicity row. This is \emph{not implemented in this semantics} for simplicity
and brevity (we would have to introduce CIE (preamble) and FDE (body) and brevity (we would have to introduce CIE (preamble) and FDE (body)
independently). This is also not much used in actual ELF independently). This is also not much used in actual ELF
files\todo{refer to stats}. files: the analysis in Section~\ref{ssec:instr_cov} found no such
instruction, on a random uniform sample of 4000 ELF files.
\item{} \dwcfa{remember\_state()}~: \item{} \dwcfa{remember\_state()}~:
push the state of all the registers of this row on an implicit stack push the state of all the registers of this row on an implicit stack
\item{} \dwcfa{restore\_state()}~: \item{} \dwcfa{restore\_state()}~:
@ -691,9 +692,6 @@ required, those files can simply be \lstc{dlopen}'d.
label={lst:fib7_eh_elf_basic}] label={lst:fib7_eh_elf_basic}]
{src/fib7/fib7.eh_elf_basic.c} {src/fib7/fib7.eh_elf_basic.c}
\note{I did not put some ASM here, as I doubt the jury will read it anyway, }\\
\qnote{and it takes way too much space}
The C code in Listing~\ref{lst:fib7_eh_elf_basic} is a part of what was The C code in Listing~\ref{lst:fib7_eh_elf_basic} is a part of what was
generated for the C code in Listing~\ref{lst:ex1_c}. generated for the C code in Listing~\ref{lst:ex1_c}.
@ -750,8 +748,6 @@ This first tentative version of \ehelfs{} is roughly 7 times heavier than the
original \lstc{.eh_frame}, and represents a far too significant proportion of original \lstc{.eh_frame}, and represents a far too significant proportion of
the original program size. the original program size.
\todo{more in-depth analysis?}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Space optimization}\label{ssec:space_optim} \subsection{Space optimization}\label{ssec:space_optim}
@ -1004,15 +1000,16 @@ lot.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Instructions coverage} \subsection{Instructions coverage}\label{ssec:instr_cov}
In order to determine which proportion of real-world ELF instructions are In order to determine which proportion of real-world ELF instructions are
covered by our compiler and \ehelfs. covered by our compiler and \ehelfs.
The method chosen was to randomly select 4000 ELFs among those present on a The method chosen was to take a random uniform sample of 4000 ELFs among those
basic ArchLinux system setup, in the directories \texttt{/bin}, \texttt{/lib}, present on a basic ArchLinux system setup, in the directories \texttt{/bin},
\texttt{/usr/bin}, \texttt{/usr/lib} and their subdirectories, making sure \texttt{/lib}, \texttt{/usr/bin}, \texttt{/usr/lib} and their subdirectories,
those files were ELF64 files, then gathering statistics on those files. making sure those files were ELF64 files, then gathering statistics on those
files.
\begin{table}[h] \begin{table}[h]
\centering \centering