Como usar o desmontador do AIX?

1

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
        ...
    
por jww 14.09.2017 / 04:18

0 respostas