--- stand.orig +++ stand.ias │ │ ├── boot1.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 612 (bytes into file) │ │ │ │ + Start of section headers: 3612 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 12 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,21 @@ │ │ │ │ -There are 8 section headers, starting at offset 0x264: │ │ │ │ +There are 12 section headers, starting at offset 0xe1c: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000200 00 AX 0 0 4 │ │ │ │ - [ 2] .rel.text REL 00000000 00085c 000030 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 000234 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 000234 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 000234 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 0003a4 000350 10 7 51 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 0006f4 000166 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 000c70 0001aa 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000200 00 AX 0 0 4 │ │ │ │ + [ 3] .rel.text REL 00000000 000b00 000028 08 11 2 4 │ │ │ │ + [ 4] .debug_info PROGBITS 00000000 000234 0003f6 00 0 0 1 │ │ │ │ + [ 5] .rel.debug_info REL 00000000 000b28 000130 08 11 4 4 │ │ │ │ + [ 6] .debug_abbrev PROGBITS 00000000 00062a 000028 00 0 0 1 │ │ │ │ + [ 7] .debug_aranges PROGBITS 00000000 000652 000020 00 0 0 1 │ │ │ │ + [ 8] .rel.debug_aranges REL 00000000 000c58 000010 08 11 7 4 │ │ │ │ + [ 9] .debug_line PROGBITS 00000000 000672 00012e 00 0 0 1 │ │ │ │ + [10] .rel.debug_line REL 00000000 000c68 000008 08 11 9 4 │ │ │ │ + [11] .symtab SYMTAB 00000000 0007a0 000360 10 1 52 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,56 +1,57 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 53 entries: │ │ │ │ +Symbol table '.symtab' contains 54 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ - 4: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ - 5: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 6: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ - 7: 00008c00 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ - 8: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ - 9: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ - 10: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ - 11: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ - 12: 000001be 0 NOTYPE LOCAL DEFAULT ABS PRT_OFF │ │ │ │ - 13: 00000004 0 NOTYPE LOCAL DEFAULT ABS PRT_NUM │ │ │ │ - 14: 000000a5 0 NOTYPE LOCAL DEFAULT ABS PRT_BSD │ │ │ │ - 15: 00000080 0 NOTYPE LOCAL DEFAULT ABS FL_PACKET │ │ │ │ - 16: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ - 17: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ - 18: 00000010 0 NOTYPE LOCAL DEFAULT ABS NSECT │ │ │ │ - 19: 0000003e 0 NOTYPE LOCAL DEFAULT 1 main │ │ │ │ - 20: 00000003 0 NOTYPE LOCAL DEFAULT 1 oemid │ │ │ │ - 21: 0000000b 0 NOTYPE LOCAL DEFAULT 1 bpb │ │ │ │ - 22: 00000024 0 NOTYPE LOCAL DEFAULT 1 ebpb │ │ │ │ - 23: 00000027 0 NOTYPE LOCAL DEFAULT 1 xread.1 │ │ │ │ - 24: 000000fa 0 NOTYPE LOCAL DEFAULT 1 read │ │ │ │ - 25: 000001ee 0 NOTYPE LOCAL DEFAULT 1 part4 │ │ │ │ - 26: 00000087 0 NOTYPE LOCAL DEFAULT 1 main.4 │ │ │ │ - 27: 000000c0 0 NOTYPE LOCAL DEFAULT 1 nread │ │ │ │ - 28: 00000063 0 NOTYPE LOCAL DEFAULT 1 main.1 │ │ │ │ - 29: 00000068 0 NOTYPE LOCAL DEFAULT 1 main.2 │ │ │ │ - 30: 00000075 0 NOTYPE LOCAL DEFAULT 1 main.3 │ │ │ │ - 31: 00000089 0 NOTYPE LOCAL DEFAULT 1 main.5 │ │ │ │ - 32: 000001a2 0 NOTYPE LOCAL DEFAULT 1 msg_part │ │ │ │ - 33: 000000d2 0 NOTYPE LOCAL DEFAULT 1 error │ │ │ │ - 34: 000000a4 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 35: 000000a5 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 36: 000000bc 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 37: 000000b2 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 38: 000000f9 0 NOTYPE LOCAL DEFAULT 1 return │ │ │ │ - 39: 0000019d 0 NOTYPE LOCAL DEFAULT 1 msg_read │ │ │ │ - 40: 000000f1 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ - 41: 000001a7 0 NOTYPE LOCAL DEFAULT 1 prompt │ │ │ │ - 42: 000000ea 0 NOTYPE LOCAL DEFAULT 1 putstr.0 │ │ │ │ - 43: 000000f6 0 NOTYPE LOCAL DEFAULT 1 ereturn │ │ │ │ - 44: 000001b0 0 NOTYPE LOCAL DEFAULT 1 flags │ │ │ │ - 45: 00000124 0 NOTYPE LOCAL DEFAULT 1 read.1 │ │ │ │ - 46: 0000016f 0 NOTYPE LOCAL DEFAULT 1 read.2 │ │ │ │ - 47: 00000172 0 NOTYPE LOCAL DEFAULT 1 read.3 │ │ │ │ - 48: 00000187 0 NOTYPE LOCAL DEFAULT 1 read.4 │ │ │ │ - 49: 0000019c 0 NOTYPE LOCAL DEFAULT 1 read.6 │ │ │ │ - 50: 00000192 0 NOTYPE LOCAL DEFAULT 1 read.5 │ │ │ │ - 51: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ - 52: 00000025 0 NOTYPE GLOBAL DEFAULT 1 xread │ │ │ │ + 1: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ + 2: 00000080 0 NOTYPE LOCAL DEFAULT ABS FL_PACKET │ │ │ │ + 3: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ + 4: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ + 5: 00008c00 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ + 6: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 7: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ + 8: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ + 9: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ + 10: 00000010 0 NOTYPE LOCAL DEFAULT ABS NSECT │ │ │ │ + 11: 000000a5 0 NOTYPE LOCAL DEFAULT ABS PRT_BSD │ │ │ │ + 12: 00000004 0 NOTYPE LOCAL DEFAULT ABS PRT_NUM │ │ │ │ + 13: 000001be 0 NOTYPE LOCAL DEFAULT ABS PRT_OFF │ │ │ │ + 14: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ + 15: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ + 16: 0000000b 0 NOTYPE LOCAL DEFAULT 2 bpb │ │ │ │ + 17: 00000024 0 NOTYPE LOCAL DEFAULT 2 ebpb │ │ │ │ + 18: 000000f6 0 NOTYPE LOCAL DEFAULT 2 ereturn │ │ │ │ + 19: 000000d2 0 NOTYPE LOCAL DEFAULT 2 error │ │ │ │ + 20: 000001b3 0 NOTYPE LOCAL DEFAULT 2 flags │ │ │ │ + 21: 0000003e 0 NOTYPE LOCAL DEFAULT 2 main │ │ │ │ + 22: 00000063 0 NOTYPE LOCAL DEFAULT 2 main.1 │ │ │ │ + 23: 00000068 0 NOTYPE LOCAL DEFAULT 2 main.2 │ │ │ │ + 24: 00000075 0 NOTYPE LOCAL DEFAULT 2 main.3 │ │ │ │ + 25: 00000087 0 NOTYPE LOCAL DEFAULT 2 main.4 │ │ │ │ + 26: 00000089 0 NOTYPE LOCAL DEFAULT 2 main.5 │ │ │ │ + 27: 000001a5 0 NOTYPE LOCAL DEFAULT 2 msg_part │ │ │ │ + 28: 000001a0 0 NOTYPE LOCAL DEFAULT 2 msg_read │ │ │ │ + 29: 000000c0 0 NOTYPE LOCAL DEFAULT 2 nread │ │ │ │ + 30: 00000003 0 NOTYPE LOCAL DEFAULT 2 oemid │ │ │ │ + 31: 000001ee 0 NOTYPE LOCAL DEFAULT 2 part4 │ │ │ │ + 32: 000001aa 0 NOTYPE LOCAL DEFAULT 2 prompt │ │ │ │ + 33: 000000f1 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ + 34: 000000ea 0 NOTYPE LOCAL DEFAULT 2 putstr.0 │ │ │ │ + 35: 000000fa 0 NOTYPE LOCAL DEFAULT 2 read │ │ │ │ + 36: 00000127 0 NOTYPE LOCAL DEFAULT 2 read.1 │ │ │ │ + 37: 00000172 0 NOTYPE LOCAL DEFAULT 2 read.2 │ │ │ │ + 38: 00000175 0 NOTYPE LOCAL DEFAULT 2 read.3 │ │ │ │ + 39: 0000018a 0 NOTYPE LOCAL DEFAULT 2 read.4 │ │ │ │ + 40: 00000195 0 NOTYPE LOCAL DEFAULT 2 read.5 │ │ │ │ + 41: 0000019f 0 NOTYPE LOCAL DEFAULT 2 read.6 │ │ │ │ + 42: 000000f9 0 NOTYPE LOCAL DEFAULT 2 return │ │ │ │ + 43: 000000a4 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 44: 000000a5 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 45: 000000b2 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 46: 000000bc 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 47: 00000027 0 NOTYPE LOCAL DEFAULT 2 xread.1 │ │ │ │ + 48: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 49: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 50: 00000000 0 SECTION LOCAL DEFAULT 6 │ │ │ │ + 51: 00000000 0 SECTION LOCAL DEFAULT 9 │ │ │ │ + 52: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ │ + 53: 00000025 0 NOTYPE GLOBAL DEFAULT 2 xread │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,9 +1,58 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x85c contains 6 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0xb00 contains 5 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000048 00003314 R_386_16 00000000 start │ │ │ │ -00000054 00000114 R_386_16 00000000 .text │ │ │ │ -00000083 00000114 R_386_16 00000000 .text │ │ │ │ -000000d0 00000114 R_386_16 00000000 .text │ │ │ │ -000000d6 00000114 R_386_16 00000000 .text │ │ │ │ -000000be 00003315 R_386_PC16 00000000 start │ │ │ │ +00000048 00003414 R_386_16 00000000 start │ │ │ │ +00000054 00003014 R_386_16 00000000 .text │ │ │ │ +00000083 00003014 R_386_16 00000000 .text │ │ │ │ +000000d0 00003014 R_386_16 00000000 .text │ │ │ │ +000000d6 00003014 R_386_16 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_info' at offset 0xb28 contains 38 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00003201 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00003301 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00003001 R_386_32 00000000 .text │ │ │ │ +00000014 00003001 R_386_32 00000000 .text │ │ │ │ +000000f8 00003001 R_386_32 00000000 .text │ │ │ │ +0000010e 00003001 R_386_32 00000000 .text │ │ │ │ +00000122 00003001 R_386_32 00000000 .text │ │ │ │ +00000137 00003001 R_386_32 00000000 .text │ │ │ │ +0000014d 00003001 R_386_32 00000000 .text │ │ │ │ +00000165 00003001 R_386_32 00000000 .text │ │ │ │ +0000017a 00003001 R_386_32 00000000 .text │ │ │ │ +00000191 00003001 R_386_32 00000000 .text │ │ │ │ +000001a8 00003001 R_386_32 00000000 .text │ │ │ │ +000001bf 00003001 R_386_32 00000000 .text │ │ │ │ +000001d6 00003001 R_386_32 00000000 .text │ │ │ │ +000001ed 00003001 R_386_32 00000000 .text │ │ │ │ +00000204 00003001 R_386_32 00000000 .text │ │ │ │ +0000021d 00003001 R_386_32 00000000 .text │ │ │ │ +00000236 00003001 R_386_32 00000000 .text │ │ │ │ +0000024f 00003001 R_386_32 00000000 .text │ │ │ │ +00000265 00003001 R_386_32 00000000 .text │ │ │ │ +0000027b 00003001 R_386_32 00000000 .text │ │ │ │ +00000294 00003001 R_386_32 00000000 .text │ │ │ │ +000002ab 00003001 R_386_32 00000000 .text │ │ │ │ +000002c3 00003001 R_386_32 00000000 .text │ │ │ │ +000002da 00003001 R_386_32 00000000 .text │ │ │ │ +000002ef 00003001 R_386_32 00000000 .text │ │ │ │ +00000306 00003001 R_386_32 00000000 .text │ │ │ │ +0000031d 00003001 R_386_32 00000000 .text │ │ │ │ +00000334 00003001 R_386_32 00000000 .text │ │ │ │ +0000034b 00003001 R_386_32 00000000 .text │ │ │ │ +00000362 00003001 R_386_32 00000000 .text │ │ │ │ +00000379 00003001 R_386_32 00000000 .text │ │ │ │ +00000392 00003001 R_386_32 00000000 .text │ │ │ │ +000003ab 00003001 R_386_32 00000000 .text │ │ │ │ +000003c2 00003001 R_386_32 00000000 .text │ │ │ │ +000003d8 00003001 R_386_32 00000000 .text │ │ │ │ +000003ee 00003001 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0xc58 contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00003101 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00003001 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0xc68 contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +0000006a 00003001 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,221 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 298 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 91 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/boot2 │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x4e): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 boot1.S │ │ │ │ + 2 1 0 0 boot1.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x00000065] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x00000067] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x0000006e] Advance Line by 44 to 45 │ │ │ │ + [0x00000070] Copy │ │ │ │ + [0x00000071] Advance Line by 47 to 92 │ │ │ │ + [0x00000073] Advance PC by 37 to 0x25 │ │ │ │ + [0x00000075] Copy │ │ │ │ + [0x00000076] Special opcode 20: advance Address by 1 to 0x26 and Line by 1 to 93 │ │ │ │ + [0x00000077] Special opcode 24: advance Address by 1 to 0x27 and Line by 5 to 98 │ │ │ │ + [0x00000078] Special opcode 48: advance Address by 3 to 0x2a and Line by 1 to 99 │ │ │ │ + [0x00000079] Special opcode 20: advance Address by 1 to 0x2b and Line by 1 to 100 │ │ │ │ + [0x0000007a] Special opcode 20: advance Address by 1 to 0x2c and Line by 1 to 101 │ │ │ │ + [0x0000007b] Special opcode 20: advance Address by 1 to 0x2d and Line by 1 to 102 │ │ │ │ + [0x0000007c] Special opcode 20: advance Address by 1 to 0x2e and Line by 1 to 103 │ │ │ │ + [0x0000007d] Special opcode 34: advance Address by 2 to 0x30 and Line by 1 to 104 │ │ │ │ + [0x0000007e] Special opcode 34: advance Address by 2 to 0x32 and Line by 1 to 105 │ │ │ │ + [0x0000007f] Special opcode 20: advance Address by 1 to 0x33 and Line by 1 to 106 │ │ │ │ + [0x00000080] Special opcode 34: advance Address by 2 to 0x35 and Line by 1 to 107 │ │ │ │ + [0x00000081] Special opcode 34: advance Address by 2 to 0x37 and Line by 1 to 108 │ │ │ │ + [0x00000082] Special opcode 48: advance Address by 3 to 0x3a and Line by 1 to 109 │ │ │ │ + [0x00000083] Special opcode 48: advance Address by 3 to 0x3d and Line by 1 to 110 │ │ │ │ + [0x00000084] Advance Line by 10 to 120 │ │ │ │ + [0x00000086] Special opcode 19: advance Address by 1 to 0x3e and Line by 0 to 120 │ │ │ │ + [0x00000087] Special opcode 20: advance Address by 1 to 0x3f and Line by 1 to 121 │ │ │ │ + [0x00000088] Special opcode 34: advance Address by 2 to 0x41 and Line by 1 to 122 │ │ │ │ + [0x00000089] Special opcode 34: advance Address by 2 to 0x43 and Line by 1 to 123 │ │ │ │ + [0x0000008a] Special opcode 34: advance Address by 2 to 0x45 and Line by 1 to 124 │ │ │ │ + [0x0000008b] Special opcode 34: advance Address by 2 to 0x47 and Line by 1 to 125 │ │ │ │ + [0x0000008c] Special opcode 55: advance Address by 3 to 0x4a and Line by 8 to 133 │ │ │ │ + [0x0000008d] Special opcode 34: advance Address by 2 to 0x4c and Line by 1 to 134 │ │ │ │ + [0x0000008e] Special opcode 48: advance Address by 3 to 0x4f and Line by 1 to 135 │ │ │ │ + [0x0000008f] Special opcode 34: advance Address by 2 to 0x51 and Line by 1 to 136 │ │ │ │ + [0x00000090] Special opcode 20: advance Address by 1 to 0x52 and Line by 1 to 137 │ │ │ │ + [0x00000091] Special opcode 27: advance Address by 1 to 0x53 and Line by 8 to 145 │ │ │ │ + [0x00000092] Special opcode 48: advance Address by 3 to 0x56 and Line by 1 to 146 │ │ │ │ + [0x00000093] Special opcode 48: advance Address by 3 to 0x59 and Line by 1 to 147 │ │ │ │ + [0x00000094] Special opcode 34: advance Address by 2 to 0x5b and Line by 1 to 148 │ │ │ │ + [0x00000095] Special opcode 34: advance Address by 2 to 0x5d and Line by 1 to 149 │ │ │ │ + [0x00000096] Special opcode 48: advance Address by 3 to 0x60 and Line by 1 to 150 │ │ │ │ + [0x00000097] Special opcode 48: advance Address by 3 to 0x63 and Line by 1 to 151 │ │ │ │ + [0x00000098] Special opcode 48: advance Address by 3 to 0x66 and Line by 1 to 152 │ │ │ │ + [0x00000099] Special opcode 34: advance Address by 2 to 0x68 and Line by 1 to 153 │ │ │ │ + [0x0000009a] Special opcode 62: advance Address by 4 to 0x6c and Line by 1 to 154 │ │ │ │ + [0x0000009b] Special opcode 34: advance Address by 2 to 0x6e and Line by 1 to 155 │ │ │ │ + [0x0000009c] Special opcode 34: advance Address by 2 to 0x70 and Line by 1 to 156 │ │ │ │ + [0x0000009d] Special opcode 48: advance Address by 3 to 0x73 and Line by 1 to 157 │ │ │ │ + [0x0000009e] Special opcode 34: advance Address by 2 to 0x75 and Line by 1 to 158 │ │ │ │ + [0x0000009f] Special opcode 48: advance Address by 3 to 0x78 and Line by 1 to 159 │ │ │ │ + [0x000000a0] Special opcode 34: advance Address by 2 to 0x7a and Line by 1 to 160 │ │ │ │ + [0x000000a1] Special opcode 48: advance Address by 3 to 0x7d and Line by 1 to 161 │ │ │ │ + [0x000000a2] Special opcode 34: advance Address by 2 to 0x7f and Line by 1 to 162 │ │ │ │ + [0x000000a3] Special opcode 20: advance Address by 1 to 0x80 and Line by 1 to 163 │ │ │ │ + [0x000000a4] Special opcode 38: advance Address by 2 to 0x82 and Line by 5 to 168 │ │ │ │ + [0x000000a5] Special opcode 48: advance Address by 3 to 0x85 and Line by 1 to 169 │ │ │ │ + [0x000000a6] Special opcode 37: advance Address by 2 to 0x87 and Line by 4 to 173 │ │ │ │ + [0x000000a7] Advance Line by 15 to 188 │ │ │ │ + [0x000000a9] Special opcode 33: advance Address by 2 to 0x89 and Line by 0 to 188 │ │ │ │ + [0x000000aa] Special opcode 62: advance Address by 4 to 0x8d and Line by 1 to 189 │ │ │ │ + [0x000000ab] Special opcode 34: advance Address by 2 to 0x8f and Line by 1 to 190 │ │ │ │ + [0x000000ac] Special opcode 48: advance Address by 3 to 0x92 and Line by 1 to 191 │ │ │ │ + [0x000000ad] Special opcode 48: advance Address by 3 to 0x95 and Line by 1 to 192 │ │ │ │ + [0x000000ae] Special opcode 48: advance Address by 3 to 0x98 and Line by 1 to 193 │ │ │ │ + [0x000000af] Special opcode 34: advance Address by 2 to 0x9a and Line by 1 to 194 │ │ │ │ + [0x000000b0] Special opcode 48: advance Address by 3 to 0x9d and Line by 1 to 195 │ │ │ │ + [0x000000b1] Special opcode 48: advance Address by 3 to 0xa0 and Line by 1 to 196 │ │ │ │ + [0x000000b2] Special opcode 34: advance Address by 2 to 0xa2 and Line by 1 to 197 │ │ │ │ + [0x000000b3] Special opcode 20: advance Address by 1 to 0xa3 and Line by 1 to 198 │ │ │ │ + [0x000000b4] Special opcode 26: advance Address by 1 to 0xa4 and Line by 7 to 205 │ │ │ │ + [0x000000b5] Special opcode 20: advance Address by 1 to 0xa5 and Line by 1 to 206 │ │ │ │ + [0x000000b6] Special opcode 20: advance Address by 1 to 0xa6 and Line by 1 to 207 │ │ │ │ + [0x000000b7] Special opcode 34: advance Address by 2 to 0xa8 and Line by 1 to 208 │ │ │ │ + [0x000000b8] Special opcode 34: advance Address by 2 to 0xaa and Line by 1 to 209 │ │ │ │ + [0x000000b9] Special opcode 34: advance Address by 2 to 0xac and Line by 1 to 210 │ │ │ │ + [0x000000ba] Special opcode 34: advance Address by 2 to 0xae and Line by 1 to 211 │ │ │ │ + [0x000000bb] Special opcode 34: advance Address by 2 to 0xb0 and Line by 1 to 212 │ │ │ │ + [0x000000bc] Special opcode 34: advance Address by 2 to 0xb2 and Line by 1 to 213 │ │ │ │ + [0x000000bd] Special opcode 34: advance Address by 2 to 0xb4 and Line by 1 to 214 │ │ │ │ + [0x000000be] Special opcode 34: advance Address by 2 to 0xb6 and Line by 1 to 215 │ │ │ │ + [0x000000bf] Special opcode 34: advance Address by 2 to 0xb8 and Line by 1 to 216 │ │ │ │ + [0x000000c0] Special opcode 34: advance Address by 2 to 0xba and Line by 1 to 217 │ │ │ │ + [0x000000c1] Special opcode 34: advance Address by 2 to 0xbc and Line by 1 to 218 │ │ │ │ + [0x000000c2] Special opcode 21: advance Address by 1 to 0xbd and Line by 2 to 220 │ │ │ │ + [0x000000c3] Special opcode 53: advance Address by 3 to 0xc0 and Line by 6 to 226 │ │ │ │ + [0x000000c4] Special opcode 48: advance Address by 3 to 0xc3 and Line by 1 to 227 │ │ │ │ + [0x000000c5] Special opcode 48: advance Address by 3 to 0xc6 and Line by 1 to 228 │ │ │ │ + [0x000000c6] Special opcode 48: advance Address by 3 to 0xc9 and Line by 1 to 229 │ │ │ │ + [0x000000c7] Special opcode 20: advance Address by 1 to 0xca and Line by 1 to 230 │ │ │ │ + [0x000000c8] Special opcode 48: advance Address by 3 to 0xcd and Line by 1 to 231 │ │ │ │ + [0x000000c9] Special opcode 34: advance Address by 2 to 0xcf and Line by 1 to 232 │ │ │ │ + [0x000000ca] Advance Line by 9 to 241 │ │ │ │ + [0x000000cc] Special opcode 47: advance Address by 3 to 0xd2 and Line by 0 to 241 │ │ │ │ + [0x000000cd] Special opcode 48: advance Address by 3 to 0xd5 and Line by 1 to 242 │ │ │ │ + [0x000000ce] Special opcode 48: advance Address by 3 to 0xd8 and Line by 1 to 243 │ │ │ │ + [0x000000cf] Special opcode 48: advance Address by 3 to 0xdb and Line by 1 to 244 │ │ │ │ + [0x000000d0] Special opcode 34: advance Address by 2 to 0xdd and Line by 1 to 245 │ │ │ │ + [0x000000d1] Special opcode 34: advance Address by 2 to 0xdf and Line by 1 to 246 │ │ │ │ + [0x000000d2] Special opcode 90: advance Address by 6 to 0xe5 and Line by 1 to 247 │ │ │ │ + [0x000000d3] Special opcode 79: advance Address by 5 to 0xea and Line by 4 to 251 │ │ │ │ + [0x000000d4] Special opcode 48: advance Address by 3 to 0xed and Line by 1 to 252 │ │ │ │ + [0x000000d5] Special opcode 34: advance Address by 2 to 0xef and Line by 1 to 253 │ │ │ │ + [0x000000d6] Special opcode 34: advance Address by 2 to 0xf1 and Line by 1 to 254 │ │ │ │ + [0x000000d7] Special opcode 20: advance Address by 1 to 0xf2 and Line by 1 to 255 │ │ │ │ + [0x000000d8] Special opcode 34: advance Address by 2 to 0xf4 and Line by 1 to 256 │ │ │ │ + [0x000000d9] Special opcode 40: advance Address by 2 to 0xf6 and Line by 7 to 263 │ │ │ │ + [0x000000da] Special opcode 34: advance Address by 2 to 0xf8 and Line by 1 to 264 │ │ │ │ + [0x000000db] Special opcode 20: advance Address by 1 to 0xf9 and Line by 1 to 265 │ │ │ │ + [0x000000dc] Advance Line by 9 to 274 │ │ │ │ + [0x000000de] Special opcode 19: advance Address by 1 to 0xfa and Line by 0 to 274 │ │ │ │ + [0x000000df] Special opcode 132: advance Address by 9 to 0x103 and Line by 1 to 275 │ │ │ │ + [0x000000e0] Special opcode 34: advance Address by 2 to 0x105 and Line by 1 to 276 │ │ │ │ + [0x000000e1] Special opcode 48: advance Address by 3 to 0x108 and Line by 1 to 277 │ │ │ │ + [0x000000e2] Special opcode 34: advance Address by 2 to 0x10a and Line by 1 to 278 │ │ │ │ + [0x000000e3] Special opcode 48: advance Address by 3 to 0x10d and Line by 1 to 279 │ │ │ │ + [0x000000e4] Special opcode 20: advance Address by 1 to 0x10e and Line by 1 to 280 │ │ │ │ + [0x000000e5] Special opcode 34: advance Address by 2 to 0x110 and Line by 1 to 281 │ │ │ │ + [0x000000e6] Special opcode 34: advance Address by 2 to 0x112 and Line by 1 to 282 │ │ │ │ + [0x000000e7] Special opcode 20: advance Address by 1 to 0x113 and Line by 1 to 283 │ │ │ │ + [0x000000e8] Special opcode 34: advance Address by 2 to 0x115 and Line by 1 to 284 │ │ │ │ + [0x000000e9] Special opcode 62: advance Address by 4 to 0x119 and Line by 1 to 285 │ │ │ │ + [0x000000ea] Special opcode 34: advance Address by 2 to 0x11b and Line by 1 to 286 │ │ │ │ + [0x000000eb] Special opcode 48: advance Address by 3 to 0x11e and Line by 1 to 287 │ │ │ │ + [0x000000ec] Special opcode 34: advance Address by 2 to 0x120 and Line by 1 to 288 │ │ │ │ + [0x000000ed] Special opcode 34: advance Address by 2 to 0x122 and Line by 1 to 289 │ │ │ │ + [0x000000ee] Special opcode 34: advance Address by 2 to 0x124 and Line by 1 to 290 │ │ │ │ + [0x000000ef] Special opcode 34: advance Address by 2 to 0x126 and Line by 1 to 291 │ │ │ │ + [0x000000f0] Special opcode 20: advance Address by 1 to 0x127 and Line by 1 to 292 │ │ │ │ + [0x000000f1] Special opcode 20: advance Address by 1 to 0x128 and Line by 1 to 293 │ │ │ │ + [0x000000f2] Special opcode 34: advance Address by 2 to 0x12a and Line by 1 to 294 │ │ │ │ + [0x000000f3] Special opcode 34: advance Address by 2 to 0x12c and Line by 1 to 295 │ │ │ │ + [0x000000f4] Special opcode 34: advance Address by 2 to 0x12e and Line by 1 to 296 │ │ │ │ + [0x000000f5] Special opcode 20: advance Address by 1 to 0x12f and Line by 1 to 297 │ │ │ │ + [0x000000f6] Special opcode 34: advance Address by 2 to 0x131 and Line by 1 to 298 │ │ │ │ + [0x000000f7] Special opcode 48: advance Address by 3 to 0x134 and Line by 1 to 299 │ │ │ │ + [0x000000f8] Special opcode 34: advance Address by 2 to 0x136 and Line by 1 to 300 │ │ │ │ + [0x000000f9] Special opcode 20: advance Address by 1 to 0x137 and Line by 1 to 301 │ │ │ │ + [0x000000fa] Special opcode 62: advance Address by 4 to 0x13b and Line by 1 to 302 │ │ │ │ + [0x000000fb] Special opcode 20: advance Address by 1 to 0x13c and Line by 1 to 303 │ │ │ │ + [0x000000fc] Special opcode 62: advance Address by 4 to 0x140 and Line by 1 to 304 │ │ │ │ + [0x000000fd] Special opcode 48: advance Address by 3 to 0x143 and Line by 1 to 305 │ │ │ │ + [0x000000fe] Special opcode 48: advance Address by 3 to 0x146 and Line by 1 to 306 │ │ │ │ + [0x000000ff] Special opcode 34: advance Address by 2 to 0x148 and Line by 1 to 307 │ │ │ │ + [0x00000100] Special opcode 34: advance Address by 2 to 0x14a and Line by 1 to 308 │ │ │ │ + [0x00000101] Special opcode 20: advance Address by 1 to 0x14b and Line by 1 to 309 │ │ │ │ + [0x00000102] Special opcode 34: advance Address by 2 to 0x14d and Line by 1 to 310 │ │ │ │ + [0x00000103] Special opcode 48: advance Address by 3 to 0x150 and Line by 1 to 311 │ │ │ │ + [0x00000104] Special opcode 34: advance Address by 2 to 0x152 and Line by 1 to 312 │ │ │ │ + [0x00000105] Special opcode 20: advance Address by 1 to 0x153 and Line by 1 to 313 │ │ │ │ + [0x00000106] Special opcode 90: advance Address by 6 to 0x159 and Line by 1 to 314 │ │ │ │ + [0x00000107] Special opcode 20: advance Address by 1 to 0x15a and Line by 1 to 315 │ │ │ │ + [0x00000108] Special opcode 34: advance Address by 2 to 0x15c and Line by 1 to 316 │ │ │ │ + [0x00000109] Special opcode 34: advance Address by 2 to 0x15e and Line by 1 to 317 │ │ │ │ + [0x0000010a] Special opcode 48: advance Address by 3 to 0x161 and Line by 1 to 318 │ │ │ │ + [0x0000010b] Special opcode 34: advance Address by 2 to 0x163 and Line by 1 to 319 │ │ │ │ + [0x0000010c] Special opcode 20: advance Address by 1 to 0x164 and Line by 1 to 320 │ │ │ │ + [0x0000010d] Special opcode 20: advance Address by 1 to 0x165 and Line by 1 to 321 │ │ │ │ + [0x0000010e] Special opcode 34: advance Address by 2 to 0x167 and Line by 1 to 322 │ │ │ │ + [0x0000010f] Special opcode 34: advance Address by 2 to 0x169 and Line by 1 to 323 │ │ │ │ + [0x00000110] Special opcode 48: advance Address by 3 to 0x16c and Line by 1 to 324 │ │ │ │ + [0x00000111] Special opcode 34: advance Address by 2 to 0x16e and Line by 1 to 325 │ │ │ │ + [0x00000112] Special opcode 37: advance Address by 2 to 0x170 and Line by 4 to 329 │ │ │ │ + [0x00000113] Special opcode 35: advance Address by 2 to 0x172 and Line by 2 to 331 │ │ │ │ + [0x00000114] Special opcode 48: advance Address by 3 to 0x175 and Line by 1 to 332 │ │ │ │ + [0x00000115] Special opcode 48: advance Address by 3 to 0x178 and Line by 1 to 333 │ │ │ │ + [0x00000116] Special opcode 20: advance Address by 1 to 0x179 and Line by 1 to 334 │ │ │ │ + [0x00000117] Special opcode 34: advance Address by 2 to 0x17b and Line by 1 to 335 │ │ │ │ + [0x00000118] Special opcode 34: advance Address by 2 to 0x17d and Line by 1 to 336 │ │ │ │ + [0x00000119] Special opcode 20: advance Address by 1 to 0x17e and Line by 1 to 337 │ │ │ │ + [0x0000011a] Special opcode 34: advance Address by 2 to 0x180 and Line by 1 to 338 │ │ │ │ + [0x0000011b] Special opcode 20: advance Address by 1 to 0x181 and Line by 1 to 339 │ │ │ │ + [0x0000011c] Special opcode 34: advance Address by 2 to 0x183 and Line by 1 to 340 │ │ │ │ + [0x0000011d] Special opcode 34: advance Address by 2 to 0x185 and Line by 1 to 341 │ │ │ │ + [0x0000011e] Special opcode 34: advance Address by 2 to 0x187 and Line by 1 to 342 │ │ │ │ + [0x0000011f] Special opcode 20: advance Address by 1 to 0x188 and Line by 1 to 343 │ │ │ │ + [0x00000120] Special opcode 34: advance Address by 2 to 0x18a and Line by 1 to 344 │ │ │ │ + [0x00000121] Special opcode 48: advance Address by 3 to 0x18d and Line by 1 to 345 │ │ │ │ + [0x00000122] Special opcode 48: advance Address by 3 to 0x190 and Line by 1 to 346 │ │ │ │ + [0x00000123] Special opcode 34: advance Address by 2 to 0x192 and Line by 1 to 347 │ │ │ │ + [0x00000124] Special opcode 48: advance Address by 3 to 0x195 and Line by 1 to 348 │ │ │ │ + [0x00000125] Special opcode 34: advance Address by 2 to 0x197 and Line by 1 to 349 │ │ │ │ + [0x00000126] Special opcode 48: advance Address by 3 to 0x19a and Line by 1 to 350 │ │ │ │ + [0x00000127] Special opcode 48: advance Address by 3 to 0x19d and Line by 1 to 351 │ │ │ │ + [0x00000128] Special opcode 34: advance Address by 2 to 0x19f and Line by 1 to 352 │ │ │ │ + [0x00000129] Advance PC by 97 to 0x200 │ │ │ │ + [0x0000012b] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,289 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x3f2 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x200 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S │ │ │ │ + <52> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/boot2 │ │ │ │ + <98> DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : start │ │ │ │ + DW_AT_decl_file : 0x1 │ │ │ │ + DW_AT_decl_line : 0x1f │ │ │ │ + DW_AT_low_pc : 0x0 │ │ │ │ + DW_AT_prototyped : 0 │ │ │ │ + <2>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2>: Abbrev Number: 0 │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <100> DW_AT_name : oemid │ │ │ │ + <106> DW_AT_decl_file : 0x2 │ │ │ │ + <10a> DW_AT_decl_line : 0x22 │ │ │ │ + <10e> DW_AT_low_pc : 0x3 │ │ │ │ + <112> DW_AT_prototyped : 0 │ │ │ │ + <2><113>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><114>: Abbrev Number: 0 │ │ │ │ + <1><115>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <116> DW_AT_name : bpb │ │ │ │ + <11a> DW_AT_decl_file : 0x2 │ │ │ │ + <11e> DW_AT_decl_line : 0x25 │ │ │ │ + <122> DW_AT_low_pc : 0xb │ │ │ │ + <126> DW_AT_prototyped : 0 │ │ │ │ + <2><127>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><128>: Abbrev Number: 0 │ │ │ │ + <1><129>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <12a> DW_AT_name : ebpb │ │ │ │ + <12f> DW_AT_decl_file : 0x2 │ │ │ │ + <133> DW_AT_decl_line : 0x33 │ │ │ │ + <137> DW_AT_low_pc : 0x24 │ │ │ │ + <13b> DW_AT_prototyped : 0 │ │ │ │ + <2><13c>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><13d>: Abbrev Number: 0 │ │ │ │ + <1><13e>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <13f> DW_AT_name : xread │ │ │ │ + <145> DW_AT_decl_file : 0x2 │ │ │ │ + <149> DW_AT_decl_line : 0x37 │ │ │ │ + <14d> DW_AT_low_pc : 0x25 │ │ │ │ + <151> DW_AT_prototyped : 0 │ │ │ │ + <2><152>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><153>: Abbrev Number: 0 │ │ │ │ + <1><154>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <155> DW_AT_name : xread.1 │ │ │ │ + <15d> DW_AT_decl_file : 0x2 │ │ │ │ + <161> DW_AT_decl_line : 0x3c │ │ │ │ + <165> DW_AT_low_pc : 0x27 │ │ │ │ + <169> DW_AT_prototyped : 0 │ │ │ │ + <2><16a>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><16b>: Abbrev Number: 0 │ │ │ │ + <1><16c>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <16d> DW_AT_name : main │ │ │ │ + <172> DW_AT_decl_file : 0x2 │ │ │ │ + <176> DW_AT_decl_line : 0x4b │ │ │ │ + <17a> DW_AT_low_pc : 0x3e │ │ │ │ + <17e> DW_AT_prototyped : 0 │ │ │ │ + <2><17f>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><180>: Abbrev Number: 0 │ │ │ │ + <1><181>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <182> DW_AT_name : main.1 │ │ │ │ + <189> DW_AT_decl_file : 0x2 │ │ │ │ + <18d> DW_AT_decl_line : 0x6a │ │ │ │ + <191> DW_AT_low_pc : 0x63 │ │ │ │ + <195> DW_AT_prototyped : 0 │ │ │ │ + <2><196>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><197>: Abbrev Number: 0 │ │ │ │ + <1><198>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <199> DW_AT_name : main.2 │ │ │ │ + <1a0> DW_AT_decl_file : 0x2 │ │ │ │ + <1a4> DW_AT_decl_line : 0x6c │ │ │ │ + <1a8> DW_AT_low_pc : 0x68 │ │ │ │ + <1ac> DW_AT_prototyped : 0 │ │ │ │ + <2><1ad>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1ae>: Abbrev Number: 0 │ │ │ │ + <1><1af>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1b0> DW_AT_name : main.3 │ │ │ │ + <1b7> DW_AT_decl_file : 0x2 │ │ │ │ + <1bb> DW_AT_decl_line : 0x71 │ │ │ │ + <1bf> DW_AT_low_pc : 0x75 │ │ │ │ + <1c3> DW_AT_prototyped : 0 │ │ │ │ + <2><1c4>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1c5>: Abbrev Number: 0 │ │ │ │ + <1><1c6>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1c7> DW_AT_name : main.4 │ │ │ │ + <1ce> DW_AT_decl_file : 0x2 │ │ │ │ + <1d2> DW_AT_decl_line : 0x80 │ │ │ │ + <1d6> DW_AT_low_pc : 0x87 │ │ │ │ + <1da> DW_AT_prototyped : 0 │ │ │ │ + <2><1db>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1dc>: Abbrev Number: 0 │ │ │ │ + <1><1dd>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1de> DW_AT_name : main.5 │ │ │ │ + <1e5> DW_AT_decl_file : 0x2 │ │ │ │ + <1e9> DW_AT_decl_line : 0x82 │ │ │ │ + <1ed> DW_AT_low_pc : 0x89 │ │ │ │ + <1f1> DW_AT_prototyped : 0 │ │ │ │ + <2><1f2>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1f3>: Abbrev Number: 0 │ │ │ │ + <1><1f4>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1f5> DW_AT_name : seta20 │ │ │ │ + <1fc> DW_AT_decl_file : 0x2 │ │ │ │ + <200> DW_AT_decl_line : 0x93 │ │ │ │ + <204> DW_AT_low_pc : 0xa4 │ │ │ │ + <208> DW_AT_prototyped : 0 │ │ │ │ + <2><209>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><20a>: Abbrev Number: 0 │ │ │ │ + <1><20b>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <20c> DW_AT_name : seta20.1 │ │ │ │ + <215> DW_AT_decl_file : 0x2 │ │ │ │ + <219> DW_AT_decl_line : 0x94 │ │ │ │ + <21d> DW_AT_low_pc : 0xa5 │ │ │ │ + <221> DW_AT_prototyped : 0 │ │ │ │ + <2><222>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><223>: Abbrev Number: 0 │ │ │ │ + <1><224>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <225> DW_AT_name : seta20.2 │ │ │ │ + <22e> DW_AT_decl_file : 0x2 │ │ │ │ + <232> DW_AT_decl_line : 0x9b │ │ │ │ + <236> DW_AT_low_pc : 0xb2 │ │ │ │ + <23a> DW_AT_prototyped : 0 │ │ │ │ + <2><23b>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><23c>: Abbrev Number: 0 │ │ │ │ + <1><23d>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <23e> DW_AT_name : seta20.3 │ │ │ │ + <247> DW_AT_decl_file : 0x2 │ │ │ │ + <24b> DW_AT_decl_line : 0xa0 │ │ │ │ + <24f> DW_AT_low_pc : 0xbc │ │ │ │ + <253> DW_AT_prototyped : 0 │ │ │ │ + <2><254>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><255>: Abbrev Number: 0 │ │ │ │ + <1><256>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <257> DW_AT_name : nread │ │ │ │ + <25d> DW_AT_decl_file : 0x2 │ │ │ │ + <261> DW_AT_decl_line : 0xa8 │ │ │ │ + <265> DW_AT_low_pc : 0xc0 │ │ │ │ + <269> DW_AT_prototyped : 0 │ │ │ │ + <2><26a>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><26b>: Abbrev Number: 0 │ │ │ │ + <1><26c>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <26d> DW_AT_name : error │ │ │ │ + <273> DW_AT_decl_file : 0x2 │ │ │ │ + <277> DW_AT_decl_line : 0xb7 │ │ │ │ + <27b> DW_AT_low_pc : 0xd2 │ │ │ │ + <27f> DW_AT_prototyped : 0 │ │ │ │ + <2><280>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><281>: Abbrev Number: 0 │ │ │ │ + <1><282>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <283> DW_AT_name : putstr.0 │ │ │ │ + <28c> DW_AT_decl_file : 0x2 │ │ │ │ + <290> DW_AT_decl_line : 0xc1 │ │ │ │ + <294> DW_AT_low_pc : 0xea │ │ │ │ + <298> DW_AT_prototyped : 0 │ │ │ │ + <2><299>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><29a>: Abbrev Number: 0 │ │ │ │ + <1><29b>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <29c> DW_AT_name : putstr │ │ │ │ + <2a3> DW_AT_decl_file : 0x2 │ │ │ │ + <2a7> DW_AT_decl_line : 0xc4 │ │ │ │ + <2ab> DW_AT_low_pc : 0xf1 │ │ │ │ + <2af> DW_AT_prototyped : 0 │ │ │ │ + <2><2b0>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2b1>: Abbrev Number: 0 │ │ │ │ + <1><2b2>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2b3> DW_AT_name : ereturn │ │ │ │ + <2bb> DW_AT_decl_file : 0x2 │ │ │ │ + <2bf> DW_AT_decl_line : 0xcd │ │ │ │ + <2c3> DW_AT_low_pc : 0xf6 │ │ │ │ + <2c7> DW_AT_prototyped : 0 │ │ │ │ + <2><2c8>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2c9>: Abbrev Number: 0 │ │ │ │ + <1><2ca>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2cb> DW_AT_name : return │ │ │ │ + <2d2> DW_AT_decl_file : 0x2 │ │ │ │ + <2d6> DW_AT_decl_line : 0xcf │ │ │ │ + <2da> DW_AT_low_pc : 0xf9 │ │ │ │ + <2de> DW_AT_prototyped : 0 │ │ │ │ + <2><2df>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2e0>: Abbrev Number: 0 │ │ │ │ + <1><2e1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2e2> DW_AT_name : read │ │ │ │ + <2e7> DW_AT_decl_file : 0x2 │ │ │ │ + <2eb> DW_AT_decl_line : 0xd1 │ │ │ │ + <2ef> DW_AT_low_pc : 0xfa │ │ │ │ + <2f3> DW_AT_prototyped : 0 │ │ │ │ + <2><2f4>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2f5>: Abbrev Number: 0 │ │ │ │ + <1><2f6>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2f7> DW_AT_name : read.1 │ │ │ │ + <2fe> DW_AT_decl_file : 0x2 │ │ │ │ + <302> DW_AT_decl_line : 0xe3 │ │ │ │ + <306> DW_AT_low_pc : 0x127 │ │ │ │ + <30a> DW_AT_prototyped : 0 │ │ │ │ + <2><30b>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><30c>: Abbrev Number: 0 │ │ │ │ + <1><30d>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <30e> DW_AT_name : read.2 │ │ │ │ + <315> DW_AT_decl_file : 0x2 │ │ │ │ + <319> DW_AT_decl_line : 0x10a │ │ │ │ + <31d> DW_AT_low_pc : 0x172 │ │ │ │ + <321> DW_AT_prototyped : 0 │ │ │ │ + <2><322>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><323>: Abbrev Number: 0 │ │ │ │ + <1><324>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <325> DW_AT_name : read.3 │ │ │ │ + <32c> DW_AT_decl_file : 0x2 │ │ │ │ + <330> DW_AT_decl_line : 0x10b │ │ │ │ + <334> DW_AT_low_pc : 0x175 │ │ │ │ + <338> DW_AT_prototyped : 0 │ │ │ │ + <2><339>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><33a>: Abbrev Number: 0 │ │ │ │ + <1><33b>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <33c> DW_AT_name : read.4 │ │ │ │ + <343> DW_AT_decl_file : 0x2 │ │ │ │ + <347> DW_AT_decl_line : 0x117 │ │ │ │ + <34b> DW_AT_low_pc : 0x18a │ │ │ │ + <34f> DW_AT_prototyped : 0 │ │ │ │ + <2><350>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><351>: Abbrev Number: 0 │ │ │ │ + <1><352>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <353> DW_AT_name : read.5 │ │ │ │ + <35a> DW_AT_decl_file : 0x2 │ │ │ │ + <35e> DW_AT_decl_line : 0x11b │ │ │ │ + <362> DW_AT_low_pc : 0x195 │ │ │ │ + <366> DW_AT_prototyped : 0 │ │ │ │ + <2><367>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><368>: Abbrev Number: 0 │ │ │ │ + <1><369>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <36a> DW_AT_name : read.6 │ │ │ │ + <371> DW_AT_decl_file : 0x2 │ │ │ │ + <375> DW_AT_decl_line : 0x11f │ │ │ │ + <379> DW_AT_low_pc : 0x19f │ │ │ │ + <37d> DW_AT_prototyped : 0 │ │ │ │ + <2><37e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><37f>: Abbrev Number: 0 │ │ │ │ + <1><380>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <381> DW_AT_name : msg_read │ │ │ │ + <38a> DW_AT_decl_file : 0x2 │ │ │ │ + <38e> DW_AT_decl_line : 0x123 │ │ │ │ + <392> DW_AT_low_pc : 0x1a0 │ │ │ │ + <396> DW_AT_prototyped : 0 │ │ │ │ + <2><397>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><398>: Abbrev Number: 0 │ │ │ │ + <1><399>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <39a> DW_AT_name : msg_part │ │ │ │ + <3a3> DW_AT_decl_file : 0x2 │ │ │ │ + <3a7> DW_AT_decl_line : 0x124 │ │ │ │ + <3ab> DW_AT_low_pc : 0x1a5 │ │ │ │ + <3af> DW_AT_prototyped : 0 │ │ │ │ + <2><3b0>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><3b1>: Abbrev Number: 0 │ │ │ │ + <1><3b2>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <3b3> DW_AT_name : prompt │ │ │ │ + <3ba> DW_AT_decl_file : 0x2 │ │ │ │ + <3be> DW_AT_decl_line : 0x126 │ │ │ │ + <3c2> DW_AT_low_pc : 0x1aa │ │ │ │ + <3c6> DW_AT_prototyped : 0 │ │ │ │ + <2><3c7>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><3c8>: Abbrev Number: 0 │ │ │ │ + <1><3c9>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <3ca> DW_AT_name : flags │ │ │ │ + <3d0> DW_AT_decl_file : 0x2 │ │ │ │ + <3d4> DW_AT_decl_line : 0x128 │ │ │ │ + <3d8> DW_AT_low_pc : 0x1b3 │ │ │ │ + <3dc> DW_AT_prototyped : 0 │ │ │ │ + <2><3dd>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><3de>: Abbrev Number: 0 │ │ │ │ + <1><3df>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <3e0> DW_AT_name : part4 │ │ │ │ + <3e6> DW_AT_decl_file : 0x2 │ │ │ │ + <3ea> DW_AT_decl_line : 0x12f │ │ │ │ + <3ee> DW_AT_low_pc : 0x1ee │ │ │ │ + <3f2> DW_AT_prototyped : 0 │ │ │ │ + <2><3f3>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><3f4>: Abbrev Number: 0 │ │ │ │ + <1><3f5>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000200 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000200 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,14 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ start(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:45 │ │ │ │ 0: eb 3c jmp 3e
│ │ │ │ ... │ │ │ │ │ │ │ │ 00000003 : │ │ │ │ ... │ │ │ │ │ │ │ │ 0000000b : │ │ │ │ @@ -21,287 +22,442 @@ │ │ │ │ ... │ │ │ │ │ │ │ │ 00000024 : │ │ │ │ ... │ │ │ │ │ │ │ │ 00000025 : │ │ │ │ xread(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:92 │ │ │ │ 25: 16 push %ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:93 │ │ │ │ 26: 1f pop %ds │ │ │ │ │ │ │ │ 00000027 : │ │ │ │ xread.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:98 │ │ │ │ 27: 66 6a 00 pushw $0x0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:99 │ │ │ │ 2a: 51 push %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:100 │ │ │ │ 2b: 50 push %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:101 │ │ │ │ 2c: 06 push %es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:102 │ │ │ │ 2d: 53 push %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:103 │ │ │ │ 2e: 31 c0 xor %eax,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:104 │ │ │ │ 30: 88 f0 mov %dh,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:105 │ │ │ │ 32: 50 push %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:106 │ │ │ │ 33: 6a 10 push $0x10 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:107 │ │ │ │ 35: 89 e5 mov %esp,%ebp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:108 │ │ │ │ 37: e8 c0 00 8d 66 call 668d00fc │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:109 │ │ │ │ 3c: 10 cb adc %cl,%bl │ │ │ │ │ │ │ │ 0000003e
: │ │ │ │ main(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:120 │ │ │ │ 3e: fc cld │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:121 │ │ │ │ 3f: 31 c9 xor %ecx,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:122 │ │ │ │ 41: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:123 │ │ │ │ 43: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:124 │ │ │ │ 45: 8e d1 mov %ecx,%ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:125 │ │ │ │ 47: bc 00 00 89 e6 mov $0xe6890000,%esp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:134 │ │ │ │ 4c: bf 00 07 fe c5 mov $0xc5fe0700,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:136 │ │ │ │ 51: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:145 │ │ │ │ 53: be ee 01 80 fa mov $0xfa8001ee,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:146 │ │ │ │ 58: 80 72 2c b6 xorb $0xb6,0x2c(%edx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:148 │ │ │ │ 5c: 01 e8 add %ebp,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:149 │ │ │ │ 5e: 60 pusha │ │ │ │ 5f: 00 .byte 0x0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:150 │ │ │ │ 60: b9 .byte 0xb9 │ │ │ │ 61: 01 00 add %eax,(%eax) │ │ │ │ │ │ │ │ 00000063 : │ │ │ │ main.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:151 │ │ │ │ 63: be be 8d b6 01 mov $0x1b68dbe,%esi │ │ │ │ │ │ │ │ 00000068 : │ │ │ │ main.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:153 │ │ │ │ 68: 80 7c 04 a5 75 cmpb $0x75,-0x5b(%esp,%eax,1) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:154 │ │ │ │ 6d: 07 pop %es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:155 │ │ │ │ 6e: e3 19 jecxz 89 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:156 │ │ │ │ 70: f6 04 80 75 testb $0x75,(%eax,%eax,4) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:157 │ │ │ │ 74: 14 .byte 0x14 │ │ │ │ │ │ │ │ 00000075 : │ │ │ │ main.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:158 │ │ │ │ 75: 83 c6 10 add $0x10,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:159 │ │ │ │ 78: fe c6 inc %dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:160 │ │ │ │ 7a: 80 fe 05 cmp $0x5,%dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:161 │ │ │ │ 7d: 72 e9 jb 68 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:162 │ │ │ │ 7f: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:163 │ │ │ │ 80: e3 e1 jecxz 63 │ │ │ │ - 82: be a2 01 eb 4b mov $0x4beb01a2,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:168 │ │ │ │ + 82: be a5 01 eb 4b mov $0x4beb01a5,%esi │ │ │ │ │ │ │ │ 00000087 : │ │ │ │ main.4(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:173 │ │ │ │ 87: 31 d2 xor %edx,%edx │ │ │ │ │ │ │ │ 00000089 : │ │ │ │ main.5(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:188 │ │ │ │ 89: 89 16 mov %edx,(%esi) │ │ │ │ 8b: 00 09 add %cl,(%ecx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:189 │ │ │ │ 8d: b6 10 mov $0x10,%dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:190 │ │ │ │ 8f: e8 2e 00 bb 00 call bb00c2 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:191 │ │ │ │ 94: 90 nop │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:192 │ │ │ │ 95: 8b 77 0a mov 0xa(%edi),%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:193 │ │ │ │ 98: 01 de add %ebx,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:194 │ │ │ │ 9a: bf 00 c0 b9 00 mov $0xb9c000,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:195 │ │ │ │ 9f: ae scas %es:(%edi),%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:196 │ │ │ │ a0: 29 f1 sub %esi,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:197 │ │ │ │ a2: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ │ │ │ │ 000000a4 : │ │ │ │ seta20(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:205 │ │ │ │ a4: fa cli │ │ │ │ │ │ │ │ 000000a5 : │ │ │ │ seta20.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:206 │ │ │ │ a5: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:207 │ │ │ │ a6: 74 14 je bc │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:208 │ │ │ │ a8: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:209 │ │ │ │ aa: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:210 │ │ │ │ ac: 75 f7 jne a5 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:211 │ │ │ │ ae: b0 d1 mov $0xd1,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:212 │ │ │ │ b0: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ 000000b2 : │ │ │ │ seta20.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:213 │ │ │ │ b2: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:214 │ │ │ │ b4: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:215 │ │ │ │ b6: 75 fa jne b2 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:216 │ │ │ │ b8: b0 df mov $0xdf,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:217 │ │ │ │ ba: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ 000000bc : │ │ │ │ seta20.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:218 │ │ │ │ bc: fb sti │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:220 │ │ │ │ bd: e9 .byte 0xe9 │ │ │ │ - be: 0e push %cs │ │ │ │ - bf: 14 .byte 0x14 │ │ │ │ + be: 50 push %eax │ │ │ │ + bf: 13 .byte 0x13 │ │ │ │ │ │ │ │ 000000c0 : │ │ │ │ nread(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:226 │ │ │ │ c0: bb 00 8c 8b 44 mov $0x448b8c00,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:227 │ │ │ │ c5: 08 8b 4c 0a 0e e8 or %cl,-0x17f1f5b4(%ebx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:230 │ │ │ │ cb: 5a pop %edx │ │ │ │ cc: ff 73 2a pushl 0x2a(%ebx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:232 │ │ │ │ cf: be .byte 0xbe │ │ │ │ - d0: 9d popf │ │ │ │ + d0: a0 .byte 0xa0 │ │ │ │ d1: 01 .byte 0x1 │ │ │ │ │ │ │ │ 000000d2 : │ │ │ │ error(): │ │ │ │ - d2: e8 1c 00 be a7 call a7be00f3 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:241 │ │ │ │ + d2: e8 1c 00 be aa call aabe00f3 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:242 │ │ │ │ d7: 01 e8 add %ebp,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:243 │ │ │ │ d9: 16 push %ss │ │ │ │ da: 00 30 add %dh,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:244 │ │ │ │ dc: e4 cd in $0xcd,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:245 │ │ │ │ de: 16 push %ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:246 │ │ │ │ df: c7 06 72 04 34 12 movl $0x12340472,(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:247 │ │ │ │ e5: ea .byte 0xea │ │ │ │ e6: f0 ff 00 lock incl (%eax) │ │ │ │ e9: f0 lock │ │ │ │ │ │ │ │ 000000ea : │ │ │ │ putstr.0(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:251 │ │ │ │ ea: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:253 │ │ │ │ ef: cd 10 int $0x10 │ │ │ │ │ │ │ │ 000000f1 : │ │ │ │ putstr(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:254 │ │ │ │ f1: ac lods %ds:(%esi),%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:255 │ │ │ │ f2: 84 c0 test %al,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:256 │ │ │ │ f4: 75 f4 jne ea │ │ │ │ │ │ │ │ 000000f6 : │ │ │ │ ereturn(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:263 │ │ │ │ f6: b4 01 mov $0x1,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:264 │ │ │ │ f8: f9 stc │ │ │ │ │ │ │ │ 000000f9 : │ │ │ │ return(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:265 │ │ │ │ f9: c3 ret │ │ │ │ │ │ │ │ 000000fa : │ │ │ │ read(): │ │ │ │ - fa: 2e f6 06 b0 testb $0xb0,%cs:(%esi) │ │ │ │ - fe: 08 80 74 22 80 fa or %al,-0x57fdd8c(%eax) │ │ │ │ - 104: 80 72 1d bb xorb $0xbb,0x1d(%edx) │ │ │ │ - 108: aa stos %al,%es:(%edi) │ │ │ │ - 109: 55 push %ebp │ │ │ │ - 10a: 52 push %edx │ │ │ │ - 10b: b4 41 mov $0x41,%ah │ │ │ │ - 10d: cd 13 int $0x13 │ │ │ │ - 10f: 5a pop %edx │ │ │ │ - 110: 72 12 jb 124 │ │ │ │ - 112: 81 fb 55 aa 75 0c cmp $0xc75aa55,%ebx │ │ │ │ - 118: f6 c1 01 test $0x1,%cl │ │ │ │ - 11b: 74 07 je 124 │ │ │ │ - 11d: 89 ee mov %ebp,%esi │ │ │ │ - 11f: b4 42 mov $0x42,%ah │ │ │ │ - 121: cd 13 int $0x13 │ │ │ │ - 123: c3 ret │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:274 │ │ │ │ + fa: 2e 67 f6 05 b3 testb $0xb3,%cs:(%di) │ │ │ │ + ff: 08 00 or %al,(%eax) │ │ │ │ + 101: 00 80 74 22 80 fa add %al,-0x57fdd8c(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:276 │ │ │ │ + 107: 80 72 1d bb xorb $0xbb,0x1d(%edx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:278 │ │ │ │ + 10b: aa stos %al,%es:(%edi) │ │ │ │ + 10c: 55 push %ebp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:279 │ │ │ │ + 10d: 52 push %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:280 │ │ │ │ + 10e: b4 41 mov $0x41,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:281 │ │ │ │ + 110: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:282 │ │ │ │ + 112: 5a pop %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:283 │ │ │ │ + 113: 72 12 jb 127 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:284 │ │ │ │ + 115: 81 fb 55 aa 75 0c cmp $0xc75aa55,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:286 │ │ │ │ + 11b: f6 c1 01 test $0x1,%cl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:287 │ │ │ │ + 11e: 74 07 je 127 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:288 │ │ │ │ + 120: 89 ee mov %ebp,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:289 │ │ │ │ + 122: b4 42 mov $0x42,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:290 │ │ │ │ + 124: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:291 │ │ │ │ + 126: c3 ret │ │ │ │ │ │ │ │ -00000124 : │ │ │ │ +00000127 : │ │ │ │ read.1(): │ │ │ │ - 124: 52 push %edx │ │ │ │ - 125: b4 08 mov $0x8,%ah │ │ │ │ - 127: cd 13 int $0x13 │ │ │ │ - 129: 88 f5 mov %dh,%ch │ │ │ │ - 12b: 5a pop %edx │ │ │ │ - 12c: 72 cb jb f9 │ │ │ │ - 12e: 80 e1 3f and $0x3f,%cl │ │ │ │ - 131: 74 c3 je f6 │ │ │ │ - 133: fa cli │ │ │ │ - 134: 66 8b 46 08 mov 0x8(%esi),%ax │ │ │ │ - 138: 52 push %edx │ │ │ │ - 139: 66 0f b6 d9 movzbw %cl,%bx │ │ │ │ - 13d: 66 31 d2 xor %dx,%dx │ │ │ │ - 140: 66 f7 f3 div %bx │ │ │ │ - 143: 88 eb mov %ch,%bl │ │ │ │ - 145: 88 d5 mov %dl,%ch │ │ │ │ - 147: 43 inc %ebx │ │ │ │ - 148: 30 d2 xor %dl,%dl │ │ │ │ - 14a: 66 f7 f3 div %bx │ │ │ │ - 14d: 88 d7 mov %dl,%bh │ │ │ │ - 14f: 5a pop %edx │ │ │ │ - 150: 66 3d ff 03 cmp $0x3ff,%ax │ │ │ │ - 154: 00 00 add %al,(%eax) │ │ │ │ - 156: fb sti │ │ │ │ - 157: 77 9d ja f6 │ │ │ │ - 159: 86 c4 xchg %al,%ah │ │ │ │ - 15b: c0 c8 02 ror $0x2,%al │ │ │ │ - 15e: 08 e8 or %ch,%al │ │ │ │ - 160: 40 inc %eax │ │ │ │ - 161: 91 xchg %eax,%ecx │ │ │ │ - 162: 88 fe mov %bh,%dh │ │ │ │ - 164: 28 e0 sub %ah,%al │ │ │ │ - 166: 8a 66 02 mov 0x2(%esi),%ah │ │ │ │ - 169: 38 e0 cmp %ah,%al │ │ │ │ - 16b: 72 02 jb 16f │ │ │ │ - 16d: b0 01 mov $0x1,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:292 │ │ │ │ + 127: 52 push %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:293 │ │ │ │ + 128: b4 08 mov $0x8,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:294 │ │ │ │ + 12a: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:295 │ │ │ │ + 12c: 88 f5 mov %dh,%ch │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:296 │ │ │ │ + 12e: 5a pop %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:297 │ │ │ │ + 12f: 72 c8 jb f9 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:298 │ │ │ │ + 131: 80 e1 3f and $0x3f,%cl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:299 │ │ │ │ + 134: 74 c0 je f6 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:300 │ │ │ │ + 136: fa cli │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:301 │ │ │ │ + 137: 66 8b 46 08 mov 0x8(%esi),%ax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:302 │ │ │ │ + 13b: 52 push %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:303 │ │ │ │ + 13c: 66 0f b6 d9 movzbw %cl,%bx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:304 │ │ │ │ + 140: 66 31 d2 xor %dx,%dx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:305 │ │ │ │ + 143: 66 f7 f3 div %bx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:306 │ │ │ │ + 146: 88 eb mov %ch,%bl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:307 │ │ │ │ + 148: 88 d5 mov %dl,%ch │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:308 │ │ │ │ + 14a: 43 inc %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:309 │ │ │ │ + 14b: 30 d2 xor %dl,%dl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:310 │ │ │ │ + 14d: 66 f7 f3 div %bx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:311 │ │ │ │ + 150: 88 d7 mov %dl,%bh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:312 │ │ │ │ + 152: 5a pop %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:313 │ │ │ │ + 153: 66 3d ff 03 cmp $0x3ff,%ax │ │ │ │ + 157: 00 00 add %al,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:314 │ │ │ │ + 159: fb sti │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:315 │ │ │ │ + 15a: 77 9a ja f6 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:316 │ │ │ │ + 15c: 86 c4 xchg %al,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:317 │ │ │ │ + 15e: c0 c8 02 ror $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:318 │ │ │ │ + 161: 08 e8 or %ch,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:319 │ │ │ │ + 163: 40 inc %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:320 │ │ │ │ + 164: 91 xchg %eax,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:321 │ │ │ │ + 165: 88 fe mov %bh,%dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:322 │ │ │ │ + 167: 28 e0 sub %ah,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:323 │ │ │ │ + 169: 8a 66 02 mov 0x2(%esi),%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:324 │ │ │ │ + 16c: 38 e0 cmp %ah,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:325 │ │ │ │ + 16e: 72 02 jb 172 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:329 │ │ │ │ + 170: b0 01 mov $0x1,%al │ │ │ │ │ │ │ │ -0000016f : │ │ │ │ +00000172 : │ │ │ │ read.2(): │ │ │ │ - 16f: bf .byte 0xbf │ │ │ │ - 170: 05 .byte 0x5 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:331 │ │ │ │ + 172: bf .byte 0xbf │ │ │ │ + 173: 05 .byte 0x5 │ │ │ │ ... │ │ │ │ │ │ │ │ -00000172 : │ │ │ │ +00000175 : │ │ │ │ read.3(): │ │ │ │ - 172: c4 5e 04 les 0x4(%esi),%ebx │ │ │ │ - 175: 50 push %eax │ │ │ │ - 176: b4 02 mov $0x2,%ah │ │ │ │ - 178: cd 13 int $0x13 │ │ │ │ - 17a: 5b pop %ebx │ │ │ │ - 17b: 73 0a jae 187 │ │ │ │ - 17d: 4f dec %edi │ │ │ │ - 17e: 74 1c je 19c │ │ │ │ - 180: 30 e4 xor %ah,%ah │ │ │ │ - 182: cd 13 int $0x13 │ │ │ │ - 184: 93 xchg %eax,%ebx │ │ │ │ - 185: eb eb jmp 172 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:332 │ │ │ │ + 175: c4 5e 04 les 0x4(%esi),%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:333 │ │ │ │ + 178: 50 push %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:334 │ │ │ │ + 179: b4 02 mov $0x2,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:335 │ │ │ │ + 17b: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:336 │ │ │ │ + 17d: 5b pop %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:337 │ │ │ │ + 17e: 73 0a jae 18a │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:338 │ │ │ │ + 180: 4f dec %edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:339 │ │ │ │ + 181: 74 1c je 19f │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:340 │ │ │ │ + 183: 30 e4 xor %ah,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:341 │ │ │ │ + 185: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:342 │ │ │ │ + 187: 93 xchg %eax,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:343 │ │ │ │ + 188: eb eb jmp 175 │ │ │ │ │ │ │ │ -00000187 : │ │ │ │ +0000018a : │ │ │ │ read.4(): │ │ │ │ - 187: 0f b6 c3 movzbl %bl,%eax │ │ │ │ - 18a: 01 46 08 add %eax,0x8(%esi) │ │ │ │ - 18d: 73 03 jae 192 │ │ │ │ - 18f: ff 46 0a incl 0xa(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:344 │ │ │ │ + 18a: 0f b6 c3 movzbl %bl,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:345 │ │ │ │ + 18d: 01 46 08 add %eax,0x8(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:346 │ │ │ │ + 190: 73 03 jae 195 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:347 │ │ │ │ + 192: ff 46 0a incl 0xa(%esi) │ │ │ │ │ │ │ │ -00000192 : │ │ │ │ +00000195 : │ │ │ │ read.5(): │ │ │ │ - 192: d0 e3 shl %bl │ │ │ │ - 194: 00 5e 05 add %bl,0x5(%esi) │ │ │ │ - 197: 28 46 02 sub %al,0x2(%esi) │ │ │ │ - 19a: 77 88 ja 124 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:348 │ │ │ │ + 195: d0 e3 shl %bl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:349 │ │ │ │ + 197: 00 5e 05 add %bl,0x5(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:350 │ │ │ │ + 19a: 28 46 02 sub %al,0x2(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:351 │ │ │ │ + 19d: 77 88 ja 127 │ │ │ │ │ │ │ │ -0000019c : │ │ │ │ +0000019f : │ │ │ │ read.6(): │ │ │ │ - 19c: c3 ret │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/boot2/boot1.S:352 │ │ │ │ + 19f: c3 ret │ │ │ │ │ │ │ │ -0000019d : │ │ │ │ +000001a0 : │ │ │ │ msg_read(): │ │ │ │ - 19d: 52 push %edx │ │ │ │ - 19e: 65 61 gs popa │ │ │ │ - 1a0: 64 fs │ │ │ │ + 1a0: 52 push %edx │ │ │ │ + 1a1: 65 61 gs popa │ │ │ │ + 1a3: 64 fs │ │ │ │ ... │ │ │ │ │ │ │ │ -000001a2 : │ │ │ │ +000001a5 : │ │ │ │ msg_part(): │ │ │ │ - 1a2: 42 inc %edx │ │ │ │ - 1a3: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 1a4: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 1a5: 74 00 je 1a7 │ │ │ │ + 1a5: 42 inc %edx │ │ │ │ + 1a6: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 1a7: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 1a8: 74 00 je 1aa │ │ │ │ │ │ │ │ -000001a7 : │ │ │ │ +000001aa : │ │ │ │ prompt(): │ │ │ │ - 1a7: 20 65 72 and %ah,0x72(%ebp) │ │ │ │ - 1aa: 72 6f jb 21b │ │ │ │ - 1ac: 72 0d jb 1bb │ │ │ │ - 1ae: 0a 00 or (%eax),%al │ │ │ │ + 1aa: 20 65 72 and %ah,0x72(%ebp) │ │ │ │ + 1ad: 72 6f jb 21e │ │ │ │ + 1af: 72 0d jb 1be │ │ │ │ + 1b1: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000001b0 : │ │ │ │ +000001b3 : │ │ │ │ flags(): │ │ │ │ - 1b0: 80 90 90 90 90 90 90 adcb $0x90,-0x6f6f6f70(%eax) │ │ │ │ - 1b7: 90 nop │ │ │ │ - 1b8: 90 nop │ │ │ │ - 1b9: 90 nop │ │ │ │ + 1b3: 80 90 90 90 90 90 90 adcb $0x90,-0x6f6f6f70(%eax) │ │ │ │ 1ba: 90 nop │ │ │ │ 1bb: 90 nop │ │ │ │ 1bc: 90 nop │ │ │ │ 1bd: 90 nop │ │ │ │ ... │ │ │ │ │ │ │ │ 000001ee : │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,26 +1,30 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f52454c 004d454d 5f415247 .MEM_REL.MEM_ARG │ │ │ │ - 0x00000010 004d454d 5f4f5247 004d454d 5f425546 .MEM_ORG.MEM_BUF │ │ │ │ - 0x00000020 004d454d 5f425458 004d454d 5f4a4d50 .MEM_BTX.MEM_JMP │ │ │ │ - 0x00000030 004d454d 5f555352 00424441 5f424f4f .MEM_USR.BDA_BOO │ │ │ │ - 0x00000040 54005052 545f4f46 46005052 545f4e55 T.PRT_OFF.PRT_NU │ │ │ │ - 0x00000050 4d005052 545f4253 4400464c 5f504143 M.PRT_BSD.FL_PAC │ │ │ │ - 0x00000060 4b455400 53495a5f 50414700 53495a5f KET.SIZ_PAG.SIZ_ │ │ │ │ - 0x00000070 53454300 4e534543 54006d61 696e006f SEC.NSECT.main.o │ │ │ │ - 0x00000080 656d6964 00627062 00656270 62007872 emid.bpb.ebpb.xr │ │ │ │ - 0x00000090 6561642e 31007265 61640070 61727434 ead.1.read.part4 │ │ │ │ - 0x000000a0 006d6169 6e2e3400 6e726561 64006d61 .main.4.nread.ma │ │ │ │ - 0x000000b0 696e2e31 006d6169 6e2e3200 6d61696e in.1.main.2.main │ │ │ │ - 0x000000c0 2e33006d 61696e2e 35006d73 675f7061 .3.main.5.msg_pa │ │ │ │ - 0x000000d0 72740065 72726f72 00736574 61323000 rt.error.seta20. │ │ │ │ - 0x000000e0 73657461 32302e31 00736574 6132302e seta20.1.seta20. │ │ │ │ - 0x000000f0 33007365 74613230 2e320072 65747572 3.seta20.2.retur │ │ │ │ - 0x00000100 6e006d73 675f7265 61640070 75747374 n.msg_read.putst │ │ │ │ - 0x00000110 72007072 6f6d7074 00707574 7374722e r.prompt.putstr. │ │ │ │ - 0x00000120 30006572 65747572 6e00666c 61677300 0.ereturn.flags. │ │ │ │ - 0x00000130 72656164 2e310072 6561642e 32007265 read.1.read.2.re │ │ │ │ - 0x00000140 61642e33 00726561 642e3400 72656164 ad.3.read.4.read │ │ │ │ - 0x00000150 2e360072 6561642e 35007374 61727400 .6.read.5.start. │ │ │ │ - 0x00000160 78726561 6400 xread. │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 72656c2e 74657874 00737461 7274006d rel.text.start.m │ │ │ │ + 0x00000020 73675f70 61727400 70726f6d 70740066 sg_part.prompt.f │ │ │ │ + 0x00000030 6c616773 002e7265 6c2e6465 6275675f lags..rel.debug_ │ │ │ │ + 0x00000040 6172616e 67657300 70757473 74720065 aranges.putstr.e │ │ │ │ + 0x00000050 72726f72 002e7265 6c2e6465 6275675f rror..rel.debug_ │ │ │ │ + 0x00000060 696e666f 00657265 7475726e 006d6169 info.ereturn.mai │ │ │ │ + 0x00000070 6e002e72 656c2e64 65627567 5f6c696e n..rel.debug_lin │ │ │ │ + 0x00000080 65006f65 6d696400 78726561 64006e72 e.oemid.xread.nr │ │ │ │ + 0x00000090 65616400 6d73675f 72656164 00656270 ead.msg_read.ebp │ │ │ │ + 0x000000a0 62002e73 74727461 62002e73 796d7461 b..strtab..symta │ │ │ │ + 0x000000b0 62004d45 4d5f4254 58004244 415f424f b.MEM_BTX.BDA_BO │ │ │ │ + 0x000000c0 4f540046 4c5f5041 434b4554 004e5345 OT.FL_PACKET.NSE │ │ │ │ + 0x000000d0 4354004d 454d5f55 5352004d 454d5f4a CT.MEM_USR.MEM_J │ │ │ │ + 0x000000e0 4d500050 52545f4e 554d004d 454d5f52 MP.PRT_NUM.MEM_R │ │ │ │ + 0x000000f0 454c004d 454d5f4f 5247004d 454d5f41 EL.MEM_ORG.MEM_A │ │ │ │ + 0x00000100 52470053 495a5f50 4147004d 454d5f42 RG.SIZ_PAG.MEM_B │ │ │ │ + 0x00000110 55460050 52545f4f 46460050 52545f42 UF.PRT_OFF.PRT_B │ │ │ │ + 0x00000120 53440053 495a5f53 45430072 6561642e SD.SIZ_SEC.read. │ │ │ │ + 0x00000130 36006d61 696e2e35 00726561 642e3500 6.main.5.read.5. │ │ │ │ + 0x00000140 70617274 34006d61 696e2e34 00726561 part4.main.4.rea │ │ │ │ + 0x00000150 642e3400 6d61696e 2e330072 6561642e d.4.main.3.read. │ │ │ │ + 0x00000160 33007365 74613230 2e33006d 61696e2e 3.seta20.3.main. │ │ │ │ + 0x00000170 32007265 61642e32 00736574 6132302e 2.read.2.seta20. │ │ │ │ + 0x00000180 32006d61 696e2e31 00787265 61642e31 2.main.1.xread.1 │ │ │ │ + 0x00000190 00736574 6132302e 31007365 74613230 .seta20.1.seta20 │ │ │ │ + 0x000001a0 00707574 7374722e 3000 .putstr.0. │ │ │ ├── btx.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: Intel 80386 │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1792 (bytes into file) │ │ │ │ │ + Start of section headers: 5284 (bytes into file) │ │ │ │ │ Flags: 0x0 │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ - Number of section headers: 8 │ │ │ │ │ - Section header string table index: 5 │ │ │ │ │ + Number of section headers: 5 │ │ │ │ │ + Section header string table index: 1 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,17 +1,14 @@ │ │ │ │ │ -There are 8 section headers, starting at offset 0x700: │ │ │ │ │ +There are 5 section headers, starting at offset 0x14a4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000040 000690 00 AX 0 0 16 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001510 0000e8 08 6 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0006d0 000000 00 WA 0 0 4 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0006d0 000000 00 WA 0 0 4 │ │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 0006d0 000030 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000840 0008a0 10 7 137 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 0010e0 00042f 00 0 0 1 │ │ │ │ │ + [ 1] .strtab STRTAB 00000000 001058 000449 00 0 0 1 │ │ │ │ │ + [ 2] .text PROGBITS 00000000 000040 0006b0 00 AX 0 0 16 │ │ │ │ │ + [ 3] .rel.text REL 00000000 000f70 0000e8 08 4 2 4 │ │ │ │ │ + [ 4] .symtab SYMTAB 00000000 0006f0 000880 10 1 135 4 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,141 +1,139 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 138 entries: │ │ │ │ │ +Symbol table '.symtab' contains 136 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ │ - 4: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ │ - 5: 00001800 0 NOTYPE LOCAL DEFAULT ABS MEM_ESP0 │ │ │ │ │ - 6: 00001800 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ │ - 7: 00005e00 0 NOTYPE LOCAL DEFAULT ABS MEM_ESPR │ │ │ │ │ - 8: 00005e00 0 NOTYPE LOCAL DEFAULT ABS MEM_IDT │ │ │ │ │ - 9: 00005f98 0 NOTYPE LOCAL DEFAULT ABS MEM_TSS │ │ │ │ │ - 10: 00006000 0 NOTYPE LOCAL DEFAULT ABS MEM_MAP │ │ │ │ │ - 11: 00007fff 0 NOTYPE LOCAL DEFAULT ABS MEM_TSS_END │ │ │ │ │ - 12: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ │ - 13: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ │ - 14: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_SIZ │ │ │ │ │ - 15: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_CNT │ │ │ │ │ - 16: 00000002 0 NOTYPE LOCAL DEFAULT ABS PSL_RESERVED_DEFAULT │ │ │ │ │ - 17: 00000100 0 NOTYPE LOCAL DEFAULT ABS PSL_T │ │ │ │ │ - 18: 00000200 0 NOTYPE LOCAL DEFAULT ABS PSL_I │ │ │ │ │ - 19: 00000400 0 NOTYPE LOCAL DEFAULT ABS PSL_D │ │ │ │ │ - 20: 00004000 0 NOTYPE LOCAL DEFAULT ABS PSL_NT │ │ │ │ │ - 21: 00020000 0 NOTYPE LOCAL DEFAULT ABS PSL_VM │ │ │ │ │ - 22: 00040000 0 NOTYPE LOCAL DEFAULT ABS PSL_AC │ │ │ │ │ - 23: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ │ - 24: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ │ - 25: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_RCODE │ │ │ │ │ - 26: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ │ - 27: 0000002b 0 NOTYPE LOCAL DEFAULT ABS SEL_UCODE │ │ │ │ │ - 28: 00000033 0 NOTYPE LOCAL DEFAULT ABS SEL_UDATA │ │ │ │ │ - 29: 00000038 0 NOTYPE LOCAL DEFAULT ABS SEL_TSS │ │ │ │ │ - 30: 00000004 0 NOTYPE LOCAL DEFAULT ABS TSS_ESP0 │ │ │ │ │ - 31: 00000008 0 NOTYPE LOCAL DEFAULT ABS TSS_SS0 │ │ │ │ │ - 32: 00000066 0 NOTYPE LOCAL DEFAULT ABS TSS_MAP │ │ │ │ │ - 33: 00000000 0 NOTYPE LOCAL DEFAULT ABS SYS_EXIT │ │ │ │ │ - 34: 00000001 0 NOTYPE LOCAL DEFAULT ABS SYS_EXEC │ │ │ │ │ - 35: 00000000 0 NOTYPE LOCAL DEFAULT ABS V86_CTL │ │ │ │ │ - 36: 00000004 0 NOTYPE LOCAL DEFAULT ABS V86_ADDR │ │ │ │ │ - 37: 00000008 0 NOTYPE LOCAL DEFAULT ABS V86_ES │ │ │ │ │ - 38: 0000000c 0 NOTYPE LOCAL DEFAULT ABS V86_DS │ │ │ │ │ - 39: 00000010 0 NOTYPE LOCAL DEFAULT ABS V86_FS │ │ │ │ │ - 40: 00000014 0 NOTYPE LOCAL DEFAULT ABS V86_GS │ │ │ │ │ - 41: 00010000 0 NOTYPE LOCAL DEFAULT ABS V86F_ADDR │ │ │ │ │ - 42: 00020000 0 NOTYPE LOCAL DEFAULT ABS V86F_CALLF │ │ │ │ │ - 43: 00040000 0 NOTYPE LOCAL DEFAULT ABS V86F_FLAGS │ │ │ │ │ - 44: 00000001 0 NOTYPE LOCAL DEFAULT ABS DMP_X16 │ │ │ │ │ - 45: 00000002 0 NOTYPE LOCAL DEFAULT ABS DMP_X32 │ │ │ │ │ - 46: 00000004 0 NOTYPE LOCAL DEFAULT ABS DMP_MEM │ │ │ │ │ - 47: 00000008 0 NOTYPE LOCAL DEFAULT ABS DMP_EOL │ │ │ │ │ - 48: 00000007 0 NOTYPE LOCAL DEFAULT ABS SCR_MAT │ │ │ │ │ - 49: 00000050 0 NOTYPE LOCAL DEFAULT ABS SCR_COL │ │ │ │ │ - 50: 00000019 0 NOTYPE LOCAL DEFAULT ABS SCR_ROW │ │ │ │ │ - 51: 00000413 0 NOTYPE LOCAL DEFAULT ABS BDA_MEM │ │ │ │ │ - 52: 00000449 0 NOTYPE LOCAL DEFAULT ABS BDA_SCR │ │ │ │ │ - 53: 00000450 0 NOTYPE LOCAL DEFAULT ABS BDA_POS │ │ │ │ │ - 54: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ │ - 55: 00000018 0 NOTYPE LOCAL DEFAULT ABS _ESP0H │ │ │ │ │ - 56: 00000068 0 NOTYPE LOCAL DEFAULT ABS _TSSIO │ │ │ │ │ - 57: 00002067 0 NOTYPE LOCAL DEFAULT ABS _TSSLM │ │ │ │ │ - 58: 00000197 0 NOTYPE LOCAL DEFAULT ABS _IDTLM │ │ │ │ │ - 59: 00000000 0 NOTYPE LOCAL DEFAULT 1 btx_hdr │ │ │ │ │ - 60: 00000690 0 NOTYPE LOCAL DEFAULT 1 break │ │ │ │ │ - 61: 00000010 0 NOTYPE LOCAL DEFAULT 1 init │ │ │ │ │ - 62: 00000533 0 NOTYPE LOCAL DEFAULT 1 intr20 │ │ │ │ │ - 63: 00000032 0 NOTYPE LOCAL DEFAULT 1 init.0 │ │ │ │ │ - 64: 000005e2 0 NOTYPE LOCAL DEFAULT 1 idtctl │ │ │ │ │ - 65: 00000042 0 NOTYPE LOCAL DEFAULT 1 init.1 │ │ │ │ │ - 66: 00000064 0 NOTYPE LOCAL DEFAULT 1 init.4 │ │ │ │ │ - 67: 0000004e 0 NOTYPE LOCAL DEFAULT 1 init.2 │ │ │ │ │ - 68: 0000005d 0 NOTYPE LOCAL DEFAULT 1 init.3 │ │ │ │ │ - 69: 0000012f 0 NOTYPE LOCAL DEFAULT 1 setpic │ │ │ │ │ - 70: 000005d6 0 NOTYPE LOCAL DEFAULT 1 idtdesc │ │ │ │ │ - 71: 000005d0 0 NOTYPE LOCAL DEFAULT 1 gdtdesc │ │ │ │ │ - 72: 0000008c 0 NOTYPE LOCAL DEFAULT 1 init.8 │ │ │ │ │ - 73: 000000c6 0 NOTYPE LOCAL DEFAULT 1 init.9 │ │ │ │ │ - 74: 000000d2 0 NOTYPE LOCAL DEFAULT 1 exit │ │ │ │ │ - 75: 000000f6 0 NOTYPE LOCAL DEFAULT 1 exit.1 │ │ │ │ │ - 76: 0000010b 0 NOTYPE LOCAL DEFAULT 1 exit.2 │ │ │ │ │ - 77: 000005dc 0 NOTYPE LOCAL DEFAULT 1 ivtdesc │ │ │ │ │ - 78: 00000122 0 NOTYPE LOCAL DEFAULT 1 exit.3 │ │ │ │ │ - 79: 00000158 0 NOTYPE LOCAL DEFAULT 1 intx00 │ │ │ │ │ - 80: 00000190 0 NOTYPE LOCAL DEFAULT 1 ex_noc │ │ │ │ │ - 81: 00000198 0 NOTYPE LOCAL DEFAULT 1 except │ │ │ │ │ - 82: 0000018c 0 NOTYPE LOCAL DEFAULT 1 intx10 │ │ │ │ │ - 83: 000001ad 0 NOTYPE LOCAL DEFAULT 1 except.1 │ │ │ │ │ - 84: 000001b1 0 NOTYPE LOCAL DEFAULT 1 except.2 │ │ │ │ │ - 85: 00000601 0 NOTYPE LOCAL DEFAULT 1 dmpfmt │ │ │ │ │ - 86: 00000419 0 NOTYPE LOCAL DEFAULT 1 dump │ │ │ │ │ - 87: 000004d5 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ │ - 88: 000001f4 0 NOTYPE LOCAL DEFAULT 1 except.3 │ │ │ │ │ - 89: 000001ef 0 NOTYPE LOCAL DEFAULT 1 except.2a │ │ │ │ │ - 90: 000001f9 0 NOTYPE LOCAL DEFAULT 1 reboot │ │ │ │ │ - 91: 00000205 0 NOTYPE LOCAL DEFAULT 1 intx20 │ │ │ │ │ - 92: 00000247 0 NOTYPE LOCAL DEFAULT 1 int_hw │ │ │ │ │ - 93: 00000245 0 NOTYPE LOCAL DEFAULT 1 intx31 │ │ │ │ │ - 94: 00000292 0 NOTYPE LOCAL DEFAULT 1 intusr.1 │ │ │ │ │ - 95: 000002af 0 NOTYPE LOCAL DEFAULT 1 intusr.4 │ │ │ │ │ - 96: 000002a8 0 NOTYPE LOCAL DEFAULT 1 intusr.3 │ │ │ │ │ - 97: 0000029f 0 NOTYPE LOCAL DEFAULT 1 intusr.2 │ │ │ │ │ - 98: 000002d1 0 NOTYPE LOCAL DEFAULT 1 intusr.5 │ │ │ │ │ - 99: 00000674 0 NOTYPE LOCAL DEFAULT 1 badvm86 │ │ │ │ │ - 100: 000002ef 0 NOTYPE LOCAL DEFAULT 1 intusr.6 │ │ │ │ │ - 101: 00000336 0 NOTYPE LOCAL DEFAULT 1 rret_tramp │ │ │ │ │ - 102: 0000030e 0 NOTYPE LOCAL DEFAULT 1 intusr.7 │ │ │ │ │ - 103: 0000031b 0 NOTYPE LOCAL DEFAULT 1 intusr.8 │ │ │ │ │ - 104: 0000036b 0 NOTYPE LOCAL DEFAULT 1 rret_tramp.1 │ │ │ │ │ - 105: 000005c8 0 NOTYPE LOCAL DEFAULT 1 tss_desc │ │ │ │ │ - 106: 000003e1 0 NOTYPE LOCAL DEFAULT 1 rret_tramp.3 │ │ │ │ │ - 107: 000003ec 0 NOTYPE LOCAL DEFAULT 1 intx30 │ │ │ │ │ - 108: 0000040b 0 NOTYPE LOCAL DEFAULT 1 intx30.1 │ │ │ │ │ - 109: 00000418 0 NOTYPE LOCAL DEFAULT 1 dump.0 │ │ │ │ │ - 110: 000004a8 0 NOTYPE LOCAL DEFAULT 1 dump.10 │ │ │ │ │ - 111: 0000043e 0 NOTYPE LOCAL DEFAULT 1 dump.1 │ │ │ │ │ - 112: 000004b4 0 NOTYPE LOCAL DEFAULT 1 hex16 │ │ │ │ │ - 113: 00000449 0 NOTYPE LOCAL DEFAULT 1 dump.2 │ │ │ │ │ - 114: 000004aa 0 NOTYPE LOCAL DEFAULT 1 hex32 │ │ │ │ │ - 115: 00000498 0 NOTYPE LOCAL DEFAULT 1 dump.8 │ │ │ │ │ - 116: 00000462 0 NOTYPE LOCAL DEFAULT 1 dump.3 │ │ │ │ │ - 117: 0000046b 0 NOTYPE LOCAL DEFAULT 1 dump.4 │ │ │ │ │ - 118: 0000046d 0 NOTYPE LOCAL DEFAULT 1 dump.4a │ │ │ │ │ - 119: 0000046f 0 NOTYPE LOCAL DEFAULT 1 dump.5 │ │ │ │ │ - 120: 000004bb 0 NOTYPE LOCAL DEFAULT 1 hex8 │ │ │ │ │ - 121: 00000485 0 NOTYPE LOCAL DEFAULT 1 dump.6a │ │ │ │ │ - 122: 00000482 0 NOTYPE LOCAL DEFAULT 1 dump.6 │ │ │ │ │ - 123: 00000497 0 NOTYPE LOCAL DEFAULT 1 dump.7 │ │ │ │ │ - 124: 00000490 0 NOTYPE LOCAL DEFAULT 1 dump.6b │ │ │ │ │ - 125: 000004a3 0 NOTYPE LOCAL DEFAULT 1 dump.9 │ │ │ │ │ - 126: 000004b9 0 NOTYPE LOCAL DEFAULT 1 hex16.1 │ │ │ │ │ - 127: 000004c5 0 NOTYPE LOCAL DEFAULT 1 hex8.1 │ │ │ │ │ - 128: 000004d0 0 NOTYPE LOCAL DEFAULT 1 putstr.0 │ │ │ │ │ - 129: 000004db 0 NOTYPE LOCAL DEFAULT 1 putchr │ │ │ │ │ - 130: 000004f5 0 NOTYPE LOCAL DEFAULT 1 putchr.1 │ │ │ │ │ - 131: 00000510 0 NOTYPE LOCAL DEFAULT 1 putchr.2 │ │ │ │ │ - 132: 00000514 0 NOTYPE LOCAL DEFAULT 1 putchr.3 │ │ │ │ │ - 133: 0000052e 0 NOTYPE LOCAL DEFAULT 1 putchr.4 │ │ │ │ │ - 134: 00000573 0 NOTYPE LOCAL DEFAULT 1 int_hwr │ │ │ │ │ - 135: 00000590 0 NOTYPE LOCAL DEFAULT 1 gdt │ │ │ │ │ - 136: 000005d0 0 NOTYPE LOCAL DEFAULT 1 gdt.1 │ │ │ │ │ - 137: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ │ + 1: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ │ + 2: 00000413 0 NOTYPE LOCAL DEFAULT ABS BDA_MEM │ │ │ │ │ + 3: 00000450 0 NOTYPE LOCAL DEFAULT ABS BDA_POS │ │ │ │ │ + 4: 00000449 0 NOTYPE LOCAL DEFAULT ABS BDA_SCR │ │ │ │ │ + 5: 00000008 0 NOTYPE LOCAL DEFAULT ABS DMP_EOL │ │ │ │ │ + 6: 00000004 0 NOTYPE LOCAL DEFAULT ABS DMP_MEM │ │ │ │ │ + 7: 00000001 0 NOTYPE LOCAL DEFAULT ABS DMP_X16 │ │ │ │ │ + 8: 00000002 0 NOTYPE LOCAL DEFAULT ABS DMP_X32 │ │ │ │ │ + 9: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ │ + 10: 00001800 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ │ + 11: 00001800 0 NOTYPE LOCAL DEFAULT ABS MEM_ESP0 │ │ │ │ │ + 12: 00005e00 0 NOTYPE LOCAL DEFAULT ABS MEM_ESPR │ │ │ │ │ + 13: 00005e00 0 NOTYPE LOCAL DEFAULT ABS MEM_IDT │ │ │ │ │ + 14: 00006000 0 NOTYPE LOCAL DEFAULT ABS MEM_MAP │ │ │ │ │ + 15: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ │ + 16: 00005f98 0 NOTYPE LOCAL DEFAULT ABS MEM_TSS │ │ │ │ │ + 17: 00007fff 0 NOTYPE LOCAL DEFAULT ABS MEM_TSS_END │ │ │ │ │ + 18: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ │ + 19: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_CNT │ │ │ │ │ + 20: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_SIZ │ │ │ │ │ + 21: 00040000 0 NOTYPE LOCAL DEFAULT ABS PSL_AC │ │ │ │ │ + 22: 00000400 0 NOTYPE LOCAL DEFAULT ABS PSL_D │ │ │ │ │ + 23: 00000200 0 NOTYPE LOCAL DEFAULT ABS PSL_I │ │ │ │ │ + 24: 00004000 0 NOTYPE LOCAL DEFAULT ABS PSL_NT │ │ │ │ │ + 25: 00000002 0 NOTYPE LOCAL DEFAULT ABS PSL_RESERVED_DEFAULT │ │ │ │ │ + 26: 00000100 0 NOTYPE LOCAL DEFAULT ABS PSL_T │ │ │ │ │ + 27: 00020000 0 NOTYPE LOCAL DEFAULT ABS PSL_VM │ │ │ │ │ + 28: 00000050 0 NOTYPE LOCAL DEFAULT ABS SCR_COL │ │ │ │ │ + 29: 00000007 0 NOTYPE LOCAL DEFAULT ABS SCR_MAT │ │ │ │ │ + 30: 00000019 0 NOTYPE LOCAL DEFAULT ABS SCR_ROW │ │ │ │ │ + 31: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_RCODE │ │ │ │ │ + 32: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ │ + 33: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ │ + 34: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ │ + 35: 00000038 0 NOTYPE LOCAL DEFAULT ABS SEL_TSS │ │ │ │ │ + 36: 0000002b 0 NOTYPE LOCAL DEFAULT ABS SEL_UCODE │ │ │ │ │ + 37: 00000033 0 NOTYPE LOCAL DEFAULT ABS SEL_UDATA │ │ │ │ │ + 38: 00000001 0 NOTYPE LOCAL DEFAULT ABS SYS_EXEC │ │ │ │ │ + 39: 00000000 0 NOTYPE LOCAL DEFAULT ABS SYS_EXIT │ │ │ │ │ + 40: 00000004 0 NOTYPE LOCAL DEFAULT ABS TSS_ESP0 │ │ │ │ │ + 41: 00000066 0 NOTYPE LOCAL DEFAULT ABS TSS_MAP │ │ │ │ │ + 42: 00000008 0 NOTYPE LOCAL DEFAULT ABS TSS_SS0 │ │ │ │ │ + 43: 00010000 0 NOTYPE LOCAL DEFAULT ABS V86F_ADDR │ │ │ │ │ + 44: 00020000 0 NOTYPE LOCAL DEFAULT ABS V86F_CALLF │ │ │ │ │ + 45: 00040000 0 NOTYPE LOCAL DEFAULT ABS V86F_FLAGS │ │ │ │ │ + 46: 00000004 0 NOTYPE LOCAL DEFAULT ABS V86_ADDR │ │ │ │ │ + 47: 00000000 0 NOTYPE LOCAL DEFAULT ABS V86_CTL │ │ │ │ │ + 48: 0000000c 0 NOTYPE LOCAL DEFAULT ABS V86_DS │ │ │ │ │ + 49: 00000008 0 NOTYPE LOCAL DEFAULT ABS V86_ES │ │ │ │ │ + 50: 00000010 0 NOTYPE LOCAL DEFAULT ABS V86_FS │ │ │ │ │ + 51: 00000014 0 NOTYPE LOCAL DEFAULT ABS V86_GS │ │ │ │ │ + 52: 00000018 0 NOTYPE LOCAL DEFAULT ABS _ESP0H │ │ │ │ │ + 53: 00000197 0 NOTYPE LOCAL DEFAULT ABS _IDTLM │ │ │ │ │ + 54: 00000068 0 NOTYPE LOCAL DEFAULT ABS _TSSIO │ │ │ │ │ + 55: 00002067 0 NOTYPE LOCAL DEFAULT ABS _TSSLM │ │ │ │ │ + 56: 00000694 0 NOTYPE LOCAL DEFAULT 2 badvm86 │ │ │ │ │ + 57: 000006b0 0 NOTYPE LOCAL DEFAULT 2 break │ │ │ │ │ + 58: 00000000 0 NOTYPE LOCAL DEFAULT 2 btx_hdr │ │ │ │ │ + 59: 00000621 0 NOTYPE LOCAL DEFAULT 2 dmpfmt │ │ │ │ │ + 60: 0000042e 0 NOTYPE LOCAL DEFAULT 2 dump │ │ │ │ │ + 61: 0000042d 0 NOTYPE LOCAL DEFAULT 2 dump.0 │ │ │ │ │ + 62: 00000453 0 NOTYPE LOCAL DEFAULT 2 dump.1 │ │ │ │ │ + 63: 000004bd 0 NOTYPE LOCAL DEFAULT 2 dump.10 │ │ │ │ │ + 64: 0000045e 0 NOTYPE LOCAL DEFAULT 2 dump.2 │ │ │ │ │ + 65: 00000477 0 NOTYPE LOCAL DEFAULT 2 dump.3 │ │ │ │ │ + 66: 00000480 0 NOTYPE LOCAL DEFAULT 2 dump.4 │ │ │ │ │ + 67: 00000482 0 NOTYPE LOCAL DEFAULT 2 dump.4a │ │ │ │ │ + 68: 00000484 0 NOTYPE LOCAL DEFAULT 2 dump.5 │ │ │ │ │ + 69: 00000497 0 NOTYPE LOCAL DEFAULT 2 dump.6 │ │ │ │ │ + 70: 0000049a 0 NOTYPE LOCAL DEFAULT 2 dump.6a │ │ │ │ │ + 71: 000004a5 0 NOTYPE LOCAL DEFAULT 2 dump.6b │ │ │ │ │ + 72: 000004ac 0 NOTYPE LOCAL DEFAULT 2 dump.7 │ │ │ │ │ + 73: 000004ad 0 NOTYPE LOCAL DEFAULT 2 dump.8 │ │ │ │ │ + 74: 000004b8 0 NOTYPE LOCAL DEFAULT 2 dump.9 │ │ │ │ │ + 75: 0000019c 0 NOTYPE LOCAL DEFAULT 2 ex_noc │ │ │ │ │ + 76: 000001a4 0 NOTYPE LOCAL DEFAULT 2 except │ │ │ │ │ + 77: 000001b9 0 NOTYPE LOCAL DEFAULT 2 except.1 │ │ │ │ │ + 78: 000001bd 0 NOTYPE LOCAL DEFAULT 2 except.2 │ │ │ │ │ + 79: 000001fb 0 NOTYPE LOCAL DEFAULT 2 except.2a │ │ │ │ │ + 80: 00000200 0 NOTYPE LOCAL DEFAULT 2 except.3 │ │ │ │ │ + 81: 000000d8 0 NOTYPE LOCAL DEFAULT 2 exit │ │ │ │ │ + 82: 000000fc 0 NOTYPE LOCAL DEFAULT 2 exit.1 │ │ │ │ │ + 83: 00000111 0 NOTYPE LOCAL DEFAULT 2 exit.2 │ │ │ │ │ + 84: 0000012e 0 NOTYPE LOCAL DEFAULT 2 exit.3 │ │ │ │ │ + 85: 000005b0 0 NOTYPE LOCAL DEFAULT 2 gdt │ │ │ │ │ + 86: 000005f0 0 NOTYPE LOCAL DEFAULT 2 gdt.1 │ │ │ │ │ + 87: 000005f0 0 NOTYPE LOCAL DEFAULT 2 gdtdesc │ │ │ │ │ + 88: 000004c9 0 NOTYPE LOCAL DEFAULT 2 hex16 │ │ │ │ │ + 89: 000004ce 0 NOTYPE LOCAL DEFAULT 2 hex16.1 │ │ │ │ │ + 90: 000004bf 0 NOTYPE LOCAL DEFAULT 2 hex32 │ │ │ │ │ + 91: 000004d0 0 NOTYPE LOCAL DEFAULT 2 hex8 │ │ │ │ │ + 92: 000004da 0 NOTYPE LOCAL DEFAULT 2 hex8.1 │ │ │ │ │ + 93: 00000602 0 NOTYPE LOCAL DEFAULT 2 idtctl │ │ │ │ │ + 94: 000005f6 0 NOTYPE LOCAL DEFAULT 2 idtdesc │ │ │ │ │ + 95: 00000010 0 NOTYPE LOCAL DEFAULT 2 init │ │ │ │ │ + 96: 00000032 0 NOTYPE LOCAL DEFAULT 2 init.0 │ │ │ │ │ + 97: 00000042 0 NOTYPE LOCAL DEFAULT 2 init.1 │ │ │ │ │ + 98: 0000004e 0 NOTYPE LOCAL DEFAULT 2 init.2 │ │ │ │ │ + 99: 0000005d 0 NOTYPE LOCAL DEFAULT 2 init.3 │ │ │ │ │ + 100: 00000064 0 NOTYPE LOCAL DEFAULT 2 init.4 │ │ │ │ │ + 101: 00000092 0 NOTYPE LOCAL DEFAULT 2 init.8 │ │ │ │ │ + 102: 000000cc 0 NOTYPE LOCAL DEFAULT 2 init.9 │ │ │ │ │ + 103: 00000253 0 NOTYPE LOCAL DEFAULT 2 int_hw │ │ │ │ │ + 104: 00000588 0 NOTYPE LOCAL DEFAULT 2 int_hwr │ │ │ │ │ + 105: 00000548 0 NOTYPE LOCAL DEFAULT 2 intr20 │ │ │ │ │ + 106: 0000029e 0 NOTYPE LOCAL DEFAULT 2 intusr.1 │ │ │ │ │ + 107: 000002ab 0 NOTYPE LOCAL DEFAULT 2 intusr.2 │ │ │ │ │ + 108: 000002b4 0 NOTYPE LOCAL DEFAULT 2 intusr.3 │ │ │ │ │ + 109: 000002bb 0 NOTYPE LOCAL DEFAULT 2 intusr.4 │ │ │ │ │ + 110: 000002dd 0 NOTYPE LOCAL DEFAULT 2 intusr.5 │ │ │ │ │ + 111: 000002fb 0 NOTYPE LOCAL DEFAULT 2 intusr.6 │ │ │ │ │ + 112: 0000031a 0 NOTYPE LOCAL DEFAULT 2 intusr.7 │ │ │ │ │ + 113: 00000327 0 NOTYPE LOCAL DEFAULT 2 intusr.8 │ │ │ │ │ + 114: 00000164 0 NOTYPE LOCAL DEFAULT 2 intx00 │ │ │ │ │ + 115: 00000198 0 NOTYPE LOCAL DEFAULT 2 intx10 │ │ │ │ │ + 116: 00000211 0 NOTYPE LOCAL DEFAULT 2 intx20 │ │ │ │ │ + 117: 00000401 0 NOTYPE LOCAL DEFAULT 2 intx30 │ │ │ │ │ + 118: 00000420 0 NOTYPE LOCAL DEFAULT 2 intx30.1 │ │ │ │ │ + 119: 00000251 0 NOTYPE LOCAL DEFAULT 2 intx31 │ │ │ │ │ + 120: 000005fc 0 NOTYPE LOCAL DEFAULT 2 ivtdesc │ │ │ │ │ + 121: 000004f0 0 NOTYPE LOCAL DEFAULT 2 putchr │ │ │ │ │ + 122: 0000050a 0 NOTYPE LOCAL DEFAULT 2 putchr.1 │ │ │ │ │ + 123: 00000525 0 NOTYPE LOCAL DEFAULT 2 putchr.2 │ │ │ │ │ + 124: 00000529 0 NOTYPE LOCAL DEFAULT 2 putchr.3 │ │ │ │ │ + 125: 00000543 0 NOTYPE LOCAL DEFAULT 2 putchr.4 │ │ │ │ │ + 126: 000004ea 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ │ + 127: 000004e5 0 NOTYPE LOCAL DEFAULT 2 putstr.0 │ │ │ │ │ + 128: 00000205 0 NOTYPE LOCAL DEFAULT 2 reboot │ │ │ │ │ + 129: 00000345 0 NOTYPE LOCAL DEFAULT 2 rret_tramp │ │ │ │ │ + 130: 00000380 0 NOTYPE LOCAL DEFAULT 2 rret_tramp.1 │ │ │ │ │ + 131: 000003f6 0 NOTYPE LOCAL DEFAULT 2 rret_tramp.3 │ │ │ │ │ + 132: 0000013b 0 NOTYPE LOCAL DEFAULT 2 setpic │ │ │ │ │ + 133: 000005e8 0 NOTYPE LOCAL DEFAULT 2 tss_desc │ │ │ │ │ + 134: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ │ + 135: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,32 +1,32 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1510 contains 29 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xf70 contains 29 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000002a 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000040 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000079 00000114 R_386_16 00000000 .text │ │ │ │ │ -0000007e 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000088 00000114 R_386_16 00000000 .text │ │ │ │ │ -000000bb 00000101 R_386_32 00000000 .text │ │ │ │ │ -000000ec 00000101 R_386_32 00000000 .text │ │ │ │ │ -000000f2 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000107 00000114 R_386_16 00000000 .text │ │ │ │ │ -0000011a 00000114 R_386_16 00000000 .text │ │ │ │ │ -0000011f 00000114 R_386_16 00000000 .text │ │ │ │ │ -000001bd 00000101 R_386_32 00000000 .text │ │ │ │ │ -000001fb 00000101 R_386_32 00000000 .text │ │ │ │ │ -000002bc 00000101 R_386_32 00000000 .text │ │ │ │ │ -000002f9 00000101 R_386_32 00000000 .text │ │ │ │ │ -0000030a 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000317 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000324 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000358 00000114 R_386_16 00000000 .text │ │ │ │ │ -0000035d 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000367 00000114 R_386_16 00000000 .text │ │ │ │ │ -00000381 00000101 R_386_32 00000000 .text │ │ │ │ │ -0000040e 00000101 R_386_32 00000000 .text │ │ │ │ │ -000005d2 00000114 R_386_16 00000000 .text │ │ │ │ │ -000005e6 00000114 R_386_16 00000000 .text │ │ │ │ │ -000005ec 00000114 R_386_16 00000000 .text │ │ │ │ │ -000005f2 00000114 R_386_16 00000000 .text │ │ │ │ │ -000005f8 00000114 R_386_16 00000000 .text │ │ │ │ │ -000005fe 00000114 R_386_16 00000000 .text │ │ │ │ │ +0000002a 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000040 00008614 R_386_16 00000000 .text │ │ │ │ │ +0000007a 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000082 00008601 R_386_32 00000000 .text │ │ │ │ │ +0000008e 00008614 R_386_16 00000000 .text │ │ │ │ │ +000000c1 00008601 R_386_32 00000000 .text │ │ │ │ │ +000000f2 00008601 R_386_32 00000000 .text │ │ │ │ │ +000000f8 00008614 R_386_16 00000000 .text │ │ │ │ │ +0000010d 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000121 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000129 00008601 R_386_32 00000000 .text │ │ │ │ │ +000001c9 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000207 00008601 R_386_32 00000000 .text │ │ │ │ │ +000002c8 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000305 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000316 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000323 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000331 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000368 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000370 00008601 R_386_32 00000000 .text │ │ │ │ │ +0000037c 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000396 00008601 R_386_32 00000000 .text │ │ │ │ │ +00000423 00008601 R_386_32 00000000 .text │ │ │ │ │ +000005f2 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000606 00008614 R_386_16 00000000 .text │ │ │ │ │ +0000060c 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000612 00008614 R_386_16 00000000 .text │ │ │ │ │ +00000618 00008614 R_386_16 00000000 .text │ │ │ │ │ +0000061e 00008614 R_386_16 00000000 .text │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ │ @@ -7,15 +7,15 @@ │ │ │ │ │ btx_hdr(): │ │ │ │ │ 0: eb 0e jmp 10 │ │ │ │ │ 2: 42 inc %edx │ │ │ │ │ 3: 54 push %esp │ │ │ │ │ 4: 58 pop %eax │ │ │ │ │ 5: 01 02 add %eax,(%edx) │ │ │ │ │ 7: 00 f7 add %dh,%bh │ │ │ │ │ - 9: 0f 90 06 seto (%esi) │ │ │ │ │ + 9: 0f b0 06 cmpxchg %al,(%esi) │ │ │ │ │ c: 00 00 add %al,(%eax) │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ 00000010 : │ │ │ │ │ init(): │ │ │ │ │ 10: fa cli │ │ │ │ │ 11: 31 c0 xor %eax,%eax │ │ │ │ │ @@ -23,27 +23,27 @@ │ │ │ │ │ 15: bc 00 18 8e c0 mov $0xc08e1800,%esp │ │ │ │ │ 1a: 8e d8 mov %eax,%ds │ │ │ │ │ 1c: 66 6a 02 pushw $0x2 │ │ │ │ │ 1f: 66 9d popfw │ │ │ │ │ 21: bf 00 5e b9 00 mov $0xb95e00,%edi │ │ │ │ │ 26: 19 f3 sbb %esi,%ebx │ │ │ │ │ 28: ab stos %eax,%es:(%edi) │ │ │ │ │ - 29: bb 33 05 b9 10 mov $0x10b90533,%ebx │ │ │ │ │ + 29: bb 48 05 b9 10 mov $0x10b90548,%ebx │ │ │ │ │ 2e: 00 .byte 0x0 │ │ │ │ │ 2f: bf .byte 0xbf │ │ │ │ │ 30: 80 .byte 0x80 │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ 00000032 : │ │ │ │ │ init.0(): │ │ │ │ │ 32: 89 1d 47 47 ab 83 mov %ebx,0x83ab4747 │ │ │ │ │ 38: c3 ret │ │ │ │ │ 39: 04 e2 add $0xe2,%al │ │ │ │ │ - 3b: f6 bf 00 5e be e2 idivb -0x1d41a200(%edi) │ │ │ │ │ - 41: 05 .byte 0x5 │ │ │ │ │ + 3b: f6 bf 00 5e be 02 idivb 0x2be5e00(%edi) │ │ │ │ │ + 41: 06 push %es │ │ │ │ │ │ │ │ │ │ 00000042 : │ │ │ │ │ init.1(): │ │ │ │ │ 42: ac lods %ds:(%esi),%al │ │ │ │ │ 43: 98 cwtl │ │ │ │ │ 44: 91 xchg %eax,%ecx │ │ │ │ │ 45: e3 1d jecxz 64 │ │ │ │ │ @@ -70,844 +70,860 @@ │ │ │ │ │ 62: eb de jmp 42 │ │ │ │ │ │ │ │ │ │ 00000064 : │ │ │ │ │ init.4(): │ │ │ │ │ 64: c6 45 05 18 movb $0x18,0x5(%ebp) │ │ │ │ │ 68: c6 45 08 10 movb $0x10,0x8(%ebp) │ │ │ │ │ 6c: c6 45 66 68 movb $0x68,0x66(%ebp) │ │ │ │ │ - 70: bb 20 28 e8 b9 mov $0xb9e82820,%ebx │ │ │ │ │ - 75: 00 0f add %cl,(%edi) │ │ │ │ │ - 77: 01 1e add %ebx,(%esi) │ │ │ │ │ - 79: d6 (bad) │ │ │ │ │ - 7a: 05 0f 01 16 d0 add $0xd016010f,%eax │ │ │ │ │ - 7f: 05 0f 20 c0 40 add $0x40c0200f,%eax │ │ │ │ │ - 84: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ - 87: ea .byte 0xea │ │ │ │ │ - 88: 8c 00 mov %es,(%eax) │ │ │ │ │ - 8a: 08 00 or %al,(%eax) │ │ │ │ │ + 70: bb 20 28 e8 c5 mov $0xc5e82820,%ebx │ │ │ │ │ + 75: 00 67 0f add %ah,0xf(%edi) │ │ │ │ │ + 78: 01 1d f6 05 00 00 add %ebx,0x5f6 │ │ │ │ │ + 7e: 67 0f 01 15 lgdtl (%di) │ │ │ │ │ + 82: f0 05 00 00 0f 20 lock add $0x200f0000,%eax │ │ │ │ │ + 88: c0 40 0f 22 rolb $0x22,0xf(%eax) │ │ │ │ │ + 8c: c0 ea 92 shr $0x92,%dl │ │ │ │ │ + 8f: 00 08 add %cl,(%eax) │ │ │ │ │ + ... │ │ │ │ │ │ │ │ │ │ -0000008c : │ │ │ │ │ +00000092 : │ │ │ │ │ init.8(): │ │ │ │ │ - 8c: 31 c9 xor %ecx,%ecx │ │ │ │ │ - 8e: b1 10 mov $0x10,%cl │ │ │ │ │ - 90: 8e d1 mov %ecx,%ss │ │ │ │ │ - 92: b1 38 mov $0x38,%cl │ │ │ │ │ - 94: 0f 00 d9 ltr %cx │ │ │ │ │ - 97: ba 00 a0 00 00 mov $0xa000,%edx │ │ │ │ │ - 9c: 36 0f b7 05 13 04 00 movzwl %ss:0x413,%eax │ │ │ │ │ - a3: 00 │ │ │ │ │ - a4: c1 e0 0a shl $0xa,%eax │ │ │ │ │ - a7: 2d 00 10 00 00 sub $0x1000,%eax │ │ │ │ │ - ac: 29 d0 sub %edx,%eax │ │ │ │ │ - ae: b1 33 mov $0x33,%cl │ │ │ │ │ - b0: 51 push %ecx │ │ │ │ │ - b1: 50 push %eax │ │ │ │ │ - b2: 68 02 02 00 00 push $0x202 │ │ │ │ │ - b7: 6a 2b push $0x2b │ │ │ │ │ - b9: ff 35 0c 00 00 00 pushl 0xc │ │ │ │ │ - bf: 51 push %ecx │ │ │ │ │ - c0: 51 push %ecx │ │ │ │ │ - c1: 51 push %ecx │ │ │ │ │ - c2: 51 push %ecx │ │ │ │ │ - c3: 52 push %edx │ │ │ │ │ - c4: b1 07 mov $0x7,%cl │ │ │ │ │ + 92: 31 c9 xor %ecx,%ecx │ │ │ │ │ + 94: b1 10 mov $0x10,%cl │ │ │ │ │ + 96: 8e d1 mov %ecx,%ss │ │ │ │ │ + 98: b1 38 mov $0x38,%cl │ │ │ │ │ + 9a: 0f 00 d9 ltr %cx │ │ │ │ │ + 9d: ba 00 a0 00 00 mov $0xa000,%edx │ │ │ │ │ + a2: 36 0f b7 05 13 04 00 movzwl %ss:0x413,%eax │ │ │ │ │ + a9: 00 │ │ │ │ │ + aa: c1 e0 0a shl $0xa,%eax │ │ │ │ │ + ad: 2d 00 10 00 00 sub $0x1000,%eax │ │ │ │ │ + b2: 29 d0 sub %edx,%eax │ │ │ │ │ + b4: b1 33 mov $0x33,%cl │ │ │ │ │ + b6: 51 push %ecx │ │ │ │ │ + b7: 50 push %eax │ │ │ │ │ + b8: 68 02 02 00 00 push $0x202 │ │ │ │ │ + bd: 6a 2b push $0x2b │ │ │ │ │ + bf: ff 35 0c 00 00 00 pushl 0xc │ │ │ │ │ + c5: 51 push %ecx │ │ │ │ │ + c6: 51 push %ecx │ │ │ │ │ + c7: 51 push %ecx │ │ │ │ │ + c8: 51 push %ecx │ │ │ │ │ + c9: 52 push %edx │ │ │ │ │ + ca: b1 07 mov $0x7,%cl │ │ │ │ │ │ │ │ │ │ -000000c6 : │ │ │ │ │ +000000cc : │ │ │ │ │ init.9(): │ │ │ │ │ - c6: 6a 00 push $0x0 │ │ │ │ │ - c8: e2 fc loop c6 │ │ │ │ │ - ca: 61 popa │ │ │ │ │ - cb: 07 pop %es │ │ │ │ │ - cc: 1f pop %ds │ │ │ │ │ - cd: 0f a1 pop %fs │ │ │ │ │ - cf: 0f a9 pop %gs │ │ │ │ │ - d1: cf iret │ │ │ │ │ + cc: 6a 00 push $0x0 │ │ │ │ │ + ce: e2 fc loop cc │ │ │ │ │ + d0: 61 popa │ │ │ │ │ + d1: 07 pop %es │ │ │ │ │ + d2: 1f pop %ds │ │ │ │ │ + d3: 0f a1 pop %fs │ │ │ │ │ + d5: 0f a9 pop %gs │ │ │ │ │ + d7: cf iret │ │ │ │ │ │ │ │ │ │ -000000d2 : │ │ │ │ │ +000000d8 : │ │ │ │ │ exit(): │ │ │ │ │ - d2: fa cli │ │ │ │ │ - d3: bc 00 18 00 00 mov $0x1800,%esp │ │ │ │ │ - d8: 0f 20 c0 mov %cr0,%eax │ │ │ │ │ - db: 25 ff ff ff 7f and $0x7fffffff,%eax │ │ │ │ │ - e0: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ - e3: 31 c9 xor %ecx,%ecx │ │ │ │ │ - e5: 0f 22 d9 mov %ecx,%cr3 │ │ │ │ │ - e8: 2e 0f 01 15 d0 05 00 lgdtl %cs:0x5d0 │ │ │ │ │ - ef: 00 │ │ │ │ │ - f0: 66 ea f6 00 18 00 ljmpw $0x18,$0xf6 │ │ │ │ │ + d8: fa cli │ │ │ │ │ + d9: bc 00 18 00 00 mov $0x1800,%esp │ │ │ │ │ + de: 0f 20 c0 mov %cr0,%eax │ │ │ │ │ + e1: 25 ff ff ff 7f and $0x7fffffff,%eax │ │ │ │ │ + e6: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ + e9: 31 c9 xor %ecx,%ecx │ │ │ │ │ + eb: 0f 22 d9 mov %ecx,%cr3 │ │ │ │ │ + ee: 2e 0f 01 15 f0 05 00 lgdtl %cs:0x5f0 │ │ │ │ │ + f5: 00 │ │ │ │ │ + f6: 66 ea fc 00 18 00 ljmpw $0x18,$0xfc │ │ │ │ │ │ │ │ │ │ -000000f6 : │ │ │ │ │ +000000fc : │ │ │ │ │ exit.1(): │ │ │ │ │ - f6: b1 20 mov $0x20,%cl │ │ │ │ │ - f8: 8e d1 mov %ecx,%ss │ │ │ │ │ - fa: 8e d9 mov %ecx,%ds │ │ │ │ │ - fc: 8e c1 mov %ecx,%es │ │ │ │ │ - fe: 8e e1 mov %ecx,%fs │ │ │ │ │ - 100: 8e e9 mov %ecx,%gs │ │ │ │ │ - 102: 48 dec %eax │ │ │ │ │ - 103: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ - 106: ea .byte 0xea │ │ │ │ │ - 107: 0b 01 or (%ecx),%eax │ │ │ │ │ + fc: b1 20 mov $0x20,%cl │ │ │ │ │ + fe: 8e d1 mov %ecx,%ss │ │ │ │ │ + 100: 8e d9 mov %ecx,%ds │ │ │ │ │ + 102: 8e c1 mov %ecx,%es │ │ │ │ │ + 104: 8e e1 mov %ecx,%fs │ │ │ │ │ + 106: 8e e9 mov %ecx,%gs │ │ │ │ │ + 108: 48 dec %eax │ │ │ │ │ + 109: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ + 10c: ea .byte 0xea │ │ │ │ │ + 10d: 11 01 adc %eax,(%ecx) │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -0000010b : │ │ │ │ │ +00000111 : │ │ │ │ │ exit.2(): │ │ │ │ │ - 10b: 31 c0 xor %eax,%eax │ │ │ │ │ - 10d: 8e d0 mov %eax,%ss │ │ │ │ │ - 10f: 8e d8 mov %eax,%ds │ │ │ │ │ - 111: bb 08 70 e8 18 mov $0x18e87008,%ebx │ │ │ │ │ - 116: 00 0f add %cl,(%edi) │ │ │ │ │ - 118: 01 1e add %ebx,(%esi) │ │ │ │ │ - 11a: dc 05 fb f6 06 07 faddl 0x706f6fb │ │ │ │ │ - 120: 00 01 add %al,(%ecx) │ │ │ │ │ + 111: 31 c0 xor %eax,%eax │ │ │ │ │ + 113: 8e d0 mov %eax,%ss │ │ │ │ │ + 115: 8e d8 mov %eax,%ds │ │ │ │ │ + 117: bb 08 70 e8 1e mov $0x1ee87008,%ebx │ │ │ │ │ + 11c: 00 67 0f add %ah,0xf(%edi) │ │ │ │ │ + 11f: 01 1d fc 05 00 00 add %ebx,0x5fc │ │ │ │ │ + 125: fb sti │ │ │ │ │ + 126: 67 f6 05 07 testb $0x7,(%di) │ │ │ │ │ + 12a: 00 00 add %al,(%eax) │ │ │ │ │ + 12c: 00 01 add %al,(%ecx) │ │ │ │ │ │ │ │ │ │ -00000122 : │ │ │ │ │ +0000012e : │ │ │ │ │ exit.3(): │ │ │ │ │ - 122: 74 fe je 122 │ │ │ │ │ - 124: c7 06 72 04 34 12 movl $0x12340472,(%esi) │ │ │ │ │ - 12a: ea .byte 0xea │ │ │ │ │ - 12b: f0 ff 00 lock incl (%eax) │ │ │ │ │ - 12e: f0 lock │ │ │ │ │ + 12e: 74 fe je 12e │ │ │ │ │ + 130: c7 06 72 04 34 12 movl $0x12340472,(%esi) │ │ │ │ │ + 136: ea .byte 0xea │ │ │ │ │ + 137: f0 ff 00 lock incl (%eax) │ │ │ │ │ + 13a: f0 lock │ │ │ │ │ │ │ │ │ │ -0000012f : │ │ │ │ │ +0000013b : │ │ │ │ │ setpic(): │ │ │ │ │ - 12f: e4 21 in $0x21,%al │ │ │ │ │ - 131: 50 push %eax │ │ │ │ │ - 132: e4 a1 in $0xa1,%al │ │ │ │ │ - 134: 50 push %eax │ │ │ │ │ - 135: b0 11 mov $0x11,%al │ │ │ │ │ - 137: e6 20 out %al,$0x20 │ │ │ │ │ - 139: e6 a0 out %al,$0xa0 │ │ │ │ │ - 13b: 88 d8 mov %bl,%al │ │ │ │ │ - 13d: e6 21 out %al,$0x21 │ │ │ │ │ - 13f: 88 f8 mov %bh,%al │ │ │ │ │ - 141: e6 a1 out %al,$0xa1 │ │ │ │ │ - 143: b0 04 mov $0x4,%al │ │ │ │ │ - 145: e6 21 out %al,$0x21 │ │ │ │ │ - 147: b0 02 mov $0x2,%al │ │ │ │ │ - 149: e6 a1 out %al,$0xa1 │ │ │ │ │ - 14b: b0 01 mov $0x1,%al │ │ │ │ │ - 14d: e6 21 out %al,$0x21 │ │ │ │ │ - 14f: e6 a1 out %al,$0xa1 │ │ │ │ │ - 151: 58 pop %eax │ │ │ │ │ - 152: e6 a1 out %al,$0xa1 │ │ │ │ │ - 154: 58 pop %eax │ │ │ │ │ - 155: e6 21 out %al,$0x21 │ │ │ │ │ - 157: c3 ret │ │ │ │ │ + 13b: e4 21 in $0x21,%al │ │ │ │ │ + 13d: 50 push %eax │ │ │ │ │ + 13e: e4 a1 in $0xa1,%al │ │ │ │ │ + 140: 50 push %eax │ │ │ │ │ + 141: b0 11 mov $0x11,%al │ │ │ │ │ + 143: e6 20 out %al,$0x20 │ │ │ │ │ + 145: e6 a0 out %al,$0xa0 │ │ │ │ │ + 147: 88 d8 mov %bl,%al │ │ │ │ │ + 149: e6 21 out %al,$0x21 │ │ │ │ │ + 14b: 88 f8 mov %bh,%al │ │ │ │ │ + 14d: e6 a1 out %al,$0xa1 │ │ │ │ │ + 14f: b0 04 mov $0x4,%al │ │ │ │ │ + 151: e6 21 out %al,$0x21 │ │ │ │ │ + 153: b0 02 mov $0x2,%al │ │ │ │ │ + 155: e6 a1 out %al,$0xa1 │ │ │ │ │ + 157: b0 01 mov $0x1,%al │ │ │ │ │ + 159: e6 21 out %al,$0x21 │ │ │ │ │ + 15b: e6 a1 out %al,$0xa1 │ │ │ │ │ + 15d: 58 pop %eax │ │ │ │ │ + 15e: e6 a1 out %al,$0xa1 │ │ │ │ │ + 160: 58 pop %eax │ │ │ │ │ + 161: e6 21 out %al,$0x21 │ │ │ │ │ + 163: c3 ret │ │ │ │ │ │ │ │ │ │ -00000158 : │ │ │ │ │ +00000164 : │ │ │ │ │ intx00(): │ │ │ │ │ - 158: 6a 00 push $0x0 │ │ │ │ │ - 15a: eb 34 jmp 190 │ │ │ │ │ - 15c: 6a 01 push $0x1 │ │ │ │ │ - 15e: eb 30 jmp 190 │ │ │ │ │ - 160: 6a 03 push $0x3 │ │ │ │ │ - 162: eb 2c jmp 190 │ │ │ │ │ - 164: 6a 04 push $0x4 │ │ │ │ │ - 166: eb 28 jmp 190 │ │ │ │ │ - 168: 6a 05 push $0x5 │ │ │ │ │ - 16a: eb 24 jmp 190 │ │ │ │ │ - 16c: 6a 06 push $0x6 │ │ │ │ │ - 16e: eb 20 jmp 190 │ │ │ │ │ - 170: 6a 07 push $0x7 │ │ │ │ │ - 172: eb 1c jmp 190 │ │ │ │ │ - 174: 6a 08 push $0x8 │ │ │ │ │ - 176: eb 20 jmp 198 │ │ │ │ │ - 178: 6a 0a push $0xa │ │ │ │ │ - 17a: eb 1c jmp 198 │ │ │ │ │ - 17c: 6a 0b push $0xb │ │ │ │ │ - 17e: eb 18 jmp 198 │ │ │ │ │ - 180: 6a 0c push $0xc │ │ │ │ │ - 182: eb 14 jmp 198 │ │ │ │ │ - 184: 6a 0d push $0xd │ │ │ │ │ - 186: eb 10 jmp 198 │ │ │ │ │ - 188: 6a 0e push $0xe │ │ │ │ │ - 18a: eb 0c jmp 198 │ │ │ │ │ + 164: 6a 00 push $0x0 │ │ │ │ │ + 166: eb 34 jmp 19c │ │ │ │ │ + 168: 6a 01 push $0x1 │ │ │ │ │ + 16a: eb 30 jmp 19c │ │ │ │ │ + 16c: 6a 03 push $0x3 │ │ │ │ │ + 16e: eb 2c jmp 19c │ │ │ │ │ + 170: 6a 04 push $0x4 │ │ │ │ │ + 172: eb 28 jmp 19c │ │ │ │ │ + 174: 6a 05 push $0x5 │ │ │ │ │ + 176: eb 24 jmp 19c │ │ │ │ │ + 178: 6a 06 push $0x6 │ │ │ │ │ + 17a: eb 20 jmp 19c │ │ │ │ │ + 17c: 6a 07 push $0x7 │ │ │ │ │ + 17e: eb 1c jmp 19c │ │ │ │ │ + 180: 6a 08 push $0x8 │ │ │ │ │ + 182: eb 20 jmp 1a4 │ │ │ │ │ + 184: 6a 0a push $0xa │ │ │ │ │ + 186: eb 1c jmp 1a4 │ │ │ │ │ + 188: 6a 0b push $0xb │ │ │ │ │ + 18a: eb 18 jmp 1a4 │ │ │ │ │ + 18c: 6a 0c push $0xc │ │ │ │ │ + 18e: eb 14 jmp 1a4 │ │ │ │ │ + 190: 6a 0d push $0xd │ │ │ │ │ + 192: eb 10 jmp 1a4 │ │ │ │ │ + 194: 6a 0e push $0xe │ │ │ │ │ + 196: eb 0c jmp 1a4 │ │ │ │ │ │ │ │ │ │ -0000018c : │ │ │ │ │ +00000198 : │ │ │ │ │ intx10(): │ │ │ │ │ - 18c: 6a 10 push $0x10 │ │ │ │ │ - 18e: eb 00 jmp 190 │ │ │ │ │ + 198: 6a 10 push $0x10 │ │ │ │ │ + 19a: eb 00 jmp 19c │ │ │ │ │ │ │ │ │ │ -00000190 : │ │ │ │ │ +0000019c : │ │ │ │ │ ex_noc(): │ │ │ │ │ - 190: ff 34 24 pushl (%esp) │ │ │ │ │ - 193: c6 44 24 04 00 movb $0x0,0x4(%esp) │ │ │ │ │ + 19c: ff 34 24 pushl (%esp) │ │ │ │ │ + 19f: c6 44 24 04 00 movb $0x0,0x4(%esp) │ │ │ │ │ │ │ │ │ │ -00000198 : │ │ │ │ │ +000001a4 : │ │ │ │ │ except(): │ │ │ │ │ - 198: fc cld │ │ │ │ │ - 199: 1e push %ds │ │ │ │ │ - 19a: 06 push %es │ │ │ │ │ - 19b: 60 pusha │ │ │ │ │ - 19c: 0f a8 push %gs │ │ │ │ │ - 19e: 0f a0 push %fs │ │ │ │ │ - 1a0: 1e push %ds │ │ │ │ │ - 1a1: 06 push %es │ │ │ │ │ - 1a2: 66 83 7c 24 44 08 cmpw $0x8,0x44(%esp) │ │ │ │ │ - 1a8: 75 03 jne 1ad │ │ │ │ │ - 1aa: 16 push %ss │ │ │ │ │ - 1ab: eb 04 jmp 1b1 │ │ │ │ │ + 1a4: fc cld │ │ │ │ │ + 1a5: 1e push %ds │ │ │ │ │ + 1a6: 06 push %es │ │ │ │ │ + 1a7: 60 pusha │ │ │ │ │ + 1a8: 0f a8 push %gs │ │ │ │ │ + 1aa: 0f a0 push %fs │ │ │ │ │ + 1ac: 1e push %ds │ │ │ │ │ + 1ad: 06 push %es │ │ │ │ │ + 1ae: 66 83 7c 24 44 08 cmpw $0x8,0x44(%esp) │ │ │ │ │ + 1b4: 75 03 jne 1b9 │ │ │ │ │ + 1b6: 16 push %ss │ │ │ │ │ + 1b7: eb 04 jmp 1bd │ │ │ │ │ │ │ │ │ │ -000001ad : │ │ │ │ │ +000001b9 : │ │ │ │ │ except.1(): │ │ │ │ │ - 1ad: ff 74 24 50 pushl 0x50(%esp) │ │ │ │ │ + 1b9: ff 74 24 50 pushl 0x50(%esp) │ │ │ │ │ │ │ │ │ │ -000001b1 : │ │ │ │ │ +000001bd : │ │ │ │ │ except.2(): │ │ │ │ │ - 1b1: ff 74 24 50 pushl 0x50(%esp) │ │ │ │ │ - 1b5: 6a 10 push $0x10 │ │ │ │ │ - 1b7: 1f pop %ds │ │ │ │ │ - 1b8: 1e push %ds │ │ │ │ │ - 1b9: 07 pop %es │ │ │ │ │ - 1ba: 89 e3 mov %esp,%ebx │ │ │ │ │ - 1bc: be 01 06 00 00 mov $0x601,%esi │ │ │ │ │ - 1c1: bf 00 18 00 00 mov $0x1800,%edi │ │ │ │ │ - 1c6: 57 push %edi │ │ │ │ │ - 1c7: e8 4d 02 00 00 call 419 │ │ │ │ │ - 1cc: 5e pop %esi │ │ │ │ │ - 1cd: e8 03 03 00 00 call 4d5 │ │ │ │ │ - 1d2: 8d 64 24 18 lea 0x18(%esp),%esp │ │ │ │ │ - 1d6: 61 popa │ │ │ │ │ - 1d7: 07 pop %es │ │ │ │ │ - 1d8: 1f pop %ds │ │ │ │ │ - 1d9: 80 3c 24 03 cmpb $0x3,(%esp) │ │ │ │ │ - 1dd: 74 15 je 1f4 │ │ │ │ │ - 1df: 80 3c 24 01 cmpb $0x1,(%esp) │ │ │ │ │ - 1e3: 75 0a jne 1ef │ │ │ │ │ - 1e5: f7 44 24 10 00 01 00 testl $0x100,0x10(%esp) │ │ │ │ │ - 1ec: 00 │ │ │ │ │ - 1ed: 75 05 jne 1f4 │ │ │ │ │ + 1bd: ff 74 24 50 pushl 0x50(%esp) │ │ │ │ │ + 1c1: 6a 10 push $0x10 │ │ │ │ │ + 1c3: 1f pop %ds │ │ │ │ │ + 1c4: 1e push %ds │ │ │ │ │ + 1c5: 07 pop %es │ │ │ │ │ + 1c6: 89 e3 mov %esp,%ebx │ │ │ │ │ + 1c8: be 21 06 00 00 mov $0x621,%esi │ │ │ │ │ + 1cd: bf 00 18 00 00 mov $0x1800,%edi │ │ │ │ │ + 1d2: 57 push %edi │ │ │ │ │ + 1d3: e8 56 02 00 00 call 42e │ │ │ │ │ + 1d8: 5e pop %esi │ │ │ │ │ + 1d9: e8 0c 03 00 00 call 4ea │ │ │ │ │ + 1de: 8d 64 24 18 lea 0x18(%esp),%esp │ │ │ │ │ + 1e2: 61 popa │ │ │ │ │ + 1e3: 07 pop %es │ │ │ │ │ + 1e4: 1f pop %ds │ │ │ │ │ + 1e5: 80 3c 24 03 cmpb $0x3,(%esp) │ │ │ │ │ + 1e9: 74 15 je 200 │ │ │ │ │ + 1eb: 80 3c 24 01 cmpb $0x1,(%esp) │ │ │ │ │ + 1ef: 75 0a jne 1fb │ │ │ │ │ + 1f1: f7 44 24 10 00 01 00 testl $0x100,0x10(%esp) │ │ │ │ │ + 1f8: 00 │ │ │ │ │ + 1f9: 75 05 jne 200 │ │ │ │ │ │ │ │ │ │ -000001ef : │ │ │ │ │ +000001fb : │ │ │ │ │ except.2a(): │ │ │ │ │ - 1ef: e9 de fe ff ff jmp d2 │ │ │ │ │ + 1fb: e9 d8 fe ff ff jmp d8 │ │ │ │ │ │ │ │ │ │ -000001f4 : │ │ │ │ │ +00000200 : │ │ │ │ │ except.3(): │ │ │ │ │ - 1f4: 8d 64 24 08 lea 0x8(%esp),%esp │ │ │ │ │ - 1f8: cf iret │ │ │ │ │ + 200: 8d 64 24 08 lea 0x8(%esp),%esp │ │ │ │ │ + 204: cf iret │ │ │ │ │ │ │ │ │ │ -000001f9 : │ │ │ │ │ +00000205 : │ │ │ │ │ reboot(): │ │ │ │ │ - 1f9: 80 0d 07 00 00 00 01 orb $0x1,0x7 │ │ │ │ │ - 200: e9 cd fe ff ff jmp d2 │ │ │ │ │ + 205: 80 0d 07 00 00 00 01 orb $0x1,0x7 │ │ │ │ │ + 20c: e9 c7 fe ff ff jmp d8 │ │ │ │ │ │ │ │ │ │ -00000205 : │ │ │ │ │ +00000211 : │ │ │ │ │ intx20(): │ │ │ │ │ - 205: 6a 08 push $0x8 │ │ │ │ │ - 207: eb 3e jmp 247 │ │ │ │ │ - 209: 6a 09 push $0x9 │ │ │ │ │ - 20b: eb 3a jmp 247 │ │ │ │ │ - 20d: 6a 0a push $0xa │ │ │ │ │ - 20f: eb 36 jmp 247 │ │ │ │ │ - 211: 6a 0b push $0xb │ │ │ │ │ - 213: eb 32 jmp 247 │ │ │ │ │ - 215: 6a 0c push $0xc │ │ │ │ │ - 217: eb 2e jmp 247 │ │ │ │ │ - 219: 6a 0d push $0xd │ │ │ │ │ - 21b: eb 2a jmp 247 │ │ │ │ │ - 21d: 6a 0e push $0xe │ │ │ │ │ - 21f: eb 26 jmp 247 │ │ │ │ │ - 221: 6a 0f push $0xf │ │ │ │ │ - 223: eb 22 jmp 247 │ │ │ │ │ - 225: 6a 70 push $0x70 │ │ │ │ │ - 227: eb 1e jmp 247 │ │ │ │ │ - 229: 6a 71 push $0x71 │ │ │ │ │ - 22b: eb 1a jmp 247 │ │ │ │ │ - 22d: 6a 72 push $0x72 │ │ │ │ │ - 22f: eb 16 jmp 247 │ │ │ │ │ - 231: 6a 73 push $0x73 │ │ │ │ │ - 233: eb 12 jmp 247 │ │ │ │ │ - 235: 6a 74 push $0x74 │ │ │ │ │ - 237: eb 0e jmp 247 │ │ │ │ │ - 239: 6a 75 push $0x75 │ │ │ │ │ - 23b: eb 0a jmp 247 │ │ │ │ │ - 23d: 6a 76 push $0x76 │ │ │ │ │ - 23f: eb 06 jmp 247 │ │ │ │ │ - 241: 6a 77 push $0x77 │ │ │ │ │ - 243: eb 02 jmp 247 │ │ │ │ │ + 211: 6a 08 push $0x8 │ │ │ │ │ + 213: eb 3e jmp 253 │ │ │ │ │ + 215: 6a 09 push $0x9 │ │ │ │ │ + 217: eb 3a jmp 253 │ │ │ │ │ + 219: 6a 0a push $0xa │ │ │ │ │ + 21b: eb 36 jmp 253 │ │ │ │ │ + 21d: 6a 0b push $0xb │ │ │ │ │ + 21f: eb 32 jmp 253 │ │ │ │ │ + 221: 6a 0c push $0xc │ │ │ │ │ + 223: eb 2e jmp 253 │ │ │ │ │ + 225: 6a 0d push $0xd │ │ │ │ │ + 227: eb 2a jmp 253 │ │ │ │ │ + 229: 6a 0e push $0xe │ │ │ │ │ + 22b: eb 26 jmp 253 │ │ │ │ │ + 22d: 6a 0f push $0xf │ │ │ │ │ + 22f: eb 22 jmp 253 │ │ │ │ │ + 231: 6a 70 push $0x70 │ │ │ │ │ + 233: eb 1e jmp 253 │ │ │ │ │ + 235: 6a 71 push $0x71 │ │ │ │ │ + 237: eb 1a jmp 253 │ │ │ │ │ + 239: 6a 72 push $0x72 │ │ │ │ │ + 23b: eb 16 jmp 253 │ │ │ │ │ + 23d: 6a 73 push $0x73 │ │ │ │ │ + 23f: eb 12 jmp 253 │ │ │ │ │ + 241: 6a 74 push $0x74 │ │ │ │ │ + 243: eb 0e jmp 253 │ │ │ │ │ + 245: 6a 75 push $0x75 │ │ │ │ │ + 247: eb 0a jmp 253 │ │ │ │ │ + 249: 6a 76 push $0x76 │ │ │ │ │ + 24b: eb 06 jmp 253 │ │ │ │ │ + 24d: 6a 77 push $0x77 │ │ │ │ │ + 24f: eb 02 jmp 253 │ │ │ │ │ │ │ │ │ │ -00000245 : │ │ │ │ │ +00000251 : │ │ │ │ │ intx31(): │ │ │ │ │ - 245: 6a ff push $0xffffffff │ │ │ │ │ + 251: 6a ff push $0xffffffff │ │ │ │ │ │ │ │ │ │ -00000247 : │ │ │ │ │ +00000253 : │ │ │ │ │ int_hw(): │ │ │ │ │ - 247: fc cld │ │ │ │ │ - 248: 60 pusha │ │ │ │ │ - 249: 0f a8 push %gs │ │ │ │ │ - 24b: 0f a0 push %fs │ │ │ │ │ - 24d: 1e push %ds │ │ │ │ │ - 24e: 06 push %es │ │ │ │ │ - 24f: 6a 10 push $0x10 │ │ │ │ │ - 251: 1f pop %ds │ │ │ │ │ - 252: 1e push %ds │ │ │ │ │ - 253: 07 pop %es │ │ │ │ │ - 254: 8d 74 24 44 lea 0x44(%esp),%esi │ │ │ │ │ - 258: 89 25 fc 5d 00 00 mov %esp,0x5dfc │ │ │ │ │ - 25e: 8b 46 ec mov -0x14(%esi),%eax │ │ │ │ │ - 261: 83 f8 ff cmp $0xffffffff,%eax │ │ │ │ │ - 264: 75 2c jne 292 │ │ │ │ │ - 266: bb 00 a0 00 00 mov $0xa000,%ebx │ │ │ │ │ - 26b: 89 da mov %ebx,%edx │ │ │ │ │ - 26d: 03 5e fc add -0x4(%esi),%ebx │ │ │ │ │ - 270: 8b 2b mov (%ebx),%ebp │ │ │ │ │ - 272: 01 ea add %ebp,%edx │ │ │ │ │ - 274: 89 15 f8 5d 00 00 mov %edx,0x5df8 │ │ │ │ │ - 27a: 8b 42 04 mov 0x4(%edx),%eax │ │ │ │ │ - 27d: 8b 12 mov (%edx),%edx │ │ │ │ │ - 27f: 8b 5e f8 mov -0x8(%esi),%ebx │ │ │ │ │ - 282: f7 c2 00 00 01 00 test $0x10000,%edx │ │ │ │ │ - 288: 75 25 jne 2af │ │ │ │ │ - 28a: 81 e3 ff fc fb ff and $0xfffbfcff,%ebx │ │ │ │ │ - 290: eb 16 jmp 2a8 │ │ │ │ │ + 253: fc cld │ │ │ │ │ + 254: 60 pusha │ │ │ │ │ + 255: 0f a8 push %gs │ │ │ │ │ + 257: 0f a0 push %fs │ │ │ │ │ + 259: 1e push %ds │ │ │ │ │ + 25a: 06 push %es │ │ │ │ │ + 25b: 6a 10 push $0x10 │ │ │ │ │ + 25d: 1f pop %ds │ │ │ │ │ + 25e: 1e push %ds │ │ │ │ │ + 25f: 07 pop %es │ │ │ │ │ + 260: 8d 74 24 44 lea 0x44(%esp),%esi │ │ │ │ │ + 264: 89 25 fc 5d 00 00 mov %esp,0x5dfc │ │ │ │ │ + 26a: 8b 46 ec mov -0x14(%esi),%eax │ │ │ │ │ + 26d: 83 f8 ff cmp $0xffffffff,%eax │ │ │ │ │ + 270: 75 2c jne 29e │ │ │ │ │ + 272: bb 00 a0 00 00 mov $0xa000,%ebx │ │ │ │ │ + 277: 89 da mov %ebx,%edx │ │ │ │ │ + 279: 03 5e fc add -0x4(%esi),%ebx │ │ │ │ │ + 27c: 8b 2b mov (%ebx),%ebp │ │ │ │ │ + 27e: 01 ea add %ebp,%edx │ │ │ │ │ + 280: 89 15 f8 5d 00 00 mov %edx,0x5df8 │ │ │ │ │ + 286: 8b 42 04 mov 0x4(%edx),%eax │ │ │ │ │ + 289: 8b 12 mov (%edx),%edx │ │ │ │ │ + 28b: 8b 5e f8 mov -0x8(%esi),%ebx │ │ │ │ │ + 28e: f7 c2 00 00 01 00 test $0x10000,%edx │ │ │ │ │ + 294: 75 25 jne 2bb │ │ │ │ │ + 296: 81 e3 ff fc fb ff and $0xfffbfcff,%ebx │ │ │ │ │ + 29c: eb 16 jmp 2b4 │ │ │ │ │ │ │ │ │ │ -00000292 : │ │ │ │ │ +0000029e : │ │ │ │ │ intusr.1(): │ │ │ │ │ - 292: 31 d2 xor %edx,%edx │ │ │ │ │ - 294: 89 15 f8 5d 00 00 mov %edx,0x5df8 │ │ │ │ │ - 29a: b9 0c 00 00 00 mov $0xc,%ecx │ │ │ │ │ + 29e: 31 d2 xor %edx,%edx │ │ │ │ │ + 2a0: 89 15 f8 5d 00 00 mov %edx,0x5df8 │ │ │ │ │ + 2a6: b9 0c 00 00 00 mov $0xc,%ecx │ │ │ │ │ │ │ │ │ │ -0000029f : │ │ │ │ │ +000002ab : │ │ │ │ │ intusr.2(): │ │ │ │ │ - 29f: 6a 00 push $0x0 │ │ │ │ │ - 2a1: e2 fc loop 29f │ │ │ │ │ - 2a3: bb 02 00 00 00 mov $0x2,%ebx │ │ │ │ │ + 2ab: 6a 00 push $0x0 │ │ │ │ │ + 2ad: e2 fc loop 2ab │ │ │ │ │ + 2af: bb 02 00 00 00 mov $0x2,%ebx │ │ │ │ │ │ │ │ │ │ -000002a8 : │ │ │ │ │ +000002b4 : │ │ │ │ │ intusr.3(): │ │ │ │ │ - 2a8: c1 e0 02 shl $0x2,%eax │ │ │ │ │ - 2ab: 8b 00 mov (%eax),%eax │ │ │ │ │ - 2ad: eb 22 jmp 2d1 │ │ │ │ │ + 2b4: c1 e0 02 shl $0x2,%eax │ │ │ │ │ + 2b7: 8b 00 mov (%eax),%eax │ │ │ │ │ + 2b9: eb 22 jmp 2dd │ │ │ │ │ │ │ │ │ │ -000002af : │ │ │ │ │ +000002bb : │ │ │ │ │ intusr.4(): │ │ │ │ │ - 2af: f7 c2 00 00 02 00 test $0x20000,%edx │ │ │ │ │ - 2b5: 75 1a jne 2d1 │ │ │ │ │ - 2b7: 89 54 24 30 mov %edx,0x30(%esp) │ │ │ │ │ - 2bb: be 74 06 00 00 mov $0x674,%esi │ │ │ │ │ - 2c0: e8 10 02 00 00 call 4d5 │ │ │ │ │ - 2c5: 07 pop %es │ │ │ │ │ - 2c6: 1f pop %ds │ │ │ │ │ - 2c7: 0f a1 pop %fs │ │ │ │ │ - 2c9: 0f a9 pop %gs │ │ │ │ │ - 2cb: 61 popa │ │ │ │ │ - 2cc: e9 bf fe ff ff jmp 190 │ │ │ │ │ + 2bb: f7 c2 00 00 02 00 test $0x20000,%edx │ │ │ │ │ + 2c1: 75 1a jne 2dd │ │ │ │ │ + 2c3: 89 54 24 30 mov %edx,0x30(%esp) │ │ │ │ │ + 2c7: be 94 06 00 00 mov $0x694,%esi │ │ │ │ │ + 2cc: e8 19 02 00 00 call 4ea │ │ │ │ │ + 2d1: 07 pop %es │ │ │ │ │ + 2d2: 1f pop %ds │ │ │ │ │ + 2d3: 0f a1 pop %fs │ │ │ │ │ + 2d5: 0f a9 pop %gs │ │ │ │ │ + 2d7: 61 popa │ │ │ │ │ + 2d8: e9 bf fe ff ff jmp 19c │ │ │ │ │ │ │ │ │ │ -000002d1 : │ │ │ │ │ +000002dd : │ │ │ │ │ intusr.5(): │ │ │ │ │ - 2d1: 66 89 1d ee 5d 00 00 mov %bx,0x5dee │ │ │ │ │ - 2d8: 8b 0d f8 5d 00 00 mov 0x5df8,%ecx │ │ │ │ │ - 2de: e3 0f jecxz 2ef │ │ │ │ │ - 2e0: 8d 7e bc lea -0x44(%esi),%edi │ │ │ │ │ - 2e3: 56 push %esi │ │ │ │ │ - 2e4: 8d 71 08 lea 0x8(%ecx),%esi │ │ │ │ │ - 2e7: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ - 2ec: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ - 2ee: 5e pop %esi │ │ │ │ │ + 2dd: 66 89 1d ee 5d 00 00 mov %bx,0x5dee │ │ │ │ │ + 2e4: 8b 0d f8 5d 00 00 mov 0x5df8,%ecx │ │ │ │ │ + 2ea: e3 0f jecxz 2fb │ │ │ │ │ + 2ec: 8d 7e bc lea -0x44(%esi),%edi │ │ │ │ │ + 2ef: 56 push %esi │ │ │ │ │ + 2f0: 8d 71 08 lea 0x8(%ecx),%esi │ │ │ │ │ + 2f3: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ + 2f8: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ + 2fa: 5e pop %esi │ │ │ │ │ │ │ │ │ │ -000002ef : │ │ │ │ │ +000002fb : │ │ │ │ │ intusr.6(): │ │ │ │ │ - 2ef: 8b 5e f8 mov -0x8(%esi),%ebx │ │ │ │ │ - 2f2: 89 1d f4 5d 00 00 mov %ebx,0x5df4 │ │ │ │ │ - 2f8: bb 36 03 00 00 mov $0x336,%ebx │ │ │ │ │ - 2fd: 89 1d f0 5d 00 00 mov %ebx,0x5df0 │ │ │ │ │ - 303: a3 ea 5d 00 00 mov %eax,0x5dea │ │ │ │ │ - 308: 66 ea 0e 03 18 00 ljmpw $0x18,$0x30e │ │ │ │ │ + 2fb: 8b 5e f8 mov -0x8(%esi),%ebx │ │ │ │ │ + 2fe: 89 1d f4 5d 00 00 mov %ebx,0x5df4 │ │ │ │ │ + 304: bb 45 03 00 00 mov $0x345,%ebx │ │ │ │ │ + 309: 89 1d f0 5d 00 00 mov %ebx,0x5df0 │ │ │ │ │ + 30f: a3 ea 5d 00 00 mov %eax,0x5dea │ │ │ │ │ + 314: 66 ea 1a 03 18 00 ljmpw $0x18,$0x31a │ │ │ │ │ │ │ │ │ │ -0000030e : │ │ │ │ │ +0000031a : │ │ │ │ │ intusr.7(): │ │ │ │ │ - 30e: 0f 20 c0 mov %cr0,%eax │ │ │ │ │ - 311: fe c8 dec %al │ │ │ │ │ - 313: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ - 316: ea .byte 0xea │ │ │ │ │ - 317: 1b 03 sbb (%ebx),%eax │ │ │ │ │ + 31a: 0f 20 c0 mov %cr0,%eax │ │ │ │ │ + 31d: fe c8 dec %al │ │ │ │ │ + 31f: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ + 322: ea .byte 0xea │ │ │ │ │ + 323: 27 daa │ │ │ │ │ + 324: 03 00 add (%eax),%eax │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -0000031b : │ │ │ │ │ +00000327 : │ │ │ │ │ intusr.8(): │ │ │ │ │ - 31b: 31 c0 xor %eax,%eax │ │ │ │ │ - 31d: 8e d8 mov %eax,%ds │ │ │ │ │ - 31f: 8e d0 mov %eax,%ss │ │ │ │ │ - 321: 0f 01 1e lidtl (%esi) │ │ │ │ │ - 324: dc 05 66 07 66 1f faddl 0x1f660766 │ │ │ │ │ - 32a: 66 0f a1 popw %fs │ │ │ │ │ - 32d: 66 0f a9 popw %gs │ │ │ │ │ - 330: 66 61 popaw │ │ │ │ │ - 332: bc .byte 0xbc │ │ │ │ │ - 333: ea .byte 0xea │ │ │ │ │ - 334: 5d pop %ebp │ │ │ │ │ - 335: cf iret │ │ │ │ │ + 327: 31 c0 xor %eax,%eax │ │ │ │ │ + 329: 8e d8 mov %eax,%ds │ │ │ │ │ + 32b: 8e d0 mov %eax,%ss │ │ │ │ │ + 32d: 67 0f 01 1d lidtl (%di) │ │ │ │ │ + 331: fc cld │ │ │ │ │ + 332: 05 00 00 66 07 add $0x7660000,%eax │ │ │ │ │ + 337: 66 1f popw %ds │ │ │ │ │ + 339: 66 0f a1 popw %fs │ │ │ │ │ + 33c: 66 0f a9 popw %gs │ │ │ │ │ + 33f: 66 61 popaw │ │ │ │ │ + 341: bc .byte 0xbc │ │ │ │ │ + 342: ea .byte 0xea │ │ │ │ │ + 343: 5d pop %ebp │ │ │ │ │ + 344: cf iret │ │ │ │ │ │ │ │ │ │ -00000336 : │ │ │ │ │ +00000345 : │ │ │ │ │ rret_tramp(): │ │ │ │ │ - 336: bc f8 5d 66 60 mov $0x60665df8,%esp │ │ │ │ │ - 33b: 66 0f a8 pushw %gs │ │ │ │ │ - 33e: 66 0f a0 pushw %fs │ │ │ │ │ - 341: 66 1e pushw %ds │ │ │ │ │ - 343: 66 06 pushw %es │ │ │ │ │ - 345: 66 9c pushfw │ │ │ │ │ - 347: 66 68 02 04 pushw $0x402 │ │ │ │ │ - 34b: 00 00 add %al,(%eax) │ │ │ │ │ - 34d: 66 9d popfw │ │ │ │ │ - 34f: 31 c0 xor %eax,%eax │ │ │ │ │ - 351: 8e d8 mov %eax,%ds │ │ │ │ │ - 353: 8e c0 mov %eax,%es │ │ │ │ │ - 355: 0f 01 1e lidtl (%esi) │ │ │ │ │ - 358: d6 (bad) │ │ │ │ │ - 359: 05 0f 01 16 d0 add $0xd016010f,%eax │ │ │ │ │ - 35e: 05 0f 20 c0 40 add $0x40c0200f,%eax │ │ │ │ │ - 363: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ - 366: ea .byte 0xea │ │ │ │ │ - 367: 6b 03 08 imul $0x8,(%ebx),%eax │ │ │ │ │ + 345: bc f8 5d 66 60 mov $0x60665df8,%esp │ │ │ │ │ + 34a: 66 0f a8 pushw %gs │ │ │ │ │ + 34d: 66 0f a0 pushw %fs │ │ │ │ │ + 350: 66 1e pushw %ds │ │ │ │ │ + 352: 66 06 pushw %es │ │ │ │ │ + 354: 66 9c pushfw │ │ │ │ │ + 356: 66 68 02 04 pushw $0x402 │ │ │ │ │ + 35a: 00 00 add %al,(%eax) │ │ │ │ │ + 35c: 66 9d popfw │ │ │ │ │ + 35e: 31 c0 xor %eax,%eax │ │ │ │ │ + 360: 8e d8 mov %eax,%ds │ │ │ │ │ + 362: 8e c0 mov %eax,%es │ │ │ │ │ + 364: 67 0f 01 1d lidtl (%di) │ │ │ │ │ + 368: f6 05 00 00 67 0f 01 testb $0x1,0xf670000 │ │ │ │ │ + 36f: 15 f0 05 00 00 adc $0x5f0,%eax │ │ │ │ │ + 374: 0f 20 c0 mov %cr0,%eax │ │ │ │ │ + 377: 40 inc %eax │ │ │ │ │ + 378: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ + 37b: ea .byte 0xea │ │ │ │ │ + 37c: 80 03 08 addb $0x8,(%ebx) │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -0000036b : │ │ │ │ │ +00000380 : │ │ │ │ │ rret_tramp.1(): │ │ │ │ │ - 36b: 31 c9 xor %ecx,%ecx │ │ │ │ │ - 36d: b1 10 mov $0x10,%cl │ │ │ │ │ - 36f: 8e d1 mov %ecx,%ss │ │ │ │ │ - 371: 8e d9 mov %ecx,%ds │ │ │ │ │ - 373: 8e c1 mov %ecx,%es │ │ │ │ │ - 375: 8b 25 fc 5d 00 00 mov 0x5dfc,%esp │ │ │ │ │ - 37b: 8d 74 24 44 lea 0x44(%esp),%esi │ │ │ │ │ - 37f: 80 25 cd 05 00 00 fd andb $0xfd,0x5cd │ │ │ │ │ - 386: b1 38 mov $0x38,%cl │ │ │ │ │ - 388: 0f 00 d9 ltr %cx │ │ │ │ │ - 38b: 83 3d f8 5d 00 00 00 cmpl $0x0,0x5df8 │ │ │ │ │ - 392: 74 4d je 3e1 │ │ │ │ │ - 394: 8d 7e e8 lea -0x18(%esi),%edi │ │ │ │ │ - 397: 56 push %esi │ │ │ │ │ - 398: be f4 5d 00 00 mov $0x5df4,%esi │ │ │ │ │ - 39d: b9 08 00 00 00 mov $0x8,%ecx │ │ │ │ │ - 3a2: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ - 3a4: b8 33 00 00 00 mov $0x33,%eax │ │ │ │ │ - 3a9: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ - 3ae: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ │ - 3b0: 8b 0d f8 5d 00 00 mov 0x5df8,%ecx │ │ │ │ │ - 3b6: 8d 79 14 lea 0x14(%ecx),%edi │ │ │ │ │ - 3b9: 8d 35 d4 5d 00 00 lea 0x5dd4,%esi │ │ │ │ │ - 3bf: 87 ca xchg %ecx,%edx │ │ │ │ │ - 3c1: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ - 3c6: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ - 3c8: 5e pop %esi │ │ │ │ │ - 3c9: 8b 12 mov (%edx),%edx │ │ │ │ │ - 3cb: f7 c2 00 00 04 00 test $0x40000,%edx │ │ │ │ │ - 3d1: 74 0e je 3e1 │ │ │ │ │ - 3d3: a1 c4 5d 00 00 mov 0x5dc4,%eax │ │ │ │ │ - 3d8: 25 ff be ff ff and $0xffffbeff,%eax │ │ │ │ │ - 3dd: 66 89 46 f8 mov %ax,-0x8(%esi) │ │ │ │ │ + 380: 31 c9 xor %ecx,%ecx │ │ │ │ │ + 382: b1 10 mov $0x10,%cl │ │ │ │ │ + 384: 8e d1 mov %ecx,%ss │ │ │ │ │ + 386: 8e d9 mov %ecx,%ds │ │ │ │ │ + 388: 8e c1 mov %ecx,%es │ │ │ │ │ + 38a: 8b 25 fc 5d 00 00 mov 0x5dfc,%esp │ │ │ │ │ + 390: 8d 74 24 44 lea 0x44(%esp),%esi │ │ │ │ │ + 394: 80 25 ed 05 00 00 fd andb $0xfd,0x5ed │ │ │ │ │ + 39b: b1 38 mov $0x38,%cl │ │ │ │ │ + 39d: 0f 00 d9 ltr %cx │ │ │ │ │ + 3a0: 83 3d f8 5d 00 00 00 cmpl $0x0,0x5df8 │ │ │ │ │ + 3a7: 74 4d je 3f6 │ │ │ │ │ + 3a9: 8d 7e e8 lea -0x18(%esi),%edi │ │ │ │ │ + 3ac: 56 push %esi │ │ │ │ │ + 3ad: be f4 5d 00 00 mov $0x5df4,%esi │ │ │ │ │ + 3b2: b9 08 00 00 00 mov $0x8,%ecx │ │ │ │ │ + 3b7: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ + 3b9: b8 33 00 00 00 mov $0x33,%eax │ │ │ │ │ + 3be: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ + 3c3: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ │ + 3c5: 8b 0d f8 5d 00 00 mov 0x5df8,%ecx │ │ │ │ │ + 3cb: 8d 79 14 lea 0x14(%ecx),%edi │ │ │ │ │ + 3ce: 8d 35 d4 5d 00 00 lea 0x5dd4,%esi │ │ │ │ │ + 3d4: 87 ca xchg %ecx,%edx │ │ │ │ │ + 3d6: b9 04 00 00 00 mov $0x4,%ecx │ │ │ │ │ + 3db: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ + 3dd: 5e pop %esi │ │ │ │ │ + 3de: 8b 12 mov (%edx),%edx │ │ │ │ │ + 3e0: f7 c2 00 00 04 00 test $0x40000,%edx │ │ │ │ │ + 3e6: 74 0e je 3f6 │ │ │ │ │ + 3e8: a1 c4 5d 00 00 mov 0x5dc4,%eax │ │ │ │ │ + 3ed: 25 ff be ff ff and $0xffffbeff,%eax │ │ │ │ │ + 3f2: 66 89 46 f8 mov %ax,-0x8(%esi) │ │ │ │ │ │ │ │ │ │ -000003e1 : │ │ │ │ │ +000003f6 : │ │ │ │ │ rret_tramp.3(): │ │ │ │ │ - 3e1: 07 pop %es │ │ │ │ │ - 3e2: 1f pop %ds │ │ │ │ │ - 3e3: 0f a1 pop %fs │ │ │ │ │ - 3e5: 0f a9 pop %gs │ │ │ │ │ - 3e7: 61 popa │ │ │ │ │ - 3e8: 83 c4 04 add $0x4,%esp │ │ │ │ │ - 3eb: cf iret │ │ │ │ │ + 3f6: 07 pop %es │ │ │ │ │ + 3f7: 1f pop %ds │ │ │ │ │ + 3f8: 0f a1 pop %fs │ │ │ │ │ + 3fa: 0f a9 pop %gs │ │ │ │ │ + 3fc: 61 popa │ │ │ │ │ + 3fd: 83 c4 04 add $0x4,%esp │ │ │ │ │ + 400: cf iret │ │ │ │ │ │ │ │ │ │ -000003ec : │ │ │ │ │ +00000401 : │ │ │ │ │ intx30(): │ │ │ │ │ - 3ec: 83 f8 01 cmp $0x1,%eax │ │ │ │ │ - 3ef: 75 1a jne 40b │ │ │ │ │ - 3f1: 16 push %ss │ │ │ │ │ - 3f2: 07 pop %es │ │ │ │ │ - 3f3: 06 push %es │ │ │ │ │ - 3f4: 1f pop %ds │ │ │ │ │ - 3f5: 1e push %ds │ │ │ │ │ - 3f6: 0f a1 pop %fs │ │ │ │ │ - 3f8: 0f a0 push %fs │ │ │ │ │ - 3fa: 0f a9 pop %gs │ │ │ │ │ - 3fc: b8 00 a0 00 00 mov $0xa000,%eax │ │ │ │ │ - 401: 03 44 24 0c add 0xc(%esp),%eax │ │ │ │ │ - 405: 8d 60 04 lea 0x4(%eax),%esp │ │ │ │ │ - 408: 58 pop %eax │ │ │ │ │ - 409: ff d0 call *%eax │ │ │ │ │ + 401: 83 f8 01 cmp $0x1,%eax │ │ │ │ │ + 404: 75 1a jne 420 │ │ │ │ │ + 406: 16 push %ss │ │ │ │ │ + 407: 07 pop %es │ │ │ │ │ + 408: 06 push %es │ │ │ │ │ + 409: 1f pop %ds │ │ │ │ │ + 40a: 1e push %ds │ │ │ │ │ + 40b: 0f a1 pop %fs │ │ │ │ │ + 40d: 0f a0 push %fs │ │ │ │ │ + 40f: 0f a9 pop %gs │ │ │ │ │ + 411: b8 00 a0 00 00 mov $0xa000,%eax │ │ │ │ │ + 416: 03 44 24 0c add 0xc(%esp),%eax │ │ │ │ │ + 41a: 8d 60 04 lea 0x4(%eax),%esp │ │ │ │ │ + 41d: 58 pop %eax │ │ │ │ │ + 41e: ff d0 call *%eax │ │ │ │ │ │ │ │ │ │ -0000040b : │ │ │ │ │ +00000420 : │ │ │ │ │ intx30.1(): │ │ │ │ │ - 40b: 36 80 0d 07 00 00 00 orb $0x1,%ss:0x7 │ │ │ │ │ - 412: 01 │ │ │ │ │ - 413: e9 ba fc ff ff jmp d2 │ │ │ │ │ + 420: 36 80 0d 07 00 00 00 orb $0x1,%ss:0x7 │ │ │ │ │ + 427: 01 │ │ │ │ │ + 428: e9 ab fc ff ff jmp d8 │ │ │ │ │ │ │ │ │ │ -00000418 : │ │ │ │ │ +0000042d : │ │ │ │ │ dump.0(): │ │ │ │ │ - 418: aa stos %al,%es:(%edi) │ │ │ │ │ + 42d: aa stos %al,%es:(%edi) │ │ │ │ │ │ │ │ │ │ -00000419 : │ │ │ │ │ +0000042e : │ │ │ │ │ dump(): │ │ │ │ │ - 419: ac lods %ds:(%esi),%al │ │ │ │ │ - 41a: 84 c0 test %al,%al │ │ │ │ │ - 41c: 0f 84 86 00 00 00 je 4a8 │ │ │ │ │ - 422: a8 80 test $0x80,%al │ │ │ │ │ - 424: 74 f2 je 418 │ │ │ │ │ - 426: 88 c5 mov %al,%ch │ │ │ │ │ - 428: b0 3d mov $0x3d,%al │ │ │ │ │ - 42a: aa stos %al,%es:(%edi) │ │ │ │ │ - 42b: ac lods %ds:(%esi),%al │ │ │ │ │ - 42c: 56 push %esi │ │ │ │ │ - 42d: 0f be f0 movsbl %al,%esi │ │ │ │ │ - 430: 01 de add %ebx,%esi │ │ │ │ │ - 432: f6 c5 01 test $0x1,%ch │ │ │ │ │ - 435: 74 07 je 43e │ │ │ │ │ - 437: 66 ad lods %ds:(%esi),%ax │ │ │ │ │ - 439: e8 76 00 00 00 call 4b4 │ │ │ │ │ + 42e: ac lods %ds:(%esi),%al │ │ │ │ │ + 42f: 84 c0 test %al,%al │ │ │ │ │ + 431: 0f 84 86 00 00 00 je 4bd │ │ │ │ │ + 437: a8 80 test $0x80,%al │ │ │ │ │ + 439: 74 f2 je 42d │ │ │ │ │ + 43b: 88 c5 mov %al,%ch │ │ │ │ │ + 43d: b0 3d mov $0x3d,%al │ │ │ │ │ + 43f: aa stos %al,%es:(%edi) │ │ │ │ │ + 440: ac lods %ds:(%esi),%al │ │ │ │ │ + 441: 56 push %esi │ │ │ │ │ + 442: 0f be f0 movsbl %al,%esi │ │ │ │ │ + 445: 01 de add %ebx,%esi │ │ │ │ │ + 447: f6 c5 01 test $0x1,%ch │ │ │ │ │ + 44a: 74 07 je 453 │ │ │ │ │ + 44c: 66 ad lods %ds:(%esi),%ax │ │ │ │ │ + 44e: e8 76 00 00 00 call 4c9 │ │ │ │ │ │ │ │ │ │ -0000043e : │ │ │ │ │ +00000453 : │ │ │ │ │ dump.1(): │ │ │ │ │ - 43e: f6 c5 02 test $0x2,%ch │ │ │ │ │ - 441: 74 06 je 449 │ │ │ │ │ - 443: ad lods %ds:(%esi),%eax │ │ │ │ │ - 444: e8 61 00 00 00 call 4aa │ │ │ │ │ + 453: f6 c5 02 test $0x2,%ch │ │ │ │ │ + 456: 74 06 je 45e │ │ │ │ │ + 458: ad lods %ds:(%esi),%eax │ │ │ │ │ + 459: e8 61 00 00 00 call 4bf │ │ │ │ │ │ │ │ │ │ -00000449 : │ │ │ │ │ +0000045e : │ │ │ │ │ dump.2(): │ │ │ │ │ - 449: f6 c5 04 test $0x4,%ch │ │ │ │ │ - 44c: 74 4a je 498 │ │ │ │ │ - 44e: 1e push %ds │ │ │ │ │ - 44f: f7 43 50 00 00 02 00 testl $0x20000,0x50(%ebx) │ │ │ │ │ - 456: 75 0a jne 462 │ │ │ │ │ - 458: 0f 00 66 04 verr 0x4(%esi) │ │ │ │ │ - 45c: 75 04 jne 462 │ │ │ │ │ - 45e: c5 36 lds (%esi),%esi │ │ │ │ │ - 460: eb 09 jmp 46b │ │ │ │ │ + 45e: f6 c5 04 test $0x4,%ch │ │ │ │ │ + 461: 74 4a je 4ad │ │ │ │ │ + 463: 1e push %ds │ │ │ │ │ + 464: f7 43 50 00 00 02 00 testl $0x20000,0x50(%ebx) │ │ │ │ │ + 46b: 75 0a jne 477 │ │ │ │ │ + 46d: 0f 00 66 04 verr 0x4(%esi) │ │ │ │ │ + 471: 75 04 jne 477 │ │ │ │ │ + 473: c5 36 lds (%esi),%esi │ │ │ │ │ + 475: eb 09 jmp 480 │ │ │ │ │ │ │ │ │ │ -00000462 : │ │ │ │ │ +00000477 : │ │ │ │ │ dump.3(): │ │ │ │ │ - 462: ad lods %ds:(%esi),%eax │ │ │ │ │ - 463: 92 xchg %eax,%edx │ │ │ │ │ - 464: ad lods %ds:(%esi),%eax │ │ │ │ │ - 465: c1 e0 04 shl $0x4,%eax │ │ │ │ │ - 468: 01 d0 add %edx,%eax │ │ │ │ │ - 46a: 96 xchg %eax,%esi │ │ │ │ │ + 477: ad lods %ds:(%esi),%eax │ │ │ │ │ + 478: 92 xchg %eax,%edx │ │ │ │ │ + 479: ad lods %ds:(%esi),%eax │ │ │ │ │ + 47a: c1 e0 04 shl $0x4,%eax │ │ │ │ │ + 47d: 01 d0 add %edx,%eax │ │ │ │ │ + 47f: 96 xchg %eax,%esi │ │ │ │ │ │ │ │ │ │ -0000046b : │ │ │ │ │ +00000480 : │ │ │ │ │ dump.4(): │ │ │ │ │ - 46b: b2 02 mov $0x2,%dl │ │ │ │ │ + 480: b2 02 mov $0x2,%dl │ │ │ │ │ │ │ │ │ │ -0000046d : │ │ │ │ │ +00000482 : │ │ │ │ │ dump.4a(): │ │ │ │ │ - 46d: b1 10 mov $0x10,%cl │ │ │ │ │ + 482: b1 10 mov $0x10,%cl │ │ │ │ │ │ │ │ │ │ -0000046f : │ │ │ │ │ +00000484 : │ │ │ │ │ dump.5(): │ │ │ │ │ - 46f: ac lods %ds:(%esi),%al │ │ │ │ │ - 470: e8 46 00 00 00 call 4bb │ │ │ │ │ - 475: fe c9 dec %cl │ │ │ │ │ - 477: 74 0c je 485 │ │ │ │ │ - 479: b0 2d mov $0x2d,%al │ │ │ │ │ - 47b: 80 f9 08 cmp $0x8,%cl │ │ │ │ │ - 47e: 74 02 je 482 │ │ │ │ │ - 480: b0 20 mov $0x20,%al │ │ │ │ │ + 484: ac lods %ds:(%esi),%al │ │ │ │ │ + 485: e8 46 00 00 00 call 4d0 │ │ │ │ │ + 48a: fe c9 dec %cl │ │ │ │ │ + 48c: 74 0c je 49a │ │ │ │ │ + 48e: b0 2d mov $0x2d,%al │ │ │ │ │ + 490: 80 f9 08 cmp $0x8,%cl │ │ │ │ │ + 493: 74 02 je 497 │ │ │ │ │ + 495: b0 20 mov $0x20,%al │ │ │ │ │ │ │ │ │ │ -00000482 : │ │ │ │ │ +00000497 : │ │ │ │ │ dump.6(): │ │ │ │ │ - 482: aa stos %al,%es:(%edi) │ │ │ │ │ - 483: eb ea jmp 46f │ │ │ │ │ + 497: aa stos %al,%es:(%edi) │ │ │ │ │ + 498: eb ea jmp 484 │ │ │ │ │ │ │ │ │ │ -00000485 : │ │ │ │ │ +0000049a : │ │ │ │ │ dump.6a(): │ │ │ │ │ - 485: fe ca dec %dl │ │ │ │ │ - 487: 74 0e je 497 │ │ │ │ │ - 489: b0 0a mov $0xa,%al │ │ │ │ │ - 48b: aa stos %al,%es:(%edi) │ │ │ │ │ - 48c: b1 07 mov $0x7,%cl │ │ │ │ │ - 48e: b0 20 mov $0x20,%al │ │ │ │ │ + 49a: fe ca dec %dl │ │ │ │ │ + 49c: 74 0e je 4ac │ │ │ │ │ + 49e: b0 0a mov $0xa,%al │ │ │ │ │ + 4a0: aa stos %al,%es:(%edi) │ │ │ │ │ + 4a1: b1 07 mov $0x7,%cl │ │ │ │ │ + 4a3: b0 20 mov $0x20,%al │ │ │ │ │ │ │ │ │ │ -00000490 : │ │ │ │ │ +000004a5 : │ │ │ │ │ dump.6b(): │ │ │ │ │ - 490: aa stos %al,%es:(%edi) │ │ │ │ │ - 491: fe c9 dec %cl │ │ │ │ │ - 493: 75 fb jne 490 │ │ │ │ │ - 495: eb d6 jmp 46d │ │ │ │ │ + 4a5: aa stos %al,%es:(%edi) │ │ │ │ │ + 4a6: fe c9 dec %cl │ │ │ │ │ + 4a8: 75 fb jne 4a5 │ │ │ │ │ + 4aa: eb d6 jmp 482 │ │ │ │ │ │ │ │ │ │ -00000497 : │ │ │ │ │ +000004ac : │ │ │ │ │ dump.7(): │ │ │ │ │ - 497: 1f pop %ds │ │ │ │ │ + 4ac: 1f pop %ds │ │ │ │ │ │ │ │ │ │ -00000498 : │ │ │ │ │ +000004ad : │ │ │ │ │ dump.8(): │ │ │ │ │ - 498: 5e pop %esi │ │ │ │ │ - 499: b0 0a mov $0xa,%al │ │ │ │ │ - 49b: f6 c5 08 test $0x8,%ch │ │ │ │ │ - 49e: 75 03 jne 4a3 │ │ │ │ │ - 4a0: b0 20 mov $0x20,%al │ │ │ │ │ - 4a2: aa stos %al,%es:(%edi) │ │ │ │ │ + 4ad: 5e pop %esi │ │ │ │ │ + 4ae: b0 0a mov $0xa,%al │ │ │ │ │ + 4b0: f6 c5 08 test $0x8,%ch │ │ │ │ │ + 4b3: 75 03 jne 4b8 │ │ │ │ │ + 4b5: b0 20 mov $0x20,%al │ │ │ │ │ + 4b7: aa stos %al,%es:(%edi) │ │ │ │ │ │ │ │ │ │ -000004a3 : │ │ │ │ │ +000004b8 : │ │ │ │ │ dump.9(): │ │ │ │ │ - 4a3: e9 70 ff ff ff jmp 418 │ │ │ │ │ + 4b8: e9 70 ff ff ff jmp 42d │ │ │ │ │ │ │ │ │ │ -000004a8 : │ │ │ │ │ +000004bd : │ │ │ │ │ dump.10(): │ │ │ │ │ - 4a8: aa stos %al,%es:(%edi) │ │ │ │ │ - 4a9: c3 ret │ │ │ │ │ + 4bd: aa stos %al,%es:(%edi) │ │ │ │ │ + 4be: c3 ret │ │ │ │ │ │ │ │ │ │ -000004aa : │ │ │ │ │ +000004bf : │ │ │ │ │ hex32(): │ │ │ │ │ - 4aa: 50 push %eax │ │ │ │ │ - 4ab: c1 e8 10 shr $0x10,%eax │ │ │ │ │ - 4ae: e8 01 00 00 00 call 4b4 │ │ │ │ │ - 4b3: 58 pop %eax │ │ │ │ │ + 4bf: 50 push %eax │ │ │ │ │ + 4c0: c1 e8 10 shr $0x10,%eax │ │ │ │ │ + 4c3: e8 01 00 00 00 call 4c9 │ │ │ │ │ + 4c8: 58 pop %eax │ │ │ │ │ │ │ │ │ │ -000004b4 : │ │ │ │ │ +000004c9 : │ │ │ │ │ hex16(): │ │ │ │ │ - 4b4: e8 00 00 00 00 call 4b9 │ │ │ │ │ + 4c9: e8 00 00 00 00 call 4ce │ │ │ │ │ │ │ │ │ │ -000004b9 : │ │ │ │ │ +000004ce : │ │ │ │ │ hex16.1(): │ │ │ │ │ - 4b9: 86 e0 xchg %ah,%al │ │ │ │ │ + 4ce: 86 e0 xchg %ah,%al │ │ │ │ │ │ │ │ │ │ -000004bb : │ │ │ │ │ +000004d0 : │ │ │ │ │ hex8(): │ │ │ │ │ - 4bb: 50 push %eax │ │ │ │ │ - 4bc: c0 e8 04 shr $0x4,%al │ │ │ │ │ - 4bf: e8 01 00 00 00 call 4c5 │ │ │ │ │ - 4c4: 58 pop %eax │ │ │ │ │ + 4d0: 50 push %eax │ │ │ │ │ + 4d1: c0 e8 04 shr $0x4,%al │ │ │ │ │ + 4d4: e8 01 00 00 00 call 4da │ │ │ │ │ + 4d9: 58 pop %eax │ │ │ │ │ │ │ │ │ │ -000004c5 : │ │ │ │ │ +000004da : │ │ │ │ │ hex8.1(): │ │ │ │ │ - 4c5: 24 0f and $0xf,%al │ │ │ │ │ - 4c7: 3c 0a cmp $0xa,%al │ │ │ │ │ - 4c9: 1c 69 sbb $0x69,%al │ │ │ │ │ - 4cb: 2f das │ │ │ │ │ - 4cc: 0c 20 or $0x20,%al │ │ │ │ │ - 4ce: aa stos %al,%es:(%edi) │ │ │ │ │ - 4cf: c3 ret │ │ │ │ │ + 4da: 24 0f and $0xf,%al │ │ │ │ │ + 4dc: 3c 0a cmp $0xa,%al │ │ │ │ │ + 4de: 1c 69 sbb $0x69,%al │ │ │ │ │ + 4e0: 2f das │ │ │ │ │ + 4e1: 0c 20 or $0x20,%al │ │ │ │ │ + 4e3: aa stos %al,%es:(%edi) │ │ │ │ │ + 4e4: c3 ret │ │ │ │ │ │ │ │ │ │ -000004d0 : │ │ │ │ │ +000004e5 : │ │ │ │ │ putstr.0(): │ │ │ │ │ - 4d0: e8 06 00 00 00 call 4db │ │ │ │ │ + 4e5: e8 06 00 00 00 call 4f0 │ │ │ │ │ │ │ │ │ │ -000004d5 : │ │ │ │ │ +000004ea : │ │ │ │ │ putstr(): │ │ │ │ │ - 4d5: ac lods %ds:(%esi),%al │ │ │ │ │ - 4d6: 84 c0 test %al,%al │ │ │ │ │ - 4d8: 75 f6 jne 4d0 │ │ │ │ │ - 4da: c3 ret │ │ │ │ │ + 4ea: ac lods %ds:(%esi),%al │ │ │ │ │ + 4eb: 84 c0 test %al,%al │ │ │ │ │ + 4ed: 75 f6 jne 4e5 │ │ │ │ │ + 4ef: c3 ret │ │ │ │ │ │ │ │ │ │ -000004db : │ │ │ │ │ +000004f0 : │ │ │ │ │ putchr(): │ │ │ │ │ - 4db: 60 pusha │ │ │ │ │ - 4dc: 31 c9 xor %ecx,%ecx │ │ │ │ │ - 4de: b4 07 mov $0x7,%ah │ │ │ │ │ - 4e0: bb 50 04 00 00 mov $0x450,%ebx │ │ │ │ │ - 4e5: 66 8b 13 mov (%ebx),%dx │ │ │ │ │ - 4e8: bf 00 80 0b 00 mov $0xb8000,%edi │ │ │ │ │ - 4ed: 38 63 f9 cmp %ah,-0x7(%ebx) │ │ │ │ │ - 4f0: 75 03 jne 4f5 │ │ │ │ │ - 4f2: 66 31 ff xor %di,%di │ │ │ │ │ + 4f0: 60 pusha │ │ │ │ │ + 4f1: 31 c9 xor %ecx,%ecx │ │ │ │ │ + 4f3: b4 07 mov $0x7,%ah │ │ │ │ │ + 4f5: bb 50 04 00 00 mov $0x450,%ebx │ │ │ │ │ + 4fa: 66 8b 13 mov (%ebx),%dx │ │ │ │ │ + 4fd: bf 00 80 0b 00 mov $0xb8000,%edi │ │ │ │ │ + 502: 38 63 f9 cmp %ah,-0x7(%ebx) │ │ │ │ │ + 505: 75 03 jne 50a │ │ │ │ │ + 507: 66 31 ff xor %di,%di │ │ │ │ │ │ │ │ │ │ -000004f5 : │ │ │ │ │ +0000050a : │ │ │ │ │ putchr.1(): │ │ │ │ │ - 4f5: 3c 0a cmp $0xa,%al │ │ │ │ │ - 4f7: 74 17 je 510 │ │ │ │ │ - 4f9: 91 xchg %eax,%ecx │ │ │ │ │ - 4fa: b0 50 mov $0x50,%al │ │ │ │ │ - 4fc: f6 e6 mul %dh │ │ │ │ │ - 4fe: 00 d0 add %dl,%al │ │ │ │ │ - 500: 80 d4 00 adc $0x0,%ah │ │ │ │ │ - 503: d1 e0 shl %eax │ │ │ │ │ - 505: 91 xchg %eax,%ecx │ │ │ │ │ - 506: 66 89 04 0f mov %ax,(%edi,%ecx,1) │ │ │ │ │ - 50a: 42 inc %edx │ │ │ │ │ - 50b: 80 fa 50 cmp $0x50,%dl │ │ │ │ │ - 50e: 72 04 jb 514 │ │ │ │ │ + 50a: 3c 0a cmp $0xa,%al │ │ │ │ │ + 50c: 74 17 je 525 │ │ │ │ │ + 50e: 91 xchg %eax,%ecx │ │ │ │ │ + 50f: b0 50 mov $0x50,%al │ │ │ │ │ + 511: f6 e6 mul %dh │ │ │ │ │ + 513: 00 d0 add %dl,%al │ │ │ │ │ + 515: 80 d4 00 adc $0x0,%ah │ │ │ │ │ + 518: d1 e0 shl %eax │ │ │ │ │ + 51a: 91 xchg %eax,%ecx │ │ │ │ │ + 51b: 66 89 04 0f mov %ax,(%edi,%ecx,1) │ │ │ │ │ + 51f: 42 inc %edx │ │ │ │ │ + 520: 80 fa 50 cmp $0x50,%dl │ │ │ │ │ + 523: 72 04 jb 529 │ │ │ │ │ │ │ │ │ │ -00000510 : │ │ │ │ │ +00000525 : │ │ │ │ │ putchr.2(): │ │ │ │ │ - 510: 30 d2 xor %dl,%dl │ │ │ │ │ - 512: fe c6 inc %dh │ │ │ │ │ + 525: 30 d2 xor %dl,%dl │ │ │ │ │ + 527: fe c6 inc %dh │ │ │ │ │ │ │ │ │ │ -00000514 : │ │ │ │ │ +00000529 : │ │ │ │ │ putchr.3(): │ │ │ │ │ - 514: 80 fe 19 cmp $0x19,%dh │ │ │ │ │ - 517: 72 15 jb 52e │ │ │ │ │ - 519: 8d b7 a0 00 00 00 lea 0xa0(%edi),%esi │ │ │ │ │ - 51f: 66 b9 c0 03 mov $0x3c0,%cx │ │ │ │ │ - 523: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ - 525: b0 20 mov $0x20,%al │ │ │ │ │ - 527: b1 50 mov $0x50,%cl │ │ │ │ │ - 529: f3 66 ab rep stos %ax,%es:(%edi) │ │ │ │ │ - 52c: b6 18 mov $0x18,%dh │ │ │ │ │ + 529: 80 fe 19 cmp $0x19,%dh │ │ │ │ │ + 52c: 72 15 jb 543 │ │ │ │ │ + 52e: 8d b7 a0 00 00 00 lea 0xa0(%edi),%esi │ │ │ │ │ + 534: 66 b9 c0 03 mov $0x3c0,%cx │ │ │ │ │ + 538: f3 a5 rep movsl %ds:(%esi),%es:(%edi) │ │ │ │ │ + 53a: b0 20 mov $0x20,%al │ │ │ │ │ + 53c: b1 50 mov $0x50,%cl │ │ │ │ │ + 53e: f3 66 ab rep stos %ax,%es:(%edi) │ │ │ │ │ + 541: b6 18 mov $0x18,%dh │ │ │ │ │ │ │ │ │ │ -0000052e : │ │ │ │ │ +00000543 : │ │ │ │ │ putchr.4(): │ │ │ │ │ - 52e: 66 89 13 mov %dx,(%ebx) │ │ │ │ │ - 531: 61 popa │ │ │ │ │ - 532: c3 ret │ │ │ │ │ + 543: 66 89 13 mov %dx,(%ebx) │ │ │ │ │ + 546: 61 popa │ │ │ │ │ + 547: c3 ret │ │ │ │ │ │ │ │ │ │ -00000533 : │ │ │ │ │ +00000548 : │ │ │ │ │ intr20(): │ │ │ │ │ - 533: 6a 08 push $0x8 │ │ │ │ │ - 535: eb 3c jmp 573 │ │ │ │ │ - 537: 6a 09 push $0x9 │ │ │ │ │ - 539: eb 38 jmp 573 │ │ │ │ │ - 53b: 6a 0a push $0xa │ │ │ │ │ - 53d: eb 34 jmp 573 │ │ │ │ │ - 53f: 6a 0b push $0xb │ │ │ │ │ - 541: eb 30 jmp 573 │ │ │ │ │ - 543: 6a 0c push $0xc │ │ │ │ │ - 545: eb 2c jmp 573 │ │ │ │ │ - 547: 6a 0d push $0xd │ │ │ │ │ - 549: eb 28 jmp 573 │ │ │ │ │ - 54b: 6a 0e push $0xe │ │ │ │ │ - 54d: eb 24 jmp 573 │ │ │ │ │ - 54f: 6a 0f push $0xf │ │ │ │ │ - 551: eb 20 jmp 573 │ │ │ │ │ - 553: 6a 70 push $0x70 │ │ │ │ │ - 555: eb 1c jmp 573 │ │ │ │ │ - 557: 6a 71 push $0x71 │ │ │ │ │ - 559: eb 18 jmp 573 │ │ │ │ │ - 55b: 6a 72 push $0x72 │ │ │ │ │ - 55d: eb 14 jmp 573 │ │ │ │ │ - 55f: 6a 73 push $0x73 │ │ │ │ │ - 561: eb 10 jmp 573 │ │ │ │ │ - 563: 6a 74 push $0x74 │ │ │ │ │ - 565: eb 0c jmp 573 │ │ │ │ │ - 567: 6a 75 push $0x75 │ │ │ │ │ - 569: eb 08 jmp 573 │ │ │ │ │ - 56b: 6a 76 push $0x76 │ │ │ │ │ - 56d: eb 04 jmp 573 │ │ │ │ │ - 56f: 6a 77 push $0x77 │ │ │ │ │ - 571: eb 00 jmp 573 │ │ │ │ │ + 548: 6a 08 push $0x8 │ │ │ │ │ + 54a: eb 3c jmp 588 │ │ │ │ │ + 54c: 6a 09 push $0x9 │ │ │ │ │ + 54e: eb 38 jmp 588 │ │ │ │ │ + 550: 6a 0a push $0xa │ │ │ │ │ + 552: eb 34 jmp 588 │ │ │ │ │ + 554: 6a 0b push $0xb │ │ │ │ │ + 556: eb 30 jmp 588 │ │ │ │ │ + 558: 6a 0c push $0xc │ │ │ │ │ + 55a: eb 2c jmp 588 │ │ │ │ │ + 55c: 6a 0d push $0xd │ │ │ │ │ + 55e: eb 28 jmp 588 │ │ │ │ │ + 560: 6a 0e push $0xe │ │ │ │ │ + 562: eb 24 jmp 588 │ │ │ │ │ + 564: 6a 0f push $0xf │ │ │ │ │ + 566: eb 20 jmp 588 │ │ │ │ │ + 568: 6a 70 push $0x70 │ │ │ │ │ + 56a: eb 1c jmp 588 │ │ │ │ │ + 56c: 6a 71 push $0x71 │ │ │ │ │ + 56e: eb 18 jmp 588 │ │ │ │ │ + 570: 6a 72 push $0x72 │ │ │ │ │ + 572: eb 14 jmp 588 │ │ │ │ │ + 574: 6a 73 push $0x73 │ │ │ │ │ + 576: eb 10 jmp 588 │ │ │ │ │ + 578: 6a 74 push $0x74 │ │ │ │ │ + 57a: eb 0c jmp 588 │ │ │ │ │ + 57c: 6a 75 push $0x75 │ │ │ │ │ + 57e: eb 08 jmp 588 │ │ │ │ │ + 580: 6a 76 push $0x76 │ │ │ │ │ + 582: eb 04 jmp 588 │ │ │ │ │ + 584: 6a 77 push $0x77 │ │ │ │ │ + 586: eb 00 jmp 588 │ │ │ │ │ │ │ │ │ │ -00000573 : │ │ │ │ │ +00000588 : │ │ │ │ │ int_hwr(): │ │ │ │ │ - 573: 50 push %eax │ │ │ │ │ - 574: 1e push %ds │ │ │ │ │ - 575: 55 push %ebp │ │ │ │ │ - 576: 89 e5 mov %esp,%ebp │ │ │ │ │ - 578: 87 5e 06 xchg %ebx,0x6(%esi) │ │ │ │ │ - 57b: 31 c0 xor %eax,%eax │ │ │ │ │ - 57d: c1 e3 02 shl $0x2,%ebx │ │ │ │ │ - 580: 8e d8 mov %eax,%ds │ │ │ │ │ - 582: 8b 07 mov (%edi),%eax │ │ │ │ │ - 584: 8b 5f 02 mov 0x2(%edi),%ebx │ │ │ │ │ - 587: 87 46 04 xchg %eax,0x4(%esi) │ │ │ │ │ - 58a: 87 5e 06 xchg %ebx,0x6(%esi) │ │ │ │ │ - 58d: 5d pop %ebp │ │ │ │ │ - 58e: 1f pop %ds │ │ │ │ │ - 58f: cb lret │ │ │ │ │ + 588: 50 push %eax │ │ │ │ │ + 589: 1e push %ds │ │ │ │ │ + 58a: 55 push %ebp │ │ │ │ │ + 58b: 89 e5 mov %esp,%ebp │ │ │ │ │ + 58d: 87 5e 06 xchg %ebx,0x6(%esi) │ │ │ │ │ + 590: 31 c0 xor %eax,%eax │ │ │ │ │ + 592: c1 e3 02 shl $0x2,%ebx │ │ │ │ │ + 595: 8e d8 mov %eax,%ds │ │ │ │ │ + 597: 8b 07 mov (%edi),%eax │ │ │ │ │ + 599: 8b 5f 02 mov 0x2(%edi),%ebx │ │ │ │ │ + 59c: 87 46 04 xchg %eax,0x4(%esi) │ │ │ │ │ + 59f: 87 5e 06 xchg %ebx,0x6(%esi) │ │ │ │ │ + 5a2: 5d pop %ebp │ │ │ │ │ + 5a3: 1f pop %ds │ │ │ │ │ + 5a4: cb lret │ │ │ │ │ + 5a5: 90 nop │ │ │ │ │ + 5a6: 90 nop │ │ │ │ │ + 5a7: 90 nop │ │ │ │ │ + 5a8: 90 nop │ │ │ │ │ + 5a9: 90 nop │ │ │ │ │ + 5aa: 90 nop │ │ │ │ │ + 5ab: 90 nop │ │ │ │ │ + 5ac: 90 nop │ │ │ │ │ + 5ad: 90 nop │ │ │ │ │ + 5ae: 90 nop │ │ │ │ │ + 5af: 90 nop │ │ │ │ │ │ │ │ │ │ -00000590 : │ │ │ │ │ +000005b0 : │ │ │ │ │ ... │ │ │ │ │ gdt(): │ │ │ │ │ - 598: ff (bad) │ │ │ │ │ - 599: ff 00 incl (%eax) │ │ │ │ │ - 59b: 00 00 add %al,(%eax) │ │ │ │ │ - 59d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ │ - 5a4: 00 92 cf 00 ff ff add %dl,-0xff31(%edx) │ │ │ │ │ - 5aa: 00 00 add %al,(%eax) │ │ │ │ │ - 5ac: 00 9a 00 00 ff ff add %bl,-0x10000(%edx) │ │ │ │ │ - 5b2: 00 00 add %al,(%eax) │ │ │ │ │ - 5b4: 00 92 00 00 ff ff add %dl,-0x10000(%edx) │ │ │ │ │ - 5ba: 00 a0 00 fa cf 00 add %ah,0xcffa00(%eax) │ │ │ │ │ - 5c0: ff (bad) │ │ │ │ │ - 5c1: ff 00 incl (%eax) │ │ │ │ │ - 5c3: a0 00 f2 cf 00 mov 0xcff200,%al │ │ │ │ │ + 5b8: ff (bad) │ │ │ │ │ + 5b9: ff 00 incl (%eax) │ │ │ │ │ + 5bb: 00 00 add %al,(%eax) │ │ │ │ │ + 5bd: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ │ + 5c4: 00 92 cf 00 ff ff add %dl,-0xff31(%edx) │ │ │ │ │ + 5ca: 00 00 add %al,(%eax) │ │ │ │ │ + 5cc: 00 9a 00 00 ff ff add %bl,-0x10000(%edx) │ │ │ │ │ + 5d2: 00 00 add %al,(%eax) │ │ │ │ │ + 5d4: 00 92 00 00 ff ff add %dl,-0x10000(%edx) │ │ │ │ │ + 5da: 00 a0 00 fa cf 00 add %ah,0xcffa00(%eax) │ │ │ │ │ + 5e0: ff (bad) │ │ │ │ │ + 5e1: ff 00 incl (%eax) │ │ │ │ │ + 5e3: a0 00 f2 cf 00 mov 0xcff200,%al │ │ │ │ │ │ │ │ │ │ -000005c8 : │ │ │ │ │ +000005e8 : │ │ │ │ │ tss_desc(): │ │ │ │ │ - 5c8: 67 20 98 5f 00 and %bl,0x5f(%bx,%si) │ │ │ │ │ - 5cd: 89 00 mov %eax,(%eax) │ │ │ │ │ + 5e8: 67 20 98 5f 00 and %bl,0x5f(%bx,%si) │ │ │ │ │ + 5ed: 89 00 mov %eax,(%eax) │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000005d0 : │ │ │ │ │ -gdtdesc(): │ │ │ │ │ - 5d0: 3f aas │ │ │ │ │ - 5d1: 00 .byte 0x0 │ │ │ │ │ - 5d2: 90 nop │ │ │ │ │ - 5d3: 05 .byte 0x5 │ │ │ │ │ +000005f0 : │ │ │ │ │ +gdt.1(): │ │ │ │ │ + 5f0: 3f aas │ │ │ │ │ + 5f1: 00 .byte 0x0 │ │ │ │ │ + 5f2: b0 05 mov $0x5,%al │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000005d6 : │ │ │ │ │ +000005f6 : │ │ │ │ │ idtdesc(): │ │ │ │ │ - 5d6: 97 xchg %eax,%edi │ │ │ │ │ - 5d7: 01 00 add %eax,(%eax) │ │ │ │ │ - 5d9: 5e pop %esi │ │ │ │ │ + 5f6: 97 xchg %eax,%edi │ │ │ │ │ + 5f7: 01 00 add %eax,(%eax) │ │ │ │ │ + 5f9: 5e pop %esi │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000005dc : │ │ │ │ │ +000005fc : │ │ │ │ │ ivtdesc(): │ │ │ │ │ - 5dc: ff 03 incl (%ebx) │ │ │ │ │ - 5de: 00 00 add %al,(%eax) │ │ │ │ │ + 5fc: ff 03 incl (%ebx) │ │ │ │ │ + 5fe: 00 00 add %al,(%eax) │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000005e2 : │ │ │ │ │ +00000602 : │ │ │ │ │ idtctl(): │ │ │ │ │ - 5e2: 10 8e fb 7d 58 01 adc %cl,0x1587dfb(%esi) │ │ │ │ │ - 5e8: 10 8e 01 00 8c 01 adc %cl,0x18c0001(%esi) │ │ │ │ │ - 5ee: 10 8e ff ff 05 02 adc %cl,0x205ffff(%esi) │ │ │ │ │ - 5f4: 01 ee add %ebp,%esi │ │ │ │ │ - 5f6: 01 00 add %eax,(%eax) │ │ │ │ │ - 5f8: ec in (%dx),%al │ │ │ │ │ - 5f9: 03 02 add (%edx),%eax │ │ │ │ │ - 5fb: ee out %al,(%dx) │ │ │ │ │ - 5fc: 01 00 add %eax,(%eax) │ │ │ │ │ - 5fe: 45 inc %ebp │ │ │ │ │ - 5ff: 02 00 add (%eax),%al │ │ │ │ │ + 602: 10 8e fb 7d 64 01 adc %cl,0x1647dfb(%esi) │ │ │ │ │ + 608: 10 8e 01 00 98 01 adc %cl,0x1980001(%esi) │ │ │ │ │ + 60e: 10 8e ff ff 11 02 adc %cl,0x211ffff(%esi) │ │ │ │ │ + 614: 01 ee add %ebp,%esi │ │ │ │ │ + 616: 01 00 add %eax,(%eax) │ │ │ │ │ + 618: 01 04 02 add %eax,(%edx,%eax,1) │ │ │ │ │ + 61b: ee out %al,(%dx) │ │ │ │ │ + 61c: 01 00 add %eax,(%eax) │ │ │ │ │ + 61e: 51 push %ecx │ │ │ │ │ + 61f: 02 00 add (%eax),%al │ │ │ │ │ │ │ │ │ │ -00000601 : │ │ │ │ │ +00000621 : │ │ │ │ │ dmpfmt(): │ │ │ │ │ - 601: 0a 69 6e or 0x6e(%ecx),%ch │ │ │ │ │ - 604: 74 82 je 588 │ │ │ │ │ - 606: 40 inc %eax │ │ │ │ │ - 607: 65 72 72 gs jb 67c │ │ │ │ │ - 60a: 82 44 65 66 6c addb $0x6c,0x66(%ebp,%eiz,2) │ │ │ │ │ - 60f: 82 50 65 69 adcb $0x69,0x65(%eax) │ │ │ │ │ - 613: 70 8a jo 59f │ │ │ │ │ - 615: 48 dec %eax │ │ │ │ │ - 616: 65 61 gs popa │ │ │ │ │ - 618: 78 82 js 59c │ │ │ │ │ - 61a: 34 65 xor $0x65,%al │ │ │ │ │ - 61c: 62 78 82 bound %edi,-0x7e(%eax) │ │ │ │ │ - 61f: 28 65 63 sub %ah,0x63(%ebp) │ │ │ │ │ - 622: 78 82 js 5a6 │ │ │ │ │ - 624: 30 65 64 xor %ah,0x64(%ebp) │ │ │ │ │ - 627: 78 8a js 5b3 │ │ │ │ │ - 629: 2c 65 sub $0x65,%al │ │ │ │ │ - 62b: 73 69 jae 696 │ │ │ │ │ - 62d: 82 1c 65 64 69 82 18 sbbb $0x65,0x18826964(,%eiz,2) │ │ │ │ │ - 634: 65 │ │ │ │ │ - 635: 62 70 82 bound %esi,-0x7e(%eax) │ │ │ │ │ - 638: 20 65 73 and %ah,0x73(%ebp) │ │ │ │ │ - 63b: 70 8a jo 5c7 │ │ │ │ │ - 63d: 00 63 73 add %ah,0x73(%ebx) │ │ │ │ │ - 640: 81 4c 64 73 81 0c 65 orl $0x73650c81,0x73(%esp,%eiz,2) │ │ │ │ │ - 647: 73 │ │ │ │ │ - 648: 81 08 20 20 66 73 orl $0x73662020,(%eax) │ │ │ │ │ - 64e: 81 10 67 73 81 14 adcl $0x14817367,(%eax) │ │ │ │ │ - 654: 73 73 jae 6c9 │ │ │ │ │ - 656: 89 04 63 mov %eax,(%ebx,%eiz,2) │ │ │ │ │ - 659: 73 3a jae 695 │ │ │ │ │ - 65b: 65 69 70 8c 48 73 73 imul $0x3a737348,%gs:-0x74(%eax),%esi │ │ │ │ │ - 662: 3a │ │ │ │ │ - 663: 65 73 70 gs jae 6d6 │ │ │ │ │ - 666: 8c 00 mov %es,(%eax) │ │ │ │ │ - 668: 42 inc %edx │ │ │ │ │ - 669: 54 push %esp │ │ │ │ │ - 66a: 58 pop %eax │ │ │ │ │ - 66b: 20 68 61 and %ch,0x61(%eax) │ │ │ │ │ - 66e: 6c insb (%dx),%es:(%edi) │ │ │ │ │ - 66f: 74 65 je 6d6 │ │ │ │ │ - 671: 64 0a 00 or %fs:(%eax),%al │ │ │ │ │ + 621: 0a 69 6e or 0x6e(%ecx),%ch │ │ │ │ │ + 624: 74 82 je 5a8 │ │ │ │ │ + 626: 40 inc %eax │ │ │ │ │ + 627: 65 72 72 gs jb 69c │ │ │ │ │ + 62a: 82 44 65 66 6c addb $0x6c,0x66(%ebp,%eiz,2) │ │ │ │ │ + 62f: 82 50 65 69 adcb $0x69,0x65(%eax) │ │ │ │ │ + 633: 70 8a jo 5bf │ │ │ │ │ + 635: 48 dec %eax │ │ │ │ │ + 636: 65 61 gs popa │ │ │ │ │ + 638: 78 82 js 5bc │ │ │ │ │ + 63a: 34 65 xor $0x65,%al │ │ │ │ │ + 63c: 62 78 82 bound %edi,-0x7e(%eax) │ │ │ │ │ + 63f: 28 65 63 sub %ah,0x63(%ebp) │ │ │ │ │ + 642: 78 82 js 5c6 │ │ │ │ │ + 644: 30 65 64 xor %ah,0x64(%ebp) │ │ │ │ │ + 647: 78 8a js 5d3 │ │ │ │ │ + 649: 2c 65 sub $0x65,%al │ │ │ │ │ + 64b: 73 69 jae 6b6 │ │ │ │ │ + 64d: 82 1c 65 64 69 82 18 sbbb $0x65,0x18826964(,%eiz,2) │ │ │ │ │ + 654: 65 │ │ │ │ │ + 655: 62 70 82 bound %esi,-0x7e(%eax) │ │ │ │ │ + 658: 20 65 73 and %ah,0x73(%ebp) │ │ │ │ │ + 65b: 70 8a jo 5e7 │ │ │ │ │ + 65d: 00 63 73 add %ah,0x73(%ebx) │ │ │ │ │ + 660: 81 4c 64 73 81 0c 65 orl $0x73650c81,0x73(%esp,%eiz,2) │ │ │ │ │ + 667: 73 │ │ │ │ │ + 668: 81 08 20 20 66 73 orl $0x73662020,(%eax) │ │ │ │ │ + 66e: 81 10 67 73 81 14 adcl $0x14817367,(%eax) │ │ │ │ │ + 674: 73 73 jae 6e9 │ │ │ │ │ + 676: 89 04 63 mov %eax,(%ebx,%eiz,2) │ │ │ │ │ + 679: 73 3a jae 6b5 │ │ │ │ │ + 67b: 65 69 70 8c 48 73 73 imul $0x3a737348,%gs:-0x74(%eax),%esi │ │ │ │ │ + 682: 3a │ │ │ │ │ + 683: 65 73 70 gs jae 6f6 │ │ │ │ │ + 686: 8c 00 mov %es,(%eax) │ │ │ │ │ + 688: 42 inc %edx │ │ │ │ │ + 689: 54 push %esp │ │ │ │ │ + 68a: 58 pop %eax │ │ │ │ │ + 68b: 20 68 61 and %ch,0x61(%eax) │ │ │ │ │ + 68e: 6c insb (%dx),%es:(%edi) │ │ │ │ │ + 68f: 74 65 je 6f6 │ │ │ │ │ + 691: 64 0a 00 or %fs:(%eax),%al │ │ │ │ │ │ │ │ │ │ -00000674 : │ │ │ │ │ +00000694 : │ │ │ │ │ badvm86(): │ │ │ │ │ - 674: 49 dec %ecx │ │ │ │ │ - 675: 6e outsb %ds:(%esi),(%dx) │ │ │ │ │ - 676: 76 61 jbe 6d9 │ │ │ │ │ - 678: 6c insb (%dx),%es:(%edi) │ │ │ │ │ - 679: 69 64 20 56 4d 38 36 imul $0x2036384d,0x56(%eax,%eiz,1),%esp │ │ │ │ │ - 680: 20 │ │ │ │ │ - 681: 52 push %edx │ │ │ │ │ - 682: 65 71 75 gs jno 6fa │ │ │ │ │ - 685: 65 73 74 gs jae 6fc │ │ │ │ │ - 688: 0a 00 or (%eax),%al │ │ │ │ │ - 68a: 89 f6 mov %esi,%esi │ │ │ │ │ - 68c: 8d .byte 0x8d │ │ │ │ │ - 68d: bd .byte 0xbd │ │ │ │ │ - ... │ │ │ │ │ + 694: 49 dec %ecx │ │ │ │ │ + 695: 6e outsb %ds:(%esi),(%dx) │ │ │ │ │ + 696: 76 61 jbe 6f9 │ │ │ │ │ + 698: 6c insb (%dx),%es:(%edi) │ │ │ │ │ + 699: 69 64 20 56 4d 38 36 imul $0x2036384d,0x56(%eax,%eiz,1),%esp │ │ │ │ │ + 6a0: 20 │ │ │ │ │ + 6a1: 52 push %edx │ │ │ │ │ + 6a2: 65 71 75 gs jno 71a │ │ │ │ │ + 6a5: 65 73 74 gs jae 71c │ │ │ │ │ + 6a8: 0a 00 or (%eax),%al │ │ │ │ │ + 6aa: 90 nop │ │ │ │ │ + 6ab: 90 nop │ │ │ │ │ + 6ac: 90 nop │ │ │ │ │ + 6ad: 90 nop │ │ │ │ │ + 6ae: 90 nop │ │ │ │ │ + 6af: 90 nop │ │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ │ @@ -1,70 +1,72 @@ │ │ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ │ - 0x00000000 004d454d 5f425458 004d454d 5f455350 .MEM_BTX.MEM_ESP │ │ │ │ │ - 0x00000010 30004d45 4d5f4255 46004d45 4d5f4553 0.MEM_BUF.MEM_ES │ │ │ │ │ - 0x00000020 5052004d 454d5f49 4454004d 454d5f54 PR.MEM_IDT.MEM_T │ │ │ │ │ - 0x00000030 5353004d 454d5f4d 4150004d 454d5f54 SS.MEM_MAP.MEM_T │ │ │ │ │ - 0x00000040 53535f45 4e44004d 454d5f4f 5247004d SS_END.MEM_ORG.M │ │ │ │ │ - 0x00000050 454d5f55 53520050 41475f53 495a0050 EM_USR.PAG_SIZ.P │ │ │ │ │ - 0x00000060 41475f43 4e540050 534c5f52 45534552 AG_CNT.PSL_RESER │ │ │ │ │ - 0x00000070 5645445f 44454641 554c5400 50534c5f VED_DEFAULT.PSL_ │ │ │ │ │ - 0x00000080 54005053 4c5f4900 50534c5f 44005053 T.PSL_I.PSL_D.PS │ │ │ │ │ - 0x00000090 4c5f4e54 0050534c 5f564d00 50534c5f L_NT.PSL_VM.PSL_ │ │ │ │ │ - 0x000000a0 41430053 454c5f53 434f4445 0053454c AC.SEL_SCODE.SEL │ │ │ │ │ - 0x000000b0 5f534441 54410053 454c5f52 434f4445 _SDATA.SEL_RCODE │ │ │ │ │ - 0x000000c0 0053454c 5f524441 54410053 454c5f55 .SEL_RDATA.SEL_U │ │ │ │ │ - 0x000000d0 434f4445 0053454c 5f554441 54410053 CODE.SEL_UDATA.S │ │ │ │ │ - 0x000000e0 454c5f54 53530054 53535f45 53503000 EL_TSS.TSS_ESP0. │ │ │ │ │ - 0x000000f0 5453535f 53533000 5453535f 4d415000 TSS_SS0.TSS_MAP. │ │ │ │ │ - 0x00000100 5359535f 45584954 00535953 5f455845 SYS_EXIT.SYS_EXE │ │ │ │ │ - 0x00000110 43005638 365f4354 4c005638 365f4144 C.V86_CTL.V86_AD │ │ │ │ │ - 0x00000120 44520056 38365f45 53005638 365f4453 DR.V86_ES.V86_DS │ │ │ │ │ - 0x00000130 00563836 5f465300 5638365f 47530056 .V86_FS.V86_GS.V │ │ │ │ │ - 0x00000140 3836465f 41444452 00563836 465f4341 86F_ADDR.V86F_CA │ │ │ │ │ - 0x00000150 4c4c4600 56383646 5f464c41 47530044 LLF.V86F_FLAGS.D │ │ │ │ │ - 0x00000160 4d505f58 31360044 4d505f58 33320044 MP_X16.DMP_X32.D │ │ │ │ │ - 0x00000170 4d505f4d 454d0044 4d505f45 4f4c0053 MP_MEM.DMP_EOL.S │ │ │ │ │ - 0x00000180 43525f4d 41540053 43525f43 4f4c0053 CR_MAT.SCR_COL.S │ │ │ │ │ - 0x00000190 43525f52 4f570042 44415f4d 454d0042 CR_ROW.BDA_MEM.B │ │ │ │ │ - 0x000001a0 44415f53 43520042 44415f50 4f530042 DA_SCR.BDA_POS.B │ │ │ │ │ - 0x000001b0 44415f42 4f4f5400 5f455350 3048005f DA_BOOT._ESP0H._ │ │ │ │ │ - 0x000001c0 54535349 4f005f54 53534c4d 005f4944 TSSIO._TSSLM._ID │ │ │ │ │ - 0x000001d0 544c4d00 6274785f 68647200 62726561 TLM.btx_hdr.brea │ │ │ │ │ - 0x000001e0 6b00696e 69740069 6e747232 3000696e k.init.intr20.in │ │ │ │ │ - 0x000001f0 69742e30 00696474 63746c00 696e6974 it.0.idtctl.init │ │ │ │ │ - 0x00000200 2e310069 6e69742e 3400696e 69742e32 .1.init.4.init.2 │ │ │ │ │ - 0x00000210 00696e69 742e3300 73657470 69630069 .init.3.setpic.i │ │ │ │ │ - 0x00000220 64746465 73630067 64746465 73630069 dtdesc.gdtdesc.i │ │ │ │ │ - 0x00000230 6e69742e 3800696e 69742e39 00657869 nit.8.init.9.exi │ │ │ │ │ - 0x00000240 74006578 69742e31 00657869 742e3200 t.exit.1.exit.2. │ │ │ │ │ - 0x00000250 69767464 65736300 65786974 2e330069 ivtdesc.exit.3.i │ │ │ │ │ - 0x00000260 6e747830 30006578 5f6e6f63 00657863 ntx00.ex_noc.exc │ │ │ │ │ - 0x00000270 65707400 696e7478 31300065 78636570 ept.intx10.excep │ │ │ │ │ - 0x00000280 742e3100 65786365 70742e32 00646d70 t.1.except.2.dmp │ │ │ │ │ - 0x00000290 666d7400 64756d70 00707574 73747200 fmt.dump.putstr. │ │ │ │ │ - 0x000002a0 65786365 70742e33 00657863 6570742e except.3.except. │ │ │ │ │ - 0x000002b0 32610072 65626f6f 7400696e 74783230 2a.reboot.intx20 │ │ │ │ │ - 0x000002c0 00696e74 5f687700 696e7478 33310069 .int_hw.intx31.i │ │ │ │ │ - 0x000002d0 6e747573 722e3100 696e7475 73722e34 ntusr.1.intusr.4 │ │ │ │ │ - 0x000002e0 00696e74 7573722e 3300696e 74757372 .intusr.3.intusr │ │ │ │ │ - 0x000002f0 2e320069 6e747573 722e3500 62616476 .2.intusr.5.badv │ │ │ │ │ - 0x00000300 6d383600 696e7475 73722e36 00727265 m86.intusr.6.rre │ │ │ │ │ - 0x00000310 745f7472 616d7000 696e7475 73722e37 t_tramp.intusr.7 │ │ │ │ │ - 0x00000320 00696e74 7573722e 38007272 65745f74 .intusr.8.rret_t │ │ │ │ │ - 0x00000330 72616d70 2e310074 73735f64 65736300 ramp.1.tss_desc. │ │ │ │ │ - 0x00000340 72726574 5f747261 6d702e33 00696e74 rret_tramp.3.int │ │ │ │ │ - 0x00000350 78333000 696e7478 33302e31 0064756d x30.intx30.1.dum │ │ │ │ │ - 0x00000360 702e3000 64756d70 2e313000 64756d70 p.0.dump.10.dump │ │ │ │ │ - 0x00000370 2e310068 65783136 0064756d 702e3200 .1.hex16.dump.2. │ │ │ │ │ - 0x00000380 68657833 32006475 6d702e38 0064756d hex32.dump.8.dum │ │ │ │ │ - 0x00000390 702e3300 64756d70 2e340064 756d702e p.3.dump.4.dump. │ │ │ │ │ - 0x000003a0 34610064 756d702e 35006865 78380064 4a.dump.5.hex8.d │ │ │ │ │ - 0x000003b0 756d702e 36610064 756d702e 36006475 ump.6a.dump.6.du │ │ │ │ │ - 0x000003c0 6d702e37 0064756d 702e3662 0064756d mp.7.dump.6b.dum │ │ │ │ │ - 0x000003d0 702e3900 68657831 362e3100 68657838 p.9.hex16.1.hex8 │ │ │ │ │ - 0x000003e0 2e310070 75747374 722e3000 70757463 .1.putstr.0.putc │ │ │ │ │ - 0x000003f0 68720070 75746368 722e3100 70757463 hr.putchr.1.putc │ │ │ │ │ - 0x00000400 68722e32 00707574 6368722e 33007075 hr.2.putchr.3.pu │ │ │ │ │ - 0x00000410 74636872 2e340069 6e745f68 77720067 tchr.4.int_hwr.g │ │ │ │ │ - 0x00000420 64740067 64742e31 00737461 727400 dt.gdt.1.start. │ │ │ │ │ + 0x00000000 00696e74 5f687700 2e72656c 2e746578 .int_hw..rel.tex │ │ │ │ │ + 0x00000010 74007374 61727400 65786365 70740072 t.start.except.r │ │ │ │ │ + 0x00000020 65626f6f 7400646d 70666d74 00657869 eboot.dmpfmt.exi │ │ │ │ │ + 0x00000030 7400696e 69740067 64740069 6e745f68 t.init.gdt.int_h │ │ │ │ │ + 0x00000040 77720070 75747374 72007075 74636872 wr.putstr.putchr │ │ │ │ │ + 0x00000050 00627478 5f686472 0064756d 70007272 .btx_hdr.dump.rr │ │ │ │ │ + 0x00000060 65745f74 72616d70 00696474 63746c00 et_tramp.idtctl. │ │ │ │ │ + 0x00000070 62726561 6b006976 74646573 63006964 break.ivtdesc.id │ │ │ │ │ + 0x00000080 74646573 63006764 74646573 63007473 tdesc.gdtdesc.ts │ │ │ │ │ + 0x00000090 735f6465 73630065 785f6e6f 63007365 s_desc.ex_noc.se │ │ │ │ │ + 0x000000a0 74706963 002e7374 72746162 002e7379 tpic..strtab..sy │ │ │ │ │ + 0x000000b0 6d746162 0064756d 702e3662 0064756d mtab.dump.6b.dum │ │ │ │ │ + 0x000000c0 702e3661 0064756d 702e3461 00657863 p.6a.dump.4a.exc │ │ │ │ │ + 0x000000d0 6570742e 32610050 41475f53 495a004d ept.2a.PAG_SIZ.M │ │ │ │ │ + 0x000000e0 454d5f42 54580053 43525f52 4f570050 EM_BTX.SCR_ROW.P │ │ │ │ │ + 0x000000f0 534c5f54 00424441 5f424f4f 54005053 SL_T.BDA_BOOT.PS │ │ │ │ │ + 0x00000100 4c5f4e54 00504147 5f434e54 0050534c L_NT.PAG_CNT.PSL │ │ │ │ │ + 0x00000110 5f524553 45525645 445f4445 4641554c _RESERVED_DEFAUL │ │ │ │ │ + 0x00000120 54005359 535f4558 4954004d 454d5f49 T.SYS_EXIT.MEM_I │ │ │ │ │ + 0x00000130 44540053 43525f4d 4154004d 454d5f54 DT.SCR_MAT.MEM_T │ │ │ │ │ + 0x00000140 53530053 454c5f54 53530042 44415f50 SS.SEL_TSS.BDA_P │ │ │ │ │ + 0x00000150 4f530056 38365f47 53005638 36465f46 OS.V86_GS.V86F_F │ │ │ │ │ + 0x00000160 4c414753 00563836 5f465300 5638365f LAGS.V86_FS.V86_ │ │ │ │ │ + 0x00000170 45530056 38365f44 53004d45 4d5f5553 ES.V86_DS.MEM_US │ │ │ │ │ + 0x00000180 52004d45 4d5f4553 50520056 3836465f R.MEM_ESPR.V86F_ │ │ │ │ │ + 0x00000190 41444452 00563836 5f414444 52004244 ADDR.V86_ADDR.BD │ │ │ │ │ + 0x000001a0 415f5343 52005453 535f4d41 50004d45 A_SCR.TSS_MAP.ME │ │ │ │ │ + 0x000001b0 4d5f4d41 50005f54 5353494f 0050534c M_MAP._TSSIO.PSL │ │ │ │ │ + 0x000001c0 5f564d00 5f494454 4c4d005f 5453534c _VM._IDTLM._TSSL │ │ │ │ │ + 0x000001d0 4d00444d 505f4d45 4d004244 415f4d45 M.DMP_MEM.BDA_ME │ │ │ │ │ + 0x000001e0 4d005638 365f4354 4c00444d 505f454f M.V86_CTL.DMP_EO │ │ │ │ │ + 0x000001f0 4c005343 525f434f 4c005053 4c5f4900 L.SCR_COL.PSL_I. │ │ │ │ │ + 0x00000200 5f455350 3048004d 454d5f4f 5247004d _ESP0H.MEM_ORG.M │ │ │ │ │ + 0x00000210 454d5f42 55460056 3836465f 43414c4c EM_BUF.V86F_CALL │ │ │ │ │ + 0x00000220 46005345 4c5f5543 4f444500 53454c5f F.SEL_UCODE.SEL_ │ │ │ │ │ + 0x00000230 53434f44 45005345 4c5f5243 4f444500 SCODE.SEL_RCODE. │ │ │ │ │ + 0x00000240 50534c5f 44004d45 4d5f5453 535f454e PSL_D.MEM_TSS_EN │ │ │ │ │ + 0x00000250 44005359 535f4558 45430050 534c5f41 D.SYS_EXEC.PSL_A │ │ │ │ │ + 0x00000260 43005345 4c5f5544 41544100 53454c5f C.SEL_UDATA.SEL_ │ │ │ │ │ + 0x00000270 53444154 41005345 4c5f5244 41544100 SDATA.SEL_RDATA. │ │ │ │ │ + 0x00000280 696e6974 2e390064 756d702e 39006865 init.9.dump.9.he │ │ │ │ │ + 0x00000290 78380069 6e69742e 3800696e 74757372 x8.init.8.intusr │ │ │ │ │ + 0x000002a0 2e380064 756d702e 3800696e 74757372 .8.dump.8.intusr │ │ │ │ │ + 0x000002b0 2e370064 756d702e 37006261 64766d38 .7.dump.7.badvm8 │ │ │ │ │ + 0x000002c0 36006865 78313600 444d505f 58313600 6.hex16.DMP_X16. │ │ │ │ │ + 0x000002d0 696e7475 73722e36 0064756d 702e3600 intusr.6.dump.6. │ │ │ │ │ + 0x000002e0 696e7475 73722e35 0064756d 702e3500 intusr.5.dump.5. │ │ │ │ │ + 0x000002f0 696e6974 2e340069 6e747573 722e3400 init.4.intusr.4. │ │ │ │ │ + 0x00000300 70757463 68722e34 0064756d 702e3400 putchr.4.dump.4. │ │ │ │ │ + 0x00000310 65786365 70742e33 00657869 742e3300 except.3.exit.3. │ │ │ │ │ + 0x00000320 696e6974 2e330069 6e747573 722e3300 init.3.intusr.3. │ │ │ │ │ + 0x00000330 70757463 68722e33 0064756d 702e3300 putchr.3.dump.3. │ │ │ │ │ + 0x00000340 72726574 5f747261 6d702e33 00686578 rret_tramp.3.hex │ │ │ │ │ + 0x00000350 33320044 4d505f58 33320065 78636570 32.DMP_X32.excep │ │ │ │ │ + 0x00000360 742e3200 65786974 2e320069 6e69742e t.2.exit.2.init. │ │ │ │ │ + 0x00000370 3200696e 74757372 2e320070 75746368 2.intusr.2.putch │ │ │ │ │ + 0x00000380 722e3200 64756d70 2e320069 6e747833 r.2.dump.2.intx3 │ │ │ │ │ + 0x00000390 31006578 63657074 2e310065 7869742e 1.except.1.exit. │ │ │ │ │ + 0x000003a0 3100696e 69742e31 00676474 2e310069 1.init.1.gdt.1.i │ │ │ │ │ + 0x000003b0 6e747573 722e3100 70757463 68722e31 ntusr.1.putchr.1 │ │ │ │ │ + 0x000003c0 0064756d 702e3100 72726574 5f747261 .dump.1.rret_tra │ │ │ │ │ + 0x000003d0 6d702e31 00686578 382e3100 68657831 mp.1.hex8.1.hex1 │ │ │ │ │ + 0x000003e0 362e3100 696e7478 33302e31 00545353 6.1.intx30.1.TSS │ │ │ │ │ + 0x000003f0 5f535330 00545353 5f455350 30004d45 _SS0.TSS_ESP0.ME │ │ │ │ │ + 0x00000400 4d5f4553 50300069 6e747833 3000696e M_ESP0.intx30.in │ │ │ │ │ + 0x00000410 74783230 00696e74 72323000 696e7478 tx20.intr20.intx │ │ │ │ │ + 0x00000420 31300064 756d702e 31300069 6e747830 10.dump.10.intx0 │ │ │ │ │ + 0x00000430 3000696e 69742e30 00707574 7374722e 0.init.0.putstr. │ │ │ │ │ + 0x00000440 30006475 6d702e30 00 0.dump.0. │ │ │ ├── btxldr.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: Intel 80386 │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 752 (bytes into file) │ │ │ │ │ + Start of section headers: 2116 (bytes into file) │ │ │ │ │ Flags: 0x0 │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ - Number of section headers: 9 │ │ │ │ │ - Section header string table index: 6 │ │ │ │ │ + Number of section headers: 7 │ │ │ │ │ + Section header string table index: 1 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,16 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x2f0: │ │ │ │ │ +There are 7 section headers, starting at offset 0x844: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000204 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00097c 000048 08 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000240 000079 00 WA 0 0 16 │ │ │ │ │ - [ 4] .rel.data REL 00000000 0009c4 000008 08 7 3 4 │ │ │ │ │ - [ 5] .bss NOBITS 00000000 0002bc 000000 00 WA 0 0 4 │ │ │ │ │ - [ 6] .shstrtab STRTAB 00000000 0002bc 000034 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000458 000380 10 8 55 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0007d8 0001a3 00 0 0 1 │ │ │ │ │ + [ 1] .strtab STRTAB 00000000 00067c 0001c7 00 0 0 1 │ │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000204 00 AX 0 0 4 │ │ │ │ │ + [ 3] .rel.text REL 00000000 00062c 000048 08 6 2 4 │ │ │ │ │ + [ 4] .data PROGBITS 00000000 000240 000079 00 WA 0 0 16 │ │ │ │ │ + [ 5] .rel.data REL 00000000 000674 000008 08 6 4 4 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 0002bc 000370 10 1 54 4 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,59 +1,58 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 56 entries: │ │ │ │ │ +Symbol table '.symtab' contains 55 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 5 │ │ │ │ │ - 4: 00000600 0 NOTYPE LOCAL DEFAULT ABS MEM_STUB │ │ │ │ │ - 5: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_ESP │ │ │ │ │ - 6: 00005000 0 NOTYPE LOCAL DEFAULT ABS MEM_TBL │ │ │ │ │ - 7: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_ENTRY │ │ │ │ │ - 8: 00001000 0 NOTYPE LOCAL DEFAULT 1 MEM_DATA │ │ │ │ │ - 9: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ │ - 10: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ │ - 11: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_RCODE │ │ │ │ │ - 12: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ │ - 13: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_SIZ │ │ │ │ │ - 14: 00000004 0 NOTYPE LOCAL DEFAULT ABS PAG_ENT │ │ │ │ │ - 15: 00000007 0 NOTYPE LOCAL DEFAULT ABS SCR_MAT │ │ │ │ │ - 16: 00000050 0 NOTYPE LOCAL DEFAULT ABS SCR_COL │ │ │ │ │ - 17: 00000019 0 NOTYPE LOCAL DEFAULT ABS SCR_ROW │ │ │ │ │ - 18: 00000413 0 NOTYPE LOCAL DEFAULT ABS BDA_MEM │ │ │ │ │ - 19: 00000449 0 NOTYPE LOCAL DEFAULT ABS BDA_SCR │ │ │ │ │ - 20: 00000450 0 NOTYPE LOCAL DEFAULT ABS BDA_POS │ │ │ │ │ - 21: 0000001a 0 NOTYPE LOCAL DEFAULT ABS SIZ_STUB │ │ │ │ │ - 22: 00000078 0 NOTYPE LOCAL DEFAULT 3 muted │ │ │ │ │ - 23: 0000002e 0 NOTYPE LOCAL DEFAULT 3 m_logo │ │ │ │ │ - 24: 00000177 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ │ - 25: 00000028 0 NOTYPE LOCAL DEFAULT 3 gdtdesc │ │ │ │ │ - 26: 00000045 0 NOTYPE LOCAL DEFAULT 1 start_null_bi │ │ │ │ │ - 27: 00000058 0 NOTYPE LOCAL DEFAULT 1 start_fixed │ │ │ │ │ - 28: 00000042 0 NOTYPE LOCAL DEFAULT 3 m_vers │ │ │ │ │ - 29: 0000017d 0 NOTYPE LOCAL DEFAULT 1 putchr │ │ │ │ │ - 30: 000000e3 0 NOTYPE LOCAL DEFAULT 1 start.3 │ │ │ │ │ - 31: 00000054 0 NOTYPE LOCAL DEFAULT 3 e_fmt │ │ │ │ │ - 32: 000000e1 0 NOTYPE LOCAL DEFAULT 1 start.2 │ │ │ │ │ - 33: 000000ec 0 NOTYPE LOCAL DEFAULT 1 start.4 │ │ │ │ │ - 34: 00000110 0 NOTYPE LOCAL DEFAULT 1 start.6 │ │ │ │ │ - 35: 0000010e 0 NOTYPE LOCAL DEFAULT 1 start.5 │ │ │ │ │ - 36: 0000012d 0 NOTYPE LOCAL DEFAULT 1 start.8 │ │ │ │ │ - 37: 00000147 0 NOTYPE LOCAL DEFAULT 1 start.9 │ │ │ │ │ - 38: 00000147 0 NOTYPE LOCAL DEFAULT 1 hexout │ │ │ │ │ - 39: 00000079 0 NOTYPE LOCAL DEFAULT 3 buf │ │ │ │ │ - 40: 000001de 0 NOTYPE LOCAL DEFAULT 1 hex32 │ │ │ │ │ - 41: 0000015f 0 NOTYPE LOCAL DEFAULT 1 hexout.1 │ │ │ │ │ - 42: 00000169 0 NOTYPE LOCAL DEFAULT 1 hexout.2 │ │ │ │ │ - 43: 00000172 0 NOTYPE LOCAL DEFAULT 1 putstr.0 │ │ │ │ │ - 44: 000001dd 0 NOTYPE LOCAL DEFAULT 1 putchr.5 │ │ │ │ │ - 45: 000001a0 0 NOTYPE LOCAL DEFAULT 1 putchr.1 │ │ │ │ │ - 46: 000001bb 0 NOTYPE LOCAL DEFAULT 1 putchr.2 │ │ │ │ │ - 47: 000001bf 0 NOTYPE LOCAL DEFAULT 1 putchr.3 │ │ │ │ │ - 48: 000001d9 0 NOTYPE LOCAL DEFAULT 1 putchr.4 │ │ │ │ │ - 49: 000001e8 0 NOTYPE LOCAL DEFAULT 1 hex16 │ │ │ │ │ - 50: 000001ed 0 NOTYPE LOCAL DEFAULT 1 hex16.1 │ │ │ │ │ - 51: 000001ef 0 NOTYPE LOCAL DEFAULT 1 hex8 │ │ │ │ │ - 52: 000001f9 0 NOTYPE LOCAL DEFAULT 1 hex8.1 │ │ │ │ │ - 53: 00000000 0 NOTYPE LOCAL DEFAULT 3 gdt │ │ │ │ │ - 54: 00000028 0 NOTYPE LOCAL DEFAULT 3 gdt.1 │ │ │ │ │ - 55: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ │ + 1: 00000413 0 NOTYPE LOCAL DEFAULT ABS BDA_MEM │ │ │ │ │ + 2: 00000450 0 NOTYPE LOCAL DEFAULT ABS BDA_POS │ │ │ │ │ + 3: 00000449 0 NOTYPE LOCAL DEFAULT ABS BDA_SCR │ │ │ │ │ + 4: 00001000 0 NOTYPE LOCAL DEFAULT 2 MEM_DATA │ │ │ │ │ + 5: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_ENTRY │ │ │ │ │ + 6: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_ESP │ │ │ │ │ + 7: 00000600 0 NOTYPE LOCAL DEFAULT ABS MEM_STUB │ │ │ │ │ + 8: 00005000 0 NOTYPE LOCAL DEFAULT ABS MEM_TBL │ │ │ │ │ + 9: 00000004 0 NOTYPE LOCAL DEFAULT ABS PAG_ENT │ │ │ │ │ + 10: 00001000 0 NOTYPE LOCAL DEFAULT ABS PAG_SIZ │ │ │ │ │ + 11: 00000050 0 NOTYPE LOCAL DEFAULT ABS SCR_COL │ │ │ │ │ + 12: 00000007 0 NOTYPE LOCAL DEFAULT ABS SCR_MAT │ │ │ │ │ + 13: 00000019 0 NOTYPE LOCAL DEFAULT ABS SCR_ROW │ │ │ │ │ + 14: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_RCODE │ │ │ │ │ + 15: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ │ + 16: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ │ + 17: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ │ + 18: 0000001a 0 NOTYPE LOCAL DEFAULT ABS SIZ_STUB │ │ │ │ │ + 19: 00000079 0 NOTYPE LOCAL DEFAULT 4 buf │ │ │ │ │ + 20: 00000054 0 NOTYPE LOCAL DEFAULT 4 e_fmt │ │ │ │ │ + 21: 00000000 0 NOTYPE LOCAL DEFAULT 4 gdt │ │ │ │ │ + 22: 00000028 0 NOTYPE LOCAL DEFAULT 4 gdt.1 │ │ │ │ │ + 23: 00000028 0 NOTYPE LOCAL DEFAULT 4 gdtdesc │ │ │ │ │ + 24: 000001e8 0 NOTYPE LOCAL DEFAULT 2 hex16 │ │ │ │ │ + 25: 000001ed 0 NOTYPE LOCAL DEFAULT 2 hex16.1 │ │ │ │ │ + 26: 000001de 0 NOTYPE LOCAL DEFAULT 2 hex32 │ │ │ │ │ + 27: 000001ef 0 NOTYPE LOCAL DEFAULT 2 hex8 │ │ │ │ │ + 28: 000001f9 0 NOTYPE LOCAL DEFAULT 2 hex8.1 │ │ │ │ │ + 29: 00000147 0 NOTYPE LOCAL DEFAULT 2 hexout │ │ │ │ │ + 30: 0000015f 0 NOTYPE LOCAL DEFAULT 2 hexout.1 │ │ │ │ │ + 31: 00000169 0 NOTYPE LOCAL DEFAULT 2 hexout.2 │ │ │ │ │ + 32: 0000002e 0 NOTYPE LOCAL DEFAULT 4 m_logo │ │ │ │ │ + 33: 00000042 0 NOTYPE LOCAL DEFAULT 4 m_vers │ │ │ │ │ + 34: 00000078 0 NOTYPE LOCAL DEFAULT 4 muted │ │ │ │ │ + 35: 0000017d 0 NOTYPE LOCAL DEFAULT 2 putchr │ │ │ │ │ + 36: 000001a0 0 NOTYPE LOCAL DEFAULT 2 putchr.1 │ │ │ │ │ + 37: 000001bb 0 NOTYPE LOCAL DEFAULT 2 putchr.2 │ │ │ │ │ + 38: 000001bf 0 NOTYPE LOCAL DEFAULT 2 putchr.3 │ │ │ │ │ + 39: 000001d9 0 NOTYPE LOCAL DEFAULT 2 putchr.4 │ │ │ │ │ + 40: 000001dd 0 NOTYPE LOCAL DEFAULT 2 putchr.5 │ │ │ │ │ + 41: 00000177 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ │ + 42: 00000172 0 NOTYPE LOCAL DEFAULT 2 putstr.0 │ │ │ │ │ + 43: 000000e1 0 NOTYPE LOCAL DEFAULT 2 start.2 │ │ │ │ │ + 44: 000000e3 0 NOTYPE LOCAL DEFAULT 2 start.3 │ │ │ │ │ + 45: 000000ec 0 NOTYPE LOCAL DEFAULT 2 start.4 │ │ │ │ │ + 46: 0000010e 0 NOTYPE LOCAL DEFAULT 2 start.5 │ │ │ │ │ + 47: 00000110 0 NOTYPE LOCAL DEFAULT 2 start.6 │ │ │ │ │ + 48: 0000012d 0 NOTYPE LOCAL DEFAULT 2 start.8 │ │ │ │ │ + 49: 00000147 0 NOTYPE LOCAL DEFAULT 2 start.9 │ │ │ │ │ + 50: 00000058 0 NOTYPE LOCAL DEFAULT 2 start_fixed │ │ │ │ │ + 51: 00000045 0 NOTYPE LOCAL DEFAULT 2 start_null_bi │ │ │ │ │ + 52: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ │ + 53: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ │ + 54: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x97c contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x62c contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 00000201 R_386_32 00000000 .data │ │ │ │ │ -00000011 00000201 R_386_32 00000000 .data │ │ │ │ │ -00000029 00000201 R_386_32 00000000 .data │ │ │ │ │ -0000006c 00000101 R_386_32 00000000 .text │ │ │ │ │ -00000071 00000201 R_386_32 00000000 .data │ │ │ │ │ -000000d8 00000201 R_386_32 00000000 .data │ │ │ │ │ -00000116 00000101 R_386_32 00000000 .text │ │ │ │ │ -00000151 00000201 R_386_32 00000000 .data │ │ │ │ │ -0000017f 00000201 R_386_32 00000000 .data │ │ │ │ │ +0000000c 00003501 R_386_32 00000000 .data │ │ │ │ │ +00000011 00003501 R_386_32 00000000 .data │ │ │ │ │ +00000029 00003501 R_386_32 00000000 .data │ │ │ │ │ +0000006c 00003401 R_386_32 00000000 .text │ │ │ │ │ +00000071 00003501 R_386_32 00000000 .data │ │ │ │ │ +000000d8 00003501 R_386_32 00000000 .data │ │ │ │ │ +00000116 00003401 R_386_32 00000000 .text │ │ │ │ │ +00000151 00003501 R_386_32 00000000 .data │ │ │ │ │ +0000017f 00003501 R_386_32 00000000 .data │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data' at offset 0x9c4 contains 1 entries: │ │ │ │ │ +Relocation section '.rel.data' at offset 0x674 contains 1 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000002a 00000201 R_386_32 00000000 .data │ │ │ │ │ +0000002a 00003501 R_386_32 00000000 .data │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ │ @@ -132,15 +132,15 @@ │ │ │ │ │ 13f: 0f 22 c0 mov %eax,%cr0 │ │ │ │ │ 142: ea .byte 0xea │ │ │ │ │ 143: 10 .byte 0x10 │ │ │ │ │ 144: 90 nop │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ 00000147 : │ │ │ │ │ -start.9(): │ │ │ │ │ +hexout(): │ │ │ │ │ 147: 50 push %eax │ │ │ │ │ 148: e8 2a 00 00 00 call 177 │ │ │ │ │ 14d: 58 pop %eax │ │ │ │ │ 14e: 56 push %esi │ │ │ │ │ 14f: 57 push %edi │ │ │ │ │ 150: bf 79 00 00 00 mov $0x79,%edi │ │ │ │ │ 155: 57 push %edi │ │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ │ @@ -1,30 +1,32 @@ │ │ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ │ - 0x00000000 004d454d 5f535455 42004d45 4d5f4553 .MEM_STUB.MEM_ES │ │ │ │ │ - 0x00000010 50004d45 4d5f5442 4c004d45 4d5f454e P.MEM_TBL.MEM_EN │ │ │ │ │ - 0x00000020 54525900 4d454d5f 44415441 0053454c TRY.MEM_DATA.SEL │ │ │ │ │ - 0x00000030 5f53434f 44450053 454c5f53 44415441 _SCODE.SEL_SDATA │ │ │ │ │ - 0x00000040 0053454c 5f52434f 44450053 454c5f52 .SEL_RCODE.SEL_R │ │ │ │ │ - 0x00000050 44415441 00504147 5f53495a 00504147 DATA.PAG_SIZ.PAG │ │ │ │ │ - 0x00000060 5f454e54 00534352 5f4d4154 00534352 _ENT.SCR_MAT.SCR │ │ │ │ │ - 0x00000070 5f434f4c 00534352 5f524f57 00424441 _COL.SCR_ROW.BDA │ │ │ │ │ - 0x00000080 5f4d454d 00424441 5f534352 00424441 _MEM.BDA_SCR.BDA │ │ │ │ │ - 0x00000090 5f504f53 0053495a 5f535455 42006d75 _POS.SIZ_STUB.mu │ │ │ │ │ - 0x000000a0 74656400 6d5f6c6f 676f0070 75747374 ted.m_logo.putst │ │ │ │ │ - 0x000000b0 72006764 74646573 63007374 6172745f r.gdtdesc.start_ │ │ │ │ │ - 0x000000c0 6e756c6c 5f626900 73746172 745f6669 null_bi.start_fi │ │ │ │ │ - 0x000000d0 78656400 6d5f7665 72730070 75746368 xed.m_vers.putch │ │ │ │ │ - 0x000000e0 72007374 6172742e 3300655f 666d7400 r.start.3.e_fmt. │ │ │ │ │ - 0x000000f0 73746172 742e3200 73746172 742e3400 start.2.start.4. │ │ │ │ │ - 0x00000100 73746172 742e3600 73746172 742e3500 start.6.start.5. │ │ │ │ │ - 0x00000110 73746172 742e3800 73746172 742e3900 start.8.start.9. │ │ │ │ │ - 0x00000120 6865786f 75740062 75660068 65783332 hexout.buf.hex32 │ │ │ │ │ - 0x00000130 00686578 6f75742e 31006865 786f7574 .hexout.1.hexout │ │ │ │ │ - 0x00000140 2e320070 75747374 722e3000 70757463 .2.putstr.0.putc │ │ │ │ │ - 0x00000150 68722e35 00707574 6368722e 31007075 hr.5.putchr.1.pu │ │ │ │ │ - 0x00000160 74636872 2e320070 75746368 722e3300 tchr.2.putchr.3. │ │ │ │ │ - 0x00000170 70757463 68722e34 00686578 31360068 putchr.4.hex16.h │ │ │ │ │ - 0x00000180 65783136 2e310068 65783800 68657838 ex16.1.hex8.hex8 │ │ │ │ │ - 0x00000190 2e310067 64740067 64742e31 00737461 .1.gdt.gdt.1.sta │ │ │ │ │ - 0x000001a0 727400 rt. │ │ │ │ │ + 0x00000000 002e7265 6c2e7465 78740068 65786f75 ..rel.text.hexou │ │ │ │ │ + 0x00000010 74007374 61727400 655f666d 74006764 t.start.e_fmt.gd │ │ │ │ │ + 0x00000020 74006d5f 76657273 00707574 73747200 t.m_vers.putstr. │ │ │ │ │ + 0x00000030 70757463 6872006d 5f6c6f67 6f007374 putchr.m_logo.st │ │ │ │ │ + 0x00000040 6172745f 6e756c6c 5f626900 62756600 art_null_bi.buf. │ │ │ │ │ + 0x00000050 73746172 745f6669 78656400 6d757465 start_fixed.mute │ │ │ │ │ + 0x00000060 64006764 74646573 63002e73 74727461 d.gdtdesc..strta │ │ │ │ │ + 0x00000070 62002e73 796d7461 62002e72 656c2e64 b..symtab..rel.d │ │ │ │ │ + 0x00000080 61746100 5041475f 53495a00 4d454d5f ata.PAG_SIZ.MEM_ │ │ │ │ │ + 0x00000090 454e5452 59005343 525f524f 57005041 ENTRY.SCR_ROW.PA │ │ │ │ │ + 0x000000a0 475f454e 54005343 525f4d41 54004244 G_ENT.SCR_MAT.BD │ │ │ │ │ + 0x000000b0 415f504f 53004244 415f5343 52004d45 A_POS.BDA_SCR.ME │ │ │ │ │ + 0x000000c0 4d5f4553 50004244 415f4d45 4d005343 M_ESP.BDA_MEM.SC │ │ │ │ │ + 0x000000d0 525f434f 4c004d45 4d5f5442 4c005345 R_COL.MEM_TBL.SE │ │ │ │ │ + 0x000000e0 4c5f5343 4f444500 53454c5f 52434f44 L_SCODE.SEL_RCOD │ │ │ │ │ + 0x000000f0 45005349 5a5f5354 5542004d 454d5f53 E.SIZ_STUB.MEM_S │ │ │ │ │ + 0x00000100 54554200 4d454d5f 44415441 0053454c TUB.MEM_DATA.SEL │ │ │ │ │ + 0x00000110 5f534441 54410053 454c5f52 44415441 _SDATA.SEL_RDATA │ │ │ │ │ + 0x00000120 00737461 72742e39 00686578 38007374 .start.9.hex8.st │ │ │ │ │ + 0x00000130 6172742e 38006865 78313600 73746172 art.8.hex16.star │ │ │ │ │ + 0x00000140 742e3600 73746172 742e3500 70757463 t.6.start.5.putc │ │ │ │ │ + 0x00000150 68722e35 00737461 72742e34 00707574 hr.5.start.4.put │ │ │ │ │ + 0x00000160 6368722e 34007374 6172742e 33007075 chr.4.start.3.pu │ │ │ │ │ + 0x00000170 74636872 2e330068 65783332 00686578 tchr.3.hex32.hex │ │ │ │ │ + 0x00000180 6f75742e 32007374 6172742e 32007075 out.2.start.2.pu │ │ │ │ │ + 0x00000190 74636872 2e320068 65786f75 742e3100 tchr.2.hexout.1. │ │ │ │ │ + 0x000001a0 6764742e 31007075 74636872 2e310068 gdt.1.putchr.1.h │ │ │ │ │ + 0x000001b0 6578382e 31006865 7831362e 31007075 ex8.1.hex16.1.pu │ │ │ │ │ + 0x000001c0 74737472 2e3000 tstr.0. │ │ ├── cdboot.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 1300 (bytes into file) │ │ │ │ + Start of section headers: 4692 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 5 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,14 @@ │ │ │ │ -There are 8 section headers, starting at offset 0x514: │ │ │ │ +There are 5 section headers, starting at offset 0x1254: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000040 0004a1 00 AX 0 0 16 │ │ │ │ - [ 2] .rel.text REL 00000000 001290 000138 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 0004e4 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 0004e4 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 0004e4 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000654 000780 10 7 119 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 000dd4 0004ba 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 000d9c 0004b7 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000040 0004c1 00 AX 0 0 16 │ │ │ │ + [ 3] .rel.text REL 00000000 000c64 000138 08 4 2 4 │ │ │ │ + [ 4] .symtab SYMTAB 00000000 000504 000760 10 1 117 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,123 +1,121 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 120 entries: │ │ │ │ +Symbol table '.symtab' contains 118 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ - 4: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_PAGE_SIZE │ │ │ │ - 5: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 6: 0000a100 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_BTX │ │ │ │ - 7: 00000018 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_SIZE │ │ │ │ - 8: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ADDRESS │ │ │ │ - 9: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ENTRY │ │ │ │ - 10: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_OFFSET │ │ │ │ - 11: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_CLIENT │ │ │ │ - 12: 00000004 0 NOTYPE LOCAL DEFAULT ABS AOUT_TEXT │ │ │ │ - 13: 00000008 0 NOTYPE LOCAL DEFAULT ABS AOUT_DATA │ │ │ │ - 14: 0000000c 0 NOTYPE LOCAL DEFAULT ABS AOUT_BSS │ │ │ │ - 15: 00000010 0 NOTYPE LOCAL DEFAULT ABS AOUT_SYMBOLS │ │ │ │ - 16: 00000014 0 NOTYPE LOCAL DEFAULT ABS AOUT_ENTRY │ │ │ │ - 17: 00001000 0 NOTYPE LOCAL DEFAULT ABS AOUT_HEADER │ │ │ │ - 18: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ - 19: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ - 20: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ - 21: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE16 │ │ │ │ - 22: 00000030 0 NOTYPE LOCAL DEFAULT ABS INT_SYS │ │ │ │ - 23: 00000080 0 NOTYPE LOCAL DEFAULT ABS ERROR_TIMEOUT │ │ │ │ - 24: 00000003 0 NOTYPE LOCAL DEFAULT ABS NUM_RETRIES │ │ │ │ - 25: 00000800 0 NOTYPE LOCAL DEFAULT ABS SECTOR_SIZE │ │ │ │ - 26: 0000000b 0 NOTYPE LOCAL DEFAULT ABS SECTOR_SHIFT │ │ │ │ - 27: 00000100 0 NOTYPE LOCAL DEFAULT ABS BUFFER_LEN │ │ │ │ - 28: 00010000 0 NOTYPE LOCAL DEFAULT ABS MAX_READ │ │ │ │ - 29: 00000020 0 NOTYPE LOCAL DEFAULT ABS MAX_READ_SEC │ │ │ │ - 30: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_READ_BUFFER │ │ │ │ - 31: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_VOLDESC │ │ │ │ - 32: 00009800 0 NOTYPE LOCAL DEFAULT ABS MEM_DIR │ │ │ │ - 33: 00000010 0 NOTYPE LOCAL DEFAULT ABS VOLDESC_LBA │ │ │ │ - 34: 00000001 0 NOTYPE LOCAL DEFAULT ABS VD_PRIMARY │ │ │ │ - 35: 000000ff 0 NOTYPE LOCAL DEFAULT ABS VD_END │ │ │ │ - 36: 0000009c 0 NOTYPE LOCAL DEFAULT ABS VD_ROOTDIR │ │ │ │ - 37: 00000000 0 NOTYPE LOCAL DEFAULT ABS DIR_LEN │ │ │ │ - 38: 00000001 0 NOTYPE LOCAL DEFAULT ABS DIR_EA_LEN │ │ │ │ - 39: 00000002 0 NOTYPE LOCAL DEFAULT ABS DIR_EXTENT │ │ │ │ - 40: 0000000a 0 NOTYPE LOCAL DEFAULT ABS DIR_SIZE │ │ │ │ - 41: 00000020 0 NOTYPE LOCAL DEFAULT ABS DIR_NAMELEN │ │ │ │ - 42: 00000021 0 NOTYPE LOCAL DEFAULT ABS DIR_NAME │ │ │ │ - 43: 0000037e 0 NOTYPE LOCAL DEFAULT 1 drive │ │ │ │ - 44: 00000389 0 NOTYPE LOCAL DEFAULT 1 msg_welcome │ │ │ │ - 45: 000002bf 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ - 46: 0000039a 0 NOTYPE LOCAL DEFAULT 1 msg_bootinfo │ │ │ │ - 47: 0000003b 0 NOTYPE LOCAL DEFAULT 1 load_vd │ │ │ │ - 48: 00000280 0 NOTYPE LOCAL DEFAULT 1 read │ │ │ │ - 49: 0000005c 0 NOTYPE LOCAL DEFAULT 1 have_vd │ │ │ │ - 50: 00000410 0 NOTYPE LOCAL DEFAULT 1 msg_novd │ │ │ │ - 51: 000002b9 0 NOTYPE LOCAL DEFAULT 1 error │ │ │ │ - 52: 00000486 0 NOTYPE LOCAL DEFAULT 1 loader_paths │ │ │ │ - 53: 0000005f 0 NOTYPE LOCAL DEFAULT 1 lookup_path │ │ │ │ - 54: 00000189 0 NOTYPE LOCAL DEFAULT 1 lookup │ │ │ │ - 55: 0000007b 0 NOTYPE LOCAL DEFAULT 1 lookup_found │ │ │ │ - 56: 00000474 0 NOTYPE LOCAL DEFAULT 1 msg_failed │ │ │ │ - 57: 00000097 0 NOTYPE LOCAL DEFAULT 1 load_sizeok │ │ │ │ - 58: 00000465 0 NOTYPE LOCAL DEFAULT 1 msg_load2big │ │ │ │ - 59: 000000ad 0 NOTYPE LOCAL DEFAULT 1 load_loop │ │ │ │ - 60: 000000b6 0 NOTYPE LOCAL DEFAULT 1 load_notrunc │ │ │ │ - 61: 000000ce 0 NOTYPE LOCAL DEFAULT 1 load_done │ │ │ │ - 62: 000002ef 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 63: 000003bf 0 NOTYPE LOCAL DEFAULT 1 msg_relocate │ │ │ │ - 64: 00000368 0 NOTYPE LOCAL DEFAULT 1 gdtdesc │ │ │ │ - 65: 000000fc 0 NOTYPE LOCAL DEFAULT 1 pm_start │ │ │ │ - 66: 00000148 0 NOTYPE LOCAL DEFAULT 1 pm_16 │ │ │ │ - 67: 0000015c 0 NOTYPE LOCAL DEFAULT 1 pm_end │ │ │ │ - 68: 00000320 0 NOTYPE LOCAL DEFAULT 1 btx_client │ │ │ │ - 69: 0000033e 0 NOTYPE LOCAL DEFAULT 1 btx_client_end │ │ │ │ - 70: 000003e3 0 NOTYPE LOCAL DEFAULT 1 msg_jump │ │ │ │ - 71: 0000043b 0 NOTYPE LOCAL DEFAULT 1 msg_lookup │ │ │ │ - 72: 00000447 0 NOTYPE LOCAL DEFAULT 1 msg_lookup2 │ │ │ │ - 73: 0000019f 0 NOTYPE LOCAL DEFAULT 1 lookup_dir │ │ │ │ - 74: 000001b9 0 NOTYPE LOCAL DEFAULT 1 lookup_done │ │ │ │ - 75: 000001c1 0 NOTYPE LOCAL DEFAULT 1 find_file │ │ │ │ - 76: 00000454 0 NOTYPE LOCAL DEFAULT 1 msg_lookupfail │ │ │ │ - 77: 0000044c 0 NOTYPE LOCAL DEFAULT 1 msg_lookupok │ │ │ │ - 78: 0000037f 0 NOTYPE LOCAL DEFAULT 1 rec_lba │ │ │ │ - 79: 00000383 0 NOTYPE LOCAL DEFAULT 1 rec_size │ │ │ │ - 80: 000001dd 0 NOTYPE LOCAL DEFAULT 1 ff.namelen │ │ │ │ - 81: 000001e8 0 NOTYPE LOCAL DEFAULT 1 ff.namedone │ │ │ │ - 82: 00000387 0 NOTYPE LOCAL DEFAULT 1 name_len │ │ │ │ - 83: 000001ef 0 NOTYPE LOCAL DEFAULT 1 ff.load │ │ │ │ - 84: 00000203 0 NOTYPE LOCAL DEFAULT 1 ff.scan │ │ │ │ - 85: 00000216 0 NOTYPE LOCAL DEFAULT 1 ff.scan.1 │ │ │ │ - 86: 00000264 0 NOTYPE LOCAL DEFAULT 1 ff.nextblock │ │ │ │ - 87: 00000220 0 NOTYPE LOCAL DEFAULT 1 ff.checkver │ │ │ │ - 88: 00000231 0 NOTYPE LOCAL DEFAULT 1 ff.checkver.1 │ │ │ │ - 89: 00000252 0 NOTYPE LOCAL DEFAULT 1 ff.checklen │ │ │ │ - 90: 00000249 0 NOTYPE LOCAL DEFAULT 1 ff.checkdot │ │ │ │ - 91: 00000247 0 NOTYPE LOCAL DEFAULT 1 ff.checkver.2 │ │ │ │ - 92: 00000270 0 NOTYPE LOCAL DEFAULT 1 ff.checkname │ │ │ │ - 93: 0000025d 0 NOTYPE LOCAL DEFAULT 1 ff.nextrec │ │ │ │ - 94: 0000027b 0 NOTYPE LOCAL DEFAULT 1 ff.match │ │ │ │ - 95: 00000376 0 NOTYPE LOCAL DEFAULT 1 edd_lba │ │ │ │ - 96: 00000372 0 NOTYPE LOCAL DEFAULT 1 edd_addr │ │ │ │ - 97: 00000290 0 NOTYPE LOCAL DEFAULT 1 read.retry │ │ │ │ - 98: 000002d4 0 NOTYPE LOCAL DEFAULT 1 twiddle │ │ │ │ - 99: 0000036e 0 NOTYPE LOCAL DEFAULT 1 edd_packet │ │ │ │ - 100: 00000370 0 NOTYPE LOCAL DEFAULT 1 edd_len │ │ │ │ - 101: 000002a9 0 NOTYPE LOCAL DEFAULT 1 read.fail │ │ │ │ - 102: 000002ae 0 NOTYPE LOCAL DEFAULT 1 read.error │ │ │ │ - 103: 0000040b 0 NOTYPE LOCAL DEFAULT 1 hex_error │ │ │ │ - 104: 0000030b 0 NOTYPE LOCAL DEFAULT 1 hex8 │ │ │ │ - 105: 000003fd 0 NOTYPE LOCAL DEFAULT 1 msg_badread │ │ │ │ - 106: 000002bc 0 NOTYPE LOCAL DEFAULT 1 halt │ │ │ │ - 107: 000002c0 0 NOTYPE LOCAL DEFAULT 1 putstr.load │ │ │ │ - 108: 000002c7 0 NOTYPE LOCAL DEFAULT 1 putstr.putc │ │ │ │ - 109: 000002cc 0 NOTYPE LOCAL DEFAULT 1 putc │ │ │ │ - 110: 00000388 0 NOTYPE LOCAL DEFAULT 1 twiddle_index │ │ │ │ - 111: 00000482 0 NOTYPE LOCAL DEFAULT 1 twiddle_chars │ │ │ │ - 112: 000002f2 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 113: 00000309 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 114: 000002ff 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 115: 00000315 0 NOTYPE LOCAL DEFAULT 1 hex8.1 │ │ │ │ - 116: 0000032b 0 NOTYPE LOCAL DEFAULT 1 push_arg │ │ │ │ - 117: 00000340 0 NOTYPE LOCAL DEFAULT 1 gdt │ │ │ │ - 118: 00000368 0 NOTYPE LOCAL DEFAULT 1 gdt.1 │ │ │ │ - 119: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ + 1: 0000000c 0 NOTYPE LOCAL DEFAULT ABS AOUT_BSS │ │ │ │ + 2: 00000008 0 NOTYPE LOCAL DEFAULT ABS AOUT_DATA │ │ │ │ + 3: 00000014 0 NOTYPE LOCAL DEFAULT ABS AOUT_ENTRY │ │ │ │ + 4: 00001000 0 NOTYPE LOCAL DEFAULT ABS AOUT_HEADER │ │ │ │ + 5: 00000010 0 NOTYPE LOCAL DEFAULT ABS AOUT_SYMBOLS │ │ │ │ + 6: 00000004 0 NOTYPE LOCAL DEFAULT ABS AOUT_TEXT │ │ │ │ + 7: 00000100 0 NOTYPE LOCAL DEFAULT ABS BUFFER_LEN │ │ │ │ + 8: 00000001 0 NOTYPE LOCAL DEFAULT ABS DIR_EA_LEN │ │ │ │ + 9: 00000002 0 NOTYPE LOCAL DEFAULT ABS DIR_EXTENT │ │ │ │ + 10: 00000000 0 NOTYPE LOCAL DEFAULT ABS DIR_LEN │ │ │ │ + 11: 00000021 0 NOTYPE LOCAL DEFAULT ABS DIR_NAME │ │ │ │ + 12: 00000020 0 NOTYPE LOCAL DEFAULT ABS DIR_NAMELEN │ │ │ │ + 13: 0000000a 0 NOTYPE LOCAL DEFAULT ABS DIR_SIZE │ │ │ │ + 14: 00000080 0 NOTYPE LOCAL DEFAULT ABS ERROR_TIMEOUT │ │ │ │ + 15: 00000030 0 NOTYPE LOCAL DEFAULT ABS INT_SYS │ │ │ │ + 16: 00010000 0 NOTYPE LOCAL DEFAULT ABS MAX_READ │ │ │ │ + 17: 00000020 0 NOTYPE LOCAL DEFAULT ABS MAX_READ_SEC │ │ │ │ + 18: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ + 19: 0000a100 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_BTX │ │ │ │ + 20: 00000018 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_SIZE │ │ │ │ + 21: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ADDRESS │ │ │ │ + 22: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_CLIENT │ │ │ │ + 23: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ENTRY │ │ │ │ + 24: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_OFFSET │ │ │ │ + 25: 00009800 0 NOTYPE LOCAL DEFAULT ABS MEM_DIR │ │ │ │ + 26: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_PAGE_SIZE │ │ │ │ + 27: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_READ_BUFFER │ │ │ │ + 28: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_VOLDESC │ │ │ │ + 29: 00000003 0 NOTYPE LOCAL DEFAULT ABS NUM_RETRIES │ │ │ │ + 30: 0000000b 0 NOTYPE LOCAL DEFAULT ABS SECTOR_SHIFT │ │ │ │ + 31: 00000800 0 NOTYPE LOCAL DEFAULT ABS SECTOR_SIZE │ │ │ │ + 32: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ + 33: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ + 34: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE16 │ │ │ │ + 35: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ + 36: 000000ff 0 NOTYPE LOCAL DEFAULT ABS VD_END │ │ │ │ + 37: 00000001 0 NOTYPE LOCAL DEFAULT ABS VD_PRIMARY │ │ │ │ + 38: 0000009c 0 NOTYPE LOCAL DEFAULT ABS VD_ROOTDIR │ │ │ │ + 39: 00000010 0 NOTYPE LOCAL DEFAULT ABS VOLDESC_LBA │ │ │ │ + 40: 00000340 0 NOTYPE LOCAL DEFAULT 2 btx_client │ │ │ │ + 41: 0000035e 0 NOTYPE LOCAL DEFAULT 2 btx_client_end │ │ │ │ + 42: 0000039e 0 NOTYPE LOCAL DEFAULT 2 drive │ │ │ │ + 43: 00000392 0 NOTYPE LOCAL DEFAULT 2 edd_addr │ │ │ │ + 44: 00000396 0 NOTYPE LOCAL DEFAULT 2 edd_lba │ │ │ │ + 45: 00000390 0 NOTYPE LOCAL DEFAULT 2 edd_len │ │ │ │ + 46: 0000038e 0 NOTYPE LOCAL DEFAULT 2 edd_packet │ │ │ │ + 47: 000002d9 0 NOTYPE LOCAL DEFAULT 2 error │ │ │ │ + 48: 0000025b 0 NOTYPE LOCAL DEFAULT 2 ff.checkdot │ │ │ │ + 49: 00000264 0 NOTYPE LOCAL DEFAULT 2 ff.checklen │ │ │ │ + 50: 0000028a 0 NOTYPE LOCAL DEFAULT 2 ff.checkname │ │ │ │ + 51: 00000232 0 NOTYPE LOCAL DEFAULT 2 ff.checkver │ │ │ │ + 52: 00000243 0 NOTYPE LOCAL DEFAULT 2 ff.checkver.1 │ │ │ │ + 53: 00000259 0 NOTYPE LOCAL DEFAULT 2 ff.checkver.2 │ │ │ │ + 54: 000001fb 0 NOTYPE LOCAL DEFAULT 2 ff.load │ │ │ │ + 55: 00000295 0 NOTYPE LOCAL DEFAULT 2 ff.match │ │ │ │ + 56: 000001f1 0 NOTYPE LOCAL DEFAULT 2 ff.namedone │ │ │ │ + 57: 000001e6 0 NOTYPE LOCAL DEFAULT 2 ff.namelen │ │ │ │ + 58: 00000279 0 NOTYPE LOCAL DEFAULT 2 ff.nextblock │ │ │ │ + 59: 00000272 0 NOTYPE LOCAL DEFAULT 2 ff.nextrec │ │ │ │ + 60: 00000212 0 NOTYPE LOCAL DEFAULT 2 ff.scan │ │ │ │ + 61: 00000228 0 NOTYPE LOCAL DEFAULT 2 ff.scan.1 │ │ │ │ + 62: 000001ca 0 NOTYPE LOCAL DEFAULT 2 find_file │ │ │ │ + 63: 00000360 0 NOTYPE LOCAL DEFAULT 2 gdt │ │ │ │ + 64: 00000388 0 NOTYPE LOCAL DEFAULT 2 gdt.1 │ │ │ │ + 65: 00000388 0 NOTYPE LOCAL DEFAULT 2 gdtdesc │ │ │ │ + 66: 000002dc 0 NOTYPE LOCAL DEFAULT 2 halt │ │ │ │ + 67: 00000062 0 NOTYPE LOCAL DEFAULT 2 have_vd │ │ │ │ + 68: 0000032b 0 NOTYPE LOCAL DEFAULT 2 hex8 │ │ │ │ + 69: 00000335 0 NOTYPE LOCAL DEFAULT 2 hex8.1 │ │ │ │ + 70: 0000042b 0 NOTYPE LOCAL DEFAULT 2 hex_error │ │ │ │ + 71: 000000d4 0 NOTYPE LOCAL DEFAULT 2 load_done │ │ │ │ + 72: 000000b3 0 NOTYPE LOCAL DEFAULT 2 load_loop │ │ │ │ + 73: 000000bc 0 NOTYPE LOCAL DEFAULT 2 load_notrunc │ │ │ │ + 74: 0000009d 0 NOTYPE LOCAL DEFAULT 2 load_sizeok │ │ │ │ + 75: 00000041 0 NOTYPE LOCAL DEFAULT 2 load_vd │ │ │ │ + 76: 000004a6 0 NOTYPE LOCAL DEFAULT 2 loader_paths │ │ │ │ + 77: 00000192 0 NOTYPE LOCAL DEFAULT 2 lookup │ │ │ │ + 78: 000001a8 0 NOTYPE LOCAL DEFAULT 2 lookup_dir │ │ │ │ + 79: 000001c2 0 NOTYPE LOCAL DEFAULT 2 lookup_done │ │ │ │ + 80: 00000081 0 NOTYPE LOCAL DEFAULT 2 lookup_found │ │ │ │ + 81: 00000065 0 NOTYPE LOCAL DEFAULT 2 lookup_path │ │ │ │ + 82: 0000041d 0 NOTYPE LOCAL DEFAULT 2 msg_badread │ │ │ │ + 83: 000003ba 0 NOTYPE LOCAL DEFAULT 2 msg_bootinfo │ │ │ │ + 84: 00000494 0 NOTYPE LOCAL DEFAULT 2 msg_failed │ │ │ │ + 85: 00000403 0 NOTYPE LOCAL DEFAULT 2 msg_jump │ │ │ │ + 86: 00000485 0 NOTYPE LOCAL DEFAULT 2 msg_load2big │ │ │ │ + 87: 0000045b 0 NOTYPE LOCAL DEFAULT 2 msg_lookup │ │ │ │ + 88: 00000467 0 NOTYPE LOCAL DEFAULT 2 msg_lookup2 │ │ │ │ + 89: 00000474 0 NOTYPE LOCAL DEFAULT 2 msg_lookupfail │ │ │ │ + 90: 0000046c 0 NOTYPE LOCAL DEFAULT 2 msg_lookupok │ │ │ │ + 91: 00000430 0 NOTYPE LOCAL DEFAULT 2 msg_novd │ │ │ │ + 92: 000003df 0 NOTYPE LOCAL DEFAULT 2 msg_relocate │ │ │ │ + 93: 000003a9 0 NOTYPE LOCAL DEFAULT 2 msg_welcome │ │ │ │ + 94: 000003a7 0 NOTYPE LOCAL DEFAULT 2 name_len │ │ │ │ + 95: 00000151 0 NOTYPE LOCAL DEFAULT 2 pm_16 │ │ │ │ + 96: 00000165 0 NOTYPE LOCAL DEFAULT 2 pm_end │ │ │ │ + 97: 00000105 0 NOTYPE LOCAL DEFAULT 2 pm_start │ │ │ │ + 98: 0000034b 0 NOTYPE LOCAL DEFAULT 2 push_arg │ │ │ │ + 99: 000002ec 0 NOTYPE LOCAL DEFAULT 2 putc │ │ │ │ + 100: 000002df 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ + 101: 000002e0 0 NOTYPE LOCAL DEFAULT 2 putstr.load │ │ │ │ + 102: 000002e7 0 NOTYPE LOCAL DEFAULT 2 putstr.putc │ │ │ │ + 103: 0000029a 0 NOTYPE LOCAL DEFAULT 2 read │ │ │ │ + 104: 000002ce 0 NOTYPE LOCAL DEFAULT 2 read.error │ │ │ │ + 105: 000002c9 0 NOTYPE LOCAL DEFAULT 2 read.fail │ │ │ │ + 106: 000002aa 0 NOTYPE LOCAL DEFAULT 2 read.retry │ │ │ │ + 107: 0000039f 0 NOTYPE LOCAL DEFAULT 2 rec_lba │ │ │ │ + 108: 000003a3 0 NOTYPE LOCAL DEFAULT 2 rec_size │ │ │ │ + 109: 0000030f 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 110: 00000312 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 111: 0000031f 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 112: 00000329 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 113: 000002f4 0 NOTYPE LOCAL DEFAULT 2 twiddle │ │ │ │ + 114: 000004a2 0 NOTYPE LOCAL DEFAULT 2 twiddle_chars │ │ │ │ + 115: 000003a8 0 NOTYPE LOCAL DEFAULT 2 twiddle_index │ │ │ │ + 116: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 117: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,42 +1,42 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1290 contains 39 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0xc64 contains 39 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000006 00007714 R_386_16 00000000 start │ │ │ │ -0000000e 00000114 R_386_16 00000000 .text │ │ │ │ -00000011 00000114 R_386_16 00000000 .text │ │ │ │ -00000017 00000114 R_386_16 00000000 .text │ │ │ │ -0000002c 00000114 R_386_16 00000000 .text │ │ │ │ -00000057 00000114 R_386_16 00000000 .text │ │ │ │ -0000005d 00000114 R_386_16 00000000 .text │ │ │ │ -00000076 00000114 R_386_16 00000000 .text │ │ │ │ -00000092 00000114 R_386_16 00000000 .text │ │ │ │ -000000d2 00000114 R_386_16 00000000 .text │ │ │ │ -000000ec 00000114 R_386_16 00000000 .text │ │ │ │ -000000f8 00000114 R_386_16 00000000 .text │ │ │ │ -00000142 00000101 R_386_32 00000000 .text │ │ │ │ -00000158 00000114 R_386_16 00000000 .text │ │ │ │ -00000167 00000114 R_386_16 00000000 .text │ │ │ │ -0000017f 00000114 R_386_16 00000000 .text │ │ │ │ -0000018e 00000114 R_386_16 00000000 .text │ │ │ │ -00000199 00000114 R_386_16 00000000 .text │ │ │ │ -000001af 00000114 R_386_16 00000000 .text │ │ │ │ -000001ba 00000114 R_386_16 00000000 .text │ │ │ │ -000001d0 00000114 R_386_16 00000000 .text │ │ │ │ -000001d8 00000114 R_386_16 00000000 .text │ │ │ │ -000001ec 00000114 R_386_16 00000000 .text │ │ │ │ -000001f1 00000114 R_386_16 00000000 .text │ │ │ │ -00000201 00000114 R_386_16 00000000 .text │ │ │ │ -00000210 00000114 R_386_16 00000000 .text │ │ │ │ -00000256 00000114 R_386_16 00000000 .text │ │ │ │ -00000267 00000114 R_386_16 00000000 .text │ │ │ │ -00000284 00000114 R_386_16 00000000 .text │ │ │ │ -0000028e 00000114 R_386_16 00000000 .text │ │ │ │ -00000295 00000114 R_386_16 00000000 .text │ │ │ │ -00000299 00000114 R_386_16 00000000 .text │ │ │ │ -0000029d 00000114 R_386_16 00000000 .text │ │ │ │ -000002b1 00000114 R_386_16 00000000 .text │ │ │ │ -000002b7 00000114 R_386_16 00000000 .text │ │ │ │ -000002d7 00000114 R_386_16 00000000 .text │ │ │ │ -000002da 00000114 R_386_16 00000000 .text │ │ │ │ -000002e1 00000114 R_386_16 00000000 .text │ │ │ │ -0000036a 00000101 R_386_32 00000000 .text │ │ │ │ +00000006 00007514 R_386_16 00000000 start │ │ │ │ +0000000f 00007401 R_386_32 00000000 .text │ │ │ │ +00000014 00007414 R_386_16 00000000 .text │ │ │ │ +0000001a 00007414 R_386_16 00000000 .text │ │ │ │ +00000030 00007401 R_386_32 00000000 .text │ │ │ │ +0000005d 00007414 R_386_16 00000000 .text │ │ │ │ +00000063 00007414 R_386_16 00000000 .text │ │ │ │ +0000007c 00007414 R_386_16 00000000 .text │ │ │ │ +00000098 00007414 R_386_16 00000000 .text │ │ │ │ +000000d8 00007414 R_386_16 00000000 .text │ │ │ │ +000000f3 00007401 R_386_32 00000000 .text │ │ │ │ +00000101 00007414 R_386_16 00000000 .text │ │ │ │ +0000014b 00007401 R_386_32 00000000 .text │ │ │ │ +00000161 00007414 R_386_16 00000000 .text │ │ │ │ +00000170 00007414 R_386_16 00000000 .text │ │ │ │ +00000188 00007414 R_386_16 00000000 .text │ │ │ │ +00000197 00007414 R_386_16 00000000 .text │ │ │ │ +000001a2 00007414 R_386_16 00000000 .text │ │ │ │ +000001b8 00007414 R_386_16 00000000 .text │ │ │ │ +000001c3 00007414 R_386_16 00000000 .text │ │ │ │ +000001d9 00007414 R_386_16 00000000 .text │ │ │ │ +000001e1 00007414 R_386_16 00000000 .text │ │ │ │ +000001f6 00007401 R_386_32 00000000 .text │ │ │ │ +000001fd 00007414 R_386_16 00000000 .text │ │ │ │ +0000020e 00007401 R_386_32 00000000 .text │ │ │ │ +00000220 00007401 R_386_32 00000000 .text │ │ │ │ +00000269 00007401 R_386_32 00000000 .text │ │ │ │ +0000027d 00007401 R_386_32 00000000 .text │ │ │ │ +0000029e 00007414 R_386_16 00000000 .text │ │ │ │ +000002a8 00007414 R_386_16 00000000 .text │ │ │ │ +000002af 00007414 R_386_16 00000000 .text │ │ │ │ +000002b4 00007401 R_386_32 00000000 .text │ │ │ │ +000002bb 00007401 R_386_32 00000000 .text │ │ │ │ +000002d1 00007414 R_386_16 00000000 .text │ │ │ │ +000002d7 00007414 R_386_16 00000000 .text │ │ │ │ +000002f7 00007414 R_386_16 00000000 .text │ │ │ │ +000002fa 00007414 R_386_16 00000000 .text │ │ │ │ +00000301 00007414 R_386_16 00000000 .text │ │ │ │ +0000038a 00007401 R_386_32 00000000 .text │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -6,719 +6,731 @@ │ │ │ │ 00000000 : │ │ │ │ start(): │ │ │ │ 0: fc cld │ │ │ │ 1: 31 c0 xor %eax,%eax │ │ │ │ 3: 8e d0 mov %eax,%ss │ │ │ │ 5: bc 00 00 8e d8 mov $0xd88e0000,%esp │ │ │ │ a: 8e c0 mov %eax,%es │ │ │ │ - c: 88 16 mov %dl,(%esi) │ │ │ │ - e: 7e 03 jle 13 │ │ │ │ - 10: be 89 03 e8 a9 mov $0xa9e80389,%esi │ │ │ │ - 15: 02 be 9a 03 e8 a3 add -0x5c17fc66(%esi),%bh │ │ │ │ - 1b: 02 bb 00 09 89 df add -0x2076f700(%ebx),%bh │ │ │ │ - 21: 66 31 c0 xor %ax,%ax │ │ │ │ - 24: b9 06 00 f3 66 mov $0x66f30006,%ecx │ │ │ │ - 29: ab stos %eax,%es:(%edi) │ │ │ │ - 2a: 8a 16 mov (%esi),%dl │ │ │ │ - 2c: 7e 03 jle 31 │ │ │ │ - 2e: 88 57 04 mov %dl,0x4(%edi) │ │ │ │ - 31: 80 4f 08 01 orb $0x1,0x8(%edi) │ │ │ │ - 35: 66 b8 10 00 mov $0x10,%ax │ │ │ │ + c: 67 88 15 mov %dl,(%di) │ │ │ │ + f: 9e sahf │ │ │ │ + 10: 03 00 add (%eax),%eax │ │ │ │ + 12: 00 be a9 03 e8 c6 add %bh,-0x3917fc57(%esi) │ │ │ │ + 18: 02 be ba 03 e8 c0 add -0x3f17fc46(%esi),%bh │ │ │ │ + 1e: 02 bb 00 09 89 df add -0x2076f700(%ebx),%bh │ │ │ │ + 24: 66 31 c0 xor %ax,%ax │ │ │ │ + 27: b9 06 00 f3 66 mov $0x66f30006,%ecx │ │ │ │ + 2c: ab stos %eax,%es:(%edi) │ │ │ │ + 2d: 67 8a 15 mov (%di),%dl │ │ │ │ + 30: 9e sahf │ │ │ │ + 31: 03 00 add (%eax),%eax │ │ │ │ + 33: 00 88 57 04 80 4f add %cl,0x4f800457(%eax) │ │ │ │ + 39: 08 01 or %al,(%ecx) │ │ │ │ + 3b: 66 b8 10 00 mov $0x10,%ax │ │ │ │ ... │ │ │ │ │ │ │ │ -0000003b : │ │ │ │ +00000041 : │ │ │ │ load_vd(): │ │ │ │ - 3b: 66 50 push %ax │ │ │ │ - 3d: b6 01 mov $0x1,%dh │ │ │ │ - 3f: 66 bb 00 90 mov $0x9000,%bx │ │ │ │ - 43: 00 00 add %al,(%eax) │ │ │ │ - 45: e8 38 02 80 3f call 3f800282 │ │ │ │ - 4a: 01 74 0f 66 add %esi,0x66(%edi,%ecx,1) │ │ │ │ - 4e: 58 pop %eax │ │ │ │ - 4f: 66 40 inc %ax │ │ │ │ - 51: 80 3f ff cmpb $0xff,(%edi) │ │ │ │ - 54: 75 e5 jne 3b │ │ │ │ - 56: be 10 04 e9 5d mov $0x5de90410,%esi │ │ │ │ - 5b: 02 .byte 0x2 │ │ │ │ + 41: 66 50 push %ax │ │ │ │ + 43: b6 01 mov $0x1,%dh │ │ │ │ + 45: 66 bb 00 90 mov $0x9000,%bx │ │ │ │ + 49: 00 00 add %al,(%eax) │ │ │ │ + 4b: e8 4c 02 80 3f call 3f80029c │ │ │ │ + 50: 01 74 0f 66 add %esi,0x66(%edi,%ecx,1) │ │ │ │ + 54: 58 pop %eax │ │ │ │ + 55: 66 40 inc %ax │ │ │ │ + 57: 80 3f ff cmpb $0xff,(%edi) │ │ │ │ + 5a: 75 e5 jne 41 │ │ │ │ + 5c: be 30 04 e9 77 mov $0x77e90430,%esi │ │ │ │ + 61: 02 .byte 0x2 │ │ │ │ │ │ │ │ -0000005c : │ │ │ │ +00000062 : │ │ │ │ have_vd(): │ │ │ │ - 5c: be .byte 0xbe │ │ │ │ - 5d: 86 .byte 0x86 │ │ │ │ - 5e: 04 .byte 0x4 │ │ │ │ + 62: be .byte 0xbe │ │ │ │ + 63: a6 cmpsb %es:(%edi),%ds:(%esi) │ │ │ │ + 64: 04 .byte 0x4 │ │ │ │ │ │ │ │ -0000005f : │ │ │ │ +00000065 : │ │ │ │ lookup_path(): │ │ │ │ - 5f: 56 push %esi │ │ │ │ - 60: e8 26 01 5f 73 call 735f018b │ │ │ │ - 65: 15 30 c0 b9 ff adc $0xffb9c030,%eax │ │ │ │ - 6a: ff f2 push %edx │ │ │ │ - 6c: ae scas %es:(%edi),%al │ │ │ │ - 6d: 89 fe mov %edi,%esi │ │ │ │ - 6f: 8a 04 08 mov (%eax,%ecx,1),%al │ │ │ │ - 72: c0 (bad) │ │ │ │ - 73: 75 ea jne 5f │ │ │ │ - 75: be 74 04 e9 3e mov $0x3ee90474,%esi │ │ │ │ - 7a: 02 .byte 0x2 │ │ │ │ + 65: 56 push %esi │ │ │ │ + 66: e8 29 01 5f 73 call 735f0194 │ │ │ │ + 6b: 15 30 c0 b9 ff adc $0xffb9c030,%eax │ │ │ │ + 70: ff f2 push %edx │ │ │ │ + 72: ae scas %es:(%edi),%al │ │ │ │ + 73: 89 fe mov %edi,%esi │ │ │ │ + 75: 8a 04 08 mov (%eax,%ecx,1),%al │ │ │ │ + 78: c0 (bad) │ │ │ │ + 79: 75 ea jne 65 │ │ │ │ + 7b: be 94 04 e9 58 mov $0x58e90494,%esi │ │ │ │ + 80: 02 .byte 0x2 │ │ │ │ │ │ │ │ -0000007b : │ │ │ │ +00000081 : │ │ │ │ lookup_found(): │ │ │ │ - 7b: 66 8b 47 0a mov 0xa(%edi),%ax │ │ │ │ - 7f: 66 05 ff 07 add $0x7ff,%ax │ │ │ │ - 83: 00 00 add %al,(%eax) │ │ │ │ - 85: 66 c1 e8 0b shr $0xb,%ax │ │ │ │ - 89: 66 3d 00 01 cmp $0x100,%ax │ │ │ │ - 8d: 00 00 add %al,(%eax) │ │ │ │ - 8f: 76 06 jbe 97 │ │ │ │ - 91: be 65 04 e8 22 mov $0x22e80465,%esi │ │ │ │ - 96: 02 .byte 0x2 │ │ │ │ + 81: 66 8b 47 0a mov 0xa(%edi),%ax │ │ │ │ + 85: 66 05 ff 07 add $0x7ff,%ax │ │ │ │ + 89: 00 00 add %al,(%eax) │ │ │ │ + 8b: 66 c1 e8 0b shr $0xb,%ax │ │ │ │ + 8f: 66 3d 00 01 cmp $0x100,%ax │ │ │ │ + 93: 00 00 add %al,(%eax) │ │ │ │ + 95: 76 06 jbe 9d │ │ │ │ + 97: be 85 04 e8 3c mov $0x3ce80485,%esi │ │ │ │ + 9c: 02 .byte 0x2 │ │ │ │ │ │ │ │ -00000097 : │ │ │ │ +0000009d : │ │ │ │ load_sizeok(): │ │ │ │ - 97: 0f b6 c8 movzbl %al,%ecx │ │ │ │ - 9a: 66 8b 47 02 mov 0x2(%edi),%ax │ │ │ │ - 9e: 66 31 d2 xor %dx,%dx │ │ │ │ - a1: 8a 57 01 mov 0x1(%edi),%dl │ │ │ │ - a4: 66 01 d0 add %dx,%ax │ │ │ │ - a7: 66 bb 00 90 mov $0x9000,%bx │ │ │ │ + 9d: 0f b6 c8 movzbl %al,%ecx │ │ │ │ + a0: 66 8b 47 02 mov 0x2(%edi),%ax │ │ │ │ + a4: 66 31 d2 xor %dx,%dx │ │ │ │ + a7: 8a 57 01 mov 0x1(%edi),%dl │ │ │ │ + aa: 66 01 d0 add %dx,%ax │ │ │ │ + ad: 66 bb 00 90 mov $0x9000,%bx │ │ │ │ ... │ │ │ │ │ │ │ │ -000000ad : │ │ │ │ +000000b3 : │ │ │ │ load_loop(): │ │ │ │ - ad: 88 ce mov %cl,%dh │ │ │ │ - af: 80 f9 20 cmp $0x20,%cl │ │ │ │ - b2: 76 02 jbe b6 │ │ │ │ - b4: b6 20 mov $0x20,%dh │ │ │ │ + b3: 88 ce mov %cl,%dh │ │ │ │ + b5: 80 f9 20 cmp $0x20,%cl │ │ │ │ + b8: 76 02 jbe bc │ │ │ │ + ba: b6 20 mov $0x20,%dh │ │ │ │ │ │ │ │ -000000b6 : │ │ │ │ +000000bc : │ │ │ │ load_notrunc(): │ │ │ │ - b6: 28 f1 sub %dh,%cl │ │ │ │ - b8: 66 50 push %ax │ │ │ │ - ba: e8 c3 01 66 58 call 58660282 │ │ │ │ - bf: 66 83 c0 20 add $0x20,%ax │ │ │ │ - c3: 66 81 c3 00 00 add $0x0,%bx │ │ │ │ - c8: 01 00 add %eax,(%eax) │ │ │ │ - ca: e3 02 jecxz ce │ │ │ │ - cc: eb df jmp ad │ │ │ │ + bc: 28 f1 sub %dh,%cl │ │ │ │ + be: 66 50 push %ax │ │ │ │ + c0: e8 d7 01 66 58 call 5866029c │ │ │ │ + c5: 66 83 c0 20 add $0x20,%ax │ │ │ │ + c9: 66 81 c3 00 00 add $0x0,%bx │ │ │ │ + ce: 01 00 add %eax,(%eax) │ │ │ │ + d0: e3 02 jecxz d4 │ │ │ │ + d2: eb df jmp b3 │ │ │ │ │ │ │ │ -000000ce : │ │ │ │ +000000d4 : │ │ │ │ load_done(): │ │ │ │ - ce: e8 1e 02 be bf call bfbe02f1 │ │ │ │ - d3: 03 e8 add %eax,%ebp │ │ │ │ - d5: e8 01 66 8b 3e call 3e8b66db │ │ │ │ - da: 14 90 adc $0x90,%al │ │ │ │ - dc: 66 be 00 a0 mov $0xa000,%si │ │ │ │ - e0: 00 00 add %al,(%eax) │ │ │ │ - e2: 66 8b 0e mov (%esi),%cx │ │ │ │ - e5: 04 90 add $0x90,%al │ │ │ │ - e7: 66 57 push %di │ │ │ │ - e9: 0f 01 16 lgdtl (%esi) │ │ │ │ - ec: 68 03 fa 0f 20 push $0x200ffa03 │ │ │ │ - f1: c0 0c 01 0f rorb $0xf,(%ecx,%eax,1) │ │ │ │ - f5: 22 c0 and %al,%al │ │ │ │ - f7: ea .byte 0xea │ │ │ │ - f8: fc cld │ │ │ │ - f9: 00 18 add %bl,(%eax) │ │ │ │ + d4: e8 38 02 be df call dfbe0311 │ │ │ │ + d9: 03 e8 add %eax,%ebp │ │ │ │ + db: 02 02 add (%edx),%al │ │ │ │ + dd: 66 8b 3e mov (%esi),%di │ │ │ │ + e0: 14 90 adc $0x90,%al │ │ │ │ + e2: 66 be 00 a0 mov $0xa000,%si │ │ │ │ + e6: 00 00 add %al,(%eax) │ │ │ │ + e8: 66 8b 0e mov (%esi),%cx │ │ │ │ + eb: 04 90 add $0x90,%al │ │ │ │ + ed: 66 57 push %di │ │ │ │ + ef: 67 0f 01 15 lgdtl (%di) │ │ │ │ + f3: 88 03 mov %al,(%ebx) │ │ │ │ + f5: 00 00 add %al,(%eax) │ │ │ │ + f7: fa cli │ │ │ │ + f8: 0f 20 c0 mov %cr0,%eax │ │ │ │ + fb: 0c 01 or $0x1,%al │ │ │ │ + fd: 0f 22 c0 mov %eax,%cr0 │ │ │ │ + 100: ea .byte 0xea │ │ │ │ + 101: 05 .byte 0x5 │ │ │ │ + 102: 01 18 add %ebx,(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -000000fc : │ │ │ │ +00000105 : │ │ │ │ pm_start(): │ │ │ │ - fc: 66 b8 08 00 mov $0x8,%ax │ │ │ │ - 100: 8e d8 mov %eax,%ds │ │ │ │ - 102: 8e c0 mov %eax,%es │ │ │ │ - 104: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - 106: 81 c7 ff 0f 00 00 add $0xfff,%edi │ │ │ │ - 10c: 81 e7 00 f0 ff ff and $0xfffff000,%edi │ │ │ │ - 112: 8b 0d 08 90 00 00 mov 0x9008,%ecx │ │ │ │ - 118: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - 11a: 8b 0d 0c 90 00 00 mov 0x900c,%ecx │ │ │ │ - 120: 31 c0 xor %eax,%eax │ │ │ │ - 122: 80 c1 03 add $0x3,%cl │ │ │ │ - 125: c1 e9 02 shr $0x2,%ecx │ │ │ │ - 128: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ - 12a: 8b 35 14 90 00 00 mov 0x9014,%esi │ │ │ │ - 130: 81 c6 00 10 00 00 add $0x1000,%esi │ │ │ │ - 136: bf 00 90 00 00 mov $0x9000,%edi │ │ │ │ - 13b: 0f b7 4e 0a movzwl 0xa(%esi),%ecx │ │ │ │ - 13f: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - 141: ea 48 01 00 00 20 00 ljmp $0x20,$0x148 │ │ │ │ + 105: 66 b8 08 00 mov $0x8,%ax │ │ │ │ + 109: 8e d8 mov %eax,%ds │ │ │ │ + 10b: 8e c0 mov %eax,%es │ │ │ │ + 10d: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + 10f: 81 c7 ff 0f 00 00 add $0xfff,%edi │ │ │ │ + 115: 81 e7 00 f0 ff ff and $0xfffff000,%edi │ │ │ │ + 11b: 8b 0d 08 90 00 00 mov 0x9008,%ecx │ │ │ │ + 121: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + 123: 8b 0d 0c 90 00 00 mov 0x900c,%ecx │ │ │ │ + 129: 31 c0 xor %eax,%eax │ │ │ │ + 12b: 80 c1 03 add $0x3,%cl │ │ │ │ + 12e: c1 e9 02 shr $0x2,%ecx │ │ │ │ + 131: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ + 133: 8b 35 14 90 00 00 mov 0x9014,%esi │ │ │ │ + 139: 81 c6 00 10 00 00 add $0x1000,%esi │ │ │ │ + 13f: bf 00 90 00 00 mov $0x9000,%edi │ │ │ │ + 144: 0f b7 4e 0a movzwl 0xa(%esi),%ecx │ │ │ │ + 148: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + 14a: ea 51 01 00 00 20 00 ljmp $0x20,$0x151 │ │ │ │ │ │ │ │ -00000148 : │ │ │ │ +00000151 : │ │ │ │ pm_16(): │ │ │ │ - 148: b8 10 00 8e d8 mov $0xd88e0010,%eax │ │ │ │ - 14d: 8e c0 mov %eax,%es │ │ │ │ - 14f: 0f 20 c0 mov %cr0,%eax │ │ │ │ - 152: 24 fe and $0xfe,%al │ │ │ │ - 154: 0f 22 c0 mov %eax,%cr0 │ │ │ │ - 157: ea .byte 0xea │ │ │ │ - 158: 5c pop %esp │ │ │ │ - 159: 01 00 add %eax,(%eax) │ │ │ │ + 151: b8 10 00 8e d8 mov $0xd88e0010,%eax │ │ │ │ + 156: 8e c0 mov %eax,%es │ │ │ │ + 158: 0f 20 c0 mov %cr0,%eax │ │ │ │ + 15b: 24 fe and $0xfe,%al │ │ │ │ + 15d: 0f 22 c0 mov %eax,%cr0 │ │ │ │ + 160: ea .byte 0xea │ │ │ │ + 161: 65 01 00 add %eax,%gs:(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -0000015c : │ │ │ │ +00000165 : │ │ │ │ pm_end(): │ │ │ │ - 15c: fb sti │ │ │ │ - 15d: 31 c0 xor %eax,%eax │ │ │ │ - 15f: 8e d8 mov %eax,%ds │ │ │ │ - 161: 8e c0 mov %eax,%es │ │ │ │ - 163: bf 00 a0 be 20 mov $0x20bea000,%edi │ │ │ │ - 168: 03 b9 1e 00 f3 a4 add -0x5b0cffe2(%ecx),%edi │ │ │ │ - 16e: be 00 09 bf 00 mov $0xbf0900,%esi │ │ │ │ - 173: a1 b9 06 00 f3 mov 0xf30006b9,%eax │ │ │ │ - 178: 66 a5 movsw %ds:(%esi),%es:(%edi) │ │ │ │ - 17a: 66 58 pop %ax │ │ │ │ - 17c: 66 ab stos %ax,%es:(%edi) │ │ │ │ - 17e: be e3 03 e8 3b mov $0x3be803e3,%esi │ │ │ │ - 183: 01 ea add %ebp,%edx │ │ │ │ - 185: 10 .byte 0x10 │ │ │ │ - 186: 90 nop │ │ │ │ + 165: fb sti │ │ │ │ + 166: 31 c0 xor %eax,%eax │ │ │ │ + 168: 8e d8 mov %eax,%ds │ │ │ │ + 16a: 8e c0 mov %eax,%es │ │ │ │ + 16c: bf 00 a0 be 40 mov $0x40bea000,%edi │ │ │ │ + 171: 03 b9 1e 00 f3 a4 add -0x5b0cffe2(%ecx),%edi │ │ │ │ + 177: be 00 09 bf 00 mov $0xbf0900,%esi │ │ │ │ + 17c: a1 b9 06 00 f3 mov 0xf30006b9,%eax │ │ │ │ + 181: 66 a5 movsw %ds:(%esi),%es:(%edi) │ │ │ │ + 183: 66 58 pop %ax │ │ │ │ + 185: 66 ab stos %ax,%es:(%edi) │ │ │ │ + 187: be 03 04 e8 52 mov $0x52e80403,%esi │ │ │ │ + 18c: 01 ea add %ebp,%edx │ │ │ │ + 18e: 10 .byte 0x10 │ │ │ │ + 18f: 90 nop │ │ │ │ ... │ │ │ │ │ │ │ │ -00000189 : │ │ │ │ +00000192 : │ │ │ │ lookup(): │ │ │ │ - 189: bb 9c 90 56 be mov $0xbe56909c,%ebx │ │ │ │ - 18e: 3b 04 e8 cmp (%eax,%ebp,8),%eax │ │ │ │ - 191: 2c 01 sub $0x1,%al │ │ │ │ - 193: 5e pop %esi │ │ │ │ - 194: 56 push %esi │ │ │ │ - 195: e8 27 01 be 47 call 47be02c1 │ │ │ │ - 19a: 04 e8 add $0xe8,%al │ │ │ │ - 19c: 21 01 and %eax,(%ecx) │ │ │ │ - 19e: 5e pop %esi │ │ │ │ + 192: bb 9c 90 56 be mov $0xbe56909c,%ebx │ │ │ │ + 197: 5b pop %ebx │ │ │ │ + 198: 04 e8 add $0xe8,%al │ │ │ │ + 19a: 43 inc %ebx │ │ │ │ + 19b: 01 5e 56 add %ebx,0x56(%esi) │ │ │ │ + 19e: e8 3e 01 be 67 call 67be02e1 │ │ │ │ + 1a3: 04 e8 add $0xe8,%al │ │ │ │ + 1a5: 38 01 cmp %al,(%ecx) │ │ │ │ + 1a7: 5e pop %esi │ │ │ │ │ │ │ │ -0000019f : │ │ │ │ +000001a8 : │ │ │ │ lookup_dir(): │ │ │ │ - 19f: ac lods %ds:(%esi),%al │ │ │ │ - 1a0: 3c 00 cmp $0x0,%al │ │ │ │ - 1a2: 74 15 je 1b9 │ │ │ │ - 1a4: 3c 2f cmp $0x2f,%al │ │ │ │ - 1a6: 74 f7 je 19f │ │ │ │ - 1a8: 4e dec %esi │ │ │ │ - 1a9: e8 15 00 73 f1 call f17301c3 │ │ │ │ - 1ae: be 54 04 e8 0b mov $0xbe80454,%esi │ │ │ │ - 1b3: 01 f9 add %edi,%ecx │ │ │ │ - 1b5: c3 ret │ │ │ │ - 1b6: e9 .byte 0xe9 │ │ │ │ - 1b7: 00 01 add %al,(%ecx) │ │ │ │ + 1a8: ac lods %ds:(%esi),%al │ │ │ │ + 1a9: 3c 00 cmp $0x0,%al │ │ │ │ + 1ab: 74 15 je 1c2 │ │ │ │ + 1ad: 3c 2f cmp $0x2f,%al │ │ │ │ + 1af: 74 f7 je 1a8 │ │ │ │ + 1b1: 4e dec %esi │ │ │ │ + 1b2: e8 15 00 73 f1 call f17301cc │ │ │ │ + 1b7: be 74 04 e8 22 mov $0x22e80474,%esi │ │ │ │ + 1bc: 01 f9 add %edi,%ecx │ │ │ │ + 1be: c3 ret │ │ │ │ + 1bf: e9 .byte 0xe9 │ │ │ │ + 1c0: 17 pop %ss │ │ │ │ + 1c1: 01 .byte 0x1 │ │ │ │ │ │ │ │ -000001b9 : │ │ │ │ +000001c2 : │ │ │ │ lookup_done(): │ │ │ │ - 1b9: be 4c 04 e8 00 mov $0xe8044c,%esi │ │ │ │ - 1be: 01 f8 add %edi,%eax │ │ │ │ - 1c0: c3 ret │ │ │ │ + 1c2: be 6c 04 e8 17 mov $0x17e8046c,%esi │ │ │ │ + 1c7: 01 f8 add %edi,%eax │ │ │ │ + 1c9: c3 ret │ │ │ │ │ │ │ │ -000001c1 : │ │ │ │ +000001ca : │ │ │ │ find_file(): │ │ │ │ - 1c1: 66 8b 47 02 mov 0x2(%edi),%ax │ │ │ │ - 1c5: 66 31 d2 xor %dx,%dx │ │ │ │ - 1c8: 8a 57 01 mov 0x1(%edi),%dl │ │ │ │ - 1cb: 66 01 d0 add %dx,%ax │ │ │ │ - 1ce: 66 a3 7f 03 66 8b mov %ax,0x8b66037f │ │ │ │ - 1d4: 47 inc %edi │ │ │ │ - 1d5: 0a 66 a3 or -0x5d(%esi),%ah │ │ │ │ - 1d8: 83 03 30 addl $0x30,(%ebx) │ │ │ │ - 1db: c9 leave │ │ │ │ - 1dc: 56 push %esi │ │ │ │ + 1ca: 66 8b 47 02 mov 0x2(%edi),%ax │ │ │ │ + 1ce: 66 31 d2 xor %dx,%dx │ │ │ │ + 1d1: 8a 57 01 mov 0x1(%edi),%dl │ │ │ │ + 1d4: 66 01 d0 add %dx,%ax │ │ │ │ + 1d7: 66 a3 9f 03 66 8b mov %ax,0x8b66039f │ │ │ │ + 1dd: 47 inc %edi │ │ │ │ + 1de: 0a 66 a3 or -0x5d(%esi),%ah │ │ │ │ + 1e1: a3 03 30 c9 56 mov %eax,0x56c93003 │ │ │ │ │ │ │ │ -000001dd : │ │ │ │ +000001e6 : │ │ │ │ ff.namelen(): │ │ │ │ - 1dd: fe c1 inc %cl │ │ │ │ - 1df: ac lods %ds:(%esi),%al │ │ │ │ - 1e0: 3c 00 cmp $0x0,%al │ │ │ │ - 1e2: 74 04 je 1e8 │ │ │ │ - 1e4: 3c 2f cmp $0x2f,%al │ │ │ │ - 1e6: 75 f5 jne 1dd │ │ │ │ + 1e6: fe c1 inc %cl │ │ │ │ + 1e8: ac lods %ds:(%esi),%al │ │ │ │ + 1e9: 3c 00 cmp $0x0,%al │ │ │ │ + 1eb: 74 04 je 1f1 │ │ │ │ + 1ed: 3c 2f cmp $0x2f,%al │ │ │ │ + 1ef: 75 f5 jne 1e6 │ │ │ │ │ │ │ │ -000001e8 : │ │ │ │ +000001f1 : │ │ │ │ ff.namedone(): │ │ │ │ - 1e8: fe c9 dec %cl │ │ │ │ - 1ea: 88 0e mov %cl,(%esi) │ │ │ │ - 1ec: 87 03 xchg %eax,(%ebx) │ │ │ │ - 1ee: 5e pop %esi │ │ │ │ + 1f1: fe c9 dec %cl │ │ │ │ + 1f3: 67 88 0d mov %cl,(%di) │ │ │ │ + 1f6: a7 cmpsl %es:(%edi),%ds:(%esi) │ │ │ │ + 1f7: 03 00 add (%eax),%eax │ │ │ │ + 1f9: 00 .byte 0x0 │ │ │ │ + 1fa: 5e pop %esi │ │ │ │ │ │ │ │ -000001ef : │ │ │ │ +000001fb : │ │ │ │ ff.load(): │ │ │ │ - 1ef: 66 a1 7f 03 66 bb mov 0xbb66037f,%ax │ │ │ │ - 1f5: 00 98 00 00 b6 01 add %bl,0x1b60000(%eax) │ │ │ │ - 1fb: e8 82 00 66 ff call ff660282 │ │ │ │ - 200: 06 push %es │ │ │ │ - 201: 7f 03 jg 206 │ │ │ │ + 1fb: 66 a1 9f 03 66 bb mov 0xbb66039f,%ax │ │ │ │ + 201: 00 98 00 00 b6 01 add %bl,0x1b60000(%eax) │ │ │ │ + 207: e8 90 00 67 66 call 6667029c │ │ │ │ + 20c: ff 05 9f 03 00 00 incl 0x39f │ │ │ │ │ │ │ │ -00000203 : │ │ │ │ +00000212 : │ │ │ │ ff.scan(): │ │ │ │ - 203: 66 89 da mov %bx,%dx │ │ │ │ - 206: 66 81 ea 00 98 sub $0x9800,%dx │ │ │ │ - 20b: 00 00 add %al,(%eax) │ │ │ │ - 20d: 66 39 16 cmp %dx,(%esi) │ │ │ │ - 210: 83 03 77 addl $0x77,(%ebx) │ │ │ │ - 213: 02 f9 add %cl,%bh │ │ │ │ - 215: c3 ret │ │ │ │ + 212: 66 89 da mov %bx,%dx │ │ │ │ + 215: 66 81 ea 00 98 sub $0x9800,%dx │ │ │ │ + 21a: 00 00 add %al,(%eax) │ │ │ │ + 21c: 67 66 39 15 cmp %dx,(%di) │ │ │ │ + 220: a3 03 00 00 77 mov %eax,0x77000003 │ │ │ │ + 225: 02 f9 add %cl,%bh │ │ │ │ + 227: c3 ret │ │ │ │ │ │ │ │ -00000216 : │ │ │ │ +00000228 : │ │ │ │ ff.scan.1(): │ │ │ │ - 216: 80 3f 00 cmpb $0x0,(%edi) │ │ │ │ - 219: 74 49 je 264 │ │ │ │ - 21b: 56 push %esi │ │ │ │ - 21c: 0f b6 77 20 movzbl 0x20(%edi),%esi │ │ │ │ + 228: 80 3f 00 cmpb $0x0,(%edi) │ │ │ │ + 22b: 74 4c je 279 │ │ │ │ + 22d: 56 push %esi │ │ │ │ + 22e: 0f b6 77 20 movzbl 0x20(%edi),%esi │ │ │ │ │ │ │ │ -00000220 : │ │ │ │ +00000232 : │ │ │ │ ff.checkver(): │ │ │ │ - 220: 80 78 20 30 cmpb $0x30,0x20(%eax) │ │ │ │ - 224: 72 0b jb 231 │ │ │ │ - 226: 80 78 20 39 cmpb $0x39,0x20(%eax) │ │ │ │ - 22a: 77 05 ja 231 │ │ │ │ - 22c: 4e dec %esi │ │ │ │ - 22d: 75 f1 jne 220 │ │ │ │ - 22f: eb 21 jmp 252 │ │ │ │ + 232: 80 78 20 30 cmpb $0x30,0x20(%eax) │ │ │ │ + 236: 72 0b jb 243 │ │ │ │ + 238: 80 78 20 39 cmpb $0x39,0x20(%eax) │ │ │ │ + 23c: 77 05 ja 243 │ │ │ │ + 23e: 4e dec %esi │ │ │ │ + 23f: 75 f1 jne 232 │ │ │ │ + 241: eb 21 jmp 264 │ │ │ │ │ │ │ │ -00000231 : │ │ │ │ +00000243 : │ │ │ │ ff.checkver.1(): │ │ │ │ - 231: 0f b6 4f 20 movzbl 0x20(%edi),%ecx │ │ │ │ - 235: 39 ce cmp %ecx,%esi │ │ │ │ - 237: 74 10 je 249 │ │ │ │ - 239: 80 78 20 3b cmpb $0x3b,0x20(%eax) │ │ │ │ - 23d: 75 08 jne 247 │ │ │ │ - 23f: 4e dec %esi │ │ │ │ - 240: 89 f1 mov %esi,%ecx │ │ │ │ - 242: 88 4f 20 mov %cl,0x20(%edi) │ │ │ │ - 245: eb 02 jmp 249 │ │ │ │ + 243: 0f b6 4f 20 movzbl 0x20(%edi),%ecx │ │ │ │ + 247: 39 ce cmp %ecx,%esi │ │ │ │ + 249: 74 10 je 25b │ │ │ │ + 24b: 80 78 20 3b cmpb $0x3b,0x20(%eax) │ │ │ │ + 24f: 75 08 jne 259 │ │ │ │ + 251: 4e dec %esi │ │ │ │ + 252: 89 f1 mov %esi,%ecx │ │ │ │ + 254: 88 4f 20 mov %cl,0x20(%edi) │ │ │ │ + 257: eb 02 jmp 25b │ │ │ │ │ │ │ │ -00000247 : │ │ │ │ +00000259 : │ │ │ │ ff.checkver.2(): │ │ │ │ - 247: 89 ce mov %ecx,%esi │ │ │ │ + 259: 89 ce mov %ecx,%esi │ │ │ │ │ │ │ │ -00000249 : │ │ │ │ +0000025b : │ │ │ │ ff.checkdot(): │ │ │ │ - 249: 80 78 20 2e cmpb $0x2e,0x20(%eax) │ │ │ │ - 24d: 75 03 jne 252 │ │ │ │ - 24f: fe 4f 20 decb 0x20(%edi) │ │ │ │ + 25b: 80 78 20 2e cmpb $0x2e,0x20(%eax) │ │ │ │ + 25f: 75 03 jne 264 │ │ │ │ + 261: fe 4f 20 decb 0x20(%edi) │ │ │ │ │ │ │ │ -00000252 : │ │ │ │ +00000264 : │ │ │ │ ff.checklen(): │ │ │ │ - 252: 5e pop %esi │ │ │ │ - 253: 0f b6 0e movzbl (%esi),%ecx │ │ │ │ - 256: 87 03 xchg %eax,(%ebx) │ │ │ │ - 258: 38 4f 20 cmp %cl,0x20(%edi) │ │ │ │ - 25b: 74 13 je 270 │ │ │ │ + 264: 5e pop %esi │ │ │ │ + 265: 67 0f b6 0d movzbl (%di),%ecx │ │ │ │ + 269: a7 cmpsl %es:(%edi),%ds:(%esi) │ │ │ │ + 26a: 03 00 add (%eax),%eax │ │ │ │ + 26c: 00 38 add %bh,(%eax) │ │ │ │ + 26e: 4f dec %edi │ │ │ │ + 26f: 20 .byte 0x20 │ │ │ │ + 270: 74 18 je 28a │ │ │ │ │ │ │ │ -0000025d : │ │ │ │ +00000272 : │ │ │ │ ff.nextrec(): │ │ │ │ - 25d: 02 1f add (%edi),%bl │ │ │ │ - 25f: 80 d7 00 adc $0x0,%bh │ │ │ │ - 262: eb 9f jmp 203 │ │ │ │ + 272: 02 1f add (%edi),%bl │ │ │ │ + 274: 80 d7 00 adc $0x0,%bh │ │ │ │ + 277: eb 99 jmp 212 │ │ │ │ │ │ │ │ -00000264 : │ │ │ │ +00000279 : │ │ │ │ ff.nextblock(): │ │ │ │ - 264: 66 81 2e 83 03 subw $0x383,(%esi) │ │ │ │ - 269: 00 08 add %cl,(%eax) │ │ │ │ - 26b: 00 00 add %al,(%eax) │ │ │ │ - 26d: 73 80 jae 1ef │ │ │ │ - 26f: c3 ret │ │ │ │ + 279: 67 66 81 2d a3 03 subw $0x3a3,(%di) │ │ │ │ + 27f: 00 00 add %al,(%eax) │ │ │ │ + 281: 00 08 add %cl,(%eax) │ │ │ │ + 283: 00 00 add %al,(%eax) │ │ │ │ + 285: 0f .byte 0xf │ │ │ │ + 286: 83 72 ff c3 xorl $0xffffffc3,-0x1(%edx) │ │ │ │ │ │ │ │ -00000270 : │ │ │ │ +0000028a : │ │ │ │ ff.checkname(): │ │ │ │ - 270: 8d 7f 21 lea 0x21(%edi),%edi │ │ │ │ - 273: 56 push %esi │ │ │ │ - 274: f3 a6 repz cmpsb %es:(%edi),%ds:(%esi) │ │ │ │ - 276: 74 03 je 27b │ │ │ │ - 278: 5e pop %esi │ │ │ │ - 279: eb e2 jmp 25d │ │ │ │ + 28a: 8d 7f 21 lea 0x21(%edi),%edi │ │ │ │ + 28d: 56 push %esi │ │ │ │ + 28e: f3 a6 repz cmpsb %es:(%edi),%ds:(%esi) │ │ │ │ + 290: 74 03 je 295 │ │ │ │ + 292: 5e pop %esi │ │ │ │ + 293: eb dd jmp 272 │ │ │ │ │ │ │ │ -0000027b : │ │ │ │ +00000295 : │ │ │ │ ff.match(): │ │ │ │ - 27b: 83 c4 02 add $0x2,%esp │ │ │ │ - 27e: f8 clc │ │ │ │ - 27f: c3 ret │ │ │ │ + 295: 83 c4 02 add $0x2,%esp │ │ │ │ + 298: f8 clc │ │ │ │ + 299: c3 ret │ │ │ │ │ │ │ │ -00000280 : │ │ │ │ +0000029a : │ │ │ │ read(): │ │ │ │ - 280: 56 push %esi │ │ │ │ - 281: 51 push %ecx │ │ │ │ - 282: 66 a3 76 03 66 89 mov %ax,0x89660376 │ │ │ │ - 288: d8 66 c1 fsubs -0x3f(%esi) │ │ │ │ - 28b: e8 04 a3 74 03 call 374a594 │ │ │ │ + 29a: 56 push %esi │ │ │ │ + 29b: 51 push %ecx │ │ │ │ + 29c: 66 a3 96 03 66 89 mov %ax,0x89660396 │ │ │ │ + 2a2: d8 66 c1 fsubs -0x3f(%esi) │ │ │ │ + 2a5: e8 04 a3 94 03 call 394a5ae │ │ │ │ │ │ │ │ -00000290 : │ │ │ │ +000002aa : │ │ │ │ read.retry(): │ │ │ │ - 290: e8 41 00 52 be call be5202d6 │ │ │ │ - 295: 6e outsb %ds:(%esi),(%dx) │ │ │ │ - 296: 03 88 36 70 03 8a add -0x75fc8fca(%eax),%ecx │ │ │ │ - 29c: 16 push %ss │ │ │ │ - 29d: 7e 03 jle 2a2 │ │ │ │ - 29f: b4 42 mov $0x42,%ah │ │ │ │ - 2a1: cd 13 int $0x13 │ │ │ │ - 2a3: 5a pop %edx │ │ │ │ - 2a4: 72 03 jb 2a9 │ │ │ │ - 2a6: 59 pop %ecx │ │ │ │ - 2a7: 5e pop %esi │ │ │ │ - 2a8: c3 ret │ │ │ │ + 2aa: e8 47 00 52 be call be5202f6 │ │ │ │ + 2af: 8e 03 mov (%ebx),%es │ │ │ │ + 2b1: 67 88 35 mov %dh,(%di) │ │ │ │ + 2b4: 90 nop │ │ │ │ + 2b5: 03 00 add (%eax),%eax │ │ │ │ + 2b7: 00 67 8a add %ah,-0x76(%edi) │ │ │ │ + 2ba: 15 9e 03 00 00 adc $0x39e,%eax │ │ │ │ + 2bf: b4 42 mov $0x42,%ah │ │ │ │ + 2c1: cd 13 int $0x13 │ │ │ │ + 2c3: 5a pop %edx │ │ │ │ + 2c4: 72 03 jb 2c9 │ │ │ │ + 2c6: 59 pop %ecx │ │ │ │ + 2c7: 5e pop %esi │ │ │ │ + 2c8: c3 ret │ │ │ │ │ │ │ │ -000002a9 : │ │ │ │ +000002c9 : │ │ │ │ read.fail(): │ │ │ │ - 2a9: 80 fc 80 cmp $0x80,%ah │ │ │ │ - 2ac: 74 e2 je 290 │ │ │ │ + 2c9: 80 fc 80 cmp $0x80,%ah │ │ │ │ + 2cc: 74 dc je 2aa │ │ │ │ │ │ │ │ -000002ae : │ │ │ │ +000002ce : │ │ │ │ read.error(): │ │ │ │ - 2ae: 88 e0 mov %ah,%al │ │ │ │ - 2b0: bf 0b 04 e8 55 mov $0x55e8040b,%edi │ │ │ │ - 2b5: 00 .byte 0x0 │ │ │ │ - 2b6: be .byte 0xbe │ │ │ │ - 2b7: fd std │ │ │ │ - 2b8: 03 .byte 0x3 │ │ │ │ + 2ce: 88 e0 mov %ah,%al │ │ │ │ + 2d0: bf 2b 04 e8 55 mov $0x55e8042b,%edi │ │ │ │ + 2d5: 00 .byte 0x0 │ │ │ │ + 2d6: be .byte 0xbe │ │ │ │ + 2d7: 1d .byte 0x1d │ │ │ │ + 2d8: 04 .byte 0x4 │ │ │ │ │ │ │ │ -000002b9 : │ │ │ │ +000002d9 : │ │ │ │ error(): │ │ │ │ - 2b9: e8 .byte 0xe8 │ │ │ │ - 2ba: 03 00 add (%eax),%eax │ │ │ │ + 2d9: e8 .byte 0xe8 │ │ │ │ + 2da: 03 00 add (%eax),%eax │ │ │ │ │ │ │ │ -000002bc : │ │ │ │ +000002dc : │ │ │ │ halt(): │ │ │ │ - 2bc: f4 hlt │ │ │ │ - 2bd: eb fd jmp 2bc │ │ │ │ + 2dc: f4 hlt │ │ │ │ + 2dd: eb fd jmp 2dc │ │ │ │ │ │ │ │ -000002bf : │ │ │ │ +000002df : │ │ │ │ putstr(): │ │ │ │ - 2bf: 53 push %ebx │ │ │ │ + 2df: 53 push %ebx │ │ │ │ │ │ │ │ -000002c0 : │ │ │ │ +000002e0 : │ │ │ │ putstr.load(): │ │ │ │ - 2c0: ac lods %ds:(%esi),%al │ │ │ │ - 2c1: 84 c0 test %al,%al │ │ │ │ - 2c3: 75 02 jne 2c7 │ │ │ │ - 2c5: 5b pop %ebx │ │ │ │ - 2c6: c3 ret │ │ │ │ + 2e0: ac lods %ds:(%esi),%al │ │ │ │ + 2e1: 84 c0 test %al,%al │ │ │ │ + 2e3: 75 02 jne 2e7 │ │ │ │ + 2e5: 5b pop %ebx │ │ │ │ + 2e6: c3 ret │ │ │ │ │ │ │ │ -000002c7 : │ │ │ │ +000002e7 : │ │ │ │ putstr.putc(): │ │ │ │ - 2c7: e8 02 00 eb f4 call f4eb02ce │ │ │ │ + 2e7: e8 02 00 eb f4 call f4eb02ee │ │ │ │ │ │ │ │ -000002cc : │ │ │ │ +000002ec : │ │ │ │ putc(): │ │ │ │ - 2cc: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ - 2d1: cd 10 int $0x10 │ │ │ │ - 2d3: c3 ret │ │ │ │ + 2ec: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ + 2f1: cd 10 int $0x10 │ │ │ │ + 2f3: c3 ret │ │ │ │ │ │ │ │ -000002d4 : │ │ │ │ +000002f4 : │ │ │ │ twiddle(): │ │ │ │ - 2d4: 50 push %eax │ │ │ │ - 2d5: 53 push %ebx │ │ │ │ - 2d6: a0 88 03 bb 82 mov 0x82bb0388,%al │ │ │ │ - 2db: 04 fe add $0xfe,%al │ │ │ │ - 2dd: c0 24 03 a2 shlb $0xa2,(%ebx,%eax,1) │ │ │ │ - 2e1: 88 03 mov %al,(%ebx) │ │ │ │ - 2e3: d7 xlat %ds:(%ebx) │ │ │ │ - 2e4: e8 e5 ff b0 08 call 8b102ce │ │ │ │ - 2e9: e8 e0 ff 5b 58 call 585c02ce │ │ │ │ - 2ee: c3 ret │ │ │ │ + 2f4: 50 push %eax │ │ │ │ + 2f5: 53 push %ebx │ │ │ │ + 2f6: a0 a8 03 bb a2 mov 0xa2bb03a8,%al │ │ │ │ + 2fb: 04 fe add $0xfe,%al │ │ │ │ + 2fd: c0 24 03 a2 shlb $0xa2,(%ebx,%eax,1) │ │ │ │ + 301: a8 03 test $0x3,%al │ │ │ │ + 303: d7 xlat %ds:(%ebx) │ │ │ │ + 304: e8 e5 ff b0 08 call 8b102ee │ │ │ │ + 309: e8 e0 ff 5b 58 call 585c02ee │ │ │ │ + 30e: c3 ret │ │ │ │ │ │ │ │ -000002ef : │ │ │ │ +0000030f : │ │ │ │ seta20(): │ │ │ │ - 2ef: fa cli │ │ │ │ - 2f0: 31 c9 xor %ecx,%ecx │ │ │ │ + 30f: fa cli │ │ │ │ + 310: 31 c9 xor %ecx,%ecx │ │ │ │ │ │ │ │ -000002f2 : │ │ │ │ +00000312 : │ │ │ │ seta20.1(): │ │ │ │ - 2f2: 41 inc %ecx │ │ │ │ - 2f3: 74 14 je 309 │ │ │ │ - 2f5: e4 64 in $0x64,%al │ │ │ │ - 2f7: a8 02 test $0x2,%al │ │ │ │ - 2f9: 75 f7 jne 2f2 │ │ │ │ - 2fb: b0 d1 mov $0xd1,%al │ │ │ │ - 2fd: e6 64 out %al,$0x64 │ │ │ │ + 312: 41 inc %ecx │ │ │ │ + 313: 74 14 je 329 │ │ │ │ + 315: e4 64 in $0x64,%al │ │ │ │ + 317: a8 02 test $0x2,%al │ │ │ │ + 319: 75 f7 jne 312 │ │ │ │ + 31b: b0 d1 mov $0xd1,%al │ │ │ │ + 31d: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ -000002ff : │ │ │ │ +0000031f : │ │ │ │ seta20.2(): │ │ │ │ - 2ff: e4 64 in $0x64,%al │ │ │ │ - 301: a8 02 test $0x2,%al │ │ │ │ - 303: 75 fa jne 2ff │ │ │ │ - 305: b0 df mov $0xdf,%al │ │ │ │ - 307: e6 60 out %al,$0x60 │ │ │ │ + 31f: e4 64 in $0x64,%al │ │ │ │ + 321: a8 02 test $0x2,%al │ │ │ │ + 323: 75 fa jne 31f │ │ │ │ + 325: b0 df mov $0xdf,%al │ │ │ │ + 327: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ -00000309 : │ │ │ │ +00000329 : │ │ │ │ seta20.3(): │ │ │ │ - 309: fb sti │ │ │ │ - 30a: c3 ret │ │ │ │ + 329: fb sti │ │ │ │ + 32a: c3 ret │ │ │ │ │ │ │ │ -0000030b : │ │ │ │ +0000032b : │ │ │ │ hex8(): │ │ │ │ - 30b: 66 50 push %ax │ │ │ │ - 30d: c0 e8 04 shr $0x4,%al │ │ │ │ - 310: e8 02 00 66 58 call 58660317 │ │ │ │ + 32b: 66 50 push %ax │ │ │ │ + 32d: c0 e8 04 shr $0x4,%al │ │ │ │ + 330: e8 02 00 66 58 call 58660337 │ │ │ │ │ │ │ │ -00000315 : │ │ │ │ +00000335 : │ │ │ │ hex8.1(): │ │ │ │ - 315: 24 0f and $0xf,%al │ │ │ │ - 317: 3c 0a cmp $0xa,%al │ │ │ │ - 319: 1c 69 sbb $0x69,%al │ │ │ │ - 31b: 2f das │ │ │ │ - 31c: 0c 20 or $0x20,%al │ │ │ │ - 31e: aa stos %al,%es:(%edi) │ │ │ │ - 31f: c3 ret │ │ │ │ + 335: 24 0f and $0xf,%al │ │ │ │ + 337: 3c 0a cmp $0xa,%al │ │ │ │ + 339: 1c 69 sbb $0x69,%al │ │ │ │ + 33b: 2f das │ │ │ │ + 33c: 0c 20 or $0x20,%al │ │ │ │ + 33e: aa stos %al,%es:(%edi) │ │ │ │ + 33f: c3 ret │ │ │ │ │ │ │ │ -00000320 : │ │ │ │ +00000340 : │ │ │ │ btx_client(): │ │ │ │ - 320: be 14 01 00 00 mov $0x114,%esi │ │ │ │ - 325: b9 06 00 00 00 mov $0x6,%ecx │ │ │ │ - 32a: fd std │ │ │ │ + 340: be 14 01 00 00 mov $0x114,%esi │ │ │ │ + 345: b9 06 00 00 00 mov $0x6,%ecx │ │ │ │ + 34a: fd std │ │ │ │ │ │ │ │ -0000032b : │ │ │ │ +0000034b : │ │ │ │ push_arg(): │ │ │ │ - 32b: ad lods %ds:(%esi),%eax │ │ │ │ - 32c: 50 push %eax │ │ │ │ - 32d: e2 fc loop 32b │ │ │ │ - 32f: fc cld │ │ │ │ - 330: ff 35 18 01 00 00 pushl 0x118 │ │ │ │ - 336: 50 push %eax │ │ │ │ - 337: b8 01 00 00 00 mov $0x1,%eax │ │ │ │ - 33c: cd 30 int $0x30 │ │ │ │ + 34b: ad lods %ds:(%esi),%eax │ │ │ │ + 34c: 50 push %eax │ │ │ │ + 34d: e2 fc loop 34b │ │ │ │ + 34f: fc cld │ │ │ │ + 350: ff 35 18 01 00 00 pushl 0x118 │ │ │ │ + 356: 50 push %eax │ │ │ │ + 357: b8 01 00 00 00 mov $0x1,%eax │ │ │ │ + 35c: cd 30 int $0x30 │ │ │ │ │ │ │ │ -0000033e : │ │ │ │ +0000035e : │ │ │ │ btx_client_end(): │ │ │ │ - 33e: 66 90 xchg %ax,%ax │ │ │ │ + 35e: 90 nop │ │ │ │ + 35f: 90 nop │ │ │ │ │ │ │ │ -00000340 : │ │ │ │ +00000360 : │ │ │ │ ... │ │ │ │ gdt(): │ │ │ │ - 348: ff (bad) │ │ │ │ - 349: ff 00 incl (%eax) │ │ │ │ - 34b: 00 00 add %al,(%eax) │ │ │ │ - 34d: 92 xchg %eax,%edx │ │ │ │ - 34e: cf iret │ │ │ │ - 34f: 00 ff add %bh,%bh │ │ │ │ - 351: ff 00 incl (%eax) │ │ │ │ - 353: 00 00 add %al,(%eax) │ │ │ │ - 355: 92 xchg %eax,%edx │ │ │ │ - 356: 00 00 add %al,(%eax) │ │ │ │ - 358: ff (bad) │ │ │ │ - 359: ff 00 incl (%eax) │ │ │ │ - 35b: 00 00 add %al,(%eax) │ │ │ │ - 35d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ - 364: 00 .byte 0x0 │ │ │ │ - 365: 9a .byte 0x9a │ │ │ │ - 366: 8f 00 popl (%eax) │ │ │ │ - │ │ │ │ -00000368 : │ │ │ │ -gdtdesc(): │ │ │ │ - 368: 27 daa │ │ │ │ - 369: 00 40 03 add %al,0x3(%eax) │ │ │ │ + 368: ff (bad) │ │ │ │ + 369: ff 00 incl (%eax) │ │ │ │ + 36b: 00 00 add %al,(%eax) │ │ │ │ + 36d: 92 xchg %eax,%edx │ │ │ │ + 36e: cf iret │ │ │ │ + 36f: 00 ff add %bh,%bh │ │ │ │ + 371: ff 00 incl (%eax) │ │ │ │ + 373: 00 00 add %al,(%eax) │ │ │ │ + 375: 92 xchg %eax,%edx │ │ │ │ + 376: 00 00 add %al,(%eax) │ │ │ │ + 378: ff (bad) │ │ │ │ + 379: ff 00 incl (%eax) │ │ │ │ + 37b: 00 00 add %al,(%eax) │ │ │ │ + 37d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ + 384: 00 .byte 0x0 │ │ │ │ + 385: 9a .byte 0x9a │ │ │ │ + 386: 8f 00 popl (%eax) │ │ │ │ + │ │ │ │ +00000388 : │ │ │ │ +gdt.1(): │ │ │ │ + 388: 27 daa │ │ │ │ + 389: 00 60 03 add %ah,0x3(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -0000036e : │ │ │ │ +0000038e : │ │ │ │ edd_packet(): │ │ │ │ - 36e: 10 00 adc %al,(%eax) │ │ │ │ + 38e: 10 00 adc %al,(%eax) │ │ │ │ │ │ │ │ -00000370 : │ │ │ │ +00000390 : │ │ │ │ ... │ │ │ │ │ │ │ │ -00000372 : │ │ │ │ +00000392 : │ │ │ │ edd_addr(): │ │ │ │ - 372: 00 00 add %al,(%eax) │ │ │ │ + 392: 00 00 add %al,(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -00000376 : │ │ │ │ +00000396 : │ │ │ │ ... │ │ │ │ │ │ │ │ -0000037e : │ │ │ │ +0000039e : │ │ │ │ ... │ │ │ │ │ │ │ │ -0000037f : │ │ │ │ +0000039f : │ │ │ │ rec_lba(): │ │ │ │ - 37f: 00 00 add %al,(%eax) │ │ │ │ + 39f: 00 00 add %al,(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -00000383 : │ │ │ │ +000003a3 : │ │ │ │ rec_size(): │ │ │ │ - 383: 00 00 add %al,(%eax) │ │ │ │ + 3a3: 00 00 add %al,(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -00000387 : │ │ │ │ +000003a7 : │ │ │ │ ... │ │ │ │ │ │ │ │ -00000388 : │ │ │ │ +000003a8 : │ │ │ │ ... │ │ │ │ │ │ │ │ -00000389 : │ │ │ │ +000003a9 : │ │ │ │ msg_welcome(): │ │ │ │ - 389: 43 inc %ebx │ │ │ │ - 38a: 44 inc %esp │ │ │ │ - 38b: 20 4c 6f 61 and %cl,0x61(%edi,%ebp,2) │ │ │ │ - 38f: 64 65 72 20 fs gs jb 3b3 │ │ │ │ - 393: 31 2e xor %ebp,(%esi) │ │ │ │ - 395: 32 .byte 0x32 │ │ │ │ - 396: 0d .byte 0xd │ │ │ │ - 397: 0a 0a or (%edx),%cl │ │ │ │ + 3a9: 43 inc %ebx │ │ │ │ + 3aa: 44 inc %esp │ │ │ │ + 3ab: 20 4c 6f 61 and %cl,0x61(%edi,%ebp,2) │ │ │ │ + 3af: 64 65 72 20 fs gs jb 3d3 │ │ │ │ + 3b3: 31 2e xor %ebp,(%esi) │ │ │ │ + 3b5: 32 .byte 0x32 │ │ │ │ + 3b6: 0d .byte 0xd │ │ │ │ + 3b7: 0a 0a or (%edx),%cl │ │ │ │ ... │ │ │ │ │ │ │ │ -0000039a : │ │ │ │ +000003ba : │ │ │ │ msg_bootinfo(): │ │ │ │ - 39a: 42 inc %edx │ │ │ │ - 39b: 75 69 jne 406 │ │ │ │ - 39d: 6c insb (%dx),%es:(%edi) │ │ │ │ - 39e: 64 69 6e 67 20 74 68 imul $0x65687420,%fs:0x67(%esi),%ebp │ │ │ │ - 3a5: 65 │ │ │ │ - 3a6: 20 62 6f and %ah,0x6f(%edx) │ │ │ │ - 3a9: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 3aa: 74 20 je 3cc │ │ │ │ - 3ac: 6c insb (%dx),%es:(%edi) │ │ │ │ - 3ad: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 3ae: 61 popa │ │ │ │ - 3af: 64 65 72 20 fs gs jb 3d3 │ │ │ │ - 3b3: 61 popa │ │ │ │ - 3b4: 72 67 jb 41d │ │ │ │ - 3b6: 75 6d jne 425 │ │ │ │ - 3b8: 65 6e outsb %gs:(%esi),(%dx) │ │ │ │ - 3ba: 74 73 je 42f │ │ │ │ - 3bc: 0d .byte 0xd │ │ │ │ - 3bd: 0a 00 or (%eax),%al │ │ │ │ + 3ba: 42 inc %edx │ │ │ │ + 3bb: 75 69 jne 426 │ │ │ │ + 3bd: 6c insb (%dx),%es:(%edi) │ │ │ │ + 3be: 64 69 6e 67 20 74 68 imul $0x65687420,%fs:0x67(%esi),%ebp │ │ │ │ + 3c5: 65 │ │ │ │ + 3c6: 20 62 6f and %ah,0x6f(%edx) │ │ │ │ + 3c9: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 3ca: 74 20 je 3ec │ │ │ │ + 3cc: 6c insb (%dx),%es:(%edi) │ │ │ │ + 3cd: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 3ce: 61 popa │ │ │ │ + 3cf: 64 65 72 20 fs gs jb 3f3 │ │ │ │ + 3d3: 61 popa │ │ │ │ + 3d4: 72 67 jb 43d │ │ │ │ + 3d6: 75 6d jne 445 │ │ │ │ + 3d8: 65 6e outsb %gs:(%esi),(%dx) │ │ │ │ + 3da: 74 73 je 44f │ │ │ │ + 3dc: 0d .byte 0xd │ │ │ │ + 3dd: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000003bf : │ │ │ │ +000003df : │ │ │ │ msg_relocate(): │ │ │ │ - 3bf: 52 push %edx │ │ │ │ - 3c0: 65 6c gs insb (%dx),%es:(%edi) │ │ │ │ - 3c2: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 3c3: 63 61 74 arpl %sp,0x74(%ecx) │ │ │ │ - 3c6: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ - 3cd: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ - 3d1: 64 65 72 20 fs gs jb 3f5 │ │ │ │ - 3d5: 61 popa │ │ │ │ - 3d6: 6e outsb %ds:(%esi),(%dx) │ │ │ │ - 3d7: 64 20 74 68 65 and %dh,%fs:0x65(%eax,%ebp,2) │ │ │ │ - 3dc: 20 42 54 and %al,0x54(%edx) │ │ │ │ - 3df: 58 pop %eax │ │ │ │ - 3e0: 0d .byte 0xd │ │ │ │ - 3e1: 0a 00 or (%eax),%al │ │ │ │ + 3df: 52 push %edx │ │ │ │ + 3e0: 65 6c gs insb (%dx),%es:(%edi) │ │ │ │ + 3e2: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 3e3: 63 61 74 arpl %sp,0x74(%ecx) │ │ │ │ + 3e6: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ + 3ed: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ + 3f1: 64 65 72 20 fs gs jb 415 │ │ │ │ + 3f5: 61 popa │ │ │ │ + 3f6: 6e outsb %ds:(%esi),(%dx) │ │ │ │ + 3f7: 64 20 74 68 65 and %dh,%fs:0x65(%eax,%ebp,2) │ │ │ │ + 3fc: 20 42 54 and %al,0x54(%edx) │ │ │ │ + 3ff: 58 pop %eax │ │ │ │ + 400: 0d .byte 0xd │ │ │ │ + 401: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000003e3 : │ │ │ │ +00000403 : │ │ │ │ msg_jump(): │ │ │ │ - 3e3: 53 push %ebx │ │ │ │ - 3e4: 74 61 je 447 │ │ │ │ - 3e6: 72 74 jb 45c │ │ │ │ - 3e8: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ - 3ef: 20 42 54 and %al,0x54(%edx) │ │ │ │ - 3f2: 58 pop %eax │ │ │ │ - 3f3: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ - 3f7: 64 65 72 0d fs gs jb 408 │ │ │ │ - 3fb: 0a 00 or (%eax),%al │ │ │ │ + 403: 53 push %ebx │ │ │ │ + 404: 74 61 je 467 │ │ │ │ + 406: 72 74 jb 47c │ │ │ │ + 408: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ + 40f: 20 42 54 and %al,0x54(%edx) │ │ │ │ + 412: 58 pop %eax │ │ │ │ + 413: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ + 417: 64 65 72 0d fs gs jb 428 │ │ │ │ + 41b: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000003fd : │ │ │ │ +0000041d : │ │ │ │ msg_badread(): │ │ │ │ - 3fd: 52 push %edx │ │ │ │ - 3fe: 65 61 gs popa │ │ │ │ - 400: 64 20 45 72 and %al,%fs:0x72(%ebp) │ │ │ │ - 404: 72 6f jb 475 │ │ │ │ - 406: 72 3a jb 442 │ │ │ │ - 408: 20 30 and %dh,(%eax) │ │ │ │ - 40a: 78 .byte 0x78 │ │ │ │ + 41d: 52 push %edx │ │ │ │ + 41e: 65 61 gs popa │ │ │ │ + 420: 64 20 45 72 and %al,%fs:0x72(%ebp) │ │ │ │ + 424: 72 6f jb 495 │ │ │ │ + 426: 72 3a jb 462 │ │ │ │ + 428: 20 30 and %dh,(%eax) │ │ │ │ + 42a: 78 .byte 0x78 │ │ │ │ │ │ │ │ -0000040b : │ │ │ │ +0000042b : │ │ │ │ hex_error(): │ │ │ │ - 40b: 30 30 xor %dh,(%eax) │ │ │ │ - 40d: 0d .byte 0xd │ │ │ │ - 40e: 0a 00 or (%eax),%al │ │ │ │ + 42b: 30 30 xor %dh,(%eax) │ │ │ │ + 42d: 0d .byte 0xd │ │ │ │ + 42e: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -00000410 : │ │ │ │ +00000430 : │ │ │ │ msg_novd(): │ │ │ │ - 410: 43 inc %ebx │ │ │ │ - 411: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 412: 75 6c jne 480 │ │ │ │ - 414: 64 20 6e 6f and %ch,%fs:0x6f(%esi) │ │ │ │ - 418: 74 20 je 43a │ │ │ │ - 41a: 66 69 6e 64 20 50 imul $0x5020,0x64(%esi),%bp │ │ │ │ - 420: 72 69 jb 48b │ │ │ │ - 422: 6d insl (%dx),%es:(%edi) │ │ │ │ - 423: 61 popa │ │ │ │ - 424: 72 79 jb 49f │ │ │ │ - 426: 20 56 6f and %dl,0x6f(%esi) │ │ │ │ - 429: 6c insb (%dx),%es:(%edi) │ │ │ │ - 42a: 75 6d jne 499 │ │ │ │ - 42c: 65 20 44 65 73 and %al,%gs:0x73(%ebp,%eiz,2) │ │ │ │ - 431: 63 72 69 arpl %si,0x69(%edx) │ │ │ │ - 434: 70 74 jo 4aa │ │ │ │ - 436: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 437: 72 0d jb 446 │ │ │ │ - 439: 0a 00 or (%eax),%al │ │ │ │ + 430: 43 inc %ebx │ │ │ │ + 431: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 432: 75 6c jne 4a0 │ │ │ │ + 434: 64 20 6e 6f and %ch,%fs:0x6f(%esi) │ │ │ │ + 438: 74 20 je 45a │ │ │ │ + 43a: 66 69 6e 64 20 50 imul $0x5020,0x64(%esi),%bp │ │ │ │ + 440: 72 69 jb 4ab │ │ │ │ + 442: 6d insl (%dx),%es:(%edi) │ │ │ │ + 443: 61 popa │ │ │ │ + 444: 72 79 jb 4bf │ │ │ │ + 446: 20 56 6f and %dl,0x6f(%esi) │ │ │ │ + 449: 6c insb (%dx),%es:(%edi) │ │ │ │ + 44a: 75 6d jne 4b9 │ │ │ │ + 44c: 65 20 44 65 73 and %al,%gs:0x73(%ebp,%eiz,2) │ │ │ │ + 451: 63 72 69 arpl %si,0x69(%edx) │ │ │ │ + 454: 70 74 jo 4ca │ │ │ │ + 456: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 457: 72 0d jb 466 │ │ │ │ + 459: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -0000043b : │ │ │ │ +0000045b : │ │ │ │ msg_lookup(): │ │ │ │ - 43b: 4c dec %esp │ │ │ │ - 43c: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 43d: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 43e: 6b 69 6e 67 imul $0x67,0x6e(%ecx),%ebp │ │ │ │ - 442: 20 75 70 and %dh,0x70(%ebp) │ │ │ │ - 445: 20 00 and %al,(%eax) │ │ │ │ + 45b: 4c dec %esp │ │ │ │ + 45c: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 45d: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 45e: 6b 69 6e 67 imul $0x67,0x6e(%ecx),%ebp │ │ │ │ + 462: 20 75 70 and %dh,0x70(%ebp) │ │ │ │ + 465: 20 00 and %al,(%eax) │ │ │ │ │ │ │ │ -00000447 : │ │ │ │ +00000467 : │ │ │ │ msg_lookup2(): │ │ │ │ - 447: 2e 2e 2e 20 00 cs cs and %al,%cs:(%eax) │ │ │ │ + 467: 2e 2e 2e 20 00 cs cs and %al,%cs:(%eax) │ │ │ │ │ │ │ │ -0000044c : │ │ │ │ +0000046c : │ │ │ │ msg_lookupok(): │ │ │ │ - 44c: 46 inc %esi │ │ │ │ - 44d: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 44e: 75 6e jne 4be │ │ │ │ - 450: 64 fs │ │ │ │ - 451: 0d .byte 0xd │ │ │ │ - 452: 0a 00 or (%eax),%al │ │ │ │ + 46c: 46 inc %esi │ │ │ │ + 46d: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 46e: 75 6e jne 4de │ │ │ │ + 470: 64 fs │ │ │ │ + 471: 0d .byte 0xd │ │ │ │ + 472: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -00000454 : │ │ │ │ +00000474 : │ │ │ │ msg_lookupfail(): │ │ │ │ - 454: 46 inc %esi │ │ │ │ - 455: 69 6c 65 20 6e 6f 74 imul $0x20746f6e,0x20(%ebp,%eiz,2),%ebp │ │ │ │ - 45c: 20 │ │ │ │ - 45d: 66 6f outsw %ds:(%esi),(%dx) │ │ │ │ - 45f: 75 6e jne 4cf │ │ │ │ - 461: 64 fs │ │ │ │ - 462: 0d .byte 0xd │ │ │ │ - 463: 0a 00 or (%eax),%al │ │ │ │ + 474: 46 inc %esi │ │ │ │ + 475: 69 6c 65 20 6e 6f 74 imul $0x20746f6e,0x20(%ebp,%eiz,2),%ebp │ │ │ │ + 47c: 20 │ │ │ │ + 47d: 66 6f outsw %ds:(%esi),(%dx) │ │ │ │ + 47f: 75 6e jne 4ef │ │ │ │ + 481: 64 fs │ │ │ │ + 482: 0d .byte 0xd │ │ │ │ + 483: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -00000465 : │ │ │ │ +00000485 : │ │ │ │ msg_load2big(): │ │ │ │ - 465: 46 inc %esi │ │ │ │ - 466: 69 6c 65 20 74 6f 6f imul $0x206f6f74,0x20(%ebp,%eiz,2),%ebp │ │ │ │ - 46d: 20 │ │ │ │ - 46e: 62 69 67 bound %ebp,0x67(%ecx) │ │ │ │ - 471: 0d .byte 0xd │ │ │ │ - 472: 0a 00 or (%eax),%al │ │ │ │ + 485: 46 inc %esi │ │ │ │ + 486: 69 6c 65 20 74 6f 6f imul $0x206f6f74,0x20(%ebp,%eiz,2),%ebp │ │ │ │ + 48d: 20 │ │ │ │ + 48e: 62 69 67 bound %ebp,0x67(%ecx) │ │ │ │ + 491: 0d .byte 0xd │ │ │ │ + 492: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -00000474 : │ │ │ │ +00000494 : │ │ │ │ msg_failed(): │ │ │ │ - 474: 42 inc %edx │ │ │ │ - 475: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 476: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 477: 74 20 je 499 │ │ │ │ - 479: 66 61 popaw │ │ │ │ - 47b: 69 .byte 0x69 │ │ │ │ - 47c: 6c insb (%dx),%es:(%edi) │ │ │ │ - 47d: 65 gs │ │ │ │ - 47e: 64 fs │ │ │ │ - 47f: 0d .byte 0xd │ │ │ │ - 480: 0a 00 or (%eax),%al │ │ │ │ + 494: 42 inc %edx │ │ │ │ + 495: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 496: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 497: 74 20 je 4b9 │ │ │ │ + 499: 66 61 popaw │ │ │ │ + 49b: 69 .byte 0x69 │ │ │ │ + 49c: 6c insb (%dx),%es:(%edi) │ │ │ │ + 49d: 65 gs │ │ │ │ + 49e: 64 fs │ │ │ │ + 49f: 0d .byte 0xd │ │ │ │ + 4a0: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -00000482 : │ │ │ │ +000004a2 : │ │ │ │ twiddle_chars(): │ │ │ │ - 482: 7c 2f jl 4b3 │ │ │ │ - 484: 2d .byte 0x2d │ │ │ │ - 485: 5c pop %esp │ │ │ │ + 4a2: 7c 2f jl 4d3 │ │ │ │ + 4a4: 2d .byte 0x2d │ │ │ │ + 4a5: 5c pop %esp │ │ │ │ │ │ │ │ -00000486 : │ │ │ │ +000004a6 : │ │ │ │ loader_paths(): │ │ │ │ - 486: 2f das │ │ │ │ - 487: 42 inc %edx │ │ │ │ - 488: 4f dec %edi │ │ │ │ - 489: 4f dec %edi │ │ │ │ - 48a: 54 push %esp │ │ │ │ - 48b: 2f das │ │ │ │ - 48c: 4c dec %esp │ │ │ │ - 48d: 4f dec %edi │ │ │ │ - 48e: 41 inc %ecx │ │ │ │ - 48f: 44 inc %esp │ │ │ │ - 490: 45 inc %ebp │ │ │ │ - 491: 52 push %edx │ │ │ │ - 492: 00 2f add %ch,(%edi) │ │ │ │ - 494: 62 6f 6f bound %ebp,0x6f(%edi) │ │ │ │ - 497: 74 2f je 4c8 │ │ │ │ - 499: 6c insb (%dx),%es:(%edi) │ │ │ │ - 49a: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 49b: 61 popa │ │ │ │ - 49c: 64 65 72 00 fs gs jb 4a0 │ │ │ │ + 4a6: 2f das │ │ │ │ + 4a7: 42 inc %edx │ │ │ │ + 4a8: 4f dec %edi │ │ │ │ + 4a9: 4f dec %edi │ │ │ │ + 4aa: 54 push %esp │ │ │ │ + 4ab: 2f das │ │ │ │ + 4ac: 4c dec %esp │ │ │ │ + 4ad: 4f dec %edi │ │ │ │ + 4ae: 41 inc %ecx │ │ │ │ + 4af: 44 inc %esp │ │ │ │ + 4b0: 45 inc %ebp │ │ │ │ + 4b1: 52 push %edx │ │ │ │ + 4b2: 00 2f add %ch,(%edi) │ │ │ │ + 4b4: 62 6f 6f bound %ebp,0x6f(%edi) │ │ │ │ + 4b7: 74 2f je 4e8 │ │ │ │ + 4b9: 6c insb (%dx),%es:(%edi) │ │ │ │ + 4ba: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 4bb: 61 popa │ │ │ │ + 4bc: 64 65 72 00 fs gs jb 4c0 │ │ │ │ ... │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,79 +1,79 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f504147 455f5349 5a45004d .MEM_PAGE_SIZE.M │ │ │ │ - 0x00000010 454d5f41 5247004d 454d5f41 52475f42 EM_ARG.MEM_ARG_B │ │ │ │ - 0x00000020 5458004d 454d5f41 52475f53 495a4500 TX.MEM_ARG_SIZE. │ │ │ │ - 0x00000030 4d454d5f 4254585f 41444452 45535300 MEM_BTX_ADDRESS. │ │ │ │ - 0x00000040 4d454d5f 4254585f 454e5452 59004d45 MEM_BTX_ENTRY.ME │ │ │ │ - 0x00000050 4d5f4254 585f4f46 46534554 004d454d M_BTX_OFFSET.MEM │ │ │ │ - 0x00000060 5f425458 5f434c49 454e5400 414f5554 _BTX_CLIENT.AOUT │ │ │ │ - 0x00000070 5f544558 5400414f 55545f44 41544100 _TEXT.AOUT_DATA. │ │ │ │ - 0x00000080 414f5554 5f425353 00414f55 545f5359 AOUT_BSS.AOUT_SY │ │ │ │ - 0x00000090 4d424f4c 5300414f 55545f45 4e545259 MBOLS.AOUT_ENTRY │ │ │ │ - 0x000000a0 00414f55 545f4845 41444552 0053454c .AOUT_HEADER.SEL │ │ │ │ - 0x000000b0 5f534441 54410053 454c5f52 44415441 _SDATA.SEL_RDATA │ │ │ │ - 0x000000c0 0053454c 5f53434f 44450053 454c5f53 .SEL_SCODE.SEL_S │ │ │ │ - 0x000000d0 434f4445 31360049 4e545f53 59530045 CODE16.INT_SYS.E │ │ │ │ - 0x000000e0 52524f52 5f54494d 454f5554 004e554d RROR_TIMEOUT.NUM │ │ │ │ - 0x000000f0 5f524554 52494553 00534543 544f525f _RETRIES.SECTOR_ │ │ │ │ - 0x00000100 53495a45 00534543 544f525f 53484946 SIZE.SECTOR_SHIF │ │ │ │ - 0x00000110 54004255 46464552 5f4c454e 004d4158 T.BUFFER_LEN.MAX │ │ │ │ - 0x00000120 5f524541 44004d41 585f5245 41445f53 _READ.MAX_READ_S │ │ │ │ - 0x00000130 4543004d 454d5f52 4541445f 42554646 EC.MEM_READ_BUFF │ │ │ │ - 0x00000140 4552004d 454d5f56 4f4c4445 5343004d ER.MEM_VOLDESC.M │ │ │ │ - 0x00000150 454d5f44 49520056 4f4c4445 53435f4c EM_DIR.VOLDESC_L │ │ │ │ - 0x00000160 42410056 445f5052 494d4152 59005644 BA.VD_PRIMARY.VD │ │ │ │ - 0x00000170 5f454e44 0056445f 524f4f54 44495200 _END.VD_ROOTDIR. │ │ │ │ - 0x00000180 4449525f 4c454e00 4449525f 45415f4c DIR_LEN.DIR_EA_L │ │ │ │ - 0x00000190 454e0044 49525f45 5854454e 54004449 EN.DIR_EXTENT.DI │ │ │ │ - 0x000001a0 525f5349 5a450044 49525f4e 414d454c R_SIZE.DIR_NAMEL │ │ │ │ - 0x000001b0 454e0044 49525f4e 414d4500 64726976 EN.DIR_NAME.driv │ │ │ │ - 0x000001c0 65006d73 675f7765 6c636f6d 65007075 e.msg_welcome.pu │ │ │ │ - 0x000001d0 74737472 006d7367 5f626f6f 74696e66 tstr.msg_bootinf │ │ │ │ - 0x000001e0 6f006c6f 61645f76 64007265 61640068 o.load_vd.read.h │ │ │ │ - 0x000001f0 6176655f 7664006d 73675f6e 6f766400 ave_vd.msg_novd. │ │ │ │ - 0x00000200 6572726f 72006c6f 61646572 5f706174 error.loader_pat │ │ │ │ - 0x00000210 6873006c 6f6f6b75 705f7061 7468006c hs.lookup_path.l │ │ │ │ - 0x00000220 6f6f6b75 70006c6f 6f6b7570 5f666f75 ookup.lookup_fou │ │ │ │ - 0x00000230 6e64006d 73675f66 61696c65 64006c6f nd.msg_failed.lo │ │ │ │ - 0x00000240 61645f73 697a656f 6b006d73 675f6c6f ad_sizeok.msg_lo │ │ │ │ - 0x00000250 61643262 6967006c 6f61645f 6c6f6f70 ad2big.load_loop │ │ │ │ - 0x00000260 006c6f61 645f6e6f 7472756e 63006c6f .load_notrunc.lo │ │ │ │ - 0x00000270 61645f64 6f6e6500 73657461 3230006d ad_done.seta20.m │ │ │ │ - 0x00000280 73675f72 656c6f63 61746500 67647464 sg_relocate.gdtd │ │ │ │ - 0x00000290 65736300 706d5f73 74617274 00706d5f esc.pm_start.pm_ │ │ │ │ - 0x000002a0 31360070 6d5f656e 64006274 785f636c 16.pm_end.btx_cl │ │ │ │ - 0x000002b0 69656e74 00627478 5f636c69 656e745f ient.btx_client_ │ │ │ │ - 0x000002c0 656e6400 6d73675f 6a756d70 006d7367 end.msg_jump.msg │ │ │ │ - 0x000002d0 5f6c6f6f 6b757000 6d73675f 6c6f6f6b _lookup.msg_look │ │ │ │ - 0x000002e0 75703200 6c6f6f6b 75705f64 6972006c up2.lookup_dir.l │ │ │ │ - 0x000002f0 6f6f6b75 705f646f 6e650066 696e645f ookup_done.find_ │ │ │ │ - 0x00000300 66696c65 006d7367 5f6c6f6f 6b757066 file.msg_lookupf │ │ │ │ - 0x00000310 61696c00 6d73675f 6c6f6f6b 75706f6b ail.msg_lookupok │ │ │ │ - 0x00000320 00726563 5f6c6261 00726563 5f73697a .rec_lba.rec_siz │ │ │ │ - 0x00000330 65006666 2e6e616d 656c656e 0066662e e.ff.namelen.ff. │ │ │ │ - 0x00000340 6e616d65 646f6e65 006e616d 655f6c65 namedone.name_le │ │ │ │ - 0x00000350 6e006666 2e6c6f61 64006666 2e736361 n.ff.load.ff.sca │ │ │ │ - 0x00000360 6e006666 2e736361 6e2e3100 66662e6e n.ff.scan.1.ff.n │ │ │ │ - 0x00000370 65787462 6c6f636b 0066662e 63686563 extblock.ff.chec │ │ │ │ - 0x00000380 6b766572 0066662e 63686563 6b766572 kver.ff.checkver │ │ │ │ - 0x00000390 2e310066 662e6368 65636b6c 656e0066 .1.ff.checklen.f │ │ │ │ - 0x000003a0 662e6368 65636b64 6f740066 662e6368 f.checkdot.ff.ch │ │ │ │ - 0x000003b0 65636b76 65722e32 0066662e 63686563 eckver.2.ff.chec │ │ │ │ - 0x000003c0 6b6e616d 65006666 2e6e6578 74726563 kname.ff.nextrec │ │ │ │ - 0x000003d0 0066662e 6d617463 68006564 645f6c62 .ff.match.edd_lb │ │ │ │ - 0x000003e0 61006564 645f6164 64720072 6561642e a.edd_addr.read. │ │ │ │ - 0x000003f0 72657472 79007477 6964646c 65006564 retry.twiddle.ed │ │ │ │ - 0x00000400 645f7061 636b6574 00656464 5f6c656e d_packet.edd_len │ │ │ │ - 0x00000410 00726561 642e6661 696c0072 6561642e .read.fail.read. │ │ │ │ - 0x00000420 6572726f 72006865 785f6572 726f7200 error.hex_error. │ │ │ │ - 0x00000430 68657838 006d7367 5f626164 72656164 hex8.msg_badread │ │ │ │ - 0x00000440 0068616c 74007075 74737472 2e6c6f61 .halt.putstr.loa │ │ │ │ - 0x00000450 64007075 74737472 2e707574 63007075 d.putstr.putc.pu │ │ │ │ - 0x00000460 74630074 77696464 6c655f69 6e646578 tc.twiddle_index │ │ │ │ - 0x00000470 00747769 64646c65 5f636861 72730073 .twiddle_chars.s │ │ │ │ - 0x00000480 65746132 302e3100 73657461 32302e33 eta20.1.seta20.3 │ │ │ │ - 0x00000490 00736574 6132302e 32006865 78382e31 .seta20.2.hex8.1 │ │ │ │ - 0x000004a0 00707573 685f6172 67006764 74006764 .push_arg.gdt.gd │ │ │ │ - 0x000004b0 742e3100 73746172 7400 t.1.start. │ │ │ │ + 0x00000000 00726561 642e7265 74727900 74776964 .read.retry.twid │ │ │ │ + 0x00000010 646c655f 696e6465 78002e72 656c2e74 dle_index..rel.t │ │ │ │ + 0x00000020 65787400 706d5f73 74617274 0066662e ext.pm_start.ff. │ │ │ │ + 0x00000030 63686563 6b646f74 00627478 5f636c69 checkdot.btx_cli │ │ │ │ + 0x00000040 656e7400 68616c74 00656464 5f706163 ent.halt.edd_pac │ │ │ │ + 0x00000050 6b657400 67647400 74776964 646c655f ket.gdt.twiddle_ │ │ │ │ + 0x00000060 63686172 73006c6f 61646572 5f706174 chars.loader_pat │ │ │ │ + 0x00000070 68730070 75747374 72006865 785f6572 hs.putstr.hex_er │ │ │ │ + 0x00000080 726f7200 72656164 2e657272 6f72006c ror.read.error.l │ │ │ │ + 0x00000090 6f6f6b75 705f6469 72006666 2e636865 ookup_dir.ff.che │ │ │ │ + 0x000000a0 636b7665 72006564 645f6164 6472006d ckver.edd_addr.m │ │ │ │ + 0x000000b0 73675f6c 6f6f6b75 70006c6f 61645f6c sg_lookup.load_l │ │ │ │ + 0x000000c0 6f6f7000 6d73675f 6a756d70 006d7367 oop.msg_jump.msg │ │ │ │ + 0x000000d0 5f626f6f 74696e66 6f006666 2e636865 _bootinfo.ff.che │ │ │ │ + 0x000000e0 636b6c65 6e006666 2e6e616d 656c656e cklen.ff.namelen │ │ │ │ + 0x000000f0 006e616d 655f6c65 6e006564 645f6c65 .name_len.edd_le │ │ │ │ + 0x00000100 6e006666 2e736361 6e006d73 675f6c6f n.ff.scan.msg_lo │ │ │ │ + 0x00000110 6f6b7570 6661696c 00726561 642e6661 okupfail.read.fa │ │ │ │ + 0x00000120 696c006d 73675f6c 6f6f6b75 706f6b00 il.msg_lookupok. │ │ │ │ + 0x00000130 6c6f6164 5f73697a 656f6b00 66662e6e load_sizeok.ff.n │ │ │ │ + 0x00000140 65787462 6c6f636b 006c6f6f 6b75705f extblock.lookup_ │ │ │ │ + 0x00000150 70617468 0066662e 6d617463 68007075 path.ff.match.pu │ │ │ │ + 0x00000160 73685f61 7267006d 73675f6c 6f616432 sh_arg.msg_load2 │ │ │ │ + 0x00000170 62696700 7265635f 73697a65 00647269 big.rec_size.dri │ │ │ │ + 0x00000180 7665006d 73675f72 656c6f63 61746500 ve.msg_relocate. │ │ │ │ + 0x00000190 66662e6e 616d6564 6f6e6500 6c6f6f6b ff.namedone.look │ │ │ │ + 0x000001a0 75705f64 6f6e6500 6c6f6164 5f646f6e up_done.load_don │ │ │ │ + 0x000001b0 65006d73 675f7765 6c636f6d 65006666 e.msg_welcome.ff │ │ │ │ + 0x000001c0 2e636865 636b6e61 6d650066 696e645f .checkname.find_ │ │ │ │ + 0x000001d0 66696c65 00747769 64646c65 006d7367 file.twiddle.msg │ │ │ │ + 0x000001e0 5f6e6f76 64006861 76655f76 64006c6f _novd.have_vd.lo │ │ │ │ + 0x000001f0 61645f76 64006c6f 6f6b7570 5f666f75 ad_vd.lookup_fou │ │ │ │ + 0x00000200 6e640062 74785f63 6c69656e 745f656e nd.btx_client_en │ │ │ │ + 0x00000210 6400706d 5f656e64 006d7367 5f666169 d.pm_end.msg_fai │ │ │ │ + 0x00000220 6c656400 70757473 74722e6c 6f616400 led.putstr.load. │ │ │ │ + 0x00000230 66662e6c 6f616400 6d73675f 62616472 ff.load.msg_badr │ │ │ │ + 0x00000240 65616400 70757473 74722e70 75746300 ead.putstr.putc. │ │ │ │ + 0x00000250 67647464 65736300 6c6f6164 5f6e6f74 gdtdesc.load_not │ │ │ │ + 0x00000260 72756e63 0066662e 6e657874 72656300 runc.ff.nextrec. │ │ │ │ + 0x00000270 2e737472 74616200 2e73796d 74616200 .strtab..symtab. │ │ │ │ + 0x00000280 6564645f 6c626100 7265635f 6c626100 edd_lba.rec_lba. │ │ │ │ + 0x00000290 4d454d5f 4254585f 454e5452 5900414f MEM_BTX_ENTRY.AO │ │ │ │ + 0x000002a0 55545f45 4e545259 0056445f 5052494d UT_ENTRY.VD_PRIM │ │ │ │ + 0x000002b0 41525900 4d454d5f 4152475f 42545800 ARY.MEM_ARG_BTX. │ │ │ │ + 0x000002c0 414f5554 5f544558 54004552 524f525f AOUT_TEXT.ERROR_ │ │ │ │ + 0x000002d0 54494d45 4f555400 4449525f 45585445 TIMEOUT.DIR_EXTE │ │ │ │ + 0x000002e0 4e54004d 454d5f42 54585f43 4c49454e NT.MEM_BTX_CLIEN │ │ │ │ + 0x000002f0 54005345 43544f52 5f534849 4654004d T.SECTOR_SHIFT.M │ │ │ │ + 0x00000300 454d5f42 54585f4f 46465345 5400494e EM_BTX_OFFSET.IN │ │ │ │ + 0x00000310 545f5359 53004d45 4d5f4254 585f4144 T_SYS.MEM_BTX_AD │ │ │ │ + 0x00000320 44524553 5300414f 55545f42 53530041 DRESS.AOUT_BSS.A │ │ │ │ + 0x00000330 4f55545f 53594d42 4f4c5300 4e554d5f OUT_SYMBOLS.NUM_ │ │ │ │ + 0x00000340 52455452 49455300 4d454d5f 44495200 RETRIES.MEM_DIR. │ │ │ │ + 0x00000350 56445f52 4f4f5444 4952004d 454d5f52 VD_ROOTDIR.MEM_R │ │ │ │ + 0x00000360 4541445f 42554646 45520041 4f55545f EAD_BUFFER.AOUT_ │ │ │ │ + 0x00000370 48454144 45520044 49525f4c 454e0042 HEADER.DIR_LEN.B │ │ │ │ + 0x00000380 55464645 525f4c45 4e004449 525f4541 UFFER_LEN.DIR_EA │ │ │ │ + 0x00000390 5f4c454e 00444952 5f4e414d 454c454e _LEN.DIR_NAMELEN │ │ │ │ + 0x000003a0 004d454d 5f415247 00534543 544f525f .MEM_ARG.SECTOR_ │ │ │ │ + 0x000003b0 53495a45 00444952 5f53495a 45004d45 SIZE.DIR_SIZE.ME │ │ │ │ + 0x000003c0 4d5f4152 475f5349 5a45004d 454d5f50 M_ARG_SIZE.MEM_P │ │ │ │ + 0x000003d0 4147455f 53495a45 00444952 5f4e414d AGE_SIZE.DIR_NAM │ │ │ │ + 0x000003e0 45005345 4c5f5343 4f444500 56445f45 E.SEL_SCODE.VD_E │ │ │ │ + 0x000003f0 4e44004d 41585f52 45414400 4d454d5f ND.MAX_READ.MEM_ │ │ │ │ + 0x00000400 564f4c44 45534300 4d41585f 52454144 VOLDESC.MAX_READ │ │ │ │ + 0x00000410 5f534543 00414f55 545f4441 54410053 _SEC.AOUT_DATA.S │ │ │ │ + 0x00000420 454c5f53 44415441 0053454c 5f524441 EL_SDATA.SEL_RDA │ │ │ │ + 0x00000430 54410056 4f4c4445 53435f4c 42410068 TA.VOLDESC_LBA.h │ │ │ │ + 0x00000440 65783800 706d5f31 36005345 4c5f5343 ex8.pm_16.SEL_SC │ │ │ │ + 0x00000450 4f444531 36007365 74613230 2e33006d ODE16.seta20.3.m │ │ │ │ + 0x00000460 73675f6c 6f6f6b75 70320066 662e6368 sg_lookup2.ff.ch │ │ │ │ + 0x00000470 65636b76 65722e32 00736574 6132302e eckver.2.seta20. │ │ │ │ + 0x00000480 32006764 742e3100 66662e63 6865636b 2.gdt.1.ff.check │ │ │ │ + 0x00000490 7665722e 31006666 2e736361 6e2e3100 ver.1.ff.scan.1. │ │ │ │ + 0x000004a0 68657838 2e310073 65746132 302e3100 hex8.1.seta20.1. │ │ │ │ + 0x000004b0 73657461 323000 seta20. │ │ ├── gptldr.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 232 (bytes into file) │ │ │ │ + Start of section headers: 1620 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 12 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,21 @@ │ │ │ │ -There are 8 section headers, starting at offset 0xe8: │ │ │ │ +There are 12 section headers, starting at offset 0x654: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000082 00 AX 0 0 4 │ │ │ │ - [ 2] .rel.text REL 00000000 000438 000020 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b8 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b8 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 0000b8 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000228 000170 10 7 22 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 000398 00009d 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 00055c 0000f8 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000082 00 AX 0 0 4 │ │ │ │ + [ 3] .rel.text REL 00000000 0004cc 000020 08 11 2 4 │ │ │ │ + [ 4] .debug_info PROGBITS 00000000 0000b6 000194 00 0 0 1 │ │ │ │ + [ 5] .rel.debug_info REL 00000000 0004ec 000058 08 11 4 4 │ │ │ │ + [ 6] .debug_abbrev PROGBITS 00000000 00024a 000028 00 0 0 1 │ │ │ │ + [ 7] .debug_aranges PROGBITS 00000000 000272 000020 00 0 0 1 │ │ │ │ + [ 8] .rel.debug_aranges REL 00000000 000544 000010 08 11 7 4 │ │ │ │ + [ 9] .debug_line PROGBITS 00000000 000292 0000b8 00 0 0 1 │ │ │ │ + [10] .rel.debug_line REL 00000000 000554 000008 08 11 9 4 │ │ │ │ + [11] .symtab SYMTAB 00000000 00034c 000180 10 1 23 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,26 +1,27 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 23 entries: │ │ │ │ +Symbol table '.symtab' contains 24 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ - 4: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ - 5: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 6: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ - 7: 00008cec 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ - 8: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ - 9: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 1: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ + 2: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ + 3: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ + 4: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ + 5: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ + 6: 00008cec 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ + 7: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 8: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ + 9: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ 10: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ - 11: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ - 12: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ - 13: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ - 14: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ - 15: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ - 16: 00000082 0 NOTYPE LOCAL DEFAULT 1 end │ │ │ │ - 17: 0000002c 0 NOTYPE LOCAL DEFAULT 1 copyloop │ │ │ │ - 18: 00000062 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 19: 00000063 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 20: 0000007a 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 21: 00000070 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 22: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ + 11: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ + 12: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ + 13: 0000002c 0 NOTYPE LOCAL DEFAULT 2 copyloop │ │ │ │ + 14: 00000082 0 NOTYPE LOCAL DEFAULT 2 end │ │ │ │ + 15: 00000062 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 16: 00000063 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 17: 00000070 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 18: 0000007a 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 19: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 20: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 21: 00000000 0 SECTION LOCAL DEFAULT 6 │ │ │ │ + 22: 00000000 0 SECTION LOCAL DEFAULT 9 │ │ │ │ + 23: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,7 +1,30 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x438 contains 4 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0x4cc contains 4 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000009 00001614 R_386_16 00000000 start │ │ │ │ -0000000c 00000114 R_386_16 00000000 .text │ │ │ │ -0000004f 00000114 R_386_16 00000000 .text │ │ │ │ +00000009 00001714 R_386_16 00000000 start │ │ │ │ +0000000c 00001314 R_386_16 00000000 .text │ │ │ │ +0000004f 00001314 R_386_16 00000000 .text │ │ │ │ 00000080 00000015 R_386_PC16 │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_info' at offset 0x4ec contains 11 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00001501 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00001601 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00001301 R_386_32 00000000 .text │ │ │ │ +00000014 00001301 R_386_32 00000000 .text │ │ │ │ +000000fd 00001301 R_386_32 00000000 .text │ │ │ │ +00000116 00001301 R_386_32 00000000 .text │ │ │ │ +0000012d 00001301 R_386_32 00000000 .text │ │ │ │ +00000146 00001301 R_386_32 00000000 .text │ │ │ │ +0000015f 00001301 R_386_32 00000000 .text │ │ │ │ +00000178 00001301 R_386_32 00000000 .text │ │ │ │ +0000018c 00001301 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0x544 contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00001401 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00001301 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0x554 contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +0000006e 00001301 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,104 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 180 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 95 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/gptboot │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x50): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 gptldr.S │ │ │ │ + 2 1 0 0 gptldr.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x00000069] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x0000006b] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x00000072] Advance Line by 63 to 64 │ │ │ │ + [0x00000074] Copy │ │ │ │ + [0x00000075] Special opcode 34: advance Address by 2 to 0x2 and Line by 1 to 65 │ │ │ │ + [0x00000076] Special opcode 34: advance Address by 2 to 0x4 and Line by 1 to 66 │ │ │ │ + [0x00000077] Special opcode 34: advance Address by 2 to 0x6 and Line by 1 to 67 │ │ │ │ + [0x00000078] Special opcode 34: advance Address by 2 to 0x8 and Line by 1 to 68 │ │ │ │ + [0x00000079] Advance Line by 10 to 78 │ │ │ │ + [0x0000007b] Special opcode 47: advance Address by 3 to 0xb and Line by 0 to 78 │ │ │ │ + [0x0000007c] Special opcode 48: advance Address by 3 to 0xe and Line by 1 to 79 │ │ │ │ + [0x0000007d] Special opcode 48: advance Address by 3 to 0x11 and Line by 1 to 80 │ │ │ │ + [0x0000007e] Special opcode 34: advance Address by 2 to 0x13 and Line by 1 to 81 │ │ │ │ + [0x0000007f] Special opcode 20: advance Address by 1 to 0x14 and Line by 1 to 82 │ │ │ │ + [0x00000080] Special opcode 34: advance Address by 2 to 0x16 and Line by 1 to 83 │ │ │ │ + [0x00000081] Special opcode 48: advance Address by 3 to 0x19 and Line by 1 to 84 │ │ │ │ + [0x00000082] Special opcode 48: advance Address by 3 to 0x1c and Line by 1 to 85 │ │ │ │ + [0x00000083] Special opcode 48: advance Address by 3 to 0x1f and Line by 1 to 86 │ │ │ │ + [0x00000084] Special opcode 34: advance Address by 2 to 0x21 and Line by 1 to 87 │ │ │ │ + [0x00000085] Special opcode 48: advance Address by 3 to 0x24 and Line by 1 to 88 │ │ │ │ + [0x00000086] Special opcode 48: advance Address by 3 to 0x27 and Line by 1 to 89 │ │ │ │ + [0x00000087] Special opcode 34: advance Address by 2 to 0x29 and Line by 1 to 90 │ │ │ │ + [0x00000088] Special opcode 49: advance Address by 3 to 0x2c and Line by 2 to 92 │ │ │ │ + [0x00000089] Special opcode 62: advance Address by 4 to 0x30 and Line by 1 to 93 │ │ │ │ + [0x0000008a] Special opcode 34: advance Address by 2 to 0x32 and Line by 1 to 94 │ │ │ │ + [0x0000008b] Special opcode 48: advance Address by 3 to 0x35 and Line by 1 to 95 │ │ │ │ + [0x0000008c] Special opcode 34: advance Address by 2 to 0x37 and Line by 1 to 96 │ │ │ │ + [0x0000008d] Special opcode 48: advance Address by 3 to 0x3a and Line by 1 to 97 │ │ │ │ + [0x0000008e] Special opcode 34: advance Address by 2 to 0x3c and Line by 1 to 98 │ │ │ │ + [0x0000008f] Special opcode 48: advance Address by 3 to 0x3f and Line by 1 to 99 │ │ │ │ + [0x00000090] Special opcode 34: advance Address by 2 to 0x41 and Line by 1 to 100 │ │ │ │ + [0x00000091] Special opcode 48: advance Address by 3 to 0x44 and Line by 1 to 101 │ │ │ │ + [0x00000092] Special opcode 20: advance Address by 1 to 0x45 and Line by 1 to 102 │ │ │ │ + [0x00000093] Special opcode 19: advance Address by 1 to 0x46 and Line by 0 to 102 │ │ │ │ + [0x00000094] Special opcode 20: advance Address by 1 to 0x47 and Line by 1 to 103 │ │ │ │ + [0x00000095] Special opcode 20: advance Address by 1 to 0x48 and Line by 1 to 104 │ │ │ │ + [0x00000096] Special opcode 34: advance Address by 2 to 0x4a and Line by 1 to 105 │ │ │ │ + [0x00000097] Special opcode 34: advance Address by 2 to 0x4c and Line by 1 to 106 │ │ │ │ + [0x00000098] Special opcode 34: advance Address by 2 to 0x4e and Line by 1 to 107 │ │ │ │ + [0x00000099] Special opcode 48: advance Address by 3 to 0x51 and Line by 1 to 108 │ │ │ │ + [0x0000009a] Special opcode 48: advance Address by 3 to 0x54 and Line by 1 to 109 │ │ │ │ + [0x0000009b] Special opcode 34: advance Address by 2 to 0x56 and Line by 1 to 110 │ │ │ │ + [0x0000009c] Special opcode 48: advance Address by 3 to 0x59 and Line by 1 to 111 │ │ │ │ + [0x0000009d] Special opcode 34: advance Address by 2 to 0x5b and Line by 1 to 112 │ │ │ │ + [0x0000009e] Special opcode 34: advance Address by 2 to 0x5d and Line by 1 to 113 │ │ │ │ + [0x0000009f] Special opcode 20: advance Address by 1 to 0x5e and Line by 1 to 114 │ │ │ │ + [0x000000a0] Special opcode 20: advance Address by 1 to 0x5f and Line by 1 to 115 │ │ │ │ + [0x000000a1] Special opcode 19: advance Address by 1 to 0x60 and Line by 0 to 115 │ │ │ │ + [0x000000a2] Special opcode 20: advance Address by 1 to 0x61 and Line by 1 to 116 │ │ │ │ + [0x000000a3] Special opcode 25: advance Address by 1 to 0x62 and Line by 6 to 122 │ │ │ │ + [0x000000a4] Special opcode 20: advance Address by 1 to 0x63 and Line by 1 to 123 │ │ │ │ + [0x000000a5] Special opcode 20: advance Address by 1 to 0x64 and Line by 1 to 124 │ │ │ │ + [0x000000a6] Special opcode 34: advance Address by 2 to 0x66 and Line by 1 to 125 │ │ │ │ + [0x000000a7] Special opcode 34: advance Address by 2 to 0x68 and Line by 1 to 126 │ │ │ │ + [0x000000a8] Special opcode 34: advance Address by 2 to 0x6a and Line by 1 to 127 │ │ │ │ + [0x000000a9] Special opcode 34: advance Address by 2 to 0x6c and Line by 1 to 128 │ │ │ │ + [0x000000aa] Special opcode 34: advance Address by 2 to 0x6e and Line by 1 to 129 │ │ │ │ + [0x000000ab] Special opcode 34: advance Address by 2 to 0x70 and Line by 1 to 130 │ │ │ │ + [0x000000ac] Special opcode 34: advance Address by 2 to 0x72 and Line by 1 to 131 │ │ │ │ + [0x000000ad] Special opcode 34: advance Address by 2 to 0x74 and Line by 1 to 132 │ │ │ │ + [0x000000ae] Special opcode 34: advance Address by 2 to 0x76 and Line by 1 to 133 │ │ │ │ + [0x000000af] Special opcode 34: advance Address by 2 to 0x78 and Line by 1 to 134 │ │ │ │ + [0x000000b0] Special opcode 34: advance Address by 2 to 0x7a and Line by 1 to 135 │ │ │ │ + [0x000000b1] Special opcode 24: advance Address by 1 to 0x7b and Line by 5 to 140 │ │ │ │ + [0x000000b2] Special opcode 62: advance Address by 4 to 0x7f and Line by 1 to 141 │ │ │ │ + [0x000000b3] Advance PC by 3 to 0x82 │ │ │ │ + [0x000000b5] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,73 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x190 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x82 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S │ │ │ │ + <55> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/gptboot │ │ │ │ + <9d> DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : start │ │ │ │ + DW_AT_decl_file : 0x1 │ │ │ │ + DW_AT_decl_line : 0x1b │ │ │ │ + DW_AT_low_pc : 0x0 │ │ │ │ + <101> DW_AT_prototyped : 0 │ │ │ │ + <2><102>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><103>: Abbrev Number: 0 │ │ │ │ + <1><104>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <105> DW_AT_name : copyloop │ │ │ │ + <10e> DW_AT_decl_file : 0x2 │ │ │ │ + <112> DW_AT_decl_line : 0x2e │ │ │ │ + <116> DW_AT_low_pc : 0x2c │ │ │ │ + <11a> DW_AT_prototyped : 0 │ │ │ │ + <2><11b>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><11c>: Abbrev Number: 0 │ │ │ │ + <1><11d>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <11e> DW_AT_name : seta20 │ │ │ │ + <125> DW_AT_decl_file : 0x2 │ │ │ │ + <129> DW_AT_decl_line : 0x4d │ │ │ │ + <12d> DW_AT_low_pc : 0x62 │ │ │ │ + <131> DW_AT_prototyped : 0 │ │ │ │ + <2><132>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><133>: Abbrev Number: 0 │ │ │ │ + <1><134>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <135> DW_AT_name : seta20.1 │ │ │ │ + <13e> DW_AT_decl_file : 0x2 │ │ │ │ + <142> DW_AT_decl_line : 0x4e │ │ │ │ + <146> DW_AT_low_pc : 0x63 │ │ │ │ + <14a> DW_AT_prototyped : 0 │ │ │ │ + <2><14b>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><14c>: Abbrev Number: 0 │ │ │ │ + <1><14d>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <14e> DW_AT_name : seta20.2 │ │ │ │ + <157> DW_AT_decl_file : 0x2 │ │ │ │ + <15b> DW_AT_decl_line : 0x55 │ │ │ │ + <15f> DW_AT_low_pc : 0x70 │ │ │ │ + <163> DW_AT_prototyped : 0 │ │ │ │ + <2><164>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><165>: Abbrev Number: 0 │ │ │ │ + <1><166>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <167> DW_AT_name : seta20.3 │ │ │ │ + <170> DW_AT_decl_file : 0x2 │ │ │ │ + <174> DW_AT_decl_line : 0x5a │ │ │ │ + <178> DW_AT_low_pc : 0x7a │ │ │ │ + <17c> DW_AT_prototyped : 0 │ │ │ │ + <2><17d>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><17e>: Abbrev Number: 0 │ │ │ │ + <1><17f>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <180> DW_AT_name : end │ │ │ │ + <184> DW_AT_decl_file : 0x2 │ │ │ │ + <188> DW_AT_decl_line : 0x61 │ │ │ │ + <18c> DW_AT_low_pc : 0x82 │ │ │ │ + <190> DW_AT_prototyped : 0 │ │ │ │ + <2><191>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><192>: Abbrev Number: 0 │ │ │ │ + <1><193>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000082 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000082 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,73 +1,120 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ start(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:64 │ │ │ │ 0: 31 c9 xor %ecx,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:65 │ │ │ │ 2: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:66 │ │ │ │ 4: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:67 │ │ │ │ 6: 8e d1 mov %ecx,%ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:68 │ │ │ │ 8: bc 00 00 bb 82 mov $0x82bb0000,%esp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:78 │ │ │ │ d: 00 8b 77 0a 01 de add %cl,-0x21fef589(%ebx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:81 │ │ │ │ 13: 4e dec %esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:82 │ │ │ │ 14: 89 f0 mov %esi,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:83 │ │ │ │ 16: c1 e8 04 shr $0x4,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:84 │ │ │ │ 19: 05 00 40 83 e6 add $0xe6834000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:85 │ │ │ │ 1e: 0f 8e d8 b8 00 0a jle a00b8fc │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:88 │ │ │ │ 24: 05 00 40 8e c0 add $0xc08e4000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:90 │ │ │ │ 29: bb .byte 0xbb │ │ │ │ 2a: 08 00 or %al,(%eax) │ │ │ │ │ │ │ │ 0000002c : │ │ │ │ copyloop(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:92 │ │ │ │ 2c: 81 c6 00 80 8c d8 add $0xd88c8000,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:94 │ │ │ │ 32: 2d 00 08 8e d8 sub $0xd88e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:96 │ │ │ │ 37: bf ff 7f 8c c0 mov $0xc08c7fff,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:98 │ │ │ │ 3c: 2d 00 08 8e c0 sub $0xc08e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:100 │ │ │ │ 41: b9 00 80 fd f3 mov $0xf3fd8000,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:102 │ │ │ │ 46: a4 movsb %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:103 │ │ │ │ 47: 4b dec %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:104 │ │ │ │ 48: 75 e2 jne 2c │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:105 │ │ │ │ 4a: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:106 │ │ │ │ 4c: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:107 │ │ │ │ 4e: bb 82 00 8b 4f mov $0x4f8b0082,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:108 │ │ │ │ 53: 0a 89 de bf 00 90 or -0x6fff4022(%ecx),%cl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:111 │ │ │ │ 59: 01 ce add %ecx,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:112 │ │ │ │ 5b: 01 cf add %ecx,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:113 │ │ │ │ 5d: 4e dec %esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:114 │ │ │ │ 5e: 4f dec %edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:115 │ │ │ │ 5f: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:116 │ │ │ │ 61: fc cld │ │ │ │ │ │ │ │ 00000062 : │ │ │ │ seta20(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:122 │ │ │ │ 62: fa cli │ │ │ │ │ │ │ │ 00000063 : │ │ │ │ seta20.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:123 │ │ │ │ 63: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:124 │ │ │ │ 64: 74 14 je 7a │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:125 │ │ │ │ 66: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:126 │ │ │ │ 68: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:127 │ │ │ │ 6a: 75 f7 jne 63 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:128 │ │ │ │ 6c: b0 d1 mov $0xd1,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:129 │ │ │ │ 6e: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ 00000070 : │ │ │ │ seta20.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:130 │ │ │ │ 70: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:131 │ │ │ │ 72: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:132 │ │ │ │ 74: 75 fa jne 70 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:133 │ │ │ │ 76: b0 df mov $0xdf,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:134 │ │ │ │ 78: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ 0000007a : │ │ │ │ seta20.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:135 │ │ │ │ 7a: fb sti │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:140 │ │ │ │ 7b: 88 16 mov %dl,(%esi) │ │ │ │ 7d: 00 09 add %cl,(%ecx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:141 │ │ │ │ 7f: e9 .byte 0xe9 │ │ │ │ 80: 0e push %cs │ │ │ │ 81: 90 nop │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,13 +1,19 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f52454c 004d454d 5f415247 .MEM_REL.MEM_ARG │ │ │ │ - 0x00000010 004d454d 5f4f5247 004d454d 5f425546 .MEM_ORG.MEM_BUF │ │ │ │ - 0x00000020 004d454d 5f425458 004d454d 5f4a4d50 .MEM_BTX.MEM_JMP │ │ │ │ - 0x00000030 004d454d 5f555352 00424441 5f424f4f .MEM_USR.BDA_BOO │ │ │ │ - 0x00000040 54005349 5a5f5041 47005349 5a5f5345 T.SIZ_PAG.SIZ_SE │ │ │ │ - 0x00000050 4300434f 50595f42 4c4b5300 434f5059 C.COPY_BLKS.COPY │ │ │ │ - 0x00000060 5f424c4b 5f535a00 656e6400 636f7079 _BLK_SZ.end.copy │ │ │ │ - 0x00000070 6c6f6f70 00736574 61323000 73657461 loop.seta20.seta │ │ │ │ - 0x00000080 32302e31 00736574 6132302e 33007365 20.1.seta20.3.se │ │ │ │ - 0x00000090 74613230 2e320073 74617274 00 ta20.2.start. │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 72656c2e 74657874 00737461 7274002e rel.text.start.. │ │ │ │ + 0x00000020 72656c2e 64656275 675f6172 616e6765 rel.debug_arange │ │ │ │ + 0x00000030 7300636f 70796c6f 6f70002e 72656c2e s.copyloop..rel. │ │ │ │ + 0x00000040 64656275 675f696e 666f002e 72656c2e debug_info..rel. │ │ │ │ + 0x00000050 64656275 675f6c69 6e650065 6e64002e debug_line.end.. │ │ │ │ + 0x00000060 73747274 6162002e 73796d74 61620043 strtab..symtab.C │ │ │ │ + 0x00000070 4f50595f 424c4b5f 535a004d 454d5f42 OPY_BLK_SZ.MEM_B │ │ │ │ + 0x00000080 54580042 44415f42 4f4f5400 434f5059 TX.BDA_BOOT.COPY │ │ │ │ + 0x00000090 5f424c4b 53004d45 4d5f5553 52004d45 _BLKS.MEM_USR.ME │ │ │ │ + 0x000000a0 4d5f4a4d 50004d45 4d5f5245 4c004d45 M_JMP.MEM_REL.ME │ │ │ │ + 0x000000b0 4d5f4f52 47004d45 4d5f4152 47005349 M_ORG.MEM_ARG.SI │ │ │ │ + 0x000000c0 5a5f5041 47004d45 4d5f4255 46005349 Z_PAG.MEM_BUF.SI │ │ │ │ + 0x000000d0 5a5f5345 43007365 74613230 2e330073 Z_SEC.seta20.3.s │ │ │ │ + 0x000000e0 65746132 302e3200 73657461 32302e31 eta20.2.seta20.1 │ │ │ │ + 0x000000f0 00736574 61323000 .seta20. │ │ ├── gptldr.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 232 (bytes into file) │ │ │ │ + Start of section headers: 1624 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 12 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,21 @@ │ │ │ │ -There are 8 section headers, starting at offset 0xe8: │ │ │ │ +There are 12 section headers, starting at offset 0x658: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000082 00 AX 0 0 4 │ │ │ │ - [ 2] .rel.text REL 00000000 000438 000020 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b8 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b8 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 0000b8 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000228 000170 10 7 22 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 000398 00009d 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 000560 0000f8 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000082 00 AX 0 0 4 │ │ │ │ + [ 3] .rel.text REL 00000000 0004d0 000020 08 11 2 4 │ │ │ │ + [ 4] .debug_info PROGBITS 00000000 0000b6 000197 00 0 0 1 │ │ │ │ + [ 5] .rel.debug_info REL 00000000 0004f0 000058 08 11 4 4 │ │ │ │ + [ 6] .debug_abbrev PROGBITS 00000000 00024d 000028 00 0 0 1 │ │ │ │ + [ 7] .debug_aranges PROGBITS 00000000 000275 000020 00 0 0 1 │ │ │ │ + [ 8] .rel.debug_aranges REL 00000000 000548 000010 08 11 7 4 │ │ │ │ + [ 9] .debug_line PROGBITS 00000000 000295 0000b8 00 0 0 1 │ │ │ │ + [10] .rel.debug_line REL 00000000 000558 000008 08 11 9 4 │ │ │ │ + [11] .symtab SYMTAB 00000000 000350 000180 10 1 23 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,26 +1,27 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 23 entries: │ │ │ │ +Symbol table '.symtab' contains 24 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ - 4: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ - 5: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 6: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ - 7: 00008cec 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ - 8: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ - 9: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 1: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ + 2: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ + 3: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ + 4: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ + 5: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ + 6: 00008cec 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ + 7: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 8: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ + 9: 00000700 0 NOTYPE LOCAL DEFAULT ABS MEM_REL │ │ │ │ 10: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ - 11: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ - 12: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ - 13: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ - 14: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ - 15: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ - 16: 00000082 0 NOTYPE LOCAL DEFAULT 1 end │ │ │ │ - 17: 0000002c 0 NOTYPE LOCAL DEFAULT 1 copyloop │ │ │ │ - 18: 00000062 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 19: 00000063 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 20: 0000007a 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 21: 00000070 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 22: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ + 11: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ + 12: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ + 13: 0000002c 0 NOTYPE LOCAL DEFAULT 2 copyloop │ │ │ │ + 14: 00000082 0 NOTYPE LOCAL DEFAULT 2 end │ │ │ │ + 15: 00000062 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 16: 00000063 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 17: 00000070 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 18: 0000007a 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 19: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 20: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 21: 00000000 0 SECTION LOCAL DEFAULT 6 │ │ │ │ + 22: 00000000 0 SECTION LOCAL DEFAULT 9 │ │ │ │ + 23: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,7 +1,30 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x438 contains 4 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0x4d0 contains 4 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000009 00001614 R_386_16 00000000 start │ │ │ │ -0000000c 00000114 R_386_16 00000000 .text │ │ │ │ -0000004f 00000114 R_386_16 00000000 .text │ │ │ │ +00000009 00001714 R_386_16 00000000 start │ │ │ │ +0000000c 00001314 R_386_16 00000000 .text │ │ │ │ +0000004f 00001314 R_386_16 00000000 .text │ │ │ │ 00000080 00000015 R_386_PC16 │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_info' at offset 0x4f0 contains 11 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00001501 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00001601 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00001301 R_386_32 00000000 .text │ │ │ │ +00000014 00001301 R_386_32 00000000 .text │ │ │ │ +00000100 00001301 R_386_32 00000000 .text │ │ │ │ +00000119 00001301 R_386_32 00000000 .text │ │ │ │ +00000130 00001301 R_386_32 00000000 .text │ │ │ │ +00000149 00001301 R_386_32 00000000 .text │ │ │ │ +00000162 00001301 R_386_32 00000000 .text │ │ │ │ +0000017b 00001301 R_386_32 00000000 .text │ │ │ │ +0000018f 00001301 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0x548 contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00001401 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00001301 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0x558 contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +0000006e 00001301 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,104 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 180 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 95 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/gptboot │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x50): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 gptldr.S │ │ │ │ + 2 1 0 0 gptldr.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x00000069] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x0000006b] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x00000072] Advance Line by 63 to 64 │ │ │ │ + [0x00000074] Copy │ │ │ │ + [0x00000075] Special opcode 34: advance Address by 2 to 0x2 and Line by 1 to 65 │ │ │ │ + [0x00000076] Special opcode 34: advance Address by 2 to 0x4 and Line by 1 to 66 │ │ │ │ + [0x00000077] Special opcode 34: advance Address by 2 to 0x6 and Line by 1 to 67 │ │ │ │ + [0x00000078] Special opcode 34: advance Address by 2 to 0x8 and Line by 1 to 68 │ │ │ │ + [0x00000079] Advance Line by 10 to 78 │ │ │ │ + [0x0000007b] Special opcode 47: advance Address by 3 to 0xb and Line by 0 to 78 │ │ │ │ + [0x0000007c] Special opcode 48: advance Address by 3 to 0xe and Line by 1 to 79 │ │ │ │ + [0x0000007d] Special opcode 48: advance Address by 3 to 0x11 and Line by 1 to 80 │ │ │ │ + [0x0000007e] Special opcode 34: advance Address by 2 to 0x13 and Line by 1 to 81 │ │ │ │ + [0x0000007f] Special opcode 20: advance Address by 1 to 0x14 and Line by 1 to 82 │ │ │ │ + [0x00000080] Special opcode 34: advance Address by 2 to 0x16 and Line by 1 to 83 │ │ │ │ + [0x00000081] Special opcode 48: advance Address by 3 to 0x19 and Line by 1 to 84 │ │ │ │ + [0x00000082] Special opcode 48: advance Address by 3 to 0x1c and Line by 1 to 85 │ │ │ │ + [0x00000083] Special opcode 48: advance Address by 3 to 0x1f and Line by 1 to 86 │ │ │ │ + [0x00000084] Special opcode 34: advance Address by 2 to 0x21 and Line by 1 to 87 │ │ │ │ + [0x00000085] Special opcode 48: advance Address by 3 to 0x24 and Line by 1 to 88 │ │ │ │ + [0x00000086] Special opcode 48: advance Address by 3 to 0x27 and Line by 1 to 89 │ │ │ │ + [0x00000087] Special opcode 34: advance Address by 2 to 0x29 and Line by 1 to 90 │ │ │ │ + [0x00000088] Special opcode 49: advance Address by 3 to 0x2c and Line by 2 to 92 │ │ │ │ + [0x00000089] Special opcode 62: advance Address by 4 to 0x30 and Line by 1 to 93 │ │ │ │ + [0x0000008a] Special opcode 34: advance Address by 2 to 0x32 and Line by 1 to 94 │ │ │ │ + [0x0000008b] Special opcode 48: advance Address by 3 to 0x35 and Line by 1 to 95 │ │ │ │ + [0x0000008c] Special opcode 34: advance Address by 2 to 0x37 and Line by 1 to 96 │ │ │ │ + [0x0000008d] Special opcode 48: advance Address by 3 to 0x3a and Line by 1 to 97 │ │ │ │ + [0x0000008e] Special opcode 34: advance Address by 2 to 0x3c and Line by 1 to 98 │ │ │ │ + [0x0000008f] Special opcode 48: advance Address by 3 to 0x3f and Line by 1 to 99 │ │ │ │ + [0x00000090] Special opcode 34: advance Address by 2 to 0x41 and Line by 1 to 100 │ │ │ │ + [0x00000091] Special opcode 48: advance Address by 3 to 0x44 and Line by 1 to 101 │ │ │ │ + [0x00000092] Special opcode 20: advance Address by 1 to 0x45 and Line by 1 to 102 │ │ │ │ + [0x00000093] Special opcode 19: advance Address by 1 to 0x46 and Line by 0 to 102 │ │ │ │ + [0x00000094] Special opcode 20: advance Address by 1 to 0x47 and Line by 1 to 103 │ │ │ │ + [0x00000095] Special opcode 20: advance Address by 1 to 0x48 and Line by 1 to 104 │ │ │ │ + [0x00000096] Special opcode 34: advance Address by 2 to 0x4a and Line by 1 to 105 │ │ │ │ + [0x00000097] Special opcode 34: advance Address by 2 to 0x4c and Line by 1 to 106 │ │ │ │ + [0x00000098] Special opcode 34: advance Address by 2 to 0x4e and Line by 1 to 107 │ │ │ │ + [0x00000099] Special opcode 48: advance Address by 3 to 0x51 and Line by 1 to 108 │ │ │ │ + [0x0000009a] Special opcode 48: advance Address by 3 to 0x54 and Line by 1 to 109 │ │ │ │ + [0x0000009b] Special opcode 34: advance Address by 2 to 0x56 and Line by 1 to 110 │ │ │ │ + [0x0000009c] Special opcode 48: advance Address by 3 to 0x59 and Line by 1 to 111 │ │ │ │ + [0x0000009d] Special opcode 34: advance Address by 2 to 0x5b and Line by 1 to 112 │ │ │ │ + [0x0000009e] Special opcode 34: advance Address by 2 to 0x5d and Line by 1 to 113 │ │ │ │ + [0x0000009f] Special opcode 20: advance Address by 1 to 0x5e and Line by 1 to 114 │ │ │ │ + [0x000000a0] Special opcode 20: advance Address by 1 to 0x5f and Line by 1 to 115 │ │ │ │ + [0x000000a1] Special opcode 19: advance Address by 1 to 0x60 and Line by 0 to 115 │ │ │ │ + [0x000000a2] Special opcode 20: advance Address by 1 to 0x61 and Line by 1 to 116 │ │ │ │ + [0x000000a3] Special opcode 25: advance Address by 1 to 0x62 and Line by 6 to 122 │ │ │ │ + [0x000000a4] Special opcode 20: advance Address by 1 to 0x63 and Line by 1 to 123 │ │ │ │ + [0x000000a5] Special opcode 20: advance Address by 1 to 0x64 and Line by 1 to 124 │ │ │ │ + [0x000000a6] Special opcode 34: advance Address by 2 to 0x66 and Line by 1 to 125 │ │ │ │ + [0x000000a7] Special opcode 34: advance Address by 2 to 0x68 and Line by 1 to 126 │ │ │ │ + [0x000000a8] Special opcode 34: advance Address by 2 to 0x6a and Line by 1 to 127 │ │ │ │ + [0x000000a9] Special opcode 34: advance Address by 2 to 0x6c and Line by 1 to 128 │ │ │ │ + [0x000000aa] Special opcode 34: advance Address by 2 to 0x6e and Line by 1 to 129 │ │ │ │ + [0x000000ab] Special opcode 34: advance Address by 2 to 0x70 and Line by 1 to 130 │ │ │ │ + [0x000000ac] Special opcode 34: advance Address by 2 to 0x72 and Line by 1 to 131 │ │ │ │ + [0x000000ad] Special opcode 34: advance Address by 2 to 0x74 and Line by 1 to 132 │ │ │ │ + [0x000000ae] Special opcode 34: advance Address by 2 to 0x76 and Line by 1 to 133 │ │ │ │ + [0x000000af] Special opcode 34: advance Address by 2 to 0x78 and Line by 1 to 134 │ │ │ │ + [0x000000b0] Special opcode 34: advance Address by 2 to 0x7a and Line by 1 to 135 │ │ │ │ + [0x000000b1] Special opcode 24: advance Address by 1 to 0x7b and Line by 5 to 140 │ │ │ │ + [0x000000b2] Special opcode 62: advance Address by 4 to 0x7f and Line by 1 to 141 │ │ │ │ + [0x000000b3] Advance PC by 3 to 0x82 │ │ │ │ + [0x000000b5] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,73 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x193 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x82 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S │ │ │ │ + <55> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/gptzfsboot │ │ │ │ + DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : start │ │ │ │ + DW_AT_decl_file : 0x1 │ │ │ │ + DW_AT_decl_line : 0x1b │ │ │ │ + <100> DW_AT_low_pc : 0x0 │ │ │ │ + <104> DW_AT_prototyped : 0 │ │ │ │ + <2><105>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><106>: Abbrev Number: 0 │ │ │ │ + <1><107>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <108> DW_AT_name : copyloop │ │ │ │ + <111> DW_AT_decl_file : 0x2 │ │ │ │ + <115> DW_AT_decl_line : 0x2e │ │ │ │ + <119> DW_AT_low_pc : 0x2c │ │ │ │ + <11d> DW_AT_prototyped : 0 │ │ │ │ + <2><11e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><11f>: Abbrev Number: 0 │ │ │ │ + <1><120>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <121> DW_AT_name : seta20 │ │ │ │ + <128> DW_AT_decl_file : 0x2 │ │ │ │ + <12c> DW_AT_decl_line : 0x4d │ │ │ │ + <130> DW_AT_low_pc : 0x62 │ │ │ │ + <134> DW_AT_prototyped : 0 │ │ │ │ + <2><135>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><136>: Abbrev Number: 0 │ │ │ │ + <1><137>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <138> DW_AT_name : seta20.1 │ │ │ │ + <141> DW_AT_decl_file : 0x2 │ │ │ │ + <145> DW_AT_decl_line : 0x4e │ │ │ │ + <149> DW_AT_low_pc : 0x63 │ │ │ │ + <14d> DW_AT_prototyped : 0 │ │ │ │ + <2><14e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><14f>: Abbrev Number: 0 │ │ │ │ + <1><150>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <151> DW_AT_name : seta20.2 │ │ │ │ + <15a> DW_AT_decl_file : 0x2 │ │ │ │ + <15e> DW_AT_decl_line : 0x55 │ │ │ │ + <162> DW_AT_low_pc : 0x70 │ │ │ │ + <166> DW_AT_prototyped : 0 │ │ │ │ + <2><167>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><168>: Abbrev Number: 0 │ │ │ │ + <1><169>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <16a> DW_AT_name : seta20.3 │ │ │ │ + <173> DW_AT_decl_file : 0x2 │ │ │ │ + <177> DW_AT_decl_line : 0x5a │ │ │ │ + <17b> DW_AT_low_pc : 0x7a │ │ │ │ + <17f> DW_AT_prototyped : 0 │ │ │ │ + <2><180>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><181>: Abbrev Number: 0 │ │ │ │ + <1><182>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <183> DW_AT_name : end │ │ │ │ + <187> DW_AT_decl_file : 0x2 │ │ │ │ + <18b> DW_AT_decl_line : 0x61 │ │ │ │ + <18f> DW_AT_low_pc : 0x82 │ │ │ │ + <193> DW_AT_prototyped : 0 │ │ │ │ + <2><194>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><195>: Abbrev Number: 0 │ │ │ │ + <1><196>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000082 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000082 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,73 +1,120 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ start(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:64 │ │ │ │ 0: 31 c9 xor %ecx,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:65 │ │ │ │ 2: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:66 │ │ │ │ 4: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:67 │ │ │ │ 6: 8e d1 mov %ecx,%ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:68 │ │ │ │ 8: bc 00 00 bb 82 mov $0x82bb0000,%esp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:78 │ │ │ │ d: 00 8b 77 0a 01 de add %cl,-0x21fef589(%ebx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:81 │ │ │ │ 13: 4e dec %esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:82 │ │ │ │ 14: 89 f0 mov %esi,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:83 │ │ │ │ 16: c1 e8 04 shr $0x4,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:84 │ │ │ │ 19: 05 00 40 83 e6 add $0xe6834000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:85 │ │ │ │ 1e: 0f 8e d8 b8 00 0a jle a00b8fc │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:88 │ │ │ │ 24: 05 00 40 8e c0 add $0xc08e4000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:90 │ │ │ │ 29: bb .byte 0xbb │ │ │ │ 2a: 08 00 or %al,(%eax) │ │ │ │ │ │ │ │ 0000002c : │ │ │ │ copyloop(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:92 │ │ │ │ 2c: 81 c6 00 80 8c d8 add $0xd88c8000,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:94 │ │ │ │ 32: 2d 00 08 8e d8 sub $0xd88e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:96 │ │ │ │ 37: bf ff 7f 8c c0 mov $0xc08c7fff,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:98 │ │ │ │ 3c: 2d 00 08 8e c0 sub $0xc08e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:100 │ │ │ │ 41: b9 00 80 fd f3 mov $0xf3fd8000,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:102 │ │ │ │ 46: a4 movsb %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:103 │ │ │ │ 47: 4b dec %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:104 │ │ │ │ 48: 75 e2 jne 2c │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:105 │ │ │ │ 4a: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:106 │ │ │ │ 4c: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:107 │ │ │ │ 4e: bb 82 00 8b 4f mov $0x4f8b0082,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:108 │ │ │ │ 53: 0a 89 de bf 00 90 or -0x6fff4022(%ecx),%cl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:111 │ │ │ │ 59: 01 ce add %ecx,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:112 │ │ │ │ 5b: 01 cf add %ecx,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:113 │ │ │ │ 5d: 4e dec %esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:114 │ │ │ │ 5e: 4f dec %edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:115 │ │ │ │ 5f: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:116 │ │ │ │ 61: fc cld │ │ │ │ │ │ │ │ 00000062 : │ │ │ │ seta20(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:122 │ │ │ │ 62: fa cli │ │ │ │ │ │ │ │ 00000063 : │ │ │ │ seta20.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:123 │ │ │ │ 63: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:124 │ │ │ │ 64: 74 14 je 7a │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:125 │ │ │ │ 66: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:126 │ │ │ │ 68: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:127 │ │ │ │ 6a: 75 f7 jne 63 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:128 │ │ │ │ 6c: b0 d1 mov $0xd1,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:129 │ │ │ │ 6e: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ 00000070 : │ │ │ │ seta20.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:130 │ │ │ │ 70: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:131 │ │ │ │ 72: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:132 │ │ │ │ 74: 75 fa jne 70 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:133 │ │ │ │ 76: b0 df mov $0xdf,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:134 │ │ │ │ 78: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ 0000007a : │ │ │ │ seta20.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:135 │ │ │ │ 7a: fb sti │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:140 │ │ │ │ 7b: 88 16 mov %dl,(%esi) │ │ │ │ 7d: 00 09 add %cl,(%ecx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/gptboot/gptldr.S:141 │ │ │ │ 7f: e9 .byte 0xe9 │ │ │ │ 80: 0e push %cs │ │ │ │ 81: 90 nop │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,13 +1,19 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f52454c 004d454d 5f415247 .MEM_REL.MEM_ARG │ │ │ │ - 0x00000010 004d454d 5f4f5247 004d454d 5f425546 .MEM_ORG.MEM_BUF │ │ │ │ - 0x00000020 004d454d 5f425458 004d454d 5f4a4d50 .MEM_BTX.MEM_JMP │ │ │ │ - 0x00000030 004d454d 5f555352 00424441 5f424f4f .MEM_USR.BDA_BOO │ │ │ │ - 0x00000040 54005349 5a5f5041 47005349 5a5f5345 T.SIZ_PAG.SIZ_SE │ │ │ │ - 0x00000050 4300434f 50595f42 4c4b5300 434f5059 C.COPY_BLKS.COPY │ │ │ │ - 0x00000060 5f424c4b 5f535a00 656e6400 636f7079 _BLK_SZ.end.copy │ │ │ │ - 0x00000070 6c6f6f70 00736574 61323000 73657461 loop.seta20.seta │ │ │ │ - 0x00000080 32302e31 00736574 6132302e 33007365 20.1.seta20.3.se │ │ │ │ - 0x00000090 74613230 2e320073 74617274 00 ta20.2.start. │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 72656c2e 74657874 00737461 7274002e rel.text.start.. │ │ │ │ + 0x00000020 72656c2e 64656275 675f6172 616e6765 rel.debug_arange │ │ │ │ + 0x00000030 7300636f 70796c6f 6f70002e 72656c2e s.copyloop..rel. │ │ │ │ + 0x00000040 64656275 675f696e 666f002e 72656c2e debug_info..rel. │ │ │ │ + 0x00000050 64656275 675f6c69 6e650065 6e64002e debug_line.end.. │ │ │ │ + 0x00000060 73747274 6162002e 73796d74 61620043 strtab..symtab.C │ │ │ │ + 0x00000070 4f50595f 424c4b5f 535a004d 454d5f42 OPY_BLK_SZ.MEM_B │ │ │ │ + 0x00000080 54580042 44415f42 4f4f5400 434f5059 TX.BDA_BOOT.COPY │ │ │ │ + 0x00000090 5f424c4b 53004d45 4d5f5553 52004d45 _BLKS.MEM_USR.ME │ │ │ │ + 0x000000a0 4d5f4a4d 50004d45 4d5f5245 4c004d45 M_JMP.MEM_REL.ME │ │ │ │ + 0x000000b0 4d5f4f52 47004d45 4d5f4152 47005349 M_ORG.MEM_ARG.SI │ │ │ │ + 0x000000c0 5a5f5041 47004d45 4d5f4255 46005349 Z_PAG.MEM_BUF.SI │ │ │ │ + 0x000000d0 5a5f5345 43007365 74613230 2e330073 Z_SEC.seta20.3.s │ │ │ │ + 0x000000e0 65746132 302e3200 73657461 32302e31 eta20.2.seta20.1 │ │ │ │ + 0x000000f0 00736574 61323000 .seta20. │ │ ├── amd64_tramp.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 16472 (bytes into file) │ │ │ │ + Start of section headers: 17492 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 9 │ │ │ │ - Section header string table index: 6 │ │ │ │ + Number of section headers: 14 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,18 +1,23 @@ │ │ │ │ -There are 9 section headers, starting at offset 0x4058: │ │ │ │ +There are 14 section headers, starting at offset 0x4454: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000051 00 AX 0 0 4 │ │ │ │ - [ 2] .rel.text REL 00000000 0042e8 000028 08 7 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 001000 003022 00 WA 0 0 4096 │ │ │ │ - [ 4] .rel.data REL 00000000 004310 000008 08 7 3 4 │ │ │ │ - [ 5] .bss NOBITS 00000000 004024 000000 00 WA 0 0 4 │ │ │ │ - [ 6] .shstrtab STRTAB 00000000 004024 000034 00 0 0 1 │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0041c0 0000e0 10 8 8 4 │ │ │ │ - [ 8] .strtab STRTAB 00000000 0042a0 000047 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 0043a8 0000ac 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000051 00 AX 0 0 4 │ │ │ │ + [ 3] .rel.text REL 00000000 004330 000028 08 13 2 4 │ │ │ │ + [ 4] .data PROGBITS 00000000 001000 003022 00 WA 0 0 4096 │ │ │ │ + [ 5] .rel.data REL 00000000 004358 000008 08 13 4 4 │ │ │ │ + [ 6] .debug_info PROGBITS 00000000 004022 000129 00 0 0 1 │ │ │ │ + [ 7] .rel.debug_info REL 00000000 004360 000030 08 13 6 4 │ │ │ │ + [ 8] .debug_abbrev PROGBITS 00000000 00414b 000028 00 0 0 1 │ │ │ │ + [ 9] .debug_aranges PROGBITS 00000000 004173 000020 00 0 0 1 │ │ │ │ + [10] .rel.debug_aranges REL 00000000 004390 000010 08 13 9 4 │ │ │ │ + [11] .debug_line PROGBITS 00000000 004193 00009b 00 0 0 1 │ │ │ │ + [12] .rel.debug_line REL 00000000 0043a0 000008 08 13 11 4 │ │ │ │ + [13] .symtab SYMTAB 00000000 004230 000100 10 1 10 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,17 +1,19 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 14 entries: │ │ │ │ +Symbol table '.symtab' contains 16 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 5 │ │ │ │ - 4: 00003000 0 NOTYPE LOCAL DEFAULT 3 gdtdesc │ │ │ │ - 5: 00003022 0 NOTYPE LOCAL DEFAULT 3 gdtend │ │ │ │ - 6: 0000300a 0 NOTYPE LOCAL DEFAULT 3 gdt │ │ │ │ - 7: 00000046 0 NOTYPE LOCAL DEFAULT 1 longmode │ │ │ │ - 8: 00000000 0 NOTYPE GLOBAL DEFAULT 3 PT4 │ │ │ │ - 9: 00001000 0 NOTYPE GLOBAL DEFAULT 3 PT3 │ │ │ │ - 10: 00002000 0 NOTYPE GLOBAL DEFAULT 3 PT2 │ │ │ │ - 11: 00000000 0 NOTYPE GLOBAL DEFAULT 1 amd64_tramp │ │ │ │ - 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND entry_hi │ │ │ │ - 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND entry_lo │ │ │ │ + 1: 0000300a 0 NOTYPE LOCAL DEFAULT 4 gdt │ │ │ │ + 2: 00003000 0 NOTYPE LOCAL DEFAULT 4 gdtdesc │ │ │ │ + 3: 00003022 0 NOTYPE LOCAL DEFAULT 4 gdtend │ │ │ │ + 4: 00000046 0 NOTYPE LOCAL DEFAULT 2 longmode │ │ │ │ + 5: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 6: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 7: 00000000 0 SECTION LOCAL DEFAULT 6 │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 8 │ │ │ │ + 9: 00000000 0 SECTION LOCAL DEFAULT 11 │ │ │ │ + 10: 00002000 0 NOTYPE GLOBAL DEFAULT 4 PT2 │ │ │ │ + 11: 00001000 0 NOTYPE GLOBAL DEFAULT 4 PT3 │ │ │ │ + 12: 00000000 0 NOTYPE GLOBAL DEFAULT 4 PT4 │ │ │ │ + 13: 00000000 0 NOTYPE GLOBAL DEFAULT 2 amd64_tramp │ │ │ │ + 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND entry_hi │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND entry_lo │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,12 +1,30 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x42e8 contains 5 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0x4330 contains 5 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000019 00000801 R_386_32 00000000 PT4 │ │ │ │ -0000002c 00000201 R_386_32 00000000 .data │ │ │ │ -00000032 00000c01 R_386_32 00000000 entry_hi │ │ │ │ -00000038 00000d01 R_386_32 00000000 entry_lo │ │ │ │ -00000040 00000101 R_386_32 00000000 .text │ │ │ │ +00000019 00000c01 R_386_32 00000000 PT4 │ │ │ │ +0000002c 00000601 R_386_32 00000000 .data │ │ │ │ +00000032 00000e01 R_386_32 00000000 entry_hi │ │ │ │ +00000038 00000f01 R_386_32 00000000 entry_lo │ │ │ │ +00000040 00000501 R_386_32 00000000 .text │ │ │ │ │ │ │ │ -Relocation section '.rel.data' at offset 0x4310 contains 1 entries: │ │ │ │ +Relocation section '.rel.data' at offset 0x4358 contains 1 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00003002 00000201 R_386_32 00000000 .data │ │ │ │ +00003002 00000601 R_386_32 00000000 .data │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_info' at offset 0x4360 contains 6 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00000801 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00000901 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00000501 R_386_32 00000000 .text │ │ │ │ +00000014 00000501 R_386_32 00000000 .text │ │ │ │ +00000108 00000501 R_386_32 00000000 .text │ │ │ │ +00000121 00000501 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0x4390 contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00000701 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00000501 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0x43a0 contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000078 00000501 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,65 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 151 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 105 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/libi386 │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x50): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 amd64_tramp.S │ │ │ │ + 2 1 0 0 amd64_tramp.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x00000073] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x00000075] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x0000007c] Advance Line by 76 to 77 │ │ │ │ + [0x0000007f] Copy │ │ │ │ + [0x00000080] Special opcode 22: advance Address by 1 to 0x1 and Line by 3 to 80 │ │ │ │ + [0x00000081] Special opcode 76: advance Address by 5 to 0x6 and Line by 1 to 81 │ │ │ │ + [0x00000082] Special opcode 34: advance Address by 2 to 0x8 and Line by 1 to 82 │ │ │ │ + [0x00000083] Special opcode 76: advance Address by 5 to 0xd and Line by 1 to 83 │ │ │ │ + [0x00000084] Special opcode 36: advance Address by 2 to 0xf and Line by 3 to 86 │ │ │ │ + [0x00000085] Special opcode 48: advance Address by 3 to 0x12 and Line by 1 to 87 │ │ │ │ + [0x00000086] Special opcode 48: advance Address by 3 to 0x15 and Line by 1 to 88 │ │ │ │ + [0x00000087] Special opcode 50: advance Address by 3 to 0x18 and Line by 3 to 91 │ │ │ │ + [0x00000088] Special opcode 76: advance Address by 5 to 0x1d and Line by 1 to 92 │ │ │ │ + [0x00000089] Special opcode 50: advance Address by 3 to 0x20 and Line by 3 to 95 │ │ │ │ + [0x0000008a] Special opcode 48: advance Address by 3 to 0x23 and Line by 1 to 96 │ │ │ │ + [0x0000008b] Special opcode 76: advance Address by 5 to 0x28 and Line by 1 to 97 │ │ │ │ + [0x0000008c] Special opcode 50: advance Address by 3 to 0x2b and Line by 3 to 100 │ │ │ │ + [0x0000008d] Special opcode 76: advance Address by 5 to 0x30 and Line by 1 to 101 │ │ │ │ + [0x0000008e] Special opcode 90: advance Address by 6 to 0x36 and Line by 1 to 102 │ │ │ │ + [0x0000008f] Special opcode 90: advance Address by 6 to 0x3c and Line by 1 to 103 │ │ │ │ + [0x00000090] Special opcode 48: advance Address by 3 to 0x3f and Line by 1 to 104 │ │ │ │ + [0x00000091] Special opcode 108: advance Address by 7 to 0x46 and Line by 5 to 109 │ │ │ │ + [0x00000092] Special opcode 34: advance Address by 2 to 0x48 and Line by 1 to 110 │ │ │ │ + [0x00000093] Special opcode 62: advance Address by 4 to 0x4c and Line by 1 to 111 │ │ │ │ + [0x00000094] Special opcode 48: advance Address by 3 to 0x4f and Line by 1 to 112 │ │ │ │ + [0x00000095] Special opcode 20: advance Address by 1 to 0x50 and Line by 1 to 113 │ │ │ │ + [0x00000096] Advance PC by 1 to 0x51 │ │ │ │ + [0x00000098] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,33 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x125 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x51 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S │ │ │ │ + <5a> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/libi386 │ │ │ │ + DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : amd64_tramp │ │ │ │ + <100> DW_AT_decl_file : 0x1 │ │ │ │ + <104> DW_AT_decl_line : 0x25 │ │ │ │ + <108> DW_AT_low_pc : 0x0 │ │ │ │ + <10c> DW_AT_prototyped : 0 │ │ │ │ + <2><10d>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><10e>: Abbrev Number: 0 │ │ │ │ + <1><10f>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <110> DW_AT_name : longmode │ │ │ │ + <119> DW_AT_decl_file : 0x2 │ │ │ │ + <11d> DW_AT_decl_line : 0x45 │ │ │ │ + <121> DW_AT_low_pc : 0x46 │ │ │ │ + <125> DW_AT_prototyped : 0 │ │ │ │ + <2><126>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><127>: Abbrev Number: 0 │ │ │ │ + <1><128>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000051 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000051 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,35 +1,58 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ amd64_tramp(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:77 │ │ │ │ 0: fa cli │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:80 │ │ │ │ 1: b9 80 00 00 c0 mov $0xc0000080,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:81 │ │ │ │ 6: 0f 32 rdmsr │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:82 │ │ │ │ 8: 0d 00 01 00 00 or $0x100,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:83 │ │ │ │ d: 0f 30 wrmsr │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:86 │ │ │ │ f: 0f 20 e0 mov %cr4,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:87 │ │ │ │ 12: 83 c8 20 or $0x20,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:88 │ │ │ │ 15: 0f 22 e0 mov %eax,%cr4 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:91 │ │ │ │ 18: b8 00 a0 00 00 mov $0xa000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:92 │ │ │ │ 1d: 0f 22 d8 mov %eax,%cr3 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:95 │ │ │ │ 20: 0f 20 c0 mov %cr0,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:96 │ │ │ │ 23: 0d 00 00 00 80 or $0x80000000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:97 │ │ │ │ 28: 0f 22 c0 mov %eax,%cr0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:100 │ │ │ │ 2b: b8 00 d0 00 00 mov $0xd000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:101 │ │ │ │ 30: 8b 35 00 a0 00 00 mov 0xa000,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:102 │ │ │ │ 36: 8b 3d 00 a0 00 00 mov 0xa000,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:103 │ │ │ │ 3c: 0f 01 10 lgdtl (%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:104 │ │ │ │ 3f: ea 46 a0 00 00 08 00 ljmp $0x8,$0xa046 │ │ │ │ │ │ │ │ 00000046 : │ │ │ │ longmode(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:109 │ │ │ │ 46: 89 f0 mov %esi,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:110 │ │ │ │ 48: 48 dec %eax │ │ │ │ 49: c1 e0 20 shl $0x20,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:111 │ │ │ │ 4c: 48 dec %eax │ │ │ │ 4d: 09 f8 or %edi,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:112 │ │ │ │ 4f: 50 push %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/amd64_tramp.S:113 │ │ │ │ 50: c3 ret │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,8 +1,14 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 00676474 64657363 00676474 656e6400 .gdtdesc.gdtend. │ │ │ │ - 0x00000010 67647400 6c6f6e67 6d6f6465 00505434 gdt.longmode.PT4 │ │ │ │ - 0x00000020 00505433 00505432 00616d64 36345f74 .PT3.PT2.amd64_t │ │ │ │ - 0x00000030 72616d70 00656e74 72795f68 6900656e ramp.entry_hi.en │ │ │ │ - 0x00000040 7472795f 6c6f00 try_lo. │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 72656c2e 74657874 00676474 002e7265 rel.text.gdt..re │ │ │ │ + 0x00000020 6c2e6465 6275675f 6172616e 67657300 l.debug_aranges. │ │ │ │ + 0x00000030 616d6436 345f7472 616d7000 656e7472 amd64_tramp.entr │ │ │ │ + 0x00000040 795f6c6f 002e7265 6c2e6465 6275675f y_lo..rel.debug_ │ │ │ │ + 0x00000050 696e666f 00656e74 72795f68 69002e72 info.entry_hi..r │ │ │ │ + 0x00000060 656c2e64 65627567 5f6c696e 65006c6f el.debug_line.lo │ │ │ │ + 0x00000070 6e676d6f 64650067 6474656e 64006764 ngmode.gdtend.gd │ │ │ │ + 0x00000080 74646573 63002e73 74727461 62002e73 tdesc..strtab..s │ │ │ │ + 0x00000090 796d7461 62002e72 656c2e64 61746100 ymtab..rel.data. │ │ │ │ + 0x000000a0 50543400 50543300 50543200 PT4.PT3.PT2. │ │ ├── multiboot_tramp.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 112 (bytes into file) │ │ │ │ + Start of section headers: 828 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 7 │ │ │ │ - Section header string table index: 4 │ │ │ │ + Number of section headers: 11 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,16 +1,20 @@ │ │ │ │ -There are 7 section headers, starting at offset 0x70: │ │ │ │ +There are 11 section headers, starting at offset 0x33c: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000010 00 AX 0 0 4 │ │ │ │ - [ 2] .data PROGBITS 00000000 000044 000000 00 WA 0 0 4 │ │ │ │ - [ 3] .bss NOBITS 00000000 000044 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .shstrtab STRTAB 00000000 000044 00002c 00 0 0 1 │ │ │ │ - [ 5] .symtab SYMTAB 00000000 000188 000050 10 6 4 4 │ │ │ │ - [ 6] .strtab STRTAB 00000000 0001d8 000011 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 0002d4 000068 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000010 00 AX 0 0 4 │ │ │ │ + [ 3] .debug_info PROGBITS 00000000 000044 000118 00 0 0 1 │ │ │ │ + [ 4] .rel.debug_info REL 00000000 000294 000028 08 10 3 4 │ │ │ │ + [ 5] .debug_abbrev PROGBITS 00000000 00015c 000028 00 0 0 1 │ │ │ │ + [ 6] .debug_aranges PROGBITS 00000000 000184 000020 00 0 0 1 │ │ │ │ + [ 7] .rel.debug_aranges REL 00000000 0002bc 000010 08 10 6 4 │ │ │ │ + [ 8] .debug_line PROGBITS 00000000 0001a4 000090 00 0 0 1 │ │ │ │ + [ 9] .rel.debug_line REL 00000000 0002cc 000008 08 10 8 4 │ │ │ │ + [10] .symtab SYMTAB 00000000 000234 000060 10 1 5 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,8 +1,9 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 5 entries: │ │ │ │ +Symbol table '.symtab' contains 6 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 4: 00000000 0 NOTYPE GLOBAL DEFAULT 1 multiboot_tramp │ │ │ │ + 1: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ + 3: 00000000 0 SECTION LOCAL DEFAULT 5 │ │ │ │ + 4: 00000000 0 SECTION LOCAL DEFAULT 8 │ │ │ │ + 5: 00000000 0 NOTYPE GLOBAL DEFAULT 2 multiboot_tramp │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,2 +1,17 @@ │ │ │ │ │ │ │ │ -There are no relocations in this file. │ │ │ │ +Relocation section '.rel.debug_info' at offset 0x294 contains 5 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00000301 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00000401 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00000101 R_386_32 00000000 .text │ │ │ │ +00000014 00000101 R_386_32 00000000 .text │ │ │ │ +00000110 00000101 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0x2bc contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00000201 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00000101 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0x2cc contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000080 00000101 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,47 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 140 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 113 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/libi386 │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x50): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 multiboot_tramp.S │ │ │ │ + 2 1 0 0 multiboot_tramp.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x0000007b] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x0000007d] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x00000084] Advance Line by 43 to 44 │ │ │ │ + [0x00000086] Copy │ │ │ │ + [0x00000087] Special opcode 21: advance Address by 1 to 0x1 and Line by 2 to 46 │ │ │ │ + [0x00000088] Special opcode 77: advance Address by 5 to 0x6 and Line by 2 to 48 │ │ │ │ + [0x00000089] Special opcode 62: advance Address by 4 to 0xa and Line by 1 to 49 │ │ │ │ + [0x0000008a] Special opcode 63: advance Address by 4 to 0xe and Line by 2 to 51 │ │ │ │ + [0x0000008b] Advance PC by 2 to 0x10 │ │ │ │ + [0x0000008d] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,25 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x114 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x10 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S │ │ │ │ + <5e> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/libi386 │ │ │ │ + DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : multiboot_tramp │ │ │ │ + <108> DW_AT_decl_file : 0x1 │ │ │ │ + <10c> DW_AT_decl_line : 0x9 │ │ │ │ + <110> DW_AT_low_pc : 0x0 │ │ │ │ + <114> DW_AT_prototyped : 0 │ │ │ │ + <2><115>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><116>: Abbrev Number: 0 │ │ │ │ + <1><117>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000010 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000010 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,12 +1,17 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ multiboot_tramp(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S:44 │ │ │ │ 0: fa cli │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S:46 │ │ │ │ 1: b8 02 b0 ad 2b mov $0x2badb002,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S:48 │ │ │ │ 6: 8b 5c 24 08 mov 0x8(%esp),%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S:49 │ │ │ │ a: 8b 4c 24 04 mov 0x4(%esp),%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/libi386/multiboot_tramp.S:51 │ │ │ │ e: ff d1 call *%ecx │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,5 +1,10 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 006d756c 7469626f 6f745f74 72616d70 .multiboot_tramp │ │ │ │ - 0x00000010 00 . │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 74657874 002e7265 6c2e6465 6275675f text..rel.debug_ │ │ │ │ + 0x00000020 6172616e 67657300 6d756c74 69626f6f aranges.multiboo │ │ │ │ + 0x00000030 745f7472 616d7000 2e72656c 2e646562 t_tramp..rel.deb │ │ │ │ + 0x00000040 75675f69 6e666f00 2e72656c 2e646562 ug_info..rel.deb │ │ │ │ + 0x00000050 75675f6c 696e6500 2e737472 74616200 ug_line..strtab. │ │ │ │ + 0x00000060 2e73796d 74616200 .symtab. │ │ ├── pxeldr.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 624 (bytes into file) │ │ │ │ + Start of section headers: 1892 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 5 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,14 @@ │ │ │ │ -There are 8 section headers, starting at offset 0x270: │ │ │ │ +There are 5 section headers, starting at offset 0x764: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000040 000200 00 AX 0 0 16 │ │ │ │ - [ 2] .rel.text REL 00000000 000844 000090 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 000240 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 000240 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 000240 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 0003b0 0002e0 10 7 45 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 000690 0001b4 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 0005a0 0001c4 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000040 000210 00 AX 0 0 16 │ │ │ │ + [ 3] .rel.text REL 00000000 000510 000090 08 4 2 4 │ │ │ │ + [ 4] .symtab SYMTAB 00000000 000250 0002c0 10 1 43 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,49 +1,47 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 46 entries: │ │ │ │ +Symbol table '.symtab' contains 44 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ - 4: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_PAGE_SIZE │ │ │ │ - 5: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 6: 0000a100 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_BTX │ │ │ │ - 7: 00000018 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_SIZE │ │ │ │ - 8: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ADDRESS │ │ │ │ - 9: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ENTRY │ │ │ │ - 10: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_OFFSET │ │ │ │ - 11: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_CLIENT │ │ │ │ + 1: 0000000c 0 NOTYPE LOCAL DEFAULT ABS AOUT_BSS │ │ │ │ + 2: 00000008 0 NOTYPE LOCAL DEFAULT ABS AOUT_DATA │ │ │ │ + 3: 00000014 0 NOTYPE LOCAL DEFAULT ABS AOUT_ENTRY │ │ │ │ + 4: 00001000 0 NOTYPE LOCAL DEFAULT ABS AOUT_HEADER │ │ │ │ + 5: 00000010 0 NOTYPE LOCAL DEFAULT ABS AOUT_SYMBOLS │ │ │ │ + 6: 00000004 0 NOTYPE LOCAL DEFAULT ABS AOUT_TEXT │ │ │ │ + 7: 00000030 0 NOTYPE LOCAL DEFAULT ABS INT_SYS │ │ │ │ + 8: 00000010 0 NOTYPE LOCAL DEFAULT ABS KEYBOARD_BIT │ │ │ │ + 9: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ + 10: 0000a100 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_BTX │ │ │ │ + 11: 00000018 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG_SIZE │ │ │ │ 12: 00000496 0 NOTYPE LOCAL DEFAULT ABS MEM_BIOS_KEYBOARD │ │ │ │ - 13: 00000004 0 NOTYPE LOCAL DEFAULT ABS AOUT_TEXT │ │ │ │ - 14: 00000008 0 NOTYPE LOCAL DEFAULT ABS AOUT_DATA │ │ │ │ - 15: 0000000c 0 NOTYPE LOCAL DEFAULT ABS AOUT_BSS │ │ │ │ - 16: 00000010 0 NOTYPE LOCAL DEFAULT ABS AOUT_SYMBOLS │ │ │ │ - 17: 00000014 0 NOTYPE LOCAL DEFAULT ABS AOUT_ENTRY │ │ │ │ - 18: 00001000 0 NOTYPE LOCAL DEFAULT ABS AOUT_HEADER │ │ │ │ - 19: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ - 20: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ - 21: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ - 22: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE16 │ │ │ │ - 23: 00000030 0 NOTYPE LOCAL DEFAULT ABS INT_SYS │ │ │ │ - 24: 00000010 0 NOTYPE LOCAL DEFAULT ABS KEYBOARD_BIT │ │ │ │ - 25: 0000017e 0 NOTYPE LOCAL DEFAULT 1 welcome_msg │ │ │ │ - 26: 00000102 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ - 27: 00000191 0 NOTYPE LOCAL DEFAULT 1 bootinfo_msg │ │ │ │ - 28: 00000111 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 29: 000001b6 0 NOTYPE LOCAL DEFAULT 1 relocate_msg │ │ │ │ - 30: 00000200 0 NOTYPE LOCAL DEFAULT 1 end │ │ │ │ - 31: 00000178 0 NOTYPE LOCAL DEFAULT 1 gdtdesc │ │ │ │ - 32: 00000073 0 NOTYPE LOCAL DEFAULT 1 pm_start │ │ │ │ - 33: 000000bf 0 NOTYPE LOCAL DEFAULT 1 pm_16 │ │ │ │ - 34: 000000d3 0 NOTYPE LOCAL DEFAULT 1 pm_end │ │ │ │ - 35: 0000012d 0 NOTYPE LOCAL DEFAULT 1 btx_client │ │ │ │ - 36: 0000014b 0 NOTYPE LOCAL DEFAULT 1 btx_client_end │ │ │ │ - 37: 000001da 0 NOTYPE LOCAL DEFAULT 1 jump_message │ │ │ │ - 38: 00000108 0 NOTYPE LOCAL DEFAULT 1 putc │ │ │ │ - 39: 00000114 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 40: 0000012b 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 41: 00000121 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 42: 00000138 0 NOTYPE LOCAL DEFAULT 1 push_arg │ │ │ │ - 43: 00000150 0 NOTYPE LOCAL DEFAULT 1 gdt │ │ │ │ - 44: 00000178 0 NOTYPE LOCAL DEFAULT 1 gdt.1 │ │ │ │ - 45: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ + 13: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ADDRESS │ │ │ │ + 14: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_CLIENT │ │ │ │ + 15: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_ENTRY │ │ │ │ + 16: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX_OFFSET │ │ │ │ + 17: 00001000 0 NOTYPE LOCAL DEFAULT ABS MEM_PAGE_SIZE │ │ │ │ + 18: 00000010 0 NOTYPE LOCAL DEFAULT ABS SEL_RDATA │ │ │ │ + 19: 00000018 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE │ │ │ │ + 20: 00000020 0 NOTYPE LOCAL DEFAULT ABS SEL_SCODE16 │ │ │ │ + 21: 00000008 0 NOTYPE LOCAL DEFAULT ABS SEL_SDATA │ │ │ │ + 22: 000001a1 0 NOTYPE LOCAL DEFAULT 2 bootinfo_msg │ │ │ │ + 23: 00000136 0 NOTYPE LOCAL DEFAULT 2 btx_client │ │ │ │ + 24: 00000154 0 NOTYPE LOCAL DEFAULT 2 btx_client_end │ │ │ │ + 25: 00000210 0 NOTYPE LOCAL DEFAULT 2 end │ │ │ │ + 26: 00000160 0 NOTYPE LOCAL DEFAULT 2 gdt │ │ │ │ + 27: 00000188 0 NOTYPE LOCAL DEFAULT 2 gdt.1 │ │ │ │ + 28: 00000188 0 NOTYPE LOCAL DEFAULT 2 gdtdesc │ │ │ │ + 29: 000001ea 0 NOTYPE LOCAL DEFAULT 2 jump_message │ │ │ │ + 30: 000000c8 0 NOTYPE LOCAL DEFAULT 2 pm_16 │ │ │ │ + 31: 000000dc 0 NOTYPE LOCAL DEFAULT 2 pm_end │ │ │ │ + 32: 0000007c 0 NOTYPE LOCAL DEFAULT 2 pm_start │ │ │ │ + 33: 00000141 0 NOTYPE LOCAL DEFAULT 2 push_arg │ │ │ │ + 34: 00000111 0 NOTYPE LOCAL DEFAULT 2 putc │ │ │ │ + 35: 0000010b 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ + 36: 000001c6 0 NOTYPE LOCAL DEFAULT 2 relocate_msg │ │ │ │ + 37: 0000011a 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 38: 0000011d 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 39: 0000012a 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 40: 00000134 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 41: 0000018e 0 NOTYPE LOCAL DEFAULT 2 welcome_msg │ │ │ │ + 42: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 43: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x844 contains 18 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0x510 contains 18 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -00000006 00002d14 R_386_16 00000000 start │ │ │ │ -00000026 00000114 R_386_16 00000000 .text │ │ │ │ -0000002c 00000114 R_386_16 00000000 .text │ │ │ │ -0000004b 00000114 R_386_16 00000000 .text │ │ │ │ -00000053 00000114 R_386_16 00000000 .text │ │ │ │ -00000057 00000101 R_386_32 00000000 .text │ │ │ │ -0000005e 00000114 R_386_16 00000000 .text │ │ │ │ -00000063 00000114 R_386_16 00000000 .text │ │ │ │ -0000006f 00000114 R_386_16 00000000 .text │ │ │ │ -0000008b 00000101 R_386_32 00000000 .text │ │ │ │ -00000093 00000101 R_386_32 00000000 .text │ │ │ │ -000000a3 00000101 R_386_32 00000000 .text │ │ │ │ -000000b9 00000101 R_386_32 00000000 .text │ │ │ │ -000000cf 00000114 R_386_16 00000000 .text │ │ │ │ -000000de 00000114 R_386_16 00000000 .text │ │ │ │ -000000f3 00000114 R_386_16 00000000 .text │ │ │ │ -000000f8 00000114 R_386_16 00000000 .text │ │ │ │ -0000017a 00000101 R_386_32 00000000 .text │ │ │ │ +00000006 00002b14 R_386_16 00000000 start │ │ │ │ +00000026 00002a14 R_386_16 00000000 .text │ │ │ │ +0000002c 00002a14 R_386_16 00000000 .text │ │ │ │ +0000004b 00002a14 R_386_16 00000000 .text │ │ │ │ +00000054 00002a01 R_386_32 00000000 .text │ │ │ │ +0000005a 00002a01 R_386_32 00000000 .text │ │ │ │ +00000062 00002a01 R_386_32 00000000 .text │ │ │ │ +0000006a 00002a01 R_386_32 00000000 .text │ │ │ │ +00000078 00002a14 R_386_16 00000000 .text │ │ │ │ +00000094 00002a01 R_386_32 00000000 .text │ │ │ │ +0000009c 00002a01 R_386_32 00000000 .text │ │ │ │ +000000ac 00002a01 R_386_32 00000000 .text │ │ │ │ +000000c2 00002a01 R_386_32 00000000 .text │ │ │ │ +000000d8 00002a14 R_386_16 00000000 .text │ │ │ │ +000000e7 00002a14 R_386_16 00000000 .text │ │ │ │ +000000fc 00002a14 R_386_16 00000000 .text │ │ │ │ +00000101 00002a14 R_386_16 00000000 .text │ │ │ │ +0000018a 00002a01 R_386_32 00000000 .text │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -14,251 +14,261 @@ │ │ │ │ e: 66 81 e1 ff ff and $0xffff,%cx │ │ │ │ 13: 00 00 add %al,(%eax) │ │ │ │ 15: 66 81 e3 ff ff and $0xffff,%bx │ │ │ │ 1a: 00 00 add %al,(%eax) │ │ │ │ 1c: 66 c1 e1 04 shl $0x4,%cx │ │ │ │ 20: 66 01 d9 add %bx,%cx │ │ │ │ 23: 66 51 push %cx │ │ │ │ - 25: be 7e 01 e8 d7 mov $0xd7e8017e,%esi │ │ │ │ - 2a: 00 be 91 01 e8 d1 add %bh,-0x2e17fe6f(%esi) │ │ │ │ + 25: be 8e 01 e8 e0 mov $0xe0e8018e,%esi │ │ │ │ + 2a: 00 be a1 01 e8 da add %bh,-0x2517fe5f(%esi) │ │ │ │ 30: 00 bb 00 09 89 df add %bh,-0x2076f700(%ebx) │ │ │ │ 36: 66 31 c0 xor %ax,%ax │ │ │ │ 39: b9 06 00 f3 66 mov $0x66f30006,%ecx │ │ │ │ 3e: ab stos %eax,%es:(%edi) │ │ │ │ 3f: 80 4f 08 02 orb $0x2,0x8(%edi) │ │ │ │ 43: 66 8f 47 0c popw 0xc(%edi) │ │ │ │ - 47: e8 c7 00 be b6 call b6be0113 │ │ │ │ + 47: e8 d0 00 be c6 call c6be011c │ │ │ │ 4c: 01 e8 add %ebp,%eax │ │ │ │ - 4e: b2 00 mov $0x0,%dl │ │ │ │ - 50: 66 8b 3e mov (%esi),%di │ │ │ │ - 53: 14 02 adc $0x2,%al │ │ │ │ - 55: 66 be 00 12 mov $0x1200,%si │ │ │ │ - 59: 00 00 add %al,(%eax) │ │ │ │ - 5b: 66 8b 0e mov (%esi),%cx │ │ │ │ - 5e: 04 02 add $0x2,%al │ │ │ │ - 60: 0f 01 16 lgdtl (%esi) │ │ │ │ - 63: 78 01 js 66 │ │ │ │ - 65: fa cli │ │ │ │ - 66: 0f 20 c0 mov %cr0,%eax │ │ │ │ - 69: 0c 01 or $0x1,%al │ │ │ │ - 6b: 0f 22 c0 mov %eax,%cr0 │ │ │ │ - 6e: ea .byte 0xea │ │ │ │ - 6f: 73 00 jae 71 │ │ │ │ - 71: 18 00 sbb %al,(%eax) │ │ │ │ + 4e: bb 00 67 66 8b mov $0x8b666700,%ebx │ │ │ │ + 53: 3d 24 02 00 00 cmp $0x224,%eax │ │ │ │ + 58: 66 be 10 12 mov $0x1210,%si │ │ │ │ + 5c: 00 00 add %al,(%eax) │ │ │ │ + 5e: 67 66 8b 0d mov (%di),%cx │ │ │ │ + 62: 14 02 adc $0x2,%al │ │ │ │ + 64: 00 00 add %al,(%eax) │ │ │ │ + 66: 67 0f 01 15 lgdtl (%di) │ │ │ │ + 6a: 88 01 mov %al,(%ecx) │ │ │ │ + 6c: 00 00 add %al,(%eax) │ │ │ │ + 6e: fa cli │ │ │ │ + 6f: 0f 20 c0 mov %cr0,%eax │ │ │ │ + 72: 0c 01 or $0x1,%al │ │ │ │ + 74: 0f 22 c0 mov %eax,%cr0 │ │ │ │ + 77: ea .byte 0xea │ │ │ │ + 78: 7c 00 jl 7a │ │ │ │ + 7a: 18 00 sbb %al,(%eax) │ │ │ │ │ │ │ │ -00000073 : │ │ │ │ +0000007c : │ │ │ │ pm_start(): │ │ │ │ - 73: 66 b8 08 00 mov $0x8,%ax │ │ │ │ - 77: 8e d8 mov %eax,%ds │ │ │ │ - 79: 8e c0 mov %eax,%es │ │ │ │ - 7b: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - 7d: 81 c7 ff 0f 00 00 add $0xfff,%edi │ │ │ │ - 83: 81 e7 00 f0 ff ff and $0xfffff000,%edi │ │ │ │ - 89: 8b 0d 08 02 00 00 mov 0x208,%ecx │ │ │ │ - 8f: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - 91: 8b 0d 0c 02 00 00 mov 0x20c,%ecx │ │ │ │ - 97: 31 c0 xor %eax,%eax │ │ │ │ - 99: 80 c1 03 add $0x3,%cl │ │ │ │ - 9c: c1 e9 02 shr $0x2,%ecx │ │ │ │ - 9f: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ - a1: 8b 35 14 02 00 00 mov 0x214,%esi │ │ │ │ - a7: 81 c6 00 10 00 00 add $0x1000,%esi │ │ │ │ - ad: bf 00 90 00 00 mov $0x9000,%edi │ │ │ │ - b2: 0f b7 4e 0a movzwl 0xa(%esi),%ecx │ │ │ │ - b6: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ - b8: ea bf 00 00 00 20 00 ljmp $0x20,$0xbf │ │ │ │ + 7c: 66 b8 08 00 mov $0x8,%ax │ │ │ │ + 80: 8e d8 mov %eax,%ds │ │ │ │ + 82: 8e c0 mov %eax,%es │ │ │ │ + 84: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + 86: 81 c7 ff 0f 00 00 add $0xfff,%edi │ │ │ │ + 8c: 81 e7 00 f0 ff ff and $0xfffff000,%edi │ │ │ │ + 92: 8b 0d 18 02 00 00 mov 0x218,%ecx │ │ │ │ + 98: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + 9a: 8b 0d 1c 02 00 00 mov 0x21c,%ecx │ │ │ │ + a0: 31 c0 xor %eax,%eax │ │ │ │ + a2: 80 c1 03 add $0x3,%cl │ │ │ │ + a5: c1 e9 02 shr $0x2,%ecx │ │ │ │ + a8: f3 ab rep stos %eax,%es:(%edi) │ │ │ │ + aa: 8b 35 24 02 00 00 mov 0x224,%esi │ │ │ │ + b0: 81 c6 00 10 00 00 add $0x1000,%esi │ │ │ │ + b6: bf 00 90 00 00 mov $0x9000,%edi │ │ │ │ + bb: 0f b7 4e 0a movzwl 0xa(%esi),%ecx │ │ │ │ + bf: f3 a4 rep movsb %ds:(%esi),%es:(%edi) │ │ │ │ + c1: ea c8 00 00 00 20 00 ljmp $0x20,$0xc8 │ │ │ │ │ │ │ │ -000000bf : │ │ │ │ +000000c8 : │ │ │ │ pm_16(): │ │ │ │ - bf: b8 10 00 8e d8 mov $0xd88e0010,%eax │ │ │ │ - c4: 8e c0 mov %eax,%es │ │ │ │ - c6: 0f 20 c0 mov %cr0,%eax │ │ │ │ - c9: 24 fe and $0xfe,%al │ │ │ │ - cb: 0f 22 c0 mov %eax,%cr0 │ │ │ │ - ce: ea .byte 0xea │ │ │ │ - cf: d3 00 roll %cl,(%eax) │ │ │ │ + c8: b8 10 00 8e d8 mov $0xd88e0010,%eax │ │ │ │ + cd: 8e c0 mov %eax,%es │ │ │ │ + cf: 0f 20 c0 mov %cr0,%eax │ │ │ │ + d2: 24 fe and $0xfe,%al │ │ │ │ + d4: 0f 22 c0 mov %eax,%cr0 │ │ │ │ + d7: ea .byte 0xea │ │ │ │ + d8: dc 00 faddl (%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -000000d3 : │ │ │ │ +000000dc : │ │ │ │ pm_end(): │ │ │ │ - d3: fb sti │ │ │ │ - d4: 31 c0 xor %eax,%eax │ │ │ │ - d6: 8e d8 mov %eax,%ds │ │ │ │ - d8: 8e c0 mov %eax,%es │ │ │ │ - da: bf 00 a0 be 2d mov $0x2dbea000,%edi │ │ │ │ - df: 01 b9 1e 00 f3 a4 add %edi,-0x5b0cffe2(%ecx) │ │ │ │ - e5: be 00 09 bf 00 mov $0xbf0900,%esi │ │ │ │ - ea: a1 b9 06 00 f3 mov 0xf30006b9,%eax │ │ │ │ - ef: 66 a5 movsw %ds:(%esi),%es:(%edi) │ │ │ │ - f1: 66 a1 14 02 66 ab mov 0xab660214,%ax │ │ │ │ - f7: be da 01 e8 05 mov $0x5e801da,%esi │ │ │ │ - fc: 00 ea add %ch,%dl │ │ │ │ - fe: 10 .byte 0x10 │ │ │ │ - ff: 90 nop │ │ │ │ + dc: fb sti │ │ │ │ + dd: 31 c0 xor %eax,%eax │ │ │ │ + df: 8e d8 mov %eax,%ds │ │ │ │ + e1: 8e c0 mov %eax,%es │ │ │ │ + e3: bf 00 a0 be 36 mov $0x36bea000,%edi │ │ │ │ + e8: 01 b9 1e 00 f3 a4 add %edi,-0x5b0cffe2(%ecx) │ │ │ │ + ee: be 00 09 bf 00 mov $0xbf0900,%esi │ │ │ │ + f3: a1 b9 06 00 f3 mov 0xf30006b9,%eax │ │ │ │ + f8: 66 a5 movsw %ds:(%esi),%es:(%edi) │ │ │ │ + fa: 66 a1 24 02 66 ab mov 0xab660224,%ax │ │ │ │ + 100: be ea 01 e8 05 mov $0x5e801ea,%esi │ │ │ │ + 105: 00 ea add %ch,%dl │ │ │ │ + 107: 10 .byte 0x10 │ │ │ │ + 108: 90 nop │ │ │ │ ... │ │ │ │ │ │ │ │ -00000102 : │ │ │ │ +0000010b : │ │ │ │ putstr(): │ │ │ │ - 102: ac lods %ds:(%esi),%al │ │ │ │ - 103: 84 c0 test %al,%al │ │ │ │ - 105: 75 01 jne 108 │ │ │ │ - 107: c3 ret │ │ │ │ + 10b: ac lods %ds:(%esi),%al │ │ │ │ + 10c: 84 c0 test %al,%al │ │ │ │ + 10e: 75 01 jne 111 │ │ │ │ + 110: c3 ret │ │ │ │ │ │ │ │ -00000108 : │ │ │ │ +00000111 : │ │ │ │ putc(): │ │ │ │ - 108: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ - 10d: cd 10 int $0x10 │ │ │ │ - 10f: eb f1 jmp 102 │ │ │ │ + 111: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ + 116: cd 10 int $0x10 │ │ │ │ + 118: eb f1 jmp 10b │ │ │ │ │ │ │ │ -00000111 : │ │ │ │ +0000011a : │ │ │ │ seta20(): │ │ │ │ - 111: fa cli │ │ │ │ - 112: 31 c9 xor %ecx,%ecx │ │ │ │ + 11a: fa cli │ │ │ │ + 11b: 31 c9 xor %ecx,%ecx │ │ │ │ │ │ │ │ -00000114 : │ │ │ │ +0000011d : │ │ │ │ seta20.1(): │ │ │ │ - 114: 41 inc %ecx │ │ │ │ - 115: 74 14 je 12b │ │ │ │ - 117: e4 64 in $0x64,%al │ │ │ │ - 119: a8 02 test $0x2,%al │ │ │ │ - 11b: 75 f7 jne 114 │ │ │ │ - 11d: b0 d1 mov $0xd1,%al │ │ │ │ - 11f: e6 64 out %al,$0x64 │ │ │ │ + 11d: 41 inc %ecx │ │ │ │ + 11e: 74 14 je 134 │ │ │ │ + 120: e4 64 in $0x64,%al │ │ │ │ + 122: a8 02 test $0x2,%al │ │ │ │ + 124: 75 f7 jne 11d │ │ │ │ + 126: b0 d1 mov $0xd1,%al │ │ │ │ + 128: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ -00000121 : │ │ │ │ +0000012a : │ │ │ │ seta20.2(): │ │ │ │ - 121: e4 64 in $0x64,%al │ │ │ │ - 123: a8 02 test $0x2,%al │ │ │ │ - 125: 75 fa jne 121 │ │ │ │ - 127: b0 df mov $0xdf,%al │ │ │ │ - 129: e6 60 out %al,$0x60 │ │ │ │ + 12a: e4 64 in $0x64,%al │ │ │ │ + 12c: a8 02 test $0x2,%al │ │ │ │ + 12e: 75 fa jne 12a │ │ │ │ + 130: b0 df mov $0xdf,%al │ │ │ │ + 132: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ -0000012b : │ │ │ │ +00000134 : │ │ │ │ seta20.3(): │ │ │ │ - 12b: fb sti │ │ │ │ - 12c: c3 ret │ │ │ │ + 134: fb sti │ │ │ │ + 135: c3 ret │ │ │ │ │ │ │ │ -0000012d : │ │ │ │ +00000136 : │ │ │ │ btx_client(): │ │ │ │ - 12d: be 14 01 00 00 mov $0x114,%esi │ │ │ │ - 132: b9 06 00 00 00 mov $0x6,%ecx │ │ │ │ - 137: fd std │ │ │ │ + 136: be 14 01 00 00 mov $0x114,%esi │ │ │ │ + 13b: b9 06 00 00 00 mov $0x6,%ecx │ │ │ │ + 140: fd std │ │ │ │ │ │ │ │ -00000138 : │ │ │ │ +00000141 : │ │ │ │ push_arg(): │ │ │ │ - 138: ad lods %ds:(%esi),%eax │ │ │ │ - 139: 50 push %eax │ │ │ │ - 13a: e2 fc loop 138 │ │ │ │ - 13c: fc cld │ │ │ │ - 13d: ff 35 18 01 00 00 pushl 0x118 │ │ │ │ - 143: 50 push %eax │ │ │ │ - 144: b8 01 00 00 00 mov $0x1,%eax │ │ │ │ - 149: cd 30 int $0x30 │ │ │ │ + 141: ad lods %ds:(%esi),%eax │ │ │ │ + 142: 50 push %eax │ │ │ │ + 143: e2 fc loop 141 │ │ │ │ + 145: fc cld │ │ │ │ + 146: ff 35 18 01 00 00 pushl 0x118 │ │ │ │ + 14c: 50 push %eax │ │ │ │ + 14d: b8 01 00 00 00 mov $0x1,%eax │ │ │ │ + 152: cd 30 int $0x30 │ │ │ │ │ │ │ │ -0000014b : │ │ │ │ +00000154 : │ │ │ │ btx_client_end(): │ │ │ │ - 14b: 90 nop │ │ │ │ - 14c: 8d .byte 0x8d │ │ │ │ - 14d: b4 00 mov $0x0,%ah │ │ │ │ - ... │ │ │ │ + 154: 90 nop │ │ │ │ + 155: 90 nop │ │ │ │ + 156: 90 nop │ │ │ │ + 157: 90 nop │ │ │ │ + 158: 90 nop │ │ │ │ + 159: 90 nop │ │ │ │ + 15a: 90 nop │ │ │ │ + 15b: 90 nop │ │ │ │ + 15c: 90 nop │ │ │ │ + 15d: 90 nop │ │ │ │ + 15e: 90 nop │ │ │ │ + 15f: 90 nop │ │ │ │ │ │ │ │ -00000150 : │ │ │ │ +00000160 : │ │ │ │ ... │ │ │ │ gdt(): │ │ │ │ - 158: ff (bad) │ │ │ │ - 159: ff 00 incl (%eax) │ │ │ │ - 15b: 00 00 add %al,(%eax) │ │ │ │ - 15d: 92 xchg %eax,%edx │ │ │ │ - 15e: cf iret │ │ │ │ - 15f: 00 ff add %bh,%bh │ │ │ │ - 161: ff 00 incl (%eax) │ │ │ │ - 163: 00 00 add %al,(%eax) │ │ │ │ - 165: 92 xchg %eax,%edx │ │ │ │ - 166: 00 00 add %al,(%eax) │ │ │ │ 168: ff (bad) │ │ │ │ 169: ff 00 incl (%eax) │ │ │ │ 16b: 00 00 add %al,(%eax) │ │ │ │ - 16d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ - 174: 00 .byte 0x0 │ │ │ │ - 175: 9a .byte 0x9a │ │ │ │ - 176: 8f 00 popl (%eax) │ │ │ │ - │ │ │ │ -00000178 : │ │ │ │ -gdtdesc(): │ │ │ │ - 178: 27 daa │ │ │ │ - 179: 00 50 01 add %dl,0x1(%eax) │ │ │ │ + 16d: 92 xchg %eax,%edx │ │ │ │ + 16e: cf iret │ │ │ │ + 16f: 00 ff add %bh,%bh │ │ │ │ + 171: ff 00 incl (%eax) │ │ │ │ + 173: 00 00 add %al,(%eax) │ │ │ │ + 175: 92 xchg %eax,%edx │ │ │ │ + 176: 00 00 add %al,(%eax) │ │ │ │ + 178: ff (bad) │ │ │ │ + 179: ff 00 incl (%eax) │ │ │ │ + 17b: 00 00 add %al,(%eax) │ │ │ │ + 17d: 9a cf 00 ff ff 00 00 lcall $0x0,$0xffff00cf │ │ │ │ + 184: 00 .byte 0x0 │ │ │ │ + 185: 9a .byte 0x9a │ │ │ │ + 186: 8f 00 popl (%eax) │ │ │ │ + │ │ │ │ +00000188 : │ │ │ │ +gdt.1(): │ │ │ │ + 188: 27 daa │ │ │ │ + 189: 00 60 01 add %ah,0x1(%eax) │ │ │ │ ... │ │ │ │ │ │ │ │ -0000017e : │ │ │ │ +0000018e : │ │ │ │ welcome_msg(): │ │ │ │ - 17e: 50 push %eax │ │ │ │ - 17f: 58 pop %eax │ │ │ │ - 180: 45 inc %ebp │ │ │ │ - 181: 20 4c 6f 61 and %cl,0x61(%edi,%ebp,2) │ │ │ │ - 185: 64 65 72 20 fs gs jb 1a9 │ │ │ │ - 189: 31 2e xor %ebp,(%esi) │ │ │ │ - 18b: 30 30 xor %dh,(%eax) │ │ │ │ - 18d: 0d .byte 0xd │ │ │ │ - 18e: 0a 0a or (%edx),%cl │ │ │ │ + 18e: 50 push %eax │ │ │ │ + 18f: 58 pop %eax │ │ │ │ + 190: 45 inc %ebp │ │ │ │ + 191: 20 4c 6f 61 and %cl,0x61(%edi,%ebp,2) │ │ │ │ + 195: 64 65 72 20 fs gs jb 1b9 │ │ │ │ + 199: 31 2e xor %ebp,(%esi) │ │ │ │ + 19b: 30 30 xor %dh,(%eax) │ │ │ │ + 19d: 0d .byte 0xd │ │ │ │ + 19e: 0a 0a or (%edx),%cl │ │ │ │ ... │ │ │ │ │ │ │ │ -00000191 : │ │ │ │ +000001a1 : │ │ │ │ bootinfo_msg(): │ │ │ │ - 191: 42 inc %edx │ │ │ │ - 192: 75 69 jne 1fd │ │ │ │ - 194: 6c insb (%dx),%es:(%edi) │ │ │ │ - 195: 64 69 6e 67 20 74 68 imul $0x65687420,%fs:0x67(%esi),%ebp │ │ │ │ - 19c: 65 │ │ │ │ - 19d: 20 62 6f and %ah,0x6f(%edx) │ │ │ │ - 1a0: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 1a1: 74 20 je 1c3 │ │ │ │ - 1a3: 6c insb (%dx),%es:(%edi) │ │ │ │ - 1a4: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 1a5: 61 popa │ │ │ │ - 1a6: 64 65 72 20 fs gs jb 1ca │ │ │ │ - 1aa: 61 popa │ │ │ │ - 1ab: 72 67 jb 214 │ │ │ │ - 1ad: 75 6d jne 21c │ │ │ │ - 1af: 65 6e outsb %gs:(%esi),(%dx) │ │ │ │ - 1b1: 74 73 je 226 │ │ │ │ - 1b3: 0d .byte 0xd │ │ │ │ - 1b4: 0a 00 or (%eax),%al │ │ │ │ + 1a1: 42 inc %edx │ │ │ │ + 1a2: 75 69 jne 20d │ │ │ │ + 1a4: 6c insb (%dx),%es:(%edi) │ │ │ │ + 1a5: 64 69 6e 67 20 74 68 imul $0x65687420,%fs:0x67(%esi),%ebp │ │ │ │ + 1ac: 65 │ │ │ │ + 1ad: 20 62 6f and %ah,0x6f(%edx) │ │ │ │ + 1b0: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 1b1: 74 20 je 1d3 │ │ │ │ + 1b3: 6c insb (%dx),%es:(%edi) │ │ │ │ + 1b4: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 1b5: 61 popa │ │ │ │ + 1b6: 64 65 72 20 fs gs jb 1da │ │ │ │ + 1ba: 61 popa │ │ │ │ + 1bb: 72 67 jb 224 │ │ │ │ + 1bd: 75 6d jne 22c │ │ │ │ + 1bf: 65 6e outsb %gs:(%esi),(%dx) │ │ │ │ + 1c1: 74 73 je 236 │ │ │ │ + 1c3: 0d .byte 0xd │ │ │ │ + 1c4: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000001b6 : │ │ │ │ +000001c6 : │ │ │ │ relocate_msg(): │ │ │ │ - 1b6: 52 push %edx │ │ │ │ - 1b7: 65 6c gs insb (%dx),%es:(%edi) │ │ │ │ - 1b9: 6f outsl %ds:(%esi),(%dx) │ │ │ │ - 1ba: 63 61 74 arpl %sp,0x74(%ecx) │ │ │ │ - 1bd: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ - 1c4: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ - 1c8: 64 65 72 20 fs gs jb 1ec │ │ │ │ - 1cc: 61 popa │ │ │ │ - 1cd: 6e outsb %ds:(%esi),(%dx) │ │ │ │ - 1ce: 64 20 74 68 65 and %dh,%fs:0x65(%eax,%ebp,2) │ │ │ │ - 1d3: 20 42 54 and %al,0x54(%edx) │ │ │ │ - 1d6: 58 pop %eax │ │ │ │ - 1d7: 0d .byte 0xd │ │ │ │ - 1d8: 0a 00 or (%eax),%al │ │ │ │ + 1c6: 52 push %edx │ │ │ │ + 1c7: 65 6c gs insb (%dx),%es:(%edi) │ │ │ │ + 1c9: 6f outsl %ds:(%esi),(%dx) │ │ │ │ + 1ca: 63 61 74 arpl %sp,0x74(%ecx) │ │ │ │ + 1cd: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ + 1d4: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ + 1d8: 64 65 72 20 fs gs jb 1fc │ │ │ │ + 1dc: 61 popa │ │ │ │ + 1dd: 6e outsb %ds:(%esi),(%dx) │ │ │ │ + 1de: 64 20 74 68 65 and %dh,%fs:0x65(%eax,%ebp,2) │ │ │ │ + 1e3: 20 42 54 and %al,0x54(%edx) │ │ │ │ + 1e6: 58 pop %eax │ │ │ │ + 1e7: 0d .byte 0xd │ │ │ │ + 1e8: 0a 00 or (%eax),%al │ │ │ │ │ │ │ │ -000001da : │ │ │ │ +000001ea : │ │ │ │ jump_message(): │ │ │ │ - 1da: 53 push %ebx │ │ │ │ - 1db: 74 61 je 23e │ │ │ │ - 1dd: 72 74 jb 253 │ │ │ │ - 1df: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ - 1e6: 20 42 54 and %al,0x54(%edx) │ │ │ │ - 1e9: 58 pop %eax │ │ │ │ - 1ea: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ - 1ee: 64 65 72 0d fs gs jb 1ff │ │ │ │ - 1f2: 0a 00 or (%eax),%al │ │ │ │ - 1f4: eb 0a jmp 200 │ │ │ │ - 1f6: 90 nop │ │ │ │ - 1f7: 90 nop │ │ │ │ - 1f8: 90 nop │ │ │ │ - 1f9: 90 nop │ │ │ │ - 1fa: 90 nop │ │ │ │ - 1fb: 90 nop │ │ │ │ - 1fc: 90 nop │ │ │ │ - 1fd: 90 nop │ │ │ │ - 1fe: 90 nop │ │ │ │ - 1ff: 90 nop │ │ │ │ + 1ea: 53 push %ebx │ │ │ │ + 1eb: 74 61 je 24e │ │ │ │ + 1ed: 72 74 jb 263 │ │ │ │ + 1ef: 69 6e 67 20 74 68 65 imul $0x65687420,0x67(%esi),%ebp │ │ │ │ + 1f6: 20 42 54 and %al,0x54(%edx) │ │ │ │ + 1f9: 58 pop %eax │ │ │ │ + 1fa: 20 6c 6f 61 and %ch,0x61(%edi,%ebp,2) │ │ │ │ + 1fe: 64 65 72 0d fs gs jb 20f │ │ │ │ + 202: 0a 00 or (%eax),%al │ │ │ │ + 204: 90 nop │ │ │ │ + 205: 90 nop │ │ │ │ + 206: 90 nop │ │ │ │ + 207: 90 nop │ │ │ │ + 208: 90 nop │ │ │ │ + 209: 90 nop │ │ │ │ + 20a: 90 nop │ │ │ │ + 20b: 90 nop │ │ │ │ + 20c: 90 nop │ │ │ │ + 20d: 90 nop │ │ │ │ + 20e: 90 nop │ │ │ │ + 20f: 90 nop │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,31 +1,32 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f504147 455f5349 5a45004d .MEM_PAGE_SIZE.M │ │ │ │ - 0x00000010 454d5f41 5247004d 454d5f41 52475f42 EM_ARG.MEM_ARG_B │ │ │ │ - 0x00000020 5458004d 454d5f41 52475f53 495a4500 TX.MEM_ARG_SIZE. │ │ │ │ - 0x00000030 4d454d5f 4254585f 41444452 45535300 MEM_BTX_ADDRESS. │ │ │ │ - 0x00000040 4d454d5f 4254585f 454e5452 59004d45 MEM_BTX_ENTRY.ME │ │ │ │ - 0x00000050 4d5f4254 585f4f46 46534554 004d454d M_BTX_OFFSET.MEM │ │ │ │ - 0x00000060 5f425458 5f434c49 454e5400 4d454d5f _BTX_CLIENT.MEM_ │ │ │ │ - 0x00000070 42494f53 5f4b4559 424f4152 4400414f BIOS_KEYBOARD.AO │ │ │ │ - 0x00000080 55545f54 45585400 414f5554 5f444154 UT_TEXT.AOUT_DAT │ │ │ │ - 0x00000090 4100414f 55545f42 53530041 4f55545f A.AOUT_BSS.AOUT_ │ │ │ │ - 0x000000a0 53594d42 4f4c5300 414f5554 5f454e54 SYMBOLS.AOUT_ENT │ │ │ │ - 0x000000b0 52590041 4f55545f 48454144 45520053 RY.AOUT_HEADER.S │ │ │ │ - 0x000000c0 454c5f53 44415441 0053454c 5f524441 EL_SDATA.SEL_RDA │ │ │ │ - 0x000000d0 54410053 454c5f53 434f4445 0053454c TA.SEL_SCODE.SEL │ │ │ │ - 0x000000e0 5f53434f 44453136 00494e54 5f535953 _SCODE16.INT_SYS │ │ │ │ - 0x000000f0 004b4559 424f4152 445f4249 54007765 .KEYBOARD_BIT.we │ │ │ │ - 0x00000100 6c636f6d 655f6d73 67007075 74737472 lcome_msg.putstr │ │ │ │ - 0x00000110 00626f6f 74696e66 6f5f6d73 67007365 .bootinfo_msg.se │ │ │ │ - 0x00000120 74613230 0072656c 6f636174 655f6d73 ta20.relocate_ms │ │ │ │ - 0x00000130 6700656e 64006764 74646573 6300706d g.end.gdtdesc.pm │ │ │ │ - 0x00000140 5f737461 72740070 6d5f3136 00706d5f _start.pm_16.pm_ │ │ │ │ - 0x00000150 656e6400 6274785f 636c6965 6e740062 end.btx_client.b │ │ │ │ - 0x00000160 74785f63 6c69656e 745f656e 64006a75 tx_client_end.ju │ │ │ │ - 0x00000170 6d705f6d 65737361 67650070 75746300 mp_message.putc. │ │ │ │ - 0x00000180 73657461 32302e31 00736574 6132302e seta20.1.seta20. │ │ │ │ - 0x00000190 33007365 74613230 2e320070 7573685f 3.seta20.2.push_ │ │ │ │ - 0x000001a0 61726700 67647400 6764742e 31007374 arg.gdt.gdt.1.st │ │ │ │ - 0x000001b0 61727400 art. │ │ │ │ + 0x00000000 002e7265 6c2e7465 78740070 6d5f7374 ..rel.text.pm_st │ │ │ │ + 0x00000010 61727400 6274785f 636c6965 6e740067 art.btx_client.g │ │ │ │ + 0x00000020 64740070 75747374 7200626f 6f74696e dt.putstr.bootin │ │ │ │ + 0x00000030 666f5f6d 73670072 656c6f63 6174655f fo_msg.relocate_ │ │ │ │ + 0x00000040 6d736700 77656c63 6f6d655f 6d736700 msg.welcome_msg. │ │ │ │ + 0x00000050 70757368 5f617267 006a756d 705f6d65 push_arg.jump_me │ │ │ │ + 0x00000060 73736167 65006274 785f636c 69656e74 ssage.btx_client │ │ │ │ + 0x00000070 5f656e64 00706d5f 656e6400 70757463 _end.pm_end.putc │ │ │ │ + 0x00000080 00676474 64657363 002e7374 72746162 .gdtdesc..strtab │ │ │ │ + 0x00000090 002e7379 6d746162 004d454d 5f425458 ..symtab.MEM_BTX │ │ │ │ + 0x000000a0 5f454e54 52590041 4f55545f 454e5452 _ENTRY.AOUT_ENTR │ │ │ │ + 0x000000b0 59004d45 4d5f4152 475f4254 5800414f Y.MEM_ARG_BTX.AO │ │ │ │ + 0x000000c0 55545f54 45585400 4d454d5f 4254585f UT_TEXT.MEM_BTX_ │ │ │ │ + 0x000000d0 434c4945 4e54004b 4559424f 4152445f CLIENT.KEYBOARD_ │ │ │ │ + 0x000000e0 42495400 4d454d5f 4254585f 4f464653 BIT.MEM_BTX_OFFS │ │ │ │ + 0x000000f0 45540049 4e545f53 5953004d 454d5f42 ET.INT_SYS.MEM_B │ │ │ │ + 0x00000100 54585f41 44445245 53530041 4f55545f TX_ADDRESS.AOUT_ │ │ │ │ + 0x00000110 42535300 414f5554 5f53594d 424f4c53 BSS.AOUT_SYMBOLS │ │ │ │ + 0x00000120 00414f55 545f4845 41444552 004d454d .AOUT_HEADER.MEM │ │ │ │ + 0x00000130 5f415247 004d454d 5f415247 5f53495a _ARG.MEM_ARG_SIZ │ │ │ │ + 0x00000140 45004d45 4d5f5041 47455f53 495a4500 E.MEM_PAGE_SIZE. │ │ │ │ + 0x00000150 53454c5f 53434f44 45004d45 4d5f4249 SEL_SCODE.MEM_BI │ │ │ │ + 0x00000160 4f535f4b 4559424f 41524400 414f5554 OS_KEYBOARD.AOUT │ │ │ │ + 0x00000170 5f444154 41005345 4c5f5344 41544100 _DATA.SEL_SDATA. │ │ │ │ + 0x00000180 53454c5f 52444154 4100706d 5f313600 SEL_RDATA.pm_16. │ │ │ │ + 0x00000190 53454c5f 53434f44 45313600 73657461 SEL_SCODE16.seta │ │ │ │ + 0x000001a0 32302e33 00736574 6132302e 32006764 20.3.seta20.2.gd │ │ │ │ + 0x000001b0 742e3100 73657461 32302e31 00736574 t.1.seta20.1.set │ │ │ │ + 0x000001c0 61323000 a20. │ │ ├── zfsldr.o │ │ │ ├── readelf --wide --file-header {} │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ OS/ABI: UNIX - FreeBSD │ │ │ │ ABI Version: 0 │ │ │ │ Type: REL (Relocatable file) │ │ │ │ Machine: Intel 80386 │ │ │ │ Version: 0x1 │ │ │ │ Entry point address: 0x0 │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ - Start of section headers: 612 (bytes into file) │ │ │ │ + Start of section headers: 3232 (bytes into file) │ │ │ │ Flags: 0x0 │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ Number of program headers: 0 │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ - Number of section headers: 8 │ │ │ │ - Section header string table index: 5 │ │ │ │ + Number of section headers: 12 │ │ │ │ + Section header string table index: 1 │ │ │ ├── readelf --wide --sections {} │ │ │ │ @@ -1,17 +1,21 @@ │ │ │ │ -There are 8 section headers, starting at offset 0x264: │ │ │ │ +There are 12 section headers, starting at offset 0xca0: │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000200 00 AX 0 0 4 │ │ │ │ - [ 2] .rel.text REL 00000000 0007bc 000040 08 6 1 4 │ │ │ │ - [ 3] .data PROGBITS 00000000 000234 000000 00 WA 0 0 4 │ │ │ │ - [ 4] .bss NOBITS 00000000 000234 000000 00 WA 0 0 4 │ │ │ │ - [ 5] .shstrtab STRTAB 00000000 000234 000030 00 0 0 1 │ │ │ │ - [ 6] .symtab SYMTAB 00000000 0003a4 0002d0 10 7 44 4 │ │ │ │ - [ 7] .strtab STRTAB 00000000 000674 000146 00 0 0 1 │ │ │ │ + [ 1] .strtab STRTAB 00000000 000b04 00019c 00 0 0 1 │ │ │ │ + [ 2] .text PROGBITS 00000000 000034 000200 00 AX 0 0 4 │ │ │ │ + [ 3] .rel.text REL 00000000 0009c4 000038 08 11 2 4 │ │ │ │ + [ 4] .debug_info PROGBITS 00000000 000234 000357 00 0 0 1 │ │ │ │ + [ 5] .rel.debug_info REL 00000000 0009fc 0000f0 08 11 4 4 │ │ │ │ + [ 6] .debug_abbrev PROGBITS 00000000 00058b 000028 00 0 0 1 │ │ │ │ + [ 7] .debug_aranges PROGBITS 00000000 0005b3 000020 00 0 0 1 │ │ │ │ + [ 8] .rel.debug_aranges REL 00000000 000aec 000010 08 11 7 4 │ │ │ │ + [ 9] .debug_line PROGBITS 00000000 0005d3 00010e 00 0 0 1 │ │ │ │ + [10] .rel.debug_line REL 00000000 000afc 000008 08 11 9 4 │ │ │ │ + [11] .symtab SYMTAB 00000000 0006e4 0002e0 10 1 45 4 │ │ │ │ Key to Flags: │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ p (processor specific) │ │ │ ├── readelf --wide --symbols {} │ │ │ │ @@ -1,48 +1,49 @@ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 45 entries: │ │ │ │ +Symbol table '.symtab' contains 46 entries: │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ - 1: 00000000 0 SECTION LOCAL DEFAULT 1 │ │ │ │ - 2: 00000000 0 SECTION LOCAL DEFAULT 3 │ │ │ │ - 3: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 1: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ + 2: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ + 3: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ 4: 00000900 0 NOTYPE LOCAL DEFAULT ABS MEM_ARG │ │ │ │ - 5: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ + 5: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ 6: 00008000 0 NOTYPE LOCAL DEFAULT ABS MEM_BUF │ │ │ │ - 7: 00009000 0 NOTYPE LOCAL DEFAULT ABS MEM_BTX │ │ │ │ - 8: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 7: 00009010 0 NOTYPE LOCAL DEFAULT ABS MEM_JMP │ │ │ │ + 8: 00007c00 0 NOTYPE LOCAL DEFAULT ABS MEM_ORG │ │ │ │ 9: 0000a000 0 NOTYPE LOCAL DEFAULT ABS MEM_USR │ │ │ │ - 10: 00000472 0 NOTYPE LOCAL DEFAULT ABS BDA_BOOT │ │ │ │ - 11: 000001be 0 NOTYPE LOCAL DEFAULT ABS PRT_OFF │ │ │ │ + 10: 00000200 0 NOTYPE LOCAL DEFAULT ABS NSECT │ │ │ │ + 11: 000000a5 0 NOTYPE LOCAL DEFAULT ABS PRT_BSD │ │ │ │ 12: 00000004 0 NOTYPE LOCAL DEFAULT ABS PRT_NUM │ │ │ │ - 13: 000000a5 0 NOTYPE LOCAL DEFAULT ABS PRT_BSD │ │ │ │ + 13: 000001be 0 NOTYPE LOCAL DEFAULT ABS PRT_OFF │ │ │ │ 14: 00001000 0 NOTYPE LOCAL DEFAULT ABS SIZ_PAG │ │ │ │ 15: 00000200 0 NOTYPE LOCAL DEFAULT ABS SIZ_SEC │ │ │ │ - 16: 00000008 0 NOTYPE LOCAL DEFAULT ABS COPY_BLKS │ │ │ │ - 17: 00008000 0 NOTYPE LOCAL DEFAULT ABS COPY_BLK_SZ │ │ │ │ - 18: 00000200 0 NOTYPE LOCAL DEFAULT ABS NSECT │ │ │ │ - 19: 00000121 0 NOTYPE LOCAL DEFAULT 1 check_edd │ │ │ │ - 20: 000001ee 0 NOTYPE LOCAL DEFAULT 1 part4 │ │ │ │ - 21: 000000cb 0 NOTYPE LOCAL DEFAULT 1 read │ │ │ │ - 22: 00000021 0 NOTYPE LOCAL DEFAULT 1 main.1 │ │ │ │ - 23: 00000026 0 NOTYPE LOCAL DEFAULT 1 main.2 │ │ │ │ - 24: 00000033 0 NOTYPE LOCAL DEFAULT 1 main.3 │ │ │ │ - 25: 00000046 0 NOTYPE LOCAL DEFAULT 1 main.5 │ │ │ │ - 26: 00000176 0 NOTYPE LOCAL DEFAULT 1 msg_part │ │ │ │ - 27: 000000fc 0 NOTYPE LOCAL DEFAULT 1 error │ │ │ │ - 28: 00000059 0 NOTYPE LOCAL DEFAULT 1 main.6 │ │ │ │ - 29: 0000008c 0 NOTYPE LOCAL DEFAULT 1 copyloop │ │ │ │ - 30: 000000af 0 NOTYPE LOCAL DEFAULT 1 seta20 │ │ │ │ - 31: 000000b0 0 NOTYPE LOCAL DEFAULT 1 seta20.1 │ │ │ │ - 32: 000000c7 0 NOTYPE LOCAL DEFAULT 1 seta20.3 │ │ │ │ - 33: 000000bd 0 NOTYPE LOCAL DEFAULT 1 seta20.2 │ │ │ │ - 34: 000000f1 0 NOTYPE LOCAL DEFAULT 1 read.1 │ │ │ │ - 35: 00000173 0 NOTYPE LOCAL DEFAULT 1 read_err │ │ │ │ - 36: 00000142 0 NOTYPE LOCAL DEFAULT 1 hex8 │ │ │ │ - 37: 00000167 0 NOTYPE LOCAL DEFAULT 1 msg_read │ │ │ │ - 38: 0000011b 0 NOTYPE LOCAL DEFAULT 1 putstr │ │ │ │ - 39: 00000181 0 NOTYPE LOCAL DEFAULT 1 prompt │ │ │ │ - 40: 00000114 0 NOTYPE LOCAL DEFAULT 1 putstr.0 │ │ │ │ - 41: 0000013d 0 NOTYPE LOCAL DEFAULT 1 check_edd.1 │ │ │ │ - 42: 00000155 0 NOTYPE LOCAL DEFAULT 1 msg_chs │ │ │ │ - 43: 0000014a 0 NOTYPE LOCAL DEFAULT 1 hex8.1 │ │ │ │ - 44: 00000000 0 NOTYPE GLOBAL DEFAULT 1 start │ │ │ │ + 16: 00000121 0 NOTYPE LOCAL DEFAULT 2 check_edd │ │ │ │ + 17: 0000013d 0 NOTYPE LOCAL DEFAULT 2 check_edd.1 │ │ │ │ + 18: 0000008c 0 NOTYPE LOCAL DEFAULT 2 copyloop │ │ │ │ + 19: 000000fc 0 NOTYPE LOCAL DEFAULT 2 error │ │ │ │ + 20: 00000142 0 NOTYPE LOCAL DEFAULT 2 hex8 │ │ │ │ + 21: 0000014a 0 NOTYPE LOCAL DEFAULT 2 hex8.1 │ │ │ │ + 22: 00000021 0 NOTYPE LOCAL DEFAULT 2 main.1 │ │ │ │ + 23: 00000026 0 NOTYPE LOCAL DEFAULT 2 main.2 │ │ │ │ + 24: 00000033 0 NOTYPE LOCAL DEFAULT 2 main.3 │ │ │ │ + 25: 00000046 0 NOTYPE LOCAL DEFAULT 2 main.5 │ │ │ │ + 26: 00000059 0 NOTYPE LOCAL DEFAULT 2 main.6 │ │ │ │ + 27: 00000155 0 NOTYPE LOCAL DEFAULT 2 msg_chs │ │ │ │ + 28: 00000176 0 NOTYPE LOCAL DEFAULT 2 msg_part │ │ │ │ + 29: 00000167 0 NOTYPE LOCAL DEFAULT 2 msg_read │ │ │ │ + 30: 000001ee 0 NOTYPE LOCAL DEFAULT 2 part4 │ │ │ │ + 31: 00000181 0 NOTYPE LOCAL DEFAULT 2 prompt │ │ │ │ + 32: 0000011b 0 NOTYPE LOCAL DEFAULT 2 putstr │ │ │ │ + 33: 00000114 0 NOTYPE LOCAL DEFAULT 2 putstr.0 │ │ │ │ + 34: 000000cb 0 NOTYPE LOCAL DEFAULT 2 read │ │ │ │ + 35: 000000f1 0 NOTYPE LOCAL DEFAULT 2 read.1 │ │ │ │ + 36: 00000173 0 NOTYPE LOCAL DEFAULT 2 read_err │ │ │ │ + 37: 000000af 0 NOTYPE LOCAL DEFAULT 2 seta20 │ │ │ │ + 38: 000000b0 0 NOTYPE LOCAL DEFAULT 2 seta20.1 │ │ │ │ + 39: 000000bd 0 NOTYPE LOCAL DEFAULT 2 seta20.2 │ │ │ │ + 40: 000000c7 0 NOTYPE LOCAL DEFAULT 2 seta20.3 │ │ │ │ + 41: 00000000 0 SECTION LOCAL DEFAULT 2 │ │ │ │ + 42: 00000000 0 SECTION LOCAL DEFAULT 4 │ │ │ │ + 43: 00000000 0 SECTION LOCAL DEFAULT 6 │ │ │ │ + 44: 00000000 0 SECTION LOCAL DEFAULT 9 │ │ │ │ + 45: 00000000 0 NOTYPE GLOBAL DEFAULT 2 start │ │ │ ├── readelf --wide --relocs {} │ │ │ │ @@ -1,11 +1,52 @@ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7bc contains 8 entries: │ │ │ │ +Relocation section '.rel.text' at offset 0x9c4 contains 7 entries: │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ -0000000a 00002c14 R_386_16 00000000 start │ │ │ │ -00000010 00000114 R_386_16 00000000 .text │ │ │ │ -00000041 00000114 R_386_16 00000000 .text │ │ │ │ -000000f4 00000114 R_386_16 00000000 .text │ │ │ │ -000000fa 00000114 R_386_16 00000000 .text │ │ │ │ -00000100 00000114 R_386_16 00000000 .text │ │ │ │ -0000013e 00000114 R_386_16 00000000 .text │ │ │ │ -000000c9 00002c15 R_386_PC16 00000000 start │ │ │ │ +0000000a 00002d14 R_386_16 00000000 start │ │ │ │ +00000010 00002914 R_386_16 00000000 .text │ │ │ │ +00000041 00002914 R_386_16 00000000 .text │ │ │ │ +000000f4 00002914 R_386_16 00000000 .text │ │ │ │ +000000fa 00002914 R_386_16 00000000 .text │ │ │ │ +00000100 00002914 R_386_16 00000000 .text │ │ │ │ +0000013e 00002914 R_386_16 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_info' at offset 0x9fc contains 30 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00002b01 R_386_32 00000000 .debug_abbrev │ │ │ │ +0000000c 00002c01 R_386_32 00000000 .debug_line │ │ │ │ +00000010 00002901 R_386_32 00000000 .text │ │ │ │ +00000014 00002901 R_386_32 00000000 .text │ │ │ │ +000000fd 00002901 R_386_32 00000000 .text │ │ │ │ +00000114 00002901 R_386_32 00000000 .text │ │ │ │ +0000012b 00002901 R_386_32 00000000 .text │ │ │ │ +00000142 00002901 R_386_32 00000000 .text │ │ │ │ +00000159 00002901 R_386_32 00000000 .text │ │ │ │ +00000170 00002901 R_386_32 00000000 .text │ │ │ │ +00000189 00002901 R_386_32 00000000 .text │ │ │ │ +000001a0 00002901 R_386_32 00000000 .text │ │ │ │ +000001b9 00002901 R_386_32 00000000 .text │ │ │ │ +000001d2 00002901 R_386_32 00000000 .text │ │ │ │ +000001eb 00002901 R_386_32 00000000 .text │ │ │ │ +00000200 00002901 R_386_32 00000000 .text │ │ │ │ +00000217 00002901 R_386_32 00000000 .text │ │ │ │ +0000022d 00002901 R_386_32 00000000 .text │ │ │ │ +00000246 00002901 R_386_32 00000000 .text │ │ │ │ +0000025d 00002901 R_386_32 00000000 .text │ │ │ │ +00000277 00002901 R_386_32 00000000 .text │ │ │ │ +00000293 00002901 R_386_32 00000000 .text │ │ │ │ +000002a8 00002901 R_386_32 00000000 .text │ │ │ │ +000002bf 00002901 R_386_32 00000000 .text │ │ │ │ +000002d7 00002901 R_386_32 00000000 .text │ │ │ │ +000002f0 00002901 R_386_32 00000000 .text │ │ │ │ +00000309 00002901 R_386_32 00000000 .text │ │ │ │ +00000322 00002901 R_386_32 00000000 .text │ │ │ │ +00000339 00002901 R_386_32 00000000 .text │ │ │ │ +0000034f 00002901 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_aranges' at offset 0xaec contains 2 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +00000006 00002a01 R_386_32 00000000 .debug_info │ │ │ │ +00000010 00002901 R_386_32 00000000 .text │ │ │ │ + │ │ │ │ +Relocation section '.rel.debug_line' at offset 0xafc contains 1 entries: │ │ │ │ + Offset Info Type Sym. Value Symbol's Name │ │ │ │ +0000006e 00002901 R_386_32 00000000 .text │ │ │ ├── readelf --wide --debug-dump=rawline {} │ │ │ │ @@ -0,0 +1,187 @@ │ │ │ │ +Raw dump of debug contents of section .debug_line: │ │ │ │ + │ │ │ │ + Offset: 0x0 │ │ │ │ + Length: 266 │ │ │ │ + DWARF Version: 2 │ │ │ │ + Prologue Length: 95 │ │ │ │ + Minimum Instruction Length: 1 │ │ │ │ + Initial value of 'is_stmt': 1 │ │ │ │ + Line Base: -5 │ │ │ │ + Line Range: 14 │ │ │ │ + Opcode Base: 13 │ │ │ │ + │ │ │ │ + Opcodes: │ │ │ │ + Opcode 1 has 0 args │ │ │ │ + Opcode 2 has 1 args │ │ │ │ + Opcode 3 has 1 args │ │ │ │ + Opcode 4 has 1 args │ │ │ │ + Opcode 5 has 1 args │ │ │ │ + Opcode 6 has 0 args │ │ │ │ + Opcode 7 has 0 args │ │ │ │ + Opcode 8 has 0 args │ │ │ │ + Opcode 9 has 1 args │ │ │ │ + Opcode 10 has 0 args │ │ │ │ + Opcode 11 has 0 args │ │ │ │ + Opcode 12 has 1 args │ │ │ │ + │ │ │ │ + The Directory Table (offset 0x1b): │ │ │ │ + 1 /usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot │ │ │ │ + │ │ │ │ + The File Name Table (offset 0x50): │ │ │ │ + Entry Dir Time Size Name │ │ │ │ + 1 0 0 0 zfsldr.S │ │ │ │ + 2 1 0 0 zfsldr.S │ │ │ │ + │ │ │ │ + Line Number Statements: │ │ │ │ + [0x00000069] Set File Name to entry 2 in the File Name Table │ │ │ │ + [0x0000006b] Extended opcode 2: set Address to 0x0 │ │ │ │ + [0x00000072] Advance Line by 51 to 52 │ │ │ │ + [0x00000074] Copy │ │ │ │ + [0x00000075] Special opcode 20: advance Address by 1 to 0x1 and Line by 1 to 53 │ │ │ │ + [0x00000076] Special opcode 34: advance Address by 2 to 0x3 and Line by 1 to 54 │ │ │ │ + [0x00000077] Special opcode 34: advance Address by 2 to 0x5 and Line by 1 to 55 │ │ │ │ + [0x00000078] Special opcode 34: advance Address by 2 to 0x7 and Line by 1 to 56 │ │ │ │ + [0x00000079] Special opcode 34: advance Address by 2 to 0x9 and Line by 1 to 57 │ │ │ │ + [0x0000007a] Special opcode 55: advance Address by 3 to 0xc and Line by 8 to 65 │ │ │ │ + [0x0000007b] Special opcode 48: advance Address by 3 to 0xf and Line by 1 to 66 │ │ │ │ + [0x0000007c] Special opcode 48: advance Address by 3 to 0x12 and Line by 1 to 67 │ │ │ │ + [0x0000007d] Special opcode 48: advance Address by 3 to 0x15 and Line by 1 to 68 │ │ │ │ + [0x0000007e] Special opcode 90: advance Address by 6 to 0x1b and Line by 1 to 69 │ │ │ │ + [0x0000007f] Special opcode 48: advance Address by 3 to 0x1e and Line by 1 to 70 │ │ │ │ + [0x00000080] Special opcode 48: advance Address by 3 to 0x21 and Line by 1 to 71 │ │ │ │ + [0x00000081] Special opcode 48: advance Address by 3 to 0x24 and Line by 1 to 72 │ │ │ │ + [0x00000082] Special opcode 34: advance Address by 2 to 0x26 and Line by 1 to 73 │ │ │ │ + [0x00000083] Special opcode 62: advance Address by 4 to 0x2a and Line by 1 to 74 │ │ │ │ + [0x00000084] Special opcode 34: advance Address by 2 to 0x2c and Line by 1 to 75 │ │ │ │ + [0x00000085] Special opcode 34: advance Address by 2 to 0x2e and Line by 1 to 76 │ │ │ │ + [0x00000086] Special opcode 48: advance Address by 3 to 0x31 and Line by 1 to 77 │ │ │ │ + [0x00000087] Special opcode 34: advance Address by 2 to 0x33 and Line by 1 to 78 │ │ │ │ + [0x00000088] Special opcode 48: advance Address by 3 to 0x36 and Line by 1 to 79 │ │ │ │ + [0x00000089] Special opcode 34: advance Address by 2 to 0x38 and Line by 1 to 80 │ │ │ │ + [0x0000008a] Special opcode 48: advance Address by 3 to 0x3b and Line by 1 to 81 │ │ │ │ + [0x0000008b] Special opcode 34: advance Address by 2 to 0x3d and Line by 1 to 82 │ │ │ │ + [0x0000008c] Special opcode 20: advance Address by 1 to 0x3e and Line by 1 to 83 │ │ │ │ + [0x0000008d] Special opcode 38: advance Address by 2 to 0x40 and Line by 5 to 88 │ │ │ │ + [0x0000008e] Special opcode 48: advance Address by 3 to 0x43 and Line by 1 to 89 │ │ │ │ + [0x0000008f] Advance Line by 23 to 112 │ │ │ │ + [0x00000091] Special opcode 47: advance Address by 3 to 0x46 and Line by 0 to 112 │ │ │ │ + [0x00000092] Special opcode 62: advance Address by 4 to 0x4a and Line by 1 to 113 │ │ │ │ + [0x00000093] Special opcode 48: advance Address by 3 to 0x4d and Line by 1 to 114 │ │ │ │ + [0x00000094] Special opcode 90: advance Address by 6 to 0x53 and Line by 1 to 115 │ │ │ │ + [0x00000095] Special opcode 90: advance Address by 6 to 0x59 and Line by 1 to 116 │ │ │ │ + [0x00000096] Special opcode 34: advance Address by 2 to 0x5b and Line by 1 to 117 │ │ │ │ + [0x00000097] Special opcode 48: advance Address by 3 to 0x5e and Line by 1 to 118 │ │ │ │ + [0x00000098] Special opcode 34: advance Address by 2 to 0x60 and Line by 1 to 119 │ │ │ │ + [0x00000099] Special opcode 34: advance Address by 2 to 0x62 and Line by 1 to 120 │ │ │ │ + [0x0000009a] Special opcode 104: advance Address by 7 to 0x69 and Line by 1 to 121 │ │ │ │ + [0x0000009b] Special opcode 35: advance Address by 2 to 0x6b and Line by 2 to 123 │ │ │ │ + [0x0000009c] Special opcode 48: advance Address by 3 to 0x6e and Line by 1 to 124 │ │ │ │ + [0x0000009d] Special opcode 48: advance Address by 3 to 0x71 and Line by 1 to 125 │ │ │ │ + [0x0000009e] Special opcode 34: advance Address by 2 to 0x73 and Line by 1 to 126 │ │ │ │ + [0x0000009f] Special opcode 20: advance Address by 1 to 0x74 and Line by 1 to 127 │ │ │ │ + [0x000000a0] Special opcode 34: advance Address by 2 to 0x76 and Line by 1 to 128 │ │ │ │ + [0x000000a1] Special opcode 48: advance Address by 3 to 0x79 and Line by 1 to 129 │ │ │ │ + [0x000000a2] Special opcode 48: advance Address by 3 to 0x7c and Line by 1 to 130 │ │ │ │ + [0x000000a3] Special opcode 48: advance Address by 3 to 0x7f and Line by 1 to 131 │ │ │ │ + [0x000000a4] Special opcode 34: advance Address by 2 to 0x81 and Line by 1 to 132 │ │ │ │ + [0x000000a5] Special opcode 48: advance Address by 3 to 0x84 and Line by 1 to 133 │ │ │ │ + [0x000000a6] Special opcode 48: advance Address by 3 to 0x87 and Line by 1 to 134 │ │ │ │ + [0x000000a7] Special opcode 34: advance Address by 2 to 0x89 and Line by 1 to 135 │ │ │ │ + [0x000000a8] Special opcode 49: advance Address by 3 to 0x8c and Line by 2 to 137 │ │ │ │ + [0x000000a9] Special opcode 62: advance Address by 4 to 0x90 and Line by 1 to 138 │ │ │ │ + [0x000000aa] Special opcode 34: advance Address by 2 to 0x92 and Line by 1 to 139 │ │ │ │ + [0x000000ab] Special opcode 48: advance Address by 3 to 0x95 and Line by 1 to 140 │ │ │ │ + [0x000000ac] Special opcode 34: advance Address by 2 to 0x97 and Line by 1 to 141 │ │ │ │ + [0x000000ad] Special opcode 48: advance Address by 3 to 0x9a and Line by 1 to 142 │ │ │ │ + [0x000000ae] Special opcode 34: advance Address by 2 to 0x9c and Line by 1 to 143 │ │ │ │ + [0x000000af] Special opcode 48: advance Address by 3 to 0x9f and Line by 1 to 144 │ │ │ │ + [0x000000b0] Special opcode 34: advance Address by 2 to 0xa1 and Line by 1 to 145 │ │ │ │ + [0x000000b1] Special opcode 48: advance Address by 3 to 0xa4 and Line by 1 to 146 │ │ │ │ + [0x000000b2] Special opcode 20: advance Address by 1 to 0xa5 and Line by 1 to 147 │ │ │ │ + [0x000000b3] Special opcode 19: advance Address by 1 to 0xa6 and Line by 0 to 147 │ │ │ │ + [0x000000b4] Special opcode 20: advance Address by 1 to 0xa7 and Line by 1 to 148 │ │ │ │ + [0x000000b5] Special opcode 20: advance Address by 1 to 0xa8 and Line by 1 to 149 │ │ │ │ + [0x000000b6] Special opcode 34: advance Address by 2 to 0xaa and Line by 1 to 150 │ │ │ │ + [0x000000b7] Special opcode 34: advance Address by 2 to 0xac and Line by 1 to 151 │ │ │ │ + [0x000000b8] Special opcode 34: advance Address by 2 to 0xae and Line by 1 to 152 │ │ │ │ + [0x000000b9] Special opcode 26: advance Address by 1 to 0xaf and Line by 7 to 159 │ │ │ │ + [0x000000ba] Special opcode 20: advance Address by 1 to 0xb0 and Line by 1 to 160 │ │ │ │ + [0x000000bb] Special opcode 20: advance Address by 1 to 0xb1 and Line by 1 to 161 │ │ │ │ + [0x000000bc] Special opcode 34: advance Address by 2 to 0xb3 and Line by 1 to 162 │ │ │ │ + [0x000000bd] Special opcode 34: advance Address by 2 to 0xb5 and Line by 1 to 163 │ │ │ │ + [0x000000be] Special opcode 34: advance Address by 2 to 0xb7 and Line by 1 to 164 │ │ │ │ + [0x000000bf] Special opcode 34: advance Address by 2 to 0xb9 and Line by 1 to 165 │ │ │ │ + [0x000000c0] Special opcode 34: advance Address by 2 to 0xbb and Line by 1 to 166 │ │ │ │ + [0x000000c1] Special opcode 34: advance Address by 2 to 0xbd and Line by 1 to 167 │ │ │ │ + [0x000000c2] Special opcode 34: advance Address by 2 to 0xbf and Line by 1 to 168 │ │ │ │ + [0x000000c3] Special opcode 34: advance Address by 2 to 0xc1 and Line by 1 to 169 │ │ │ │ + [0x000000c4] Special opcode 34: advance Address by 2 to 0xc3 and Line by 1 to 170 │ │ │ │ + [0x000000c5] Special opcode 34: advance Address by 2 to 0xc5 and Line by 1 to 171 │ │ │ │ + [0x000000c6] Special opcode 34: advance Address by 2 to 0xc7 and Line by 1 to 172 │ │ │ │ + [0x000000c7] Special opcode 21: advance Address by 1 to 0xc8 and Line by 2 to 174 │ │ │ │ + [0x000000c8] Advance Line by 13 to 187 │ │ │ │ + [0x000000ca] Special opcode 47: advance Address by 3 to 0xcb and Line by 0 to 187 │ │ │ │ + [0x000000cb] Special opcode 48: advance Address by 3 to 0xce and Line by 1 to 188 │ │ │ │ + [0x000000cc] Special opcode 62: advance Address by 4 to 0xd2 and Line by 1 to 189 │ │ │ │ + [0x000000cd] Special opcode 62: advance Address by 4 to 0xd6 and Line by 1 to 190 │ │ │ │ + [0x000000ce] Special opcode 34: advance Address by 2 to 0xd8 and Line by 1 to 191 │ │ │ │ + [0x000000cf] Special opcode 34: advance Address by 2 to 0xda and Line by 1 to 192 │ │ │ │ + [0x000000d0] Special opcode 62: advance Address by 4 to 0xde and Line by 1 to 193 │ │ │ │ + [0x000000d1] Special opcode 20: advance Address by 1 to 0xdf and Line by 1 to 194 │ │ │ │ + [0x000000d2] Special opcode 34: advance Address by 2 to 0xe1 and Line by 1 to 195 │ │ │ │ + [0x000000d3] Special opcode 34: advance Address by 2 to 0xe3 and Line by 1 to 196 │ │ │ │ + [0x000000d4] Special opcode 34: advance Address by 2 to 0xe5 and Line by 1 to 197 │ │ │ │ + [0x000000d5] Special opcode 34: advance Address by 2 to 0xe7 and Line by 1 to 198 │ │ │ │ + [0x000000d6] Special opcode 34: advance Address by 2 to 0xe9 and Line by 1 to 199 │ │ │ │ + [0x000000d7] Special opcode 34: advance Address by 2 to 0xeb and Line by 1 to 200 │ │ │ │ + [0x000000d8] Special opcode 34: advance Address by 2 to 0xed and Line by 1 to 201 │ │ │ │ + [0x000000d9] Special opcode 48: advance Address by 3 to 0xf0 and Line by 1 to 202 │ │ │ │ + [0x000000da] Special opcode 20: advance Address by 1 to 0xf1 and Line by 1 to 203 │ │ │ │ + [0x000000db] Special opcode 34: advance Address by 2 to 0xf3 and Line by 1 to 204 │ │ │ │ + [0x000000dc] Special opcode 48: advance Address by 3 to 0xf6 and Line by 1 to 205 │ │ │ │ + [0x000000dd] Special opcode 48: advance Address by 3 to 0xf9 and Line by 1 to 206 │ │ │ │ + [0x000000de] Advance Line by 9 to 215 │ │ │ │ + [0x000000e0] Special opcode 47: advance Address by 3 to 0xfc and Line by 0 to 215 │ │ │ │ + [0x000000e1] Special opcode 48: advance Address by 3 to 0xff and Line by 1 to 216 │ │ │ │ + [0x000000e2] Special opcode 48: advance Address by 3 to 0x102 and Line by 1 to 217 │ │ │ │ + [0x000000e3] Special opcode 48: advance Address by 3 to 0x105 and Line by 1 to 218 │ │ │ │ + [0x000000e4] Special opcode 34: advance Address by 2 to 0x107 and Line by 1 to 219 │ │ │ │ + [0x000000e5] Special opcode 34: advance Address by 2 to 0x109 and Line by 1 to 220 │ │ │ │ + [0x000000e6] Special opcode 90: advance Address by 6 to 0x10f and Line by 1 to 221 │ │ │ │ + [0x000000e7] Special opcode 79: advance Address by 5 to 0x114 and Line by 4 to 225 │ │ │ │ + [0x000000e8] Special opcode 48: advance Address by 3 to 0x117 and Line by 1 to 226 │ │ │ │ + [0x000000e9] Special opcode 34: advance Address by 2 to 0x119 and Line by 1 to 227 │ │ │ │ + [0x000000ea] Special opcode 34: advance Address by 2 to 0x11b and Line by 1 to 228 │ │ │ │ + [0x000000eb] Special opcode 20: advance Address by 1 to 0x11c and Line by 1 to 229 │ │ │ │ + [0x000000ec] Special opcode 34: advance Address by 2 to 0x11e and Line by 1 to 230 │ │ │ │ + [0x000000ed] Special opcode 34: advance Address by 2 to 0x120 and Line by 1 to 231 │ │ │ │ + [0x000000ee] Special opcode 24: advance Address by 1 to 0x121 and Line by 5 to 236 │ │ │ │ + [0x000000ef] Special opcode 48: advance Address by 3 to 0x124 and Line by 1 to 237 │ │ │ │ + [0x000000f0] Special opcode 34: advance Address by 2 to 0x126 and Line by 1 to 238 │ │ │ │ + [0x000000f1] Special opcode 48: advance Address by 3 to 0x129 and Line by 1 to 239 │ │ │ │ + [0x000000f2] Special opcode 20: advance Address by 1 to 0x12a and Line by 1 to 240 │ │ │ │ + [0x000000f3] Special opcode 34: advance Address by 2 to 0x12c and Line by 1 to 241 │ │ │ │ + [0x000000f4] Special opcode 34: advance Address by 2 to 0x12e and Line by 1 to 242 │ │ │ │ + [0x000000f5] Special opcode 20: advance Address by 1 to 0x12f and Line by 1 to 243 │ │ │ │ + [0x000000f6] Special opcode 34: advance Address by 2 to 0x131 and Line by 1 to 244 │ │ │ │ + [0x000000f7] Special opcode 62: advance Address by 4 to 0x135 and Line by 1 to 245 │ │ │ │ + [0x000000f8] Special opcode 34: advance Address by 2 to 0x137 and Line by 1 to 246 │ │ │ │ + [0x000000f9] Special opcode 48: advance Address by 3 to 0x13a and Line by 1 to 247 │ │ │ │ + [0x000000fa] Special opcode 34: advance Address by 2 to 0x13c and Line by 1 to 248 │ │ │ │ + [0x000000fb] Special opcode 20: advance Address by 1 to 0x13d and Line by 1 to 249 │ │ │ │ + [0x000000fc] Special opcode 48: advance Address by 3 to 0x140 and Line by 1 to 250 │ │ │ │ + [0x000000fd] Special opcode 37: advance Address by 2 to 0x142 and Line by 4 to 254 │ │ │ │ + [0x000000fe] Special opcode 20: advance Address by 1 to 0x143 and Line by 1 to 255 │ │ │ │ + [0x000000ff] Special opcode 48: advance Address by 3 to 0x146 and Line by 1 to 256 │ │ │ │ + [0x00000100] Special opcode 48: advance Address by 3 to 0x149 and Line by 1 to 257 │ │ │ │ + [0x00000101] Special opcode 20: advance Address by 1 to 0x14a and Line by 1 to 258 │ │ │ │ + [0x00000102] Special opcode 34: advance Address by 2 to 0x14c and Line by 1 to 259 │ │ │ │ + [0x00000103] Special opcode 34: advance Address by 2 to 0x14e and Line by 1 to 260 │ │ │ │ + [0x00000104] Special opcode 34: advance Address by 2 to 0x150 and Line by 1 to 261 │ │ │ │ + [0x00000105] Special opcode 20: advance Address by 1 to 0x151 and Line by 1 to 262 │ │ │ │ + [0x00000106] Special opcode 34: advance Address by 2 to 0x153 and Line by 1 to 263 │ │ │ │ + [0x00000107] Special opcode 20: advance Address by 1 to 0x154 and Line by 1 to 264 │ │ │ │ + [0x00000108] Advance PC by 172 to 0x200 │ │ │ │ + [0x0000010b] Extended opcode 1: End of Sequence │ │ │ │ + │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=info {} │ │ │ │ @@ -0,0 +1,225 @@ │ │ │ │ +Contents of the .debug_info section: │ │ │ │ + │ │ │ │ + Compilation Unit @ offset 0x0: │ │ │ │ + Length: 0x353 (32-bit) │ │ │ │ + Version: 2 │ │ │ │ + Abbrev Offset: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) │ │ │ │ + DW_AT_stmt_list : 0x0 │ │ │ │ + <10> DW_AT_low_pc : 0x0 │ │ │ │ + <14> DW_AT_high_pc : 0x200 │ │ │ │ + <18> DW_AT_name : /usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S │ │ │ │ + <55> DW_AT_comp_dir : /usr/obj/usr/home/emaste/src/freebsd-wip/amd64.amd64/stand/i386/zfsboot │ │ │ │ + <9d> DW_AT_producer : FreeBSD clang version 5.0.1 (branches/release_50 319231) (based on LLVM 5.0.1) │ │ │ │ + DW_AT_language : 32769 (MIPS assembler) │ │ │ │ + <1>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + DW_AT_name : start │ │ │ │ + DW_AT_decl_file : 0x1 │ │ │ │ + DW_AT_decl_line : 0x1f │ │ │ │ + DW_AT_low_pc : 0x0 │ │ │ │ + <101> DW_AT_prototyped : 0 │ │ │ │ + <2><102>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><103>: Abbrev Number: 0 │ │ │ │ + <1><104>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <105> DW_AT_name : main.1 │ │ │ │ + <10c> DW_AT_decl_file : 0x2 │ │ │ │ + <110> DW_AT_decl_line : 0x32 │ │ │ │ + <114> DW_AT_low_pc : 0x21 │ │ │ │ + <118> DW_AT_prototyped : 0 │ │ │ │ + <2><119>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><11a>: Abbrev Number: 0 │ │ │ │ + <1><11b>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <11c> DW_AT_name : main.2 │ │ │ │ + <123> DW_AT_decl_file : 0x2 │ │ │ │ + <127> DW_AT_decl_line : 0x34 │ │ │ │ + <12b> DW_AT_low_pc : 0x26 │ │ │ │ + <12f> DW_AT_prototyped : 0 │ │ │ │ + <2><130>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><131>: Abbrev Number: 0 │ │ │ │ + <1><132>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <133> DW_AT_name : main.3 │ │ │ │ + <13a> DW_AT_decl_file : 0x2 │ │ │ │ + <13e> DW_AT_decl_line : 0x39 │ │ │ │ + <142> DW_AT_low_pc : 0x33 │ │ │ │ + <146> DW_AT_prototyped : 0 │ │ │ │ + <2><147>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><148>: Abbrev Number: 0 │ │ │ │ + <1><149>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <14a> DW_AT_name : main.5 │ │ │ │ + <151> DW_AT_decl_file : 0x2 │ │ │ │ + <155> DW_AT_decl_line : 0x46 │ │ │ │ + <159> DW_AT_low_pc : 0x46 │ │ │ │ + <15d> DW_AT_prototyped : 0 │ │ │ │ + <2><15e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><15f>: Abbrev Number: 0 │ │ │ │ + <1><160>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <161> DW_AT_name : main.6 │ │ │ │ + <168> DW_AT_decl_file : 0x2 │ │ │ │ + <16c> DW_AT_decl_line : 0x4a │ │ │ │ + <170> DW_AT_low_pc : 0x59 │ │ │ │ + <174> DW_AT_prototyped : 0 │ │ │ │ + <2><175>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><176>: Abbrev Number: 0 │ │ │ │ + <1><177>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <178> DW_AT_name : copyloop │ │ │ │ + <181> DW_AT_decl_file : 0x2 │ │ │ │ + <185> DW_AT_decl_line : 0x5e │ │ │ │ + <189> DW_AT_low_pc : 0x8c │ │ │ │ + <18d> DW_AT_prototyped : 0 │ │ │ │ + <2><18e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><18f>: Abbrev Number: 0 │ │ │ │ + <1><190>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <191> DW_AT_name : seta20 │ │ │ │ + <198> DW_AT_decl_file : 0x2 │ │ │ │ + <19c> DW_AT_decl_line : 0x75 │ │ │ │ + <1a0> DW_AT_low_pc : 0xaf │ │ │ │ + <1a4> DW_AT_prototyped : 0 │ │ │ │ + <2><1a5>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1a6>: Abbrev Number: 0 │ │ │ │ + <1><1a7>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1a8> DW_AT_name : seta20.1 │ │ │ │ + <1b1> DW_AT_decl_file : 0x2 │ │ │ │ + <1b5> DW_AT_decl_line : 0x76 │ │ │ │ + <1b9> DW_AT_low_pc : 0xb0 │ │ │ │ + <1bd> DW_AT_prototyped : 0 │ │ │ │ + <2><1be>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1bf>: Abbrev Number: 0 │ │ │ │ + <1><1c0>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1c1> DW_AT_name : seta20.2 │ │ │ │ + <1ca> DW_AT_decl_file : 0x2 │ │ │ │ + <1ce> DW_AT_decl_line : 0x7d │ │ │ │ + <1d2> DW_AT_low_pc : 0xbd │ │ │ │ + <1d6> DW_AT_prototyped : 0 │ │ │ │ + <2><1d7>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1d8>: Abbrev Number: 0 │ │ │ │ + <1><1d9>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1da> DW_AT_name : seta20.3 │ │ │ │ + <1e3> DW_AT_decl_file : 0x2 │ │ │ │ + <1e7> DW_AT_decl_line : 0x82 │ │ │ │ + <1eb> DW_AT_low_pc : 0xc7 │ │ │ │ + <1ef> DW_AT_prototyped : 0 │ │ │ │ + <2><1f0>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><1f1>: Abbrev Number: 0 │ │ │ │ + <1><1f2>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <1f3> DW_AT_name : read │ │ │ │ + <1f8> DW_AT_decl_file : 0x2 │ │ │ │ + <1fc> DW_AT_decl_line : 0x86 │ │ │ │ + <200> DW_AT_low_pc : 0xcb │ │ │ │ + <204> DW_AT_prototyped : 0 │ │ │ │ + <2><205>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><206>: Abbrev Number: 0 │ │ │ │ + <1><207>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <208> DW_AT_name : read.1 │ │ │ │ + <20f> DW_AT_decl_file : 0x2 │ │ │ │ + <213> DW_AT_decl_line : 0x96 │ │ │ │ + <217> DW_AT_low_pc : 0xf1 │ │ │ │ + <21b> DW_AT_prototyped : 0 │ │ │ │ + <2><21c>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><21d>: Abbrev Number: 0 │ │ │ │ + <1><21e>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <21f> DW_AT_name : error │ │ │ │ + <225> DW_AT_decl_file : 0x2 │ │ │ │ + <229> DW_AT_decl_line : 0xa2 │ │ │ │ + <22d> DW_AT_low_pc : 0xfc │ │ │ │ + <231> DW_AT_prototyped : 0 │ │ │ │ + <2><232>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><233>: Abbrev Number: 0 │ │ │ │ + <1><234>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <235> DW_AT_name : putstr.0 │ │ │ │ + <23e> DW_AT_decl_file : 0x2 │ │ │ │ + <242> DW_AT_decl_line : 0xac │ │ │ │ + <246> DW_AT_low_pc : 0x114 │ │ │ │ + <24a> DW_AT_prototyped : 0 │ │ │ │ + <2><24b>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><24c>: Abbrev Number: 0 │ │ │ │ + <1><24d>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <24e> DW_AT_name : putstr │ │ │ │ + <255> DW_AT_decl_file : 0x2 │ │ │ │ + <259> DW_AT_decl_line : 0xaf │ │ │ │ + <25d> DW_AT_low_pc : 0x11b │ │ │ │ + <261> DW_AT_prototyped : 0 │ │ │ │ + <2><262>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><263>: Abbrev Number: 0 │ │ │ │ + <1><264>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <265> DW_AT_name : check_edd │ │ │ │ + <26f> DW_AT_decl_file : 0x2 │ │ │ │ + <273> DW_AT_decl_line : 0xb7 │ │ │ │ + <277> DW_AT_low_pc : 0x121 │ │ │ │ + <27b> DW_AT_prototyped : 0 │ │ │ │ + <2><27c>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><27d>: Abbrev Number: 0 │ │ │ │ + <1><27e>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <27f> DW_AT_name : check_edd.1 │ │ │ │ + <28b> DW_AT_decl_file : 0x2 │ │ │ │ + <28f> DW_AT_decl_line : 0xc4 │ │ │ │ + <293> DW_AT_low_pc : 0x13d │ │ │ │ + <297> DW_AT_prototyped : 0 │ │ │ │ + <2><298>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><299>: Abbrev Number: 0 │ │ │ │ + <1><29a>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <29b> DW_AT_name : hex8 │ │ │ │ + <2a0> DW_AT_decl_file : 0x2 │ │ │ │ + <2a4> DW_AT_decl_line : 0xc9 │ │ │ │ + <2a8> DW_AT_low_pc : 0x142 │ │ │ │ + <2ac> DW_AT_prototyped : 0 │ │ │ │ + <2><2ad>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2ae>: Abbrev Number: 0 │ │ │ │ + <1><2af>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2b0> DW_AT_name : hex8.1 │ │ │ │ + <2b7> DW_AT_decl_file : 0x2 │ │ │ │ + <2bb> DW_AT_decl_line : 0xcd │ │ │ │ + <2bf> DW_AT_low_pc : 0x14a │ │ │ │ + <2c3> DW_AT_prototyped : 0 │ │ │ │ + <2><2c4>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2c5>: Abbrev Number: 0 │ │ │ │ + <1><2c6>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2c7> DW_AT_name : msg_chs │ │ │ │ + <2cf> DW_AT_decl_file : 0x2 │ │ │ │ + <2d3> DW_AT_decl_line : 0xd7 │ │ │ │ + <2d7> DW_AT_low_pc : 0x155 │ │ │ │ + <2db> DW_AT_prototyped : 0 │ │ │ │ + <2><2dc>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2dd>: Abbrev Number: 0 │ │ │ │ + <1><2de>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2df> DW_AT_name : msg_read │ │ │ │ + <2e8> DW_AT_decl_file : 0x2 │ │ │ │ + <2ec> DW_AT_decl_line : 0xd8 │ │ │ │ + <2f0> DW_AT_low_pc : 0x167 │ │ │ │ + <2f4> DW_AT_prototyped : 0 │ │ │ │ + <2><2f5>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><2f6>: Abbrev Number: 0 │ │ │ │ + <1><2f7>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <2f8> DW_AT_name : read_err │ │ │ │ + <301> DW_AT_decl_file : 0x2 │ │ │ │ + <305> DW_AT_decl_line : 0xd9 │ │ │ │ + <309> DW_AT_low_pc : 0x173 │ │ │ │ + <30d> DW_AT_prototyped : 0 │ │ │ │ + <2><30e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><30f>: Abbrev Number: 0 │ │ │ │ + <1><310>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <311> DW_AT_name : msg_part │ │ │ │ + <31a> DW_AT_decl_file : 0x2 │ │ │ │ + <31e> DW_AT_decl_line : 0xda │ │ │ │ + <322> DW_AT_low_pc : 0x176 │ │ │ │ + <326> DW_AT_prototyped : 0 │ │ │ │ + <2><327>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><328>: Abbrev Number: 0 │ │ │ │ + <1><329>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <32a> DW_AT_name : prompt │ │ │ │ + <331> DW_AT_decl_file : 0x2 │ │ │ │ + <335> DW_AT_decl_line : 0xdc │ │ │ │ + <339> DW_AT_low_pc : 0x181 │ │ │ │ + <33d> DW_AT_prototyped : 0 │ │ │ │ + <2><33e>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><33f>: Abbrev Number: 0 │ │ │ │ + <1><340>: Abbrev Number: 2 (DW_TAG_label) │ │ │ │ + <341> DW_AT_name : part4 │ │ │ │ + <347> DW_AT_decl_file : 0x2 │ │ │ │ + <34b> DW_AT_decl_line : 0xe3 │ │ │ │ + <34f> DW_AT_low_pc : 0x1ee │ │ │ │ + <353> DW_AT_prototyped : 0 │ │ │ │ + <2><354>: Abbrev Number: 3 (DW_TAG_unspecified_parameters) │ │ │ │ + <2><355>: Abbrev Number: 0 │ │ │ │ + <1><356>: Abbrev Number: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=abbrev {} │ │ │ │ @@ -0,0 +1,22 @@ │ │ │ │ +Contents of the .debug_abbrev section: │ │ │ │ + │ │ │ │ + Number TAG (0x0) │ │ │ │ + 1 DW_TAG_compile_unit [has children] │ │ │ │ + DW_AT_stmt_list DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_high_pc DW_FORM_addr │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_comp_dir DW_FORM_string │ │ │ │ + DW_AT_producer DW_FORM_string │ │ │ │ + DW_AT_language DW_FORM_data2 │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 2 DW_TAG_label [has children] │ │ │ │ + DW_AT_name DW_FORM_string │ │ │ │ + DW_AT_decl_file DW_FORM_data4 │ │ │ │ + DW_AT_decl_line DW_FORM_data4 │ │ │ │ + DW_AT_low_pc DW_FORM_addr │ │ │ │ + DW_AT_prototyped DW_FORM_flag │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + 3 DW_TAG_unspecified_parameters [no children] │ │ │ │ + DW_AT value: 0 DW_FORM value: 0 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=aranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000200 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── readelf --wide --debug-dump=ranges {} │ │ │ │ @@ -0,0 +1,12 @@ │ │ │ │ +Contents of the .debug_aranges section: │ │ │ │ + │ │ │ │ + Length: 28 │ │ │ │ + Version: 2 │ │ │ │ + Offset into .debug_info: 0x0 │ │ │ │ + Pointer Size: 4 │ │ │ │ + Segment Size: 0 │ │ │ │ + │ │ │ │ + Address Length │ │ │ │ + 00000000 00000200 │ │ │ │ + 00000000 00000000 │ │ │ │ + │ │ │ ├── objdump --line-numbers --disassemble --demangle --section=.text {} │ │ │ │ @@ -1,208 +1,329 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ start(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:52 │ │ │ │ 0: fc cld │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:53 │ │ │ │ 1: 31 c9 xor %ecx,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:54 │ │ │ │ 3: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:55 │ │ │ │ 5: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:56 │ │ │ │ 7: 8e d1 mov %ecx,%ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:57 │ │ │ │ 9: bc 00 00 e8 12 mov $0x12e80000,%esp │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:65 │ │ │ │ e: 01 be ee 01 66 31 add %edi,0x316601ee(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:67 │ │ │ │ 14: c0 66 bb 00 shlb $0x0,-0x45(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:68 │ │ │ │ 18: 80 00 00 addb $0x0,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:69 │ │ │ │ 1b: e8 ad 00 b9 01 call 1b900cd │ │ │ │ ... │ │ │ │ │ │ │ │ 00000021 : │ │ │ │ main.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:71 │ │ │ │ 21: be be 81 b6 01 mov $0x1b681be,%esi │ │ │ │ │ │ │ │ 00000026 : │ │ │ │ main.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:73 │ │ │ │ 26: 80 7c 04 a5 75 cmpb $0x75,-0x5b(%esp,%eax,1) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:74 │ │ │ │ 2b: 07 pop %es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:75 │ │ │ │ 2c: e3 18 jecxz 46 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:76 │ │ │ │ 2e: f6 04 80 75 testb $0x75,(%eax,%eax,4) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:77 │ │ │ │ 32: 13 .byte 0x13 │ │ │ │ │ │ │ │ 00000033 : │ │ │ │ main.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:78 │ │ │ │ 33: 83 c6 10 add $0x10,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:79 │ │ │ │ 36: fe c6 inc %dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:80 │ │ │ │ 38: 80 fe 05 cmp $0x5,%dh │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:81 │ │ │ │ 3b: 72 e9 jb 26 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:82 │ │ │ │ 3d: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:83 │ │ │ │ 3e: e3 e1 jecxz 21 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:88 │ │ │ │ 40: be 76 01 e9 b6 mov $0xb6e90176,%esi │ │ │ │ ... │ │ │ │ │ │ │ │ 00000046 : │ │ │ │ main.5(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:112 │ │ │ │ 46: 89 16 mov %edx,(%esi) │ │ │ │ 48: 00 09 add %cl,(%ecx) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:113 │ │ │ │ 4a: b9 00 02 66 b8 mov $0xb8660200,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:114 │ │ │ │ 4f: 00 04 00 add %al,(%eax,%eax,1) │ │ │ │ 52: 00 66 bb add %ah,-0x45(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:115 │ │ │ │ 55: 00 .byte 0x0 │ │ │ │ 56: 90 nop │ │ │ │ ... │ │ │ │ │ │ │ │ 00000059 : │ │ │ │ main.6(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:116 │ │ │ │ 59: 66 60 pushaw │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:117 │ │ │ │ 5b: e8 6d 00 66 61 call 616600cd │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:119 │ │ │ │ 60: 66 40 inc %ax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:120 │ │ │ │ 62: 66 81 c3 00 02 add $0x200,%bx │ │ │ │ 67: 00 00 add %al,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:121 │ │ │ │ 69: e2 ee loop 59 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:123 │ │ │ │ 6b: bb 00 90 8b 77 mov $0x778b9000,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:124 │ │ │ │ 70: 0a 01 or (%ecx),%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:125 │ │ │ │ 72: de 4e 89 fimul -0x77(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:127 │ │ │ │ 75: f0 c1 e8 04 lock shr $0x4,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:129 │ │ │ │ 79: 05 00 40 83 e6 add $0xe6834000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:130 │ │ │ │ 7e: 0f 8e d8 b8 00 0c jle c00b95c │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:133 │ │ │ │ 84: 05 00 40 8e c0 add $0xc08e4000,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:135 │ │ │ │ 89: bb .byte 0xbb │ │ │ │ 8a: 08 00 or %al,(%eax) │ │ │ │ │ │ │ │ 0000008c : │ │ │ │ copyloop(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:137 │ │ │ │ 8c: 81 c6 00 80 8c d8 add $0xd88c8000,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:139 │ │ │ │ 92: 2d 00 08 8e d8 sub $0xd88e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:141 │ │ │ │ 97: bf ff 7f 8c c0 mov $0xc08c7fff,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:143 │ │ │ │ 9c: 2d 00 08 8e c0 sub $0xc08e0800,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:145 │ │ │ │ a1: b9 00 80 fd f3 mov $0xf3fd8000,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:147 │ │ │ │ a6: a4 movsb %ds:(%esi),%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:148 │ │ │ │ a7: 4b dec %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:149 │ │ │ │ a8: 75 e2 jne 8c │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:150 │ │ │ │ aa: 8e d9 mov %ecx,%ds │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:151 │ │ │ │ ac: 8e c1 mov %ecx,%es │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:152 │ │ │ │ ae: fc cld │ │ │ │ │ │ │ │ 000000af : │ │ │ │ seta20(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:159 │ │ │ │ af: fa cli │ │ │ │ │ │ │ │ 000000b0 : │ │ │ │ seta20.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:160 │ │ │ │ b0: 49 dec %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:161 │ │ │ │ b1: 74 14 je c7 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:162 │ │ │ │ b3: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:163 │ │ │ │ b5: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:164 │ │ │ │ b7: 75 f7 jne b0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:165 │ │ │ │ b9: b0 d1 mov $0xd1,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:166 │ │ │ │ bb: e6 64 out %al,$0x64 │ │ │ │ │ │ │ │ 000000bd : │ │ │ │ seta20.2(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:167 │ │ │ │ bd: e4 64 in $0x64,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:168 │ │ │ │ bf: a8 02 test $0x2,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:169 │ │ │ │ c1: 75 fa jne bd │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:170 │ │ │ │ c3: b0 df mov $0xdf,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:171 │ │ │ │ c5: e6 60 out %al,$0x60 │ │ │ │ │ │ │ │ 000000c7 : │ │ │ │ seta20.3(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:172 │ │ │ │ c7: fb sti │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:174 │ │ │ │ c8: e9 .byte 0xe9 │ │ │ │ - c9: 0e push %cs │ │ │ │ - ca: 14 .byte 0x14 │ │ │ │ + c9: 45 inc %ebp │ │ │ │ + ca: 13 .byte 0x13 │ │ │ │ │ │ │ │ 000000cb : │ │ │ │ read(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:187 │ │ │ │ cb: 66 31 c9 xor %cx,%cx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:188 │ │ │ │ ce: 66 03 44 08 66 add 0x66(%eax,%ecx,1),%ax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:189 │ │ │ │ d3: 83 d1 00 adc $0x0,%ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:190 │ │ │ │ d6: 66 51 push %cx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:191 │ │ │ │ d8: 66 50 push %ax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:192 │ │ │ │ da: 66 c1 eb 04 shr $0x4,%bx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:193 │ │ │ │ de: 53 push %ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:194 │ │ │ │ df: 6a 00 push $0x0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:195 │ │ │ │ e1: 6a 01 push $0x1 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:196 │ │ │ │ e3: 6a 10 push $0x10 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:197 │ │ │ │ e5: 89 e6 mov %esp,%esi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:198 │ │ │ │ e7: b4 42 mov $0x42,%ah │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:199 │ │ │ │ e9: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:200 │ │ │ │ eb: 72 04 jb f1 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:201 │ │ │ │ ed: 8d 64 10 c3 lea -0x3d(%eax,%edx,1),%esp │ │ │ │ │ │ │ │ 000000f1 : │ │ │ │ read.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:203 │ │ │ │ f1: 88 e0 mov %ah,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:204 │ │ │ │ f3: bf 73 01 e8 49 mov $0x49e80173,%edi │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:205 │ │ │ │ f8: 00 .byte 0x0 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:206 │ │ │ │ f9: be .byte 0xbe │ │ │ │ fa: 67 addr16 │ │ │ │ fb: 01 .byte 0x1 │ │ │ │ │ │ │ │ 000000fc : │ │ │ │ error(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:215 │ │ │ │ fc: e8 1c 00 be 81 call 81be011d │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:216 │ │ │ │ 101: 01 e8 add %ebp,%eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:217 │ │ │ │ 103: 16 push %ss │ │ │ │ 104: 00 30 add %dh,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:218 │ │ │ │ 106: e4 cd in $0xcd,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:219 │ │ │ │ 108: 16 push %ss │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:220 │ │ │ │ 109: c7 06 72 04 34 12 movl $0x12340472,(%esi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:221 │ │ │ │ 10f: ea .byte 0xea │ │ │ │ 110: 00 00 add %al,(%eax) │ │ │ │ 112: ff (bad) │ │ │ │ 113: ff .byte 0xff │ │ │ │ │ │ │ │ 00000114 : │ │ │ │ putstr.0(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:225 │ │ │ │ 114: bb 07 00 b4 0e mov $0xeb40007,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:227 │ │ │ │ 119: cd 10 int $0x10 │ │ │ │ │ │ │ │ 0000011b : │ │ │ │ putstr(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:228 │ │ │ │ 11b: ac lods %ds:(%esi),%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:229 │ │ │ │ 11c: 84 c0 test %al,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:230 │ │ │ │ 11e: 75 f4 jne 114 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:231 │ │ │ │ 120: c3 ret │ │ │ │ │ │ │ │ 00000121 : │ │ │ │ check_edd(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:236 │ │ │ │ 121: 80 fa 80 cmp $0x80,%dl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:237 │ │ │ │ 124: 72 17 jb 13d │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:238 │ │ │ │ 126: bb aa 55 52 b4 mov $0xb45255aa,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:240 │ │ │ │ 12b: 41 inc %ecx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:241 │ │ │ │ 12c: cd 13 int $0x13 │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:242 │ │ │ │ 12e: 5a pop %edx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:243 │ │ │ │ 12f: 72 0c jb 13d │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:244 │ │ │ │ 131: 81 fb 55 aa 75 06 cmp $0x675aa55,%ebx │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:246 │ │ │ │ 137: f6 c1 01 test $0x1,%cl │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:247 │ │ │ │ 13a: 74 01 je 13d │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:248 │ │ │ │ 13c: c3 ret │ │ │ │ │ │ │ │ 0000013d : │ │ │ │ check_edd.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:249 │ │ │ │ 13d: be 55 01 eb ba mov $0xbaeb0155,%esi │ │ │ │ │ │ │ │ 00000142 : │ │ │ │ hex8(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:254 │ │ │ │ 142: 50 push %eax │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:255 │ │ │ │ 143: c0 e8 04 shr $0x4,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:256 │ │ │ │ 146: e8 .byte 0xe8 │ │ │ │ 147: 01 00 add %eax,(%eax) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:257 │ │ │ │ 149: 58 pop %eax │ │ │ │ │ │ │ │ 0000014a : │ │ │ │ hex8.1(): │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:258 │ │ │ │ 14a: 24 0f and $0xf,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:259 │ │ │ │ 14c: 3c 0a cmp $0xa,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:260 │ │ │ │ 14e: 1c 69 sbb $0x69,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:261 │ │ │ │ 150: 2f das │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:262 │ │ │ │ 151: 0c 20 or $0x20,%al │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:263 │ │ │ │ 153: aa stos %al,%es:(%edi) │ │ │ │ +/usr/home/emaste/src/freebsd-wip/stand/i386/zfsboot/zfsldr.S:264 │ │ │ │ 154: c3 ret │ │ │ │ │ │ │ │ 00000155 : │ │ │ │ msg_chs(): │ │ │ │ 155: 43 inc %ebx │ │ │ │ 156: 48 dec %eax │ │ │ │ 157: 53 push %ebx │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ @@ -1,24 +1,29 @@ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ - 0x00000000 004d454d 5f415247 004d454d 5f4f5247 .MEM_ARG.MEM_ORG │ │ │ │ - 0x00000010 004d454d 5f425546 004d454d 5f425458 .MEM_BUF.MEM_BTX │ │ │ │ - 0x00000020 004d454d 5f4a4d50 004d454d 5f555352 .MEM_JMP.MEM_USR │ │ │ │ - 0x00000030 00424441 5f424f4f 54005052 545f4f46 .BDA_BOOT.PRT_OF │ │ │ │ - 0x00000040 46005052 545f4e55 4d005052 545f4253 F.PRT_NUM.PRT_BS │ │ │ │ - 0x00000050 44005349 5a5f5041 47005349 5a5f5345 D.SIZ_PAG.SIZ_SE │ │ │ │ - 0x00000060 4300434f 50595f42 4c4b5300 434f5059 C.COPY_BLKS.COPY │ │ │ │ - 0x00000070 5f424c4b 5f535a00 4e534543 54006368 _BLK_SZ.NSECT.ch │ │ │ │ - 0x00000080 65636b5f 65646400 70617274 34007265 eck_edd.part4.re │ │ │ │ - 0x00000090 6164006d 61696e2e 31006d61 696e2e32 ad.main.1.main.2 │ │ │ │ - 0x000000a0 006d6169 6e2e3300 6d61696e 2e35006d .main.3.main.5.m │ │ │ │ - 0x000000b0 73675f70 61727400 6572726f 72006d61 sg_part.error.ma │ │ │ │ - 0x000000c0 696e2e36 00636f70 796c6f6f 70007365 in.6.copyloop.se │ │ │ │ - 0x000000d0 74613230 00736574 6132302e 31007365 ta20.seta20.1.se │ │ │ │ - 0x000000e0 74613230 2e330073 65746132 302e3200 ta20.3.seta20.2. │ │ │ │ - 0x000000f0 72656164 2e310072 6561645f 65727200 read.1.read_err. │ │ │ │ - 0x00000100 68657838 006d7367 5f726561 64007075 hex8.msg_read.pu │ │ │ │ - 0x00000110 74737472 0070726f 6d707400 70757473 tstr.prompt.puts │ │ │ │ - 0x00000120 74722e30 00636865 636b5f65 64642e31 tr.0.check_edd.1 │ │ │ │ - 0x00000130 006d7367 5f636873 00686578 382e3100 .msg_chs.hex8.1. │ │ │ │ - 0x00000140 73746172 7400 start. │ │ │ │ + 0x00000000 002e6465 6275675f 61626272 6576002e ..debug_abbrev.. │ │ │ │ + 0x00000010 72656c2e 74657874 00737461 7274006d rel.text.start.m │ │ │ │ + 0x00000020 73675f70 61727400 70726f6d 7074006d sg_part.prompt.m │ │ │ │ + 0x00000030 73675f63 6873002e 72656c2e 64656275 sg_chs..rel.debu │ │ │ │ + 0x00000040 675f6172 616e6765 73007075 74737472 g_aranges.putstr │ │ │ │ + 0x00000050 00726561 645f6572 72006572 726f7200 .read_err.error. │ │ │ │ + 0x00000060 636f7079 6c6f6f70 002e7265 6c2e6465 copyloop..rel.de │ │ │ │ + 0x00000070 6275675f 696e666f 002e7265 6c2e6465 bug_info..rel.de │ │ │ │ + 0x00000080 6275675f 6c696e65 00636865 636b5f65 bug_line.check_e │ │ │ │ + 0x00000090 6464006d 73675f72 65616400 2e737472 dd.msg_read..str │ │ │ │ + 0x000000a0 74616200 2e73796d 74616200 434f5059 tab..symtab.COPY │ │ │ │ + 0x000000b0 5f424c4b 5f535a00 4d454d5f 42545800 _BLK_SZ.MEM_BTX. │ │ │ │ + 0x000000c0 4244415f 424f4f54 004e5345 43540043 BDA_BOOT.NSECT.C │ │ │ │ + 0x000000d0 4f50595f 424c4b53 004d454d 5f555352 OPY_BLKS.MEM_USR │ │ │ │ + 0x000000e0 004d454d 5f4a4d50 00505254 5f4e554d .MEM_JMP.PRT_NUM │ │ │ │ + 0x000000f0 004d454d 5f4f5247 004d454d 5f415247 .MEM_ORG.MEM_ARG │ │ │ │ + 0x00000100 0053495a 5f504147 004d454d 5f425546 .SIZ_PAG.MEM_BUF │ │ │ │ + 0x00000110 00505254 5f4f4646 00505254 5f425344 .PRT_OFF.PRT_BSD │ │ │ │ + 0x00000120 0053495a 5f534543 00686578 38006d61 .SIZ_SEC.hex8.ma │ │ │ │ + 0x00000130 696e2e36 006d6169 6e2e3500 70617274 in.6.main.5.part │ │ │ │ + 0x00000140 34006d61 696e2e33 00736574 6132302e 4.main.3.seta20. │ │ │ │ + 0x00000150 33006d61 696e2e32 00736574 6132302e 3.main.2.seta20. │ │ │ │ + 0x00000160 32006d61 696e2e31 00636865 636b5f65 2.main.1.check_e │ │ │ │ + 0x00000170 64642e31 00726561 642e3100 68657838 dd.1.read.1.hex8 │ │ │ │ + 0x00000180 2e310073 65746132 302e3100 73657461 .1.seta20.1.seta │ │ │ │ + 0x00000190 32300070 75747374 722e3000 20.putstr.0.