Estou trabalhando em GCC119 do Fazenda de compilação do GCC . O GCC119 é uma máquina AIX big-endian. Estou tentando rastrear a causa do desempenho lento para o AES usando o Power8 in-crypto.
Acho que a configuração é um pouco não padrão, mas a máquina é bem mantida pelos administradores do AIX. O desmontador está localizado em /opt/IBM/xlc/13.1.3/exe/dis
.
Quando tento executar o desmontador ou obter ajuda:
-bash-4.3$ dis
-bash: dis: command not found
-bash-4.3$ /opt/IBM/xlc/13.1.3/exe/dis rijndael-simd.o
-bash-4.3$ /opt/IBM/xlc/13.1.3/exe/dis -d rijndael-simd.o
-bash-4.3$ /opt/IBM/xlc/13.1.3/exe/dis -help
-bash-4.3$ /opt/IBM/xlc/13.1.3/exe/dis /help
-bash-4.3$ man dis
Manual entry for dis not found or not installed.
-bash-4.3$ man -k disassemble
man: 0703-310 file man not found.
Create the whatis database using the <catman -w> command
A pesquisa on-line não está retornando resultados úteis. Por exemplo, Qual é o comando equivalente para objdump no IBM AIX me diz que o desmontador é dis
, mas não indica como usá-lo.
A máquina possui Binutils objdump
, mas não desmonta bem os arquivos de objeto AIX big-endian. Consulte também as ferramentas do UNIX da IBM para explorar arquivos de objeto .
Como uso o dis
da IBM para desmontar arquivos de objeto? Em particular, gostaria de ver a instrução mnemônica e o nome em C ++.
Abaixo está a desmontagem de objdump
. Deixa muito a desejar. Eu deveria estar vendo instruções como vcipher
, vcipherlast
vncipher
e vncipherlast
.
-bash-4.3$ /opt/cfarm/bi
binutils-latest/ bison-latest/
-bash-4.3$ /opt/cfarm/binutils-latest/bin/objdump --disassemble rijndael-simd.o
rijndael-simd.o: file format aixcoff-rs6000
Disassembly of section .text:
00000000 <.ByteReverseArrayLE__8CryptoPPFPUcPCUc>:
0: 7c 04 18 40 cmpl 0,r4,r3
4: 41 82 00 0c beq 10 <.ByteReverseArrayLE__8CryptoPPFPUcPCUc+0x10>
8: 7c 00 26 98 .long 0x7c002698
c: 7c 00 1f 98 .long 0x7c001f98
10: 4e 80 00 20 br
00000014 <.ef>:
14: 00 00 00 00 .long 0x0
18: 00 09 20 00 .long 0x92000
1c: 00 00 00 00 .long 0x0
20: 00 00 00 14 .long 0x14
...
00000340 <.Rijndael_AdvancedProcessBlocks_POWER8__8CryptoPPHPFRacPCUiUi_vPFRacN31PCUiUi_v_PFRacPCUiUi_vPFRacN31PCUiUi_vPCUiUlPCUcPCUcPUcT4Ui_Ul>:
340: 7c 08 02 a6 mflr r0
344: 90 01 00 08 st r0,8(r1)
348: 93 e1 ff fc st r31,-4(r1)
34c: 93 c1 ff f8 st r30,-8(r1)
350: 93 a1 ff f4 st r29,-12(r1)
354: 93 81 ff f0 st r28,-16(r1)
358: 7d 80 00 26 mfcr r12
35c: 93 61 ff ec st r27,-20(r1)
360: 93 41 ff e8 st r26,-24(r1)
364: 93 21 ff e4 st r25,-28(r1)
368: 93 01 ff e0 st r24,-32(r1)
36c: 92 e1 ff dc st r23,-36(r1)
370: 92 c1 ff d8 st r22,-40(r1)
374: 92 a1 ff d4 st r21,-44(r1)
378: 92 81 ff d0 st r20,-48(r1)
37c: 92 61 ff cc st r19,-52(r1)
380: 92 41 ff c8 st r18,-56(r1)
384: 92 21 ff c4 st r17,-60(r1)
388: 92 01 ff c0 st r16,-64(r1)
38c: 91 e1 ff bc st r15,-68(r1)
390: 91 c1 ff b8 st r14,-72(r1)
394: 91 a1 ff b4 st r13,-76(r1)
398: 60 fb 00 00 oril r27,r7,0
39c: 91 81 00 04 st r12,4(r1)
000003a0 <.bb>:
3a0: 38 00 00 03 lil r0,3
3a4: 94 21 fe 60 stu r1,-416(r1)
3a8: 60 b8 00 00 oril r24,r5,0
3ac: 60 99 00 00 oril r25,r4,0
3b0: 60 7a 00 00 oril r26,r3,0
3b4: 7c 68 00 d0 neg r3,r8
3b8: 61 1c 00 00 oril r28,r8,0
3bc: 83 e1 01 d8 l r31,472(r1)
3c0: 60 d7 00 00 oril r23,r6,0
3c4: 61 5e 00 00 oril r30,r10,0
3c8: 7c 63 43 78 or r3,r3,r8
3cc: 61 3d 00 00 oril r29,r9,0
3d0: 57 e7 07 be rlinm r7,r31,0,30,31
000003d4 <.bb>:
3d4: 90 41 00 14 st r2,20(r1)
3d8: 7c 00 fb b8 nand r0,r0,r31
3dc: 38 a7 ff ff cal r5,-1(r7)
3e0: 7c 00 28 38 and r0,r0,r5
3e4: 73 e4 00 08 andil. r4,r31,8
3e8: 57 e4 1e f6 rlinm r4,r31,3,27,27
3ec: 68 96 00 10 xoril r22,r4,16
3f0: 54 75 2e f6 rlinm r21,r3,5,27,27
3f4: 54 14 2e f6 rlinm r20,r0,5,27,27
3f8: 41 82 00 20 beq 418 <.bb+0x44>
3fc: 7e b5 00 d0 neg r21,r21
400: 7e d6 00 d0 neg r22,r22
404: 38 0a ff f0 cal r0,-16(r10)
408: 7e 94 00 d0 neg r20,r20
40c: 7f 7b 02 14 cax r27,r27,r0
410: 7f 88 02 14 cax r28,r8,r0
414: 7f a0 4a 14 cax r29,r0,r9
418: 73 e0 00 10 andil. r0,r31,16
41c: 41 82 01 e4 beq 600 <.eb>
420: 28 0a 00 40 cmpli 0,r10,64
424: 41 80 01 dc blt 600 <.eb>
428: 80 d9 00 00 l r6,0(r25)
42c: 7c 15 aa 14 cax r0,r21,r21
430: 63 72 00 00 oril r18,r27,0
434: 56 b3 10 3a rlinm r19,r21,2,0,29
438: 56 84 10 3a rlinm r4,r20,2,0,29
43c: 7c 74 a2 14 cax r3,r20,r20
440: 93 41 01 44 st r26,324(r1)
444: 7d 14 20 50 .long 0x7d142050
448: 39 c0 00 40 lil r14,64
44c: 3a 20 00 70 lil r17,112
450: 39 e0 00 50 lil r15,80
454: 3a 00 00 60 lil r16,96
458: 90 01 01 34 st r0,308(r1)
45c: 90 61 01 38 st r3,312(r1)
460: 90 81 01 3c st r4,316(r1)
464: 7d b5 98 50 .long 0x7db59850
468: 91 01 01 40 st r8,320(r1)
46c: 60 da 00 00 oril r26,r6,0
470: 7f f0 11 20 mtocrf 1,r31
474: 7c 00 de 99 .long 0x7c00de99
478: 4e 1c 00 00 mcrf 4,7
47c: 7c 01 8f 99 .long 0x7c018f99
480: 40 9f 02 ac bns 7,72c <.eb+0x94>
484: 80 62 00 30 l r3,48(r2)
488: 7c 23 86 99 .long 0x7c238699
48c: 7c 83 7e 99 .long 0x7c837e99
490: 7c 63 76 99 .long 0x7c637699
494: 10 60 18 00 .long 0x10601800
498: 38 00 00 30 lil r0,48
49c: 7c 43 06 99 .long 0x7c430699
4a0: 10 40 10 00 .long 0x10401000
4a4: 7c 41 87 99 .long 0x7c418799
4a8: 10 40 20 00 .long 0x10402000
4ac: 10 00 08 00 .long 0x10000800
4b0: 7c 61 7f 99 .long 0x7c617f99
4b4: 7c 41 77 99 .long 0x7c417799
4b8: 7c 00 df 99 .long 0x7c00df99
4bc: 40 9d 00 58 ble 7,514 <.bb+0x140>
4c0: 80 01 01 34 l r0,308(r1)
4c4: 7c 01 8e 98 .long 0x7c018e98
4c8: 7c 95 e2 14 cax r4,r21,r28
4cc: 7c 21 86 98 .long 0x7c218698
4d0: 7c 40 e6 98 .long 0x7c40e698
4d4: 7c 61 7e 98 .long 0x7c617e98
4d8: 7c 60 e2 14 cax r3,r0,r28
4dc: f0 00 14 d0 stfq f0,5328(r0)
4e0: 7c 41 76 98 .long 0x7c417698
4e4: 7c ad e2 14 cax r5,r13,r28
4e8: 7f 9c 9a 14 cax r28,r28,r19
4ec: 7c 01 8f 98 .long 0x7c018f98
4f0: 7c 00 26 98 .long 0x7c002698
4f4: f0 00 0c d0 stfq f0,3280(r0)
4f8: 7c 01 87 98 .long 0x7c018798
4fc: 7c 00 1e 98 .long 0x7c001e98
500: f0 00 1c d0 stfq f0,7376(r0)
504: 7c 01 7f 98 .long 0x7c017f98
508: 7c 00 2e 98 .long 0x7c002e98
50c: f0 00 14 d0 stfq f0,5328(r0)
510: 7c 01 77 98 .long 0x7c017798
514: 38 61 00 70 cal r3,112(r1)
518: 38 81 00 60 cal r4,96(r1)
51c: 38 a1 00 50 cal r5,80(r1)
520: 38 c1 00 40 cal r6,64(r1)
524: 63 07 00 00 oril r7,r24,0
528: 7f 49 03 a6 mtctr r26
52c: 62 e8 00 00 oril r8,r23,0
530: 81 79 00 08 l r11,8(r25)
534: 80 59 00 04 l r2,4(r25)
538: 4e 80 04 21 bctrl
53c: 80 41 00 14 l r2,20(r1)
540: 2c 1c 00 00 cmpi 0,r28,0
544: 7c 01 8e 98 .long 0x7c018e98
548: 41 82 00 58 beq 5a0 <.bb+0x2c>
54c: 41 91 00 54 bgt 4,5a0 <.bb+0x2c>
550: 7c 40 e6 98 .long 0x7c40e698
554: 7c 75 e2 14 cax r3,r21,r28
558: 7c 21 86 98 .long 0x7c218698
55c: 80 01 01 34 l r0,308(r1)
560: 7c 81 7e 98 .long 0x7c817e98
564: 7c ad e2 14 cax r5,r13,r28
568: f0 00 14 d0 stfq f0,5328(r0)
56c: 7c 80 e2 14 cax r4,r0,r28
570: 7c 41 76 98 .long 0x7c417698
00000574 <.bb>:
574: 7f 9c 9a 14 cax r28,r28,r19
578: 7c 01 8f 98 .long 0x7c018f98
57c: 7c 60 1e 98 .long 0x7c601e98
580: f0 21 1c d0 stfq f1,7376(r1)
584: 7c 21 87 98 .long 0x7c218798
588: 7c 20 26 98 .long 0x7c202698
58c: f0 21 24 d0 stfq f1,9424(r1)
590: 7c 21 7f 98 .long 0x7c217f98
594: 7c 20 2e 98 .long 0x7c202e98
598: f0 21 14 d0 stfq f1,5328(r1)
59c: 7c 21 77 98 .long 0x7c217798
5a0: 7c 00 ef 98 .long 0x7c00ef98
5a4: 7c 01 86 98 .long 0x7c018698
000005a8 <.eb>:
5a8: 7c 76 ea 14 cax r3,r22,r29
5ac: 3b de ff c0 cal r30,-64(r30)
5b0: 7c 83 b2 14 cax r4,r3,r22
5b4: 7c 00 1f 98 .long 0x7c001f98
5b8: 7c 01 7e 98 .long 0x7c017e98
5bc: 7c 64 b2 14 cax r3,r4,r22
5c0: 28 1e 00 40 cmpli 0,r30,64
5c4: 7f a3 b2 14 cax r29,r3,r22
5c8: 7c 00 27 98 .long 0x7c002798
5cc: 7c 01 76 98 .long 0x7c017698
5d0: 7c 00 1f 98 .long 0x7c001f98
5d4: 40 80 fe 9c bge 470 <.bb+0x9c>
5d8: 83 41 01 44 l r26,324(r1)
5dc: 80 01 01 a8 l r0,424(r1)
5e0: 82 41 01 68 l r18,360(r1)
5e4: 82 61 01 6c l r19,364(r1)
5e8: 7c 08 03 a6 mtlr r0
5ec: 82 21 01 64 l r17,356(r1)
5f0: 81 c1 01 58 l r14,344(r1)
5f4: 82 01 01 60 l r16,352(r1)
5f8: 81 a1 01 54 l r13,340(r1)
5fc: 81 e1 01 5c l r15,348(r1)
...
00000950 <.eb>:
950: 4e 80 00 20 br
00000954 <.ef>:
954: 00 00 00 00 .long 0x0
958: 00 09 20 00 .long 0x92000
95c: 00 00 00 00 .long 0x0
960: 00 00 00 d4 .long 0xd4
...
Tags encryption aix