Architecture/platform information for compiler writers

Note: This document is a work-in-progress. Additions and clarifications are welcome.

1. Hardware
   1. ARM
   2. MIPS
   3. PowerPC
   4. SPARC
   5. X86
   6. Other lists
2. Application Binary Interface (ABI)
   1. Linux
   2. OS X
3. Binary File Formats

Compiled by Misha Brukman

Hardware
ARM
ARM - Official manuals and docs

- ARM documentation (Processor Cores)

MIPS
MIPS - Official manuals and docs

- MIPS Processor Architecture

PowerPC
IBM - Official manuals and docs

- PowerPC Architecture Book
  - Book I: PowerPC User Instruction Set Architecture
  - Book II: PowerPC Virtual Environment Architecture
  - Book III: PowerPC Operating Environment Architecture
- PowerPC Compiler Writer's Guide
- PowerPC Processor Manuals
- Intro to PowerPC architecture
- IBM AIX/5L for POWER Assembly reference

Other documents, collections, notes

- PowerPC ABI documents
- PowerPC64 alignment of long doubles (from GCC)
- Long branch stubs for powerpc64-linux (from binutils)

SPARC
Official manuals and docs

- SPARC resources
- SPARC standards

X86
AMD - Official manuals and docs

- AMD processor manuals

Intel - Official manuals and docs

- IA-32 manuals
- Intel Itanium documentation

Other x86-specific information

- Calling conventions for different C++ compilers and operating systems

Other relevant lists

- GCC reading list

ABI
Linux

1. PowerPC 64-bit ELF ABI Supplement

OS X

1. Mach-O Runtime Architecture
2. Notes on Mach-O ABI

Binary File Formats

- Executable File Format library