You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by Marvin Humphrey <ma...@rectangular.com> on 2013/02/11 08:38:12 UTC

[lucy-dev] Book Club: Shared Libraries

Greets,

In addition to half a chapter of Programming Language Pragmatics, this week's
Lucy Book Club will cover Ulrich Drepper's white paper on shared libraries
through section 1.4:

    http://wiki.apache.org/lucy/LucyBookClub
    http://www.akkadia.org/drepper/dsohowto.pdf

Here are review questions for the Drepper material:

1.  What limitations of the `a.out` format make it ill-suited for creating
    shared libraries?  If a modern Linux system supplied shared libraries
    derived from `a.out`, how would that affect applications which use them?

2.  What is the main difference between a compiled ELF shared library and a
    compiled binary executable?

3.  If you're creating a very large application which takes a long time to
    link, how can you use shared libraries to minimize the edit-compile-test
    loop and maximize programmer efficiency?  Compare this use of shared
    libraries to traditional separate compilation.

4.  When loading the contents of an executable file into memory, why is it
    desirable to mark as many pages as possible non-writable?

5.  Where must the `Elf32_Phdr` and `Elf64_Phdr` program header structs be
    located in an ELF object file?  What is the first member in these program
    header structs?

See y'all on Tuesday at 7:00 PDT in IRC: irc.freenode.net/#lucy_dev

Marvin Humphrey