Skip to content

Instantly share code, notes, and snippets.

@alarcher
Created May 22, 2018 13:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alarcher/22608098a4c3630c45a665b188ae3665 to your computer and use it in GitHub Desktop.
Save alarcher/22608098a4c3630c45a665b188ae3665 to your computer and use it in GitHub Desktop.
> diff -a build/i86/stage2-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o build/i86/stage3-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
1c1
/var/tmp/ccoxaW9y.s LLLLLLK/K*�%,P/var/tmp//ccoxaW9y.s/scratch/alarcher/oi-userland/components/developer/gcc-8/build/i86/i386-pc-solaris2.11/amd64/libgccGNU AS 2.30
 PL#H4
DE@V<g8__sse_resms64_18__sse_resms64_17__sse_resms64_16__sse_resms64_15__sse_resms64_14__sse_resms64_13__sse_resms64_128
---
/var/tmp/ccgMaaLG.s LLLLLLK/K*�%,P/var/tmp//ccgMaaLG.s/scratch/alarcher/oi-userland/components/developer/gcc-8/build/i86/i386-pc-solaris2.11/amd64/libgccGNU AS 2.30
 PL#H4
DE@V<g8__sse_resms64_18__sse_resms64_17__sse_resms64_16__sse_resms64_15__sse_resms64_14__sse_resms64_13__sse_resms64_128
> dis build/i86/stage2-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o build/i86/stage3-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
disassembly for build/i86/stage2-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
section .text
__sse_resms64_18()
__sse_resms64_18: 4c 8b 7e 90 movq -0x70(%rsi),%r15
__sse_resms64_18+0x4: 4c 8b 76 98 movq -0x68(%rsi),%r14
__sse_resms64_18+0x8: 4c 8b 6e a0 movq -0x60(%rsi),%r13
__sse_resms64_18+0xc: 4c 8b 66 a8 movq -0x58(%rsi),%r12
__sse_resms64_18+0x10: 48 8b 6e b0 movq -0x50(%rsi),%rbp
__sse_resms64_18+0x14: 48 8b 5e b8 movq -0x48(%rsi),%rbx
__sse_resms64_18+0x18: 48 8b 7e c0 movq -0x40(%rsi),%rdi
__sse_resms64_18+0x1c: 44 0f 28 7e d0 movaps -0x30(%rsi),%xmm15
__sse_resms64_18+0x21: 44 0f 28 76 e0 movaps -0x20(%rsi),%xmm14
__sse_resms64_18+0x26: 44 0f 28 6e f0 movaps -0x10(%rsi),%xmm13
__sse_resms64_18+0x2b: 44 0f 28 26 movaps (%rsi),%xmm12
__sse_resms64_18+0x2f: 44 0f 28 5e 10 movaps 0x10(%rsi),%xmm11
__sse_resms64_18+0x34: 44 0f 28 56 20 movaps 0x20(%rsi),%xmm10
__sse_resms64_18+0x39: 44 0f 28 4e 30 movaps 0x30(%rsi),%xmm9
__sse_resms64_18+0x3e: 44 0f 28 46 40 movaps 0x40(%rsi),%xmm8
__sse_resms64_18+0x43: 0f 28 7e 50 movaps 0x50(%rsi),%xmm7
__sse_resms64_18+0x47: 0f 28 76 60 movaps 0x60(%rsi),%xmm6
__sse_resms64_18+0x4b: 48 8b 76 c8 movq -0x38(%rsi),%rsi
__sse_resms64_18+0x4f: c3 ret
disassembly for build/i86/stage3-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
section .text
__sse_resms64_18()
__sse_resms64_18: 4c 8b 7e 90 movq -0x70(%rsi),%r15
__sse_resms64_18+0x4: 4c 8b 76 98 movq -0x68(%rsi),%r14
__sse_resms64_18+0x8: 4c 8b 6e a0 movq -0x60(%rsi),%r13
__sse_resms64_18+0xc: 4c 8b 66 a8 movq -0x58(%rsi),%r12
__sse_resms64_18+0x10: 48 8b 6e b0 movq -0x50(%rsi),%rbp
__sse_resms64_18+0x14: 48 8b 5e b8 movq -0x48(%rsi),%rbx
__sse_resms64_18+0x18: 48 8b 7e c0 movq -0x40(%rsi),%rdi
__sse_resms64_18+0x1c: 44 0f 28 7e d0 movaps -0x30(%rsi),%xmm15
__sse_resms64_18+0x21: 44 0f 28 76 e0 movaps -0x20(%rsi),%xmm14
__sse_resms64_18+0x26: 44 0f 28 6e f0 movaps -0x10(%rsi),%xmm13
__sse_resms64_18+0x2b: 44 0f 28 26 movaps (%rsi),%xmm12
__sse_resms64_18+0x2f: 44 0f 28 5e 10 movaps 0x10(%rsi),%xmm11
__sse_resms64_18+0x34: 44 0f 28 56 20 movaps 0x20(%rsi),%xmm10
__sse_resms64_18+0x39: 44 0f 28 4e 30 movaps 0x30(%rsi),%xmm9
__sse_resms64_18+0x3e: 44 0f 28 46 40 movaps 0x40(%rsi),%xmm8
__sse_resms64_18+0x43: 0f 28 7e 50 movaps 0x50(%rsi),%xmm7
__sse_resms64_18+0x47: 0f 28 76 60 movaps 0x60(%rsi),%xmm6
__sse_resms64_18+0x4b: 48 8b 76 c8 movq -0x38(%rsi),%rsi
__sse_resms64_18+0x4f: c3 ret
# Diff of dis output
> diff dis2.out dis3.out
1c1
< disassembly for build/i86/stage2-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
---
> disassembly for build/i86/stage3-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
> readelf -aW build/i86/stage2-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 1360 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 64 (bytes)
Number of section headers: 15
Section header string table index: 14
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 0000000000000000 000040 000050 00 AX 0 0 1
[ 2] .data PROGBITS 0000000000000000 000090 000000 00 WA 0 0 1
[ 3] .bss NOBITS 0000000000000000 000090 000000 00 WA 0 0 1
[ 4] .debug_line PROGBITS 0000000000000000 000090 000051 00 0 0 1
[ 5] .rela.debug_line RELA 0000000000000000 0003e0 000018 18 I 12 4 8
[ 6] .debug_info PROGBITS 0000000000000000 0000e1 00002e 00 0 0 1
[ 7] .rela.debug_info RELA 0000000000000000 0003f8 0000a8 18 I 12 6 8
[ 8] .debug_abbrev PROGBITS 0000000000000000 00010f 000014 00 0 0 1
[ 9] .debug_aranges PROGBITS 0000000000000000 000130 000030 00 0 0 16
[10] .rela.debug_aranges RELA 0000000000000000 0004a0 000030 18 I 12 9 8
[11] .debug_str PROGBITS 0000000000000000 000160 000085 01 MS 0 0 1
[12] .symtab SYMTAB 0000000000000000 0001e8 000180 18 13 9 8
[13] .strtab STRTAB 0000000000000000 000368 000078 00 S 0 0 1
[14] .shstrtab STRTAB 0000000000000000 0004d0 00007b 00 S 0 0 1
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),
l (large), p (processor specific)
There are no section groups in this file.
There are no program headers in this file.
There is no dynamic section in this file.
Relocation section '.rela.debug_line' at offset 0x3e0 contains 1 entry:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000038 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
Relocation section '.rela.debug_info' at offset 0x3f8 contains 7 entries:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000006 000000050000000a R_X86_64_32 0000000000000000 .debug_abbrev + 0
000000000000000c 000000060000000a R_X86_64_32 0000000000000000 .debug_line + 0
0000000000000010 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
0000000000000018 0000000100000001 R_X86_64_64 0000000000000000 .text + 50
0000000000000020 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 0
0000000000000024 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 15
0000000000000028 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 79
Relocation section '.rela.debug_aranges' at offset 0x4a0 contains 2 entries:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000006 000000040000000a R_X86_64_32 0000000000000000 .debug_info + 0
0000000000000010 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported.
Symbol table '.symtab' contains 16 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 SECTION LOCAL DEFAULT 1
2: 0000000000000000 0 SECTION LOCAL DEFAULT 2
3: 0000000000000000 0 SECTION LOCAL DEFAULT 3
4: 0000000000000000 0 SECTION LOCAL DEFAULT 6
5: 0000000000000000 0 SECTION LOCAL DEFAULT 8
6: 0000000000000000 0 SECTION LOCAL DEFAULT 4
7: 0000000000000000 0 SECTION LOCAL DEFAULT 11
8: 0000000000000000 0 SECTION LOCAL DEFAULT 9
9: 0000000000000000 80 FUNC GLOBAL HIDDEN 1 __sse_resms64_18
10: 0000000000000004 76 FUNC GLOBAL HIDDEN 1 __sse_resms64_17
11: 0000000000000008 72 FUNC GLOBAL HIDDEN 1 __sse_resms64_16
12: 000000000000000c 68 FUNC GLOBAL HIDDEN 1 __sse_resms64_15
13: 0000000000000010 64 FUNC GLOBAL HIDDEN 1 __sse_resms64_14
14: 0000000000000014 60 FUNC GLOBAL HIDDEN 1 __sse_resms64_13
15: 0000000000000018 56 FUNC GLOBAL HIDDEN 1 __sse_resms64_12
No version information found in this file.
> readelf -aW build/i86/stage3-i386-pc-solaris2.11/amd64/libgcc/sse_resms64_s.o
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 1360 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 64 (bytes)
Number of section headers: 15
Section header string table index: 14
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 0000000000000000 000040 000050 00 AX 0 0 1
[ 2] .data PROGBITS 0000000000000000 000090 000000 00 WA 0 0 1
[ 3] .bss NOBITS 0000000000000000 000090 000000 00 WA 0 0 1
[ 4] .debug_line PROGBITS 0000000000000000 000090 000051 00 0 0 1
[ 5] .rela.debug_line RELA 0000000000000000 0003e0 000018 18 I 12 4 8
[ 6] .debug_info PROGBITS 0000000000000000 0000e1 00002e 00 0 0 1
[ 7] .rela.debug_info RELA 0000000000000000 0003f8 0000a8 18 I 12 6 8
[ 8] .debug_abbrev PROGBITS 0000000000000000 00010f 000014 00 0 0 1
[ 9] .debug_aranges PROGBITS 0000000000000000 000130 000030 00 0 0 16
[10] .rela.debug_aranges RELA 0000000000000000 0004a0 000030 18 I 12 9 8
[11] .debug_str PROGBITS 0000000000000000 000160 000085 01 MS 0 0 1
[12] .symtab SYMTAB 0000000000000000 0001e8 000180 18 13 9 8
[13] .strtab STRTAB 0000000000000000 000368 000078 00 S 0 0 1
[14] .shstrtab STRTAB 0000000000000000 0004d0 00007b 00 S 0 0 1
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),
l (large), p (processor specific)
There are no section groups in this file.
There are no program headers in this file.
There is no dynamic section in this file.
Relocation section '.rela.debug_line' at offset 0x3e0 contains 1 entry:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000038 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
Relocation section '.rela.debug_info' at offset 0x3f8 contains 7 entries:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000006 000000050000000a R_X86_64_32 0000000000000000 .debug_abbrev + 0
000000000000000c 000000060000000a R_X86_64_32 0000000000000000 .debug_line + 0
0000000000000010 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
0000000000000018 0000000100000001 R_X86_64_64 0000000000000000 .text + 50
0000000000000020 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 0
0000000000000024 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 15
0000000000000028 000000070000000a R_X86_64_32 0000000000000000 .debug_str + 79
Relocation section '.rela.debug_aranges' at offset 0x4a0 contains 2 entries:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000006 000000040000000a R_X86_64_32 0000000000000000 .debug_info + 0
0000000000000010 0000000100000001 R_X86_64_64 0000000000000000 .text + 0
The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported.
Symbol table '.symtab' contains 16 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 SECTION LOCAL DEFAULT 1
2: 0000000000000000 0 SECTION LOCAL DEFAULT 2
3: 0000000000000000 0 SECTION LOCAL DEFAULT 3
4: 0000000000000000 0 SECTION LOCAL DEFAULT 6
5: 0000000000000000 0 SECTION LOCAL DEFAULT 8
6: 0000000000000000 0 SECTION LOCAL DEFAULT 4
7: 0000000000000000 0 SECTION LOCAL DEFAULT 11
8: 0000000000000000 0 SECTION LOCAL DEFAULT 9
9: 0000000000000000 80 FUNC GLOBAL HIDDEN 1 __sse_resms64_18
10: 0000000000000004 76 FUNC GLOBAL HIDDEN 1 __sse_resms64_17
11: 0000000000000008 72 FUNC GLOBAL HIDDEN 1 __sse_resms64_16
12: 000000000000000c 68 FUNC GLOBAL HIDDEN 1 __sse_resms64_15
13: 0000000000000010 64 FUNC GLOBAL HIDDEN 1 __sse_resms64_14
14: 0000000000000014 60 FUNC GLOBAL HIDDEN 1 __sse_resms64_13
15: 0000000000000018 56 FUNC GLOBAL HIDDEN 1 __sse_resms64_12
No version information found in this file.
# Diff of the readelf output
> diff readelf2.out readelf3.out
>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment