2 * Human68k .x file structure definitions
4 * written by Yasha (ITOH Yasufumi)
7 * $NetBSD: hux.h,v 1.1.6.1 1999/03/14 16:51:00 minoura Exp $
10 * Human68k ".x" executable format
12 * ----------------------------
13 * | file header (64 bytes) |
14 * |--------------------------|
16 * |--------------------------|
18 * |--------------------------|
19 * | relocation table |
20 * |--------------------------|
22 * |--------------------------|
23 * | debugging information |
24 * ----------------------------
26 * text and data sections are loaded contiguous
31 #define HUXMAGIC 0x4855 /* "HU" */
34 be_uint16_t x_magic
; /* HUXMAGIC */
35 u_int8_t x_reserved1
; /* 0 */
36 u_int8_t x_loadmode
; /* 0: normal, 1: minimal memory,
38 be_uint32_t x_base
; /* base address (normally 0) */
39 be_uint32_t x_entry
; /* execution entry */
40 be_uint32_t x_text
; /* size of text section */
41 be_uint32_t x_data
; /* size of data section */
42 be_uint32_t x_bss
; /* size of bss */
43 be_uint32_t x_rsize
; /* size of relocation table */
44 be_uint32_t x_syms
; /* size of symbol info */
45 be_uint32_t x_db_line
; /* size of debugging info (line #) */
46 be_uint32_t x_db_syms
; /* size of debugging info (symbol) */
47 be_uint32_t x_db_str
; /* size of debugging info (string) */
48 be_uint32_t x_reserved2
[4]; /* 0 */
49 be_uint32_t x_bindlist
; /* bind list offset */
53 * relocation information
58 be_uint16_t locoff_s
; /* offset */
62 #define HUXLRELMAGIC 0x0001
64 be_uint16_t lrelmag
; /* HUXLRELMAGIC */
65 be_uint16_t locoff_l
[2]; /* this would be be_uint32_t
66 * if there were no alignment problems
70 #define HUX_MINLREL 0x10000 /* minimal value for long format */