The i386 was the original IA-32 processor. i686 was a later IA-32 processor. In practice, these labels are used by GNU/Linux systems to mark whether PAE support is enabled (since the i686 was the first to support PAE).

When you say a binary is built for i386, it means the binary is (or at least should be) compatible with the original i386, and consequently all IA-32 processors. When you say a binary is built for i686, it means the binary is only necessarily compatible with IA-32 processors compatible with the i686 (an consequently not the original i386, or processors between the i386 and i686). All IA-32 processors are backward-compatible with their predecessors, but not necessarily forward-compatible with their successors.

Reply via email to