Guest User

Untitled

a guest
Jan 4th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.21 KB | None | 0 0
  1. --- nss/lib/freebl/Makefile.bak 2020-01-03 11:22:36.000000000 -0600
  2. +++ nss/lib/freebl/Makefile 2020-01-03 11:22:40.000000000 -0600
  3. @@ -215,6 +215,13 @@
  4. endif
  5. endif # Darwin
  6.  
  7. +ifeq ($(OS_TARGET),Darwin)
  8. +ifeq ($(CPU_ARCH),x86_64)
  9. + ASFILES = intel-aes.s
  10. + DEFINES += -DUSE_HW_AES
  11. +endif
  12. +endif # Darwin
  13. +
  14. ifeq ($(OS_TARGET),Linux)
  15. ifeq ($(CPU_ARCH),x86_64)
  16. ASFILES = arcfour-amd64-gas.s mpi_amd64_gas.s
  17. --- nss/lib/freebl/intel-aes.s.bak 2020-01-03 09:48:46.000000000 -0600
  18. +++ nss/lib/freebl/intel-aes.s 2020-01-03 10:03:16.000000000 -0600
  19. @@ -24,10 +24,9 @@
  20. /* in %rdi : the key
  21. in %rsi : buffer for expanded key
  22. */
  23. - .type intel_aes_encrypt_init_128,@function
  24. - .globl intel_aes_encrypt_init_128
  25. + .globl _intel_aes_encrypt_init_128
  26. .align 16
  27. -intel_aes_encrypt_init_128:
  28. +_intel_aes_encrypt_init_128:
  29. movups (%rdi), %xmm1
  30. movups %xmm1, (%rsi)
  31. leaq 16(%rsi), %rsi
  32. @@ -55,16 +54,14 @@
  33. call key_expansion128
  34.  
  35. ret
  36. - .size intel_aes_encrypt_init_128, .-intel_aes_encrypt_init_128
  37.  
  38.  
  39. /* in %rdi : the key
  40. in %rsi : buffer for expanded key
  41. */
  42. - .type intel_aes_decrypt_init_128,@function
  43. - .globl intel_aes_decrypt_init_128
  44. + .globl _intel_aes_decrypt_init_128
  45. .align 16
  46. -intel_aes_decrypt_init_128:
  47. +_intel_aes_decrypt_init_128:
  48. movups (%rdi), %xmm1
  49. movups %xmm1, (%rsi)
  50. leaq 16(%rsi), %rsi
  51. @@ -110,10 +107,8 @@
  52. call key_expansion128
  53.  
  54. ret
  55. - .size intel_aes_decrypt_init_128, .-intel_aes_decrypt_init_128
  56.  
  57.  
  58. - .type key_expansion128,@function
  59. .align 16
  60. key_expansion128:
  61. movd %eax, %xmm3
  62. @@ -126,7 +121,6 @@
  63. movdqu %xmm1, (%rsi)
  64. addq $16, %rsi
  65. ret
  66. - .size key_expansion128, .-key_expansion128
  67.  
  68.  
  69. /* in %rdi : cx - context
  70. @@ -139,10 +133,9 @@
  71. in %r9d : inputLen - length of input buffer
  72. on stack: blocksize - AES blocksize (always 16, unused)
  73. */
  74. - .type intel_aes_encrypt_ecb_128,@function
  75. - .globl intel_aes_encrypt_ecb_128
  76. + .globl _intel_aes_encrypt_ecb_128
  77. .align 16
  78. -intel_aes_encrypt_ecb_128:
  79. +_intel_aes_encrypt_ecb_128:
  80. movdqu (%rdi), %xmm2
  81. movdqu 160(%rdi), %xmm12
  82. xor %eax, %eax
  83. @@ -307,7 +300,6 @@
  84.  
  85. 5: xor %eax, %eax
  86. ret
  87. - .size intel_aes_encrypt_ecb_128, .-intel_aes_encrypt_ecb_128
  88.  
  89.  
  90. /* in %rdi : cx - context
  91. @@ -320,10 +312,9 @@
  92. in %r9d : inputLen - length of input buffer
  93. on stack: blocksize - AES blocksize (always 16, unused)
  94. */
  95. - .type intel_aes_decrypt_ecb_128,@function
  96. - .globl intel_aes_decrypt_ecb_128
  97. + .globl _intel_aes_decrypt_ecb_128
  98. .align 16
  99. -intel_aes_decrypt_ecb_128:
  100. +_intel_aes_decrypt_ecb_128:
  101. movdqu (%rdi), %xmm2
  102. movdqu 160(%rdi), %xmm12
  103. xorl %eax, %eax
  104. @@ -488,7 +479,6 @@
  105.  
  106. 5: xor %eax, %eax
  107. ret
  108. - .size intel_aes_decrypt_ecb_128, .-intel_aes_decrypt_ecb_128
  109.  
  110.  
  111. /* in %rdi : cx - context
  112. @@ -501,10 +491,9 @@
  113. in %r9d : inputLen - length of input buffer
  114. on stack: blocksize - AES blocksize (always 16, unused)
  115. */
  116. - .type intel_aes_encrypt_cbc_128,@function
  117. - .globl intel_aes_encrypt_cbc_128
  118. + .globl _intel_aes_encrypt_cbc_128
  119. .align 16
  120. -intel_aes_encrypt_cbc_128:
  121. +_intel_aes_encrypt_cbc_128:
  122. testl %r9d, %r9d
  123. je 2f
  124.  
  125. @@ -548,7 +537,6 @@
  126.  
  127. 2: xor %eax, %eax
  128. ret
  129. - .size intel_aes_encrypt_cbc_128, .-intel_aes_encrypt_cbc_128
  130.  
  131.  
  132. /* in %rdi : cx - context
  133. @@ -561,10 +549,9 @@
  134. in %r9d : inputLen - length of input buffer
  135. on stack: blocksize - AES blocksize (always 16, unused)
  136. */
  137. - .type intel_aes_decrypt_cbc_128,@function
  138. - .globl intel_aes_decrypt_cbc_128
  139. + .globl _intel_aes_decrypt_cbc_128
  140. .align 16
  141. -intel_aes_decrypt_cbc_128:
  142. +_intel_aes_decrypt_cbc_128:
  143. // leaq IV_OFFSET(%rdi), %rdx
  144. leaq 256(%rdi), %rdx
  145.  
  146. @@ -751,15 +738,13 @@
  147.  
  148. xor %eax, %eax
  149. ret
  150. - .size intel_aes_decrypt_cbc_128, .-intel_aes_decrypt_cbc_128
  151.  
  152. /* in %rdi : the key
  153. in %rsi : buffer for expanded key
  154. */
  155. - .type intel_aes_encrypt_init_192,@function
  156. - .globl intel_aes_encrypt_init_192
  157. + .globl _intel_aes_encrypt_init_192
  158. .align 16
  159. -intel_aes_encrypt_init_192:
  160. +_intel_aes_encrypt_init_192:
  161. movdqu (%rdi), %xmm1
  162. movq 16(%rdi), %xmm3
  163. movdqu %xmm1, (%rsi)
  164. @@ -784,16 +769,14 @@
  165. call key_expansion192
  166.  
  167. ret
  168. - .size intel_aes_encrypt_init_192, .-intel_aes_encrypt_init_192
  169.  
  170.  
  171. /* in %rdi : the key
  172. in %rsi : buffer for expanded key
  173. */
  174. - .type intel_aes_decrypt_init_192,@function
  175. - .globl intel_aes_decrypt_init_192
  176. + .globl _intel_aes_decrypt_init_192
  177. .align 16
  178. -intel_aes_decrypt_init_192:
  179. +_intel_aes_decrypt_init_192:
  180. movdqu (%rdi), %xmm1
  181. movq 16(%rdi), %xmm3
  182. movdqu %xmm1, (%rsi)
  183. @@ -848,10 +831,8 @@
  184. call key_expansion192
  185.  
  186. ret
  187. - .size intel_aes_decrypt_init_192, .-intel_aes_decrypt_init_192
  188.  
  189.  
  190. - .type key_expansion192,@function
  191. .align 16
  192. key_expansion192:
  193. pshufd $0x55, %xmm2, %xmm2
  194. @@ -874,7 +855,6 @@
  195. movq %xmm3, (%rsi)
  196. addq $8, %rsi
  197. ret
  198. - .size key_expansion192, .-key_expansion192
  199.  
  200.  
  201. /* in %rdi : cx - context
  202. @@ -887,10 +867,9 @@
  203. in %r9d : inputLen - length of input buffer
  204. on stack: blocksize - AES blocksize (always 16, unused)
  205. */
  206. - .type intel_aes_encrypt_ecb_192,@function
  207. - .globl intel_aes_encrypt_ecb_192
  208. + .globl _intel_aes_encrypt_ecb_192
  209. .align 16
  210. -intel_aes_encrypt_ecb_192:
  211. +_intel_aes_encrypt_ecb_192:
  212. movdqu (%rdi), %xmm2
  213. movdqu 192(%rdi), %xmm14
  214. xorl %eax, %eax
  215. @@ -1078,7 +1057,6 @@
  216.  
  217. 5: xor %eax, %eax
  218. ret
  219. - .size intel_aes_encrypt_ecb_192, .-intel_aes_encrypt_ecb_192
  220.  
  221.  
  222. /* in %rdi : cx - context
  223. @@ -1091,10 +1069,9 @@
  224. in %r9d : inputLen - length of input buffer
  225. on stack: blocksize - AES blocksize (always 16, unused)
  226. */
  227. - .type intel_aes_decrypt_ecb_192,@function
  228. - .globl intel_aes_decrypt_ecb_192
  229. + .globl _intel_aes_decrypt_ecb_192
  230. .align 16
  231. -intel_aes_decrypt_ecb_192:
  232. +_intel_aes_decrypt_ecb_192:
  233. movdqu (%rdi), %xmm2
  234. movdqu 192(%rdi), %xmm14
  235. xorl %eax, %eax
  236. @@ -1282,7 +1259,6 @@
  237.  
  238. 5: xor %eax, %eax
  239. ret
  240. - .size intel_aes_decrypt_ecb_192, .-intel_aes_decrypt_ecb_192
  241.  
  242.  
  243. /* in %rdi : cx - context
  244. @@ -1295,10 +1271,9 @@
  245. in %r9d : inputLen - length of input buffer
  246. on stack: blocksize - AES blocksize (always 16, unused)
  247. */
  248. - .type intel_aes_encrypt_cbc_192,@function
  249. - .globl intel_aes_encrypt_cbc_192
  250. + .globl _intel_aes_encrypt_cbc_192
  251. .align 16
  252. -intel_aes_encrypt_cbc_192:
  253. +_intel_aes_encrypt_cbc_192:
  254. testl %r9d, %r9d
  255. je 2f
  256.  
  257. @@ -1346,7 +1321,6 @@
  258.  
  259. 2: xor %eax, %eax
  260. ret
  261. - .size intel_aes_encrypt_cbc_192, .-intel_aes_encrypt_cbc_192
  262.  
  263.  
  264. /* in %rdi : cx - context
  265. @@ -1359,10 +1333,9 @@
  266. in %r9d : inputLen - length of input buffer
  267. on stack: blocksize - AES blocksize (always 16, unused)
  268. */
  269. - .type intel_aes_decrypt_cbc_192,@function
  270. - .globl intel_aes_decrypt_cbc_192
  271. + .globl _intel_aes_decrypt_cbc_192
  272. .align 16
  273. -intel_aes_decrypt_cbc_192:
  274. +_intel_aes_decrypt_cbc_192:
  275. // leaq IV_OFFSET(%rdi), %rdx
  276. leaq 256(%rdi), %rdx
  277.  
  278. @@ -1572,15 +1545,13 @@
  279.  
  280. xor %eax, %eax
  281. ret
  282. - .size intel_aes_decrypt_cbc_192, .-intel_aes_decrypt_cbc_192
  283.  
  284. /* in %rdi : the key
  285. in %rsi : buffer for expanded key
  286. */
  287. - .type intel_aes_encrypt_init_256,@function
  288. - .globl intel_aes_encrypt_init_256
  289. + .globl _intel_aes_encrypt_init_256
  290. .align 16
  291. -intel_aes_encrypt_init_256:
  292. +_intel_aes_encrypt_init_256:
  293. movdqu (%rdi), %xmm1
  294. movdqu 16(%rdi), %xmm3
  295. movdqu %xmm1, (%rsi)
  296. @@ -1611,16 +1582,14 @@
  297. movdqu %xmm1, (%rsi)
  298.  
  299. ret
  300. - .size intel_aes_encrypt_init_256, .-intel_aes_encrypt_init_256
  301.  
  302.  
  303. /* in %rdi : the key
  304. in %rsi : buffer for expanded key
  305. */
  306. - .type intel_aes_decrypt_init_256,@function
  307. - .globl intel_aes_decrypt_init_256
  308. + .globl _intel_aes_decrypt_init_256
  309. .align 16
  310. -intel_aes_decrypt_init_256:
  311. +_intel_aes_decrypt_init_256:
  312. movdqu (%rdi), %xmm1
  313. movdqu 16(%rdi), %xmm3
  314. movdqu %xmm1, (%rsi)
  315. @@ -1676,10 +1645,8 @@
  316. movdqu %xmm1, (%rsi)
  317.  
  318. ret
  319. - .size intel_aes_decrypt_init_256, .-intel_aes_decrypt_init_256
  320.  
  321.  
  322. - .type key_expansion256,@function
  323. .align 16
  324. key_expansion256:
  325. movd %eax, %xmm6
  326. @@ -1702,7 +1669,6 @@
  327. movdqu %xmm3, (%rsi)
  328. addq $16, %rsi
  329. ret
  330. - .size key_expansion256, .-key_expansion256
  331.  
  332.  
  333. /* in %rdi : cx - context
  334. @@ -1715,10 +1681,9 @@
  335. in %r9d : inputLen - length of input buffer
  336. on stack: blocksize - AES blocksize (always 16, unused)
  337. */
  338. - .type intel_aes_encrypt_ecb_256,@function
  339. - .globl intel_aes_encrypt_ecb_256
  340. + .globl _intel_aes_encrypt_ecb_256
  341. .align 16
  342. -intel_aes_encrypt_ecb_256:
  343. +_intel_aes_encrypt_ecb_256:
  344. movdqu (%rdi), %xmm2
  345. movdqu 224(%rdi), %xmm15
  346. xorl %eax, %eax
  347. @@ -1931,7 +1896,6 @@
  348.  
  349. 5: xor %eax, %eax
  350. ret
  351. - .size intel_aes_encrypt_ecb_256, .-intel_aes_encrypt_ecb_256
  352.  
  353.  
  354. /* in %rdi : cx - context
  355. @@ -1944,10 +1908,9 @@
  356. in %r9d : inputLen - length of input buffer
  357. on stack: blocksize - AES blocksize (always 16, unused)
  358. */
  359. - .type intel_aes_decrypt_ecb_256,@function
  360. - .globl intel_aes_decrypt_ecb_256
  361. + .globl _intel_aes_decrypt_ecb_256
  362. .align 16
  363. -intel_aes_decrypt_ecb_256:
  364. +_intel_aes_decrypt_ecb_256:
  365. movdqu (%rdi), %xmm2
  366. movdqu 224(%rdi), %xmm15
  367. xorl %eax, %eax
  368. @@ -2160,7 +2123,6 @@
  369.  
  370. 5: xor %eax, %eax
  371. ret
  372. - .size intel_aes_decrypt_ecb_256, .-intel_aes_decrypt_ecb_256
  373.  
  374.  
  375. /* in %rdi : cx - context
  376. @@ -2173,10 +2135,9 @@
  377. in %r9d : inputLen - length of input buffer
  378. on stack: blocksize - AES blocksize (always 16, unused)
  379. */
  380. - .type intel_aes_encrypt_cbc_256,@function
  381. - .globl intel_aes_encrypt_cbc_256
  382. + .globl _intel_aes_encrypt_cbc_256
  383. .align 16
  384. -intel_aes_encrypt_cbc_256:
  385. +_intel_aes_encrypt_cbc_256:
  386. testl %r9d, %r9d
  387. je 2f
  388.  
  389. @@ -2229,7 +2190,6 @@
  390.  
  391. 2: xor %eax, %eax
  392. ret
  393. - .size intel_aes_encrypt_cbc_256, .-intel_aes_encrypt_cbc_256
  394.  
  395.  
  396. /* in %rdi : cx - context
  397. @@ -2242,10 +2202,9 @@
  398. in %r9d : inputLen - length of input buffer
  399. on stack: blocksize - AES blocksize (always 16, unused)
  400. */
  401. - .type intel_aes_decrypt_cbc_256,@function
  402. - .globl intel_aes_decrypt_cbc_256
  403. + .globl _intel_aes_decrypt_cbc_256
  404. .align 16
  405. -intel_aes_decrypt_cbc_256:
  406. +_intel_aes_decrypt_cbc_256:
  407. // leaq IV_OFFSET(%rdi), %rdx
  408. leaq 256(%rdi), %rdx
  409.  
  410. @@ -2482,4 +2441,3 @@
  411.  
  412. xor %eax, %eax
  413. ret
  414. - .size intel_aes_decrypt_cbc_256, .-intel_aes_decrypt_cbc_256
Add Comment
Please, Sign In to add comment