2015ǯ02��24��
Linux��ǥӥ�ɤ���GCC����������ѥ����ʴʰס˥ƥ��Ȥ�����ˡ
�� ���ε����Ǥ� newlib ����Ѥ��� bare-metal target�������� OS �쥹�δĶ��򥿡����åȤˤ�������������ѥ���Ρ����եȥ����� CPU ���ߥ�졼������Ѥ����ʰץƥ�����ˡ�򰷤��ޤ���GCC �Υӥ�ɴĶ��䡢dejagnu �ʤɤΡ��̾�Υͥ��ƥ��� GCC �Ρ˥ƥ��ȴĶ��ϡ��������äƤ����ΤȤ��ޤ���
���ͥ����ȡ� MIPS Cross Compiler build
������
- GDB �� CPU ���ߥ�졼����Ȥäơ��̥������åȸ����ΥХ��ʥ��¹� ���ͥ����Ȥ�Ʊ�ͤˡ������� GCC �Ȱ��˥����� GDB ��ӥ�ɤ���Τ��μ¤Ǥ� ��1�����λ���GCC ��ӥ�ɤ������� configure �˻��ꤷ���������åȡʰʸ塢��Ȥ��� --target=sh-none-elf ����Ѥ��ޤ��ˤ˹�碌�ơ�GDB �� configure ���� target ����ꤷ�ޤ����ʸ�Ҥ��ޤ������ǥե���Ȥ�����ե�����Ǥϡ�����ѥ���ȥ��ߥ�졼����Ʊ�� prefix �����Ѥ����Τǡ�target ���碌�Ƥ������ɲä����꤬���פdzڤǤ���������ؤ�� binutils �������Ʊ���Ǥ�����
- newlib �� GDB �� sim-stdio ���Ф���ɸ�������ϥ饤�֥�����äƤ���Τǡ��������ѡʥǥե���Ȥ�Í�� ��2��
- GCC �� make check ��� target_board �� XXX-sim �����
���ͥ����Ȥΰʲ�����ʬ�Ǥ���cd mips/build/gcc-stage2 make check-gcc RUNTESTFLAGS=--target_board=mips-sim
������Ȥ����� CPU �˹�碌�� sh-sim �Τ褦�˻��ꤹ��ȡ�����������ѥ��� sh-none-elf-gcc ��3 �ǥ���ѥ��뤷�ƤǤ����Х��ʥ꤬������������ѥ����Ʊ�� prefix �� sh-none-elf-run �Ǽ¹Ԥ���ޤ���
�ޤ���GDB �� configure ���˥��ߥ�졼����ɸ�������ϡ�sim-stdio�ˤΥ��ݡ��Ȥ�Í���ˤ��ޤ���
--enable-sim-stdio�ӥ�ɤ��� GDB �� PATH ���̤��Ƥ����Τ�˺��ʤ��Ǥ���������
�����ϡ�GDB �ΥС������ˤ�äƥƥ��ȷ�̤��Ѥ�äƤ��ޤ��Τǡ��С���������ꤹ��ɬ�פ�����ޤ����������ޤǤ⻲�ͤˤ����ʤ�ʤ��Ȥ������ȤǤ��͡�����Ǥ������ƥ��Ȥ��ʤ����ϰ¿������㤤�ޤ�����4
³���� Linux��ǥӥ�ɤ���GCC����������ѥ����QEMU�桼�����⡼�ɤǥƥ��Ȥ�����ˡ
��1 �����Ƥ��������ǥ���������ѥ�����Ѱդ���ɬ�פ�������ϡ����Ū�ޥ��ʡ��ʴĶ��Ǥ��뤳�Ȥ�¿���Τǡ�Linux �ǥ����ȥ�ӥ塼�����Υѥå�������¸�ߤ��뤳�Ȥϴ��ԤǤ��ޤ��󡣡ʤ��⤽�� GDB �Υѥå�����������褦�ʴĶ��ʤ�С������Ƥ�����������ѥ�����Ѱդ���Ƥ���Ϥ��ġ���
��2 ���� �� GNU �ˤ�� AKI-H8 �Υץ�����೫ȯ / ʸ�������(printf)�򥷥ߥ�졼���ȼµ�ξ���ǻȤ���褦�ˤ���
������������ sim-stdio �����饤�֥��ϡ��µ��Ǥϼ���ˤʤ�Τǡ����ξ���
--disable-newlib-supplied-syscalls�� configure ���ץ������ɲä��� newlib ��ӥ�ɤ��ޤ���
��3 ���Τˤϡ�GCC �Υӥ�ɥǥ��쥯�ȥ�� make check-gcc �������ˤϡ��ӥ�ɥǥ��쥯�ȥ�� gcc/xgcc �����Ѥ���ޤ������󥹥ȡ���Ѥߤ� sh-none-elf-gcc �ʤɤ�ºݤ˻��Ѥ��������ϡ��ʲ��Τ褦��Ŭ��������ե����� site.exp ���Ѱդ���make check-gcc �������������ե����뤬���ͤˤʤ�ޤ��ˡ�runtest ��¹Ԥ��Ƥ���������--tool �� gcc/g++ ����ꤹ����ϡ�srcdir �� GCC �Υ������ǥ��쥯�ȥ�� gcc/testsuite �ǥ��쥯�ȥꡢlibstdc++ ����ꤹ����� libstdc++-v3/testsuite ����ꤷ�Ƥ���������
$ cat site.exp set target_triplet sh-none-elf set target_alias sh-none-elf set CFLAGS "" set CXXFLAGS "" set HOSTCC "gcc" set HOSTCFLAGS "-g -O2" set tmpdir /path/to/temp set baseline_subdir_switch "--print-multi-directory" $ export PATH=/path/to/gcc/sysroot/bin:$PATH $ runtest --tool gcc --srcdir /path/to/gcc-XXX/gcc/testsuite --target_board=sh-sim --ignore pch.exp�ʲ��⡢ɬ�פʤ�л�Ƥߤ���ɤ����⤷��ޤ���
set HAVE_LIBSTDCXX_V3 1 set ENABLE_PLUGIN 1 set PLUGINCC "g++" set PLUGINCFLAGS "-g " set ENABLE_LTO 1�ޤ���PATH ���̤��ʤ��Ƥ⡢set rootme �ǥ��󥹥ȡ��뤷�� GCC �Υ롼�ȥǥ��쥯�ȥ��sysroot�ˤ���ꤹ����ɤ��Τ��⤷��ޤ��󡣡�̤���ڡ�
��4 GCC �� newlib �� ARM �ʤɤΥ᥸�㡼�ʥ������åȤ��Х��äƤ뤳�Ȥϡ����ޤꤢ��ޤ��󤬡��ޥ��ʡ��ʥ������åȤ䡢�ޤ��Ϥ�Ƥ��ʤ��ǿ��������ƥ���������ǤǤ��ޤ��󡣡ʤ��⤽��ӥ�ɤ��ޤȤ���̤�ʤ����Ȥ�����¿�����餤�Ǥ����ˤǤ���¤�Υƥ��Ȥ��äƤ����ˤ��������ȤϤ���ޤ���