diff options
author | Ed Maste <emaste@FreeBSD.org> | 2020-06-06 00:35:41 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2020-06-06 00:35:41 +0000 |
commit | 24ed6f550a26e4872f70064975e1fa72467fc4d6 (patch) | |
tree | 6e60d73c80b6f11806e4c576c544855aed78c049 /sys/crypto | |
parent | c2ea3d44bf0a86b21cab5191a190d4cc934db718 (diff) | |
download | src-24ed6f550a26e4872f70064975e1fa72467fc4d6.tar.gz src-24ed6f550a26e4872f70064975e1fa72467fc4d6.zip |
Rename skein_block_asm.s to .S and assemble using Clang IAS
Comparing the object files produced by GNU as 2.17.50 and Clang IAS
shows many immaterial changes in strtab etc., and one material change
in .text:
1bac: 4c 8b 4f 18 mov 0x18(%rdi),%r9
1bb0: eb 0e jmp 1bc0 <Skein1024_block_loop>
- 1bb2: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
- 1bb9: 00 00 00 00
- 1bbd: 0f 1f 00 nopl (%rax)
+ 1bb2: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
+ 1bb9: 00 00 00
+ 1bbc: 0f 1f 40 00 nopl 0x0(%rax)
0000000000001bc0 <Skein1024_block_loop>:
Skein1024_block_loop():
1bc0: 4c 8b 47 10 mov 0x10(%rdi),%r8
1bc4: 4c 03 85 c0 00 00 00 add 0xc0(%rbp),%r8
That is, GNU as and Clang's integrated assembler use different multi-
byte NOPs for alignment (GNU as emits an 11 byte NOP + a 3 byte NOP,
while Clang IAS emits a 10 byte NOP + a 4 byte NOP).
Dependency cleanup hacks are not required, because we do not create
.depend files from GNU as.
Reviewed by: allanjude, arichardson, cem, tsoome
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8434
Notes
Notes:
svn path=/head/; revision=361853
Diffstat (limited to 'sys/crypto')
-rw-r--r-- | sys/crypto/skein/amd64/skein_block_asm.S (renamed from sys/crypto/skein/amd64/skein_block_asm.s) | 0 |
1 files changed, 0 insertions, 0 deletions
diff --git a/sys/crypto/skein/amd64/skein_block_asm.s b/sys/crypto/skein/amd64/skein_block_asm.S index a5e1613fe2fe..a5e1613fe2fe 100644 --- a/sys/crypto/skein/amd64/skein_block_asm.s +++ b/sys/crypto/skein/amd64/skein_block_asm.S |