|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
7: #pragma once
8:
9: #include "header.h"
10:
11: // NetBSD の <sys/exec_aout.h>、<sys/aout_mids.h> あたり参考。
12:
13: #define AOUT_MID(x) (((x) >> 16) & 0x3ff)
1.1.1.3 ! root 14: // UniOS-Mach の a.out の machine id はこの辺りで定義されてるやつらしい
! 15: // http://www.cs.cmu.edu/afs/cs/project/mach/public/src/mkernel/src/kernel/luna88k/exec.h
! 16: #define AOUT_MID_MACH_M88K (0x04)
! 17: #define AOUT_MID_BSD_M68K8K (0x87) // 8K page sizes
! 18: #define AOUT_MID_BSD_M68K4K (0x88) // 4K page sizes
! 19: #define AOUT_MID_BSD_M88K (0x99)
1.1 root 20:
21: #define AOUT_OMAGIC (0x0107)
22:
23: struct aout_header {
24: // magic はネットワークバイトオーダ。
25: //
26: // 3 2 1 0
27: // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
28: // +------------+-------------------+-------------------------------+
29: // | flags | machine id | magic |
30: // +------------+-------------------+-------------------------------+
31: uint32 magic;
32: // 以下はホストバイトオーダ。
33: uint32 textsize;
34: uint32 datasize;
35: uint32 bsssize;
36: uint32 symsize;
37: uint32 entry;
38: uint32 textrelsize;
39: uint32 datarelsize;
40: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.