1 .text 2_start: 3 movl $foo@GOT, %eax 4 movl foo@GOT, %eax 5 movl foo@GOT(%eax), %eax 6 7 addl $foo@GOT, %eax 8 addl foo@GOT, %eax 9 addl foo@GOT(%eax), %eax 10 11 call *foo@GOT 12 call *foo@GOT(%eax) 13 jmp *foo@GOT 14 jmp *foo@GOT(%eax) 15 16 .intel_syntax noprefix 17 18 mov eax, offset foo@got 19 mov eax, DWORD PTR [foo@GOT] 20 mov eax, DWORD PTR [eax + foo@GOT] 21 22 add eax, offset foo@got 23 add eax, DWORD PTR [foo@GOT] 24 add eax, DWORD PTR [eax + foo@GOT] 25 26 call DWORD PTR [eax + foo@GOT] 27 call DWORD PTR [foo@GOT] 28 jmp DWORD PTR [eax + foo@GOT] 29 jmp DWORD PTR [foo@GOT] 30