blob: 3e8ecaa1564ac724d6c84f1a4dec1dc680340f7e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#source: greg-4.s
#source: greg-4.s
#source: local1.s
#source: regext1.s
#source: start.s
#ld: -m elf64mmix
#readelf: -Ssx1 -x2
# We check that the externally visible symbol ext1 is a local register
# (different meaning of "local" than for symbol), which can be seen as
# somewhat twisted.
There are 6 section headers, starting at offset 0xc8:
Section Headers:
\[Nr\] Name Type Address Offset
Size EntSize Flags Link Info Align
\[ 0\] NULL 0+ 0+
0+ 0+ 0 0 0
\[ 1\] \.text PROGBITS 0+ 0+78
0+8 0+ AX 0 0 4
\[ 2\] \.MMIX\.reg_content PROGBITS 0+7e8 0+80
0+10 0+ W 0 0 1
\[ 3\] \.shstrtab STRTAB 0+ 0+90
0+34 0+ 0 0 1
\[ 4\] \.symtab SYMTAB 0+ 0+248
0+150 0+18 5 8 8
\[ 5\] \.strtab STRTAB 0+ 0+398
0+32 0+ 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\)
Symbol table '\.symtab' contains 14 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0+ 0 NOTYPE LOCAL DEFAULT UND
1: 0+ 0 SECTION LOCAL DEFAULT 1
2: 0+7e8 0 SECTION LOCAL DEFAULT 2
3: 0+ 0 SECTION LOCAL DEFAULT 3
4: 0+ 0 SECTION LOCAL DEFAULT 4
5: 0+ 0 SECTION LOCAL DEFAULT 5
6: 0+fd 0 NOTYPE LOCAL DEFAULT PRC\[0xff00\] lsym
7: 0+fe 0 NOTYPE LOCAL DEFAULT PRC\[0xff00\] lsym
8: 0+fc 0 NOTYPE GLOBAL DEFAULT PRC\[0xff00\] ext1
9: 0+4 0 NOTYPE GLOBAL DEFAULT 1 _start
#...
Hex dump of section '\.text':
0x0+ fd030201 e3fd0001 .*
Hex dump of section '\.MMIX\.reg_contents':
0x0+7e8 00000000 0000004e 00000000 0000004e .*
|