The kernel is here > > >
Polaris < < <
MD5SUM md5 (unix.bz2) = 9d06cbfd68e33ce7cd33be960b3dc9e2
bash-3.1$ ls -lap unix
-rw-r--r-- 1 dclarke csw 3235268 May 31 00:42 unix
bash-3.1$ file unix
unix: ELF 32-bit MSB executable PowerPC Version 1, statically linked, stripped
bash-3.1$ elfdump unix
ELF Header
ei_magic: { 0x7f, E, L, F }
ei_class: ELFCLASS32 ei_data: ELFDATA2MSB
e_machine: EM_PPC e_version: EV_CURRENT
e_type: ET_EXEC
e_flags: 0
e_entry: 0x800000 e_ehsize: 52 e_shstrndx: 9
e_shoff: 0x315c34 e_shentsize: 40 e_shnum: 10
e_phoff: 0x34 e_phentsize: 32 e_phnum: 1
Program Header[0]:
p_vaddr: 0x800000 p_flags: [ PF_X PF_W PF_R ]
p_paddr: 0x800000 p_type: [ PT_LOAD ]
p_filesz: 0x304cbc p_memsz: 0x3692b0
p_offset: 0x10000 p_align: 0x10000
Section Header[1]: sh_name: .text
sh_addr: 0x800000 sh_flags: [ SHF_ALLOC SHF_EXECINSTR ]
sh_size: 0x2bccec sh_type: [ SHT_PROGBITS ]
sh_offset: 0x10000 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x10
Section Header[2]: sh_name: .rodata
sh_addr: 0xabccf0 sh_flags: [ SHF_ALLOC ]
sh_size: 0x39650 sh_type: [ SHT_PROGBITS ]
sh_offset: 0x2cccf0 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x8
Section Header[3]: sh_name: .sdata2
sh_addr: 0xaf6340 sh_flags: [ SHF_ALLOC ]
sh_size: 0 sh_type: [ SHT_PROGBITS ]
sh_offset: 0x306340 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x4
Section Header[4]: sh_name: .data
sh_addr: 0xaf6340 sh_flags: [ SHF_WRITE SHF_ALLOC ]
sh_size: 0xe398 sh_type: [ SHT_PROGBITS ]
sh_offset: 0x306340 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x20
Section Header[5]: sh_name: .sdata
sh_addr: 0xb046d8 sh_flags: [ SHF_WRITE SHF_ALLOC ]
sh_size: 0x5e4 sh_type: [ SHT_PROGBITS ]
sh_offset: 0x3146d8 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x8
Section Header[6]: sh_name: .sbss
sh_addr: 0xb04cc0 sh_flags: [ SHF_WRITE SHF_ALLOC ]
sh_size: 0x1a18 sh_type: [ SHT_NOBITS ]
sh_offset: 0x314cbc sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x8
Section Header[7]: sh_name: .bss
sh_addr: 0xb066d8 sh_flags: [ SHF_WRITE SHF_ALLOC ]
sh_size: 0x62bd8 sh_type: [ SHT_NOBITS ]
sh_offset: 0x314cbc sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x8
Section Header[8]: sh_name: .comment
sh_addr: 0 sh_flags: 0
sh_size: 0xf36 sh_type: [ SHT_PROGBITS ]
sh_offset: 0x314cbc sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x1
Section Header[9]: sh_name: .shstrtab
sh_addr: 0 sh_flags: 0
sh_size: 0x42 sh_type: [ SHT_STRTAB ]
sh_offset: 0x315bf2 sh_entsize: 0
sh_link: 0 sh_info: 0
sh_addralign: 0x1
Or from Fedora Core 4 on PowerPC we see :
[dclarke@ppc ~]$ file unix
unix: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, stripped
[dclarke@ppc ~]$ local/bin/readelf -e -w unix
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: PowerPC
Version: 0x1
Entry point address: 0x800000
Start of program headers: 52 (bytes into file)
Start of section headers: 3234868 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 1
Size of section headers: 40 (bytes)
Number of section headers: 10
Section header string table index: 9
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 00800000 010000 2bccec 00 AX 0 0 16
[ 2] .rodata PROGBITS 00abccf0 2cccf0 039650 00 A 0 0 8
[ 3] .sdata2 PROGBITS 00af6340 306340 000000 00 A 0 0 4
[ 4] .data PROGBITS 00af6340 306340 00e398 00 WA 0 0 32
[ 5] .sdata PROGBITS 00b046d8 3146d8 0005e4 00 WA 0 0 8
[ 6] .sbss NOBITS 00b04cc0 314cbc 001a18 00 WA 0 0 8
[ 7] .bss NOBITS 00b066d8 314cbc 062bd8 00 WA 0 0 8
[ 8] .comment PROGBITS 00000000 314cbc 000f36 00 0 0 1
[ 9] .shstrtab STRTAB 00000000 315bf2 000042 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x010000 0x00800000 0x00800000 0x304cbc 0x3692b0 RWE 0x10000
Section to Segment mapping:
Segment Sections...
00 .text .rodata .data .sdata .sbss .bss
Updated at Tue May 30 23:58:18 CDT 2006
Dennis Clarke
Director Blastwave.org