| Prev Next | Secure Lazy Binding | Slide #9 | 
      extern int foo;
      extern int bar(int);
      int call_bar(void) {
         return bar(foo);
      }
      movq    foo@GOTPCREL(%rip), %rax  # load foo's address from GOT
      movl    (%rax), %edi              # read foo's value
      call    bar@PLT                   # call bar's PLT stub
continued...
| EuroBSDCon 2014 | Copyright © 2014 Philip Guenther |