Dnia Sat, 1 Jul 2006 15:04:10 +0200 Paweł Sikora <[EMAIL PROTECTED]> napisał(a):
> (opcja -fPIE dla programów, lub -fPIC dla bibliotek). > > compute: > call __i686.get_pc_thunk.cx [1] > addl $_GLOBAL_OFFSET_TABLE_, %ecx [1] > movl [EMAIL PROTECTED](%ecx), %edx [2] > movl [EMAIL PROTECTED](%ecx), %eax [3] > addl (%edx), %eax [2] > ret > > .local y > .comm y,4,4 > .comm x,4,4 > > __i686.get_pc_thunk.cx: > movl (%esp), %ecx > ret > > > np. w przypadku x86-64 (które ma nowy tryb adresowania względem > wskaźnika instrukcji %rip) powyższe dwa warianty kodu wyglądają tak: > (z -fPIE) > compute: > movq [EMAIL PROTECTED](%rip), %rdx > movl y(%rip), %eax > addl (%rdx), %eax > ret domyslam sie ze to relocated instruction pointer, rzeczywiście ciekawy wynalazek. > jak czujesz niedosyt, to ponękaj gugla: ELF + GOT, ELF + PLT > oraz zerknij w http://www.phrack.org/show.php?p=56&a=7 dzieki wielkie :) poczułem że jednak ass to podstawa i trzeba go ogarnąć. _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
