Search code examples
cassemblyelfportable-executablegot

What is the difference between Import Address Table and Global Offset Table?


I tried googling them separately, but one thing stuck out the most. Is it just that IAT is for PE files and GoT is for ELF?


Solution

  • Is it just that IAT is for PE files and GoT is for ELF?

    This is the main difference.

    Another difference is that the GOT in ELF files may also contain entries describing symbols defined in the ELF file itself. This is typical for 32-bit shared libraries.

    IATs in PE files contain only entries that describe symbols defined in other DLL files.