Add cross-references, remove useless TODOs
This commit is contained in:
parent
ee09bc2b4b
commit
57a6cb9e8b
1 changed files with 8 additions and 11 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue