annotate ticoff/intstruct.h @ 120:4d8dfdbd2ea1

tiobjd: auto-translation of section-relative relocs made more conservative
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Fri, 04 Apr 2014 05:45:22 +0000
parents 5f4141ee175b
children 2c6b1319383b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 * The structures defined in this header file
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 * are internal to our utility.
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 */
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 struct internal_scnhdr {
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 char *name;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 unsigned size;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 unsigned data_offset;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 unsigned reloc_offset;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 unsigned line_offset;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 unsigned nreloc;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 unsigned nlineent;
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 unsigned flags;
80
da103b9377e3 tiobjd: preparation for symbol sorting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 73
diff changeset
15 unsigned nsymbols;
da103b9377e3 tiobjd: preparation for symbol sorting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 73
diff changeset
16 struct internal_syment **sorted_symbols;
110
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
17 struct internal_reloc *int_relocs;
71
c15cd3d695c0 tiobjd: successful parsing of the section header table
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 };
73
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
19
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
20 struct internal_syment {
116
5f4141ee175b tiobjd: retain the original symtab order for symbols at the same position
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 110
diff changeset
21 unsigned number;
73
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
22 char *name;
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
23 unsigned value;
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
24 int scnum;
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
25 int type;
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
26 int class;
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
27 u_char *aux;
80
da103b9377e3 tiobjd: preparation for symbol sorting
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 73
diff changeset
28 struct internal_scnhdr *section;
73
10f3fbff5e97 tiobjd: symbol table parsing implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 71
diff changeset
29 };
110
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
30
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
31 struct internal_reloc {
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
32 unsigned location;
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
33 struct internal_syment *sym;
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
34 int type;
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
35 char *typestr;
e650fdc743fe tiobjd: higher-level reloc handling
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 80
diff changeset
36 };