Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucy Wiki" for change 
notification.

The "LucyBookClub" page has been changed by MarvinHumphrey:
http://wiki.apache.org/lucy/LucyBookClub?action=diff&rev1=37&rev2=38

Comment:
Add 2013-02-19, archive 2013-02-12.

  [[mailto:[email protected]|[email protected]]]
  
  == Upcoming Meetings ==
+ 
+ === Tuesday February 19, 7:00 pm PDT: ===
+ 
+ From PLP3:
+ {{{
+     15.1 Virtual Machines
+         15.1.2 The Java Virtual Machine
+ }}}
+ 
+ Review questions: 1-8 on page 784.
+ 
+ From [[http://www.akkadia.org/drepper/dsohowto.pdf|How To Write Shared 
Libraries]] by Ulrich Drepper:
+ 
+ {{{
+     1.5 Startup in the Dynamic Linker
+         1.5.1 The Relocation Process
+         1.5.2 Symbol Relocations
+         1.5.3 The GNU-style Hash Table
+         1.5.4 Lookup Scope
+         1.5.5 GOT and PLT
+         1.5.6 Running the Constructors
+     1.6 Summary of the Costs of ELF
+     1.7 Measuring ld.so Performance
+ }}}
+ 
+ Review questions for the Drepper:
+ 
+  6. Why do NUL-terminated strings make horrible hash keys?
+  7.  How can _interposition_ be used to override the behavior of a named 
procedure?
+  8.  How can different C++ name mangling schemes have an impact on symbol 
hash lookup times?
+  9.  Compare ELF hash lookup with GNU-style hash lookup.
+  10. Consider this source code, which consists of a declaration of a function 
`munge` and an int `foo` which must be defined elsewhere, and a function 
`munge_foo` which references both.
+     {{{
+         int
+         munge(int num);
+ 
+         extern int foo;
+ 
+         int
+         munge_foo(void) {
+             munge(foo);
+         }
+     }}}
+     Narrate the following assembly generated for `munge_foo` when it is 
compiled as position-independent code.
+     {{{
+         movl   foo@GOT(%ebx), %eax
+         pushl  (%eax)
+         call   munge_foo@PLT
+     }}}
+  11. Summarize the costs of the GOT (Global Offset Table) and the PLT 
(Procedure Linkage Table).
+ 
+ 
+ == Community Notes ==
+ 
+ Below are an excerpt of notes from previous meetings and or anything of 
interest related to the meetings.
  
  === Tuesday February 12, 7:00 pm PDT: ===
  
@@ -56, +111 @@

   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?
- 
- == Community Notes ==
- 
- Below are an excerpt of notes from previous meetings and or anything of 
interest related to the meetings.
  
  === Tuesday February 5, 7:00 pm PDT: ===
  

Reply via email to