| // Copyright 2014 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| /* |
| * Plan 9 a.out constants and data structures |
| */ |
| |
| package plan9obj |
| |
| // Plan 9 Program header. |
| type prog struct { |
| Magic uint32 /* magic number */ |
| Text uint32 /* size of text segment */ |
| Data uint32 /* size of initialized data */ |
| Bss uint32 /* size of uninitialized data */ |
| Syms uint32 /* size of symbol table */ |
| Entry uint32 /* entry point */ |
| Spsz uint32 /* size of pc/sp offset table */ |
| Pcsz uint32 /* size of pc/line number table */ |
| } |
| |
| // Plan 9 symbol table entries. |
| type sym struct { |
| value uint64 |
| typ byte |
| name []byte |
| } |
| |
| const ( |
| Magic64 = 0x8000 // 64-bit expanded header |
| |
| Magic386 = (4*11+0)*11 + 7 |
| MagicAMD64 = (4*26+0)*26 + 7 + Magic64 |
| MagicARM = (4*20+0)*20 + 7 |
| ) |