2006ǯ3��11�� (������)

12:43:00 # Life ��ͭ�饤�֥��ϥ����ƥ��å��饤�֥����⥪���Хإåɤ�����Ρ� �Ƕ��Linux�Ƕ�ͭ�饤�֥������Ѥ����ץ����������Ѥ����硤 �����ƥ��å���󥯤ξ��Ȥΰ㤤�Ȥ��ơ� �ؿ��ƤӽФ��ϰ�öplt���������Ȥ����Ȥ����Υ�����̿����ͳ���� �����δؿ���ƤӽФ��褦�ˤʤ�ޤ��� �����طʤȤ��Ƥϡ���ͭ�饤�֥�꤬�����ɤ���륢�ɥ쥹�Ȥ����Τ������˷���Ǥ��ʤ����ᡤ �����ɤ��Ƥ���ؿ��ƤӽФ��Υ��ɥ쥹���褹��Ȥ���������ELF�Υ����ʥߥå������ǥ��󥰤λ��ͤ�����ޤ��� �����¸����뤿��� text ��������(�ץ������μ¹Բ�ǽ�ǡ������ΰ补������̿��θƤӽФ��襢�ɥ쥹�ʤɤ��񤫤�Ƥ���)�������񤭴������褦�ˤ��Ƥ��ޤ��� �¹ԥХ��ʥ�򤽤Τޤ�mmap���ɤ߹������Ѥ��ɤ߹���ʤ����Ȥˤʤ�ޤ��� ��������ȥ���å��ΰ��̵�̤˳��ݤ���ɬ�פ��ǤƤ����ꤹ��Τǡ� �ѹ��Ǥ�����ʬ�򳰤����ˤ��Ƥ��롤�Ȥ��������꤬���⤽�����ͳ�Τ褦�Ǥ��� �ؿ��ƤӽФ��ϡ�plt�����������Ф��ƤΥ�����̿���ȯ������ plt���������γ���������ʬ��GOT��Ŭ�ڤ���ʬ�Υ��ɥ쥹���ɤ߹��ߤ��Υ��ɥ쥹�����Ӥޤ��� (powerpc�ξ��ľ��plt�����Ѥ�äƤ��뤭�����ޤ���������ϳ�ǧɬ�פǤ���) ����ˤ��ºݤδؿ��Υ����ɤإ����פ��뤳�Ȥ��Ǥ��ޤ��� powerpc�Ǵؿ��ƤӽФ�������1G�󤹤�ץ��������ꡤ��Ӥ��Ƥߤޤ����� ��500MHz��ư��Ƥ���CPU�ʤΤǡ�2�ä���1�����å���������Ǥ��� Ʊ�����򷫤��֤��Ƥ���Τǰ��ֹ�®�ʾ��Ǥ��뤳�Ȥ�ͽ�ۤǤ��ޤ��� ��̤򸫤Ƥߤ�ȡ��ɤ����-fPIC�ξ�硤�ؿ��ƤӽФ���2�����å��������뤯�餤;�פˤ����äƤ���褦�Ǥ���

���� ��ͭ�饤�֥����(-fPIC) �����ƥ��å������
�»��� 17.646 13.746
�桼������ 17.005 13.233
�����ƥ���� 0.024 0.018

���ͤޤǤˡ�PLT���������˽񤭹��ޤ�Ƥ����֥���̿��Ϥ���ʴ����Ǥ���

0x10011b70 <function_in_lib@plt+0>:	b       0xffdf590 <function_in_lib>
	

Athlon 64 2.2GHz��Ʊ�ͤΥƥ��Ȥ򤷤Ƥߤޤ����� ����ϡ�2.2G��¹Ԥ��Ƥߤ��Ȥ��������η�̤������ޤ����� �ɤ����2�����å����餤���񤷤Ƥ���褦�Ǥ���ppc��Ʊ�����餤�Ǥ��͡� ���å���֥����Ϥ��Ƥߤ��Ȥ��������ä���ȥ����ץơ��֥뤬GOT�˺�������Ƥ��ꡤ PLT�Ǥ�GOT�ؤΥ���ǥå�����Ȥꥸ���פ���褦�ˤʤäƤ��ޤ�����

���� ��ͭ�饤�֥����(-fPIC) �����ƥ��å������
�»��� 8.185 6.142
�桼������ 8.168 6.125
�����ƥ���� 0.000 0.002

�����ǡ�oprofile�Ǽ¹���λ���ʬ�ۤ�ߤƤߤ�ȡ�����ä�ͽ�ۤ򤦤餮���̤��Ǥޤ����� �������ʤ������ʤ�ΤǤ��礦��³���Ϥޤ���ǡ�

��ͭ�饤�֥���� �����ƥ��å������
function_in_lib 61% 25%
main 28% 66%
.plt 4% -

Ian Wienand����ˤޤ��������Ŧ���줿�Τ��������ޤ����� ��ξҲ𤷤Ƥ��줿���Υڡ��������˥ޥ˥��å��Ǥ����������ᡥ PLT���������Ͻ񤭹��߲�ǽ�ǤϤʤ������Ǥ���(�Ť�ABI�Ǥ�powerpc�Ǥ�PLT��������󤬽��Ѥ�äƤ������ȤΤ��ȤǤ���)

powerpc �dz�ǧ���Ƥߤ������Ǥ���li̿�᤬b̿����֤�����äƤ���Τǡ�plt��������󤬽��Ѥ�äƤ���ߤ����Ǥ���

(gdb) disassemble 0x10011b70
Dump of assembler code for function function_in_lib@plt:
0x10011b70 <function_in_lib@plt+0>:	li      r11,4
0x10011b74 <function_in_lib@plt+4>:	b       0x10011b40 <_GLOBAL_OFFSET_TABLE_+44>
End of assembler dump.
(gdb) cont
Continuing.

Breakpoint 2, main (ac=1, av=<value optimized out>) at main.c:50
(gdb) disassemble 0x10011b70
Dump of assembler code for function function_in_lib@plt:
0x10011b70 <function_in_lib@plt+0>:	b       0xffdf590 <function_in_lib>
0x10011b74 <function_in_lib@plt+4>:	b       0x10011b40 <_GLOBAL_OFFSET_TABLE_+44>
End of assembler dump.
	

22:18:34 # Life �����о㳲�� netfort.gr.jp�Υ����Ф�/home���ե�ˤʤäƤ������ᡤ�᡼�뤬�����Ǥ��Ƥ��ʤ��ä���ǽ��������ޤ��� �������פʥ᡼�������Ƥ����Τˤ⤫����餺�ֻ���̵�����Ȥ������Ϥ�����Ǥ�������������������

Junichi Uekawa

$Id: dancer-diary.el,v 1.90 2006/01/31 11:16:16 dancer Exp $