Page MenuHomeFreeBSD

pcpu_demo.before-after.diff

Authored By
rlibby
Jul 1 2024, 4:55 PM
Size
15 KB
Referenced Files
None
Subscribers
None

pcpu_demo.before-after.diff

--- /tmp/pcpu_demo.before-all.disas 2024-06-30 17:25:24.456287883 -0700
+++ /tmp/pcpu_demo.after-all.disas 2024-06-30 17:25:30.316316164 -0700
@@ -1,316 +1,315 @@
-==> /tmp/pcpu_demo.before.amd64.clang.disas <==
+==> /tmp/pcpu_demo.after.amd64.clang.disas <==
-./usr/src/freebsd-branches/main-push/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
+./usr/src/freebsd/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <pcpu_demo_get_pcpu>:
0: 55 pushq %rbp
1: 48 89 e5 movq %rsp, %rbp
4: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
d: 5d popq %rbp
e: c3 retq
f: 90 nop
0000000000000010 <pcpu_demo_get>:
10: 55 pushq %rbp
11: 48 89 e5 movq %rsp, %rbp
14: 65 8b 04 25 3c 00 00 00 movl %gs:0x3c, %eax
1c: 5d popq %rbp
1d: c3 retq
1e: 66 90 nop
0000000000000020 <pcpu_demo_add>:
20: 55 pushq %rbp
21: 48 89 e5 movq %rsp, %rbp
24: 65 01 3c 25 3c 00 00 00 addl %edi, %gs:0x3c
2c: 5d popq %rbp
2d: c3 retq
2e: 66 90 nop
0000000000000030 <pcpu_demo_set>:
30: 55 pushq %rbp
31: 48 89 e5 movq %rsp, %rbp
34: 65 89 3c 25 3c 00 00 00 movl %edi, %gs:0x3c
3c: 5d popq %rbp
3d: c3 retq
3e: 66 90 nop
0000000000000040 <pcpu_demo_ptr>:
40: 55 pushq %rbp
41: 48 89 e5 movq %rsp, %rbp
44: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
4d: 48 83 c0 3c addq $0x3c, %rax
51: 5d popq %rbp
52: c3 retq
53: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
0000000000000060 <pcpu_demo_ptr_get>:
60: 55 pushq %rbp
61: 48 89 e5 movq %rsp, %rbp
64: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
- 6d: 48 83 c0 3c addq $0x3c, %rax
- 71: 8b 00 movl (%rax), %eax
- 73: 5d popq %rbp
- 74: c3 retq
- 75: 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
+ 6d: 8b 40 3c movl 0x3c(%rax), %eax
+ 70: 5d popq %rbp
+ 71: c3 retq
+ 72: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
0000000000000080 <pcpu_demo_ptr_set>:
80: 55 pushq %rbp
81: 48 89 e5 movq %rsp, %rbp
84: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
- 8d: 48 83 c0 3c addq $0x3c, %rax
- 91: 89 38 movl %edi, (%rax)
- 93: 5d popq %rbp
- 94: c3 retq
- 95: 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
+ 8d: 89 78 3c movl %edi, 0x3c(%rax)
+ 90: 5d popq %rbp
+ 91: c3 retq
+ 92: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
00000000000000a0 <pcpu_demo_curthread>:
a0: 55 pushq %rbp
a1: 48 89 e5 movq %rsp, %rbp
a4: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
ad: 5d popq %rbp
ae: c3 retq
af: 90 nop
00000000000000b0 <pcpu_demo_curpcb>:
b0: 55 pushq %rbp
b1: 48 89 e5 movq %rsp, %rbp
b4: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
bd: 48 05 20 05 00 00 addq $0x520, %rax # imm = 0x520
c3: 5d popq %rbp
c4: c3 retq
-==> /tmp/pcpu_demo.before.amd64.gcc.disas <==
+==> /tmp/pcpu_demo.after.amd64.gcc.disas <==
-./gcc13/usr/src/freebsd-branches/main-push/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
+./gcc13/usr/src/freebsd/amd64.amd64/sys/GENERIC/pcpu_demo.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <pcpu_demo_get_pcpu>:
0: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
9: c3 retq
a: 66 0f 1f 44 00 00 nopw (%rax,%rax)
0000000000000010 <pcpu_demo_get>:
10: 65 8b 04 25 3c 00 00 00 movl %gs:0x3c, %eax
18: c3 retq
19: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000020 <pcpu_demo_add>:
20: 65 01 3c 25 3c 00 00 00 addl %edi, %gs:0x3c
28: c3 retq
29: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000030 <pcpu_demo_set>:
30: 65 89 3c 25 3c 00 00 00 movl %edi, %gs:0x3c
38: c3 retq
39: 0f 1f 80 00 00 00 00 nopl (%rax)
0000000000000040 <pcpu_demo_ptr>:
40: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
49: 48 83 c0 3c addq $0x3c, %rax
4d: c3 retq
4e: 66 90 nop
0000000000000050 <pcpu_demo_ptr_get>:
50: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
- 59: 48 83 c0 3c addq $0x3c, %rax
- 5d: 8b 00 movl (%rax), %eax
- 5f: c3 retq
+ 59: 8b 40 3c movl 0x3c(%rax), %eax
+ 5c: c3 retq
+ 5d: 0f 1f 00 nopl (%rax)
0000000000000060 <pcpu_demo_ptr_set>:
60: 65 48 8b 04 25 80 01 00 00 movq %gs:0x180, %rax
- 69: 48 83 c0 3c addq $0x3c, %rax
- 6d: 89 38 movl %edi, (%rax)
- 6f: c3 retq
+ 69: 89 78 3c movl %edi, 0x3c(%rax)
+ 6c: c3 retq
+ 6d: 0f 1f 00 nopl (%rax)
0000000000000070 <pcpu_demo_curthread>:
70: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
79: c3 retq
7a: 66 0f 1f 44 00 00 nopw (%rax,%rax)
0000000000000080 <pcpu_demo_curpcb>:
80: 65 48 8b 04 25 00 00 00 00 movq %gs:0x0, %rax
89: 48 05 20 05 00 00 addq $0x520, %rax # imm = 0x520
8f: c3 retq
-==> /tmp/pcpu_demo.before.i386.clang.disas <==
+==> /tmp/pcpu_demo.after.i386.clang.disas <==
-./usr/src/freebsd-branches/main-push/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
+./usr/src/freebsd/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
Disassembly of section .text:
00000000 <pcpu_demo_get_pcpu>:
0: 55 pushl %ebp
1: 89 e5 movl %esp, %ebp
3: 64 a1 00 01 00 00 movl %fs:0x100, %eax
9: 5d popl %ebp
a: c3 retl
b: 90 nop
c: 90 nop
d: 90 nop
e: 90 nop
f: 90 nop
00000010 <pcpu_demo_get>:
10: 55 pushl %ebp
11: 89 e5 movl %esp, %ebp
13: 64 a1 24 00 00 00 movl %fs:0x24, %eax
19: 5d popl %ebp
1a: c3 retl
1b: 90 nop
1c: 90 nop
1d: 90 nop
1e: 90 nop
1f: 90 nop
00000020 <pcpu_demo_add>:
20: 55 pushl %ebp
21: 89 e5 movl %esp, %ebp
23: 8b 45 08 movl 0x8(%ebp), %eax
26: 64 01 05 24 00 00 00 addl %eax, %fs:0x24
2d: 5d popl %ebp
2e: c3 retl
2f: 90 nop
00000030 <pcpu_demo_set>:
30: 55 pushl %ebp
31: 89 e5 movl %esp, %ebp
33: 8b 45 08 movl 0x8(%ebp), %eax
36: 64 a3 24 00 00 00 movl %eax, %fs:0x24
3c: 5d popl %ebp
3d: c3 retl
3e: 90 nop
3f: 90 nop
00000040 <pcpu_demo_ptr>:
40: 55 pushl %ebp
41: 89 e5 movl %esp, %ebp
43: 64 a1 00 01 00 00 movl %fs:0x100, %eax
49: 83 c0 24 addl $0x24, %eax
4c: 5d popl %ebp
4d: c3 retl
4e: 90 nop
4f: 90 nop
00000050 <pcpu_demo_ptr_get>:
50: 55 pushl %ebp
51: 89 e5 movl %esp, %ebp
53: 64 a1 00 01 00 00 movl %fs:0x100, %eax
- 59: 83 c0 24 addl $0x24, %eax
- 5c: 8b 00 movl (%eax), %eax
- 5e: 5d popl %ebp
- 5f: c3 retl
+ 59: 8b 40 24 movl 0x24(%eax), %eax
+ 5c: 5d popl %ebp
+ 5d: c3 retl
+ 5e: 90 nop
+ 5f: 90 nop
00000060 <pcpu_demo_ptr_set>:
60: 55 pushl %ebp
61: 89 e5 movl %esp, %ebp
63: 8b 45 08 movl 0x8(%ebp), %eax
66: 64 8b 0d 00 01 00 00 movl %fs:0x100, %ecx
- 6d: 83 c1 24 addl $0x24, %ecx
- 70: 89 01 movl %eax, (%ecx)
- 72: 5d popl %ebp
- 73: c3 retl
+ 6d: 89 41 24 movl %eax, 0x24(%ecx)
+ 70: 5d popl %ebp
+ 71: c3 retl
+ 72: 90 nop
+ 73: 90 nop
74: 90 nop
75: 90 nop
76: 90 nop
77: 90 nop
78: 90 nop
79: 90 nop
7a: 90 nop
7b: 90 nop
7c: 90 nop
7d: 90 nop
7e: 90 nop
7f: 90 nop
00000080 <pcpu_demo_curthread>:
80: 55 pushl %ebp
81: 89 e5 movl %esp, %ebp
83: 64 a1 00 00 00 00 movl %fs:0x0, %eax
89: 5d popl %ebp
8a: c3 retl
8b: 90 nop
8c: 90 nop
8d: 90 nop
8e: 90 nop
8f: 90 nop
00000090 <pcpu_demo_curpcb>:
90: 55 pushl %ebp
91: 89 e5 movl %esp, %ebp
93: 64 a1 10 00 00 00 movl %fs:0x10, %eax
99: 5d popl %ebp
9a: c3 retl
-==> /tmp/pcpu_demo.before.i386.gcc.disas <==
+==> /tmp/pcpu_demo.after.i386.gcc.disas <==
-./gcc13/usr/src/freebsd-branches/main-push/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
+./gcc13/usr/src/freebsd/i386.i386/sys/GENERIC/pcpu_demo.o: file format elf32-i386
Disassembly of section .text:
00000000 <pcpu_demo_get_pcpu>:
0: 64 a1 00 01 00 00 movl %fs:0x100, %eax
6: c3 retl
7: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
e: 66 90 nop
00000010 <pcpu_demo_get>:
10: 64 a1 24 00 00 00 movl %fs:0x24, %eax
16: c3 retl
17: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
1e: 66 90 nop
00000020 <pcpu_demo_add>:
20: 55 pushl %ebp
21: 89 e5 movl %esp, %ebp
23: 8b 45 08 movl 0x8(%ebp), %eax
26: 64 01 05 24 00 00 00 addl %eax, %fs:0x24
2d: 5d popl %ebp
2e: c3 retl
2f: 90 nop
00000030 <pcpu_demo_set>:
30: 55 pushl %ebp
31: 89 e5 movl %esp, %ebp
33: 8b 45 08 movl 0x8(%ebp), %eax
36: 64 a3 24 00 00 00 movl %eax, %fs:0x24
3c: 5d popl %ebp
3d: c3 retl
3e: 66 90 nop
00000040 <pcpu_demo_ptr>:
40: 64 a1 00 01 00 00 movl %fs:0x100, %eax
46: 83 c0 24 addl $0x24, %eax
49: c3 retl
4a: 8d b6 00 00 00 00 leal (%esi), %esi
00000050 <pcpu_demo_ptr_get>:
50: 64 a1 00 01 00 00 movl %fs:0x100, %eax
- 56: 83 c0 24 addl $0x24, %eax
- 59: 8b 00 movl (%eax), %eax
- 5b: c3 retl
- 5c: 8d 74 26 00 leal (%esi,%eiz), %esi
+ 56: 8b 40 24 movl 0x24(%eax), %eax
+ 59: c3 retl
+ 5a: 8d b6 00 00 00 00 leal (%esi), %esi
00000060 <pcpu_demo_ptr_set>:
60: 55 pushl %ebp
61: 89 e5 movl %esp, %ebp
63: 64 a1 00 01 00 00 movl %fs:0x100, %eax
- 69: 83 c0 24 addl $0x24, %eax
- 6c: 8b 55 08 movl 0x8(%ebp), %edx
- 6f: 89 10 movl %edx, (%eax)
- 71: 5d popl %ebp
- 72: c3 retl
- 73: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
- 7a: 8d b6 00 00 00 00 leal (%esi), %esi
+ 69: 8b 55 08 movl 0x8(%ebp), %edx
+ 6c: 89 50 24 movl %edx, 0x24(%eax)
+ 6f: 5d popl %ebp
+ 70: c3 retl
+ 71: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
+ 78: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
+ 7f: 90 nop
00000080 <pcpu_demo_curthread>:
80: 64 a1 00 00 00 00 movl %fs:0x0, %eax
86: c3 retl
87: 8d b4 26 00 00 00 00 leal (%esi,%eiz), %esi
8e: 66 90 nop
00000090 <pcpu_demo_curpcb>:
90: 64 a1 10 00 00 00 movl %fs:0x10, %eax
96: c3 retl

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
10272505
Default Alt Text
pcpu_demo.before-after.diff (15 KB)

Event Timeline