6.16.1. ການຕິດຕັ້ງ Binutils
ກວດສອບວ່າ PTYs ເຮັດວຽກຢ່າງຖືກຕ້ອງພາຍໃນສະພາບແວດລ້ອມ chroot ໂດຍການເຮັດການທົດສອບງ່າຍໆ:
ຄາດຫວັງ -c "spawn ls"
ຄາດຫວັງ -c "spawn ls"
ຄໍາສັ່ງນີ້ຄວນຈະໃຫ້ຜົນໄດ້ຮັບດັ່ງຕໍ່ໄປນີ້:
ວາງໄຂ່ ls
ວາງໄຂ່ ls
ຖ້າຫາກວ່າ, ແທນທີ່ຈະ, ຜົນຜະລິດປະກອບມີຂໍ້ຄວາມຂ້າງລຸ່ມນີ້, ຫຼັງຈາກນັ້ນສະພາບແວດລ້ອມບໍ່ໄດ້ສ້າງຕັ້ງຂຶ້ນສໍາລັບການດໍາເນີນການ PTY ທີ່ເຫມາະສົມ. ບັນຫານີ້ຕ້ອງໄດ້ຮັບການແກ້ໄຂກ່ອນທີ່ຈະດໍາເນີນການຊຸດທົດສອບສໍາລັບ Binutils ແລະ GCC:
ລະບົບບໍ່ມີ ptys ອີກຕໍ່ໄປ.
ຂໍໃຫ້ຜູ້ເບິ່ງແຍງລະບົບຂອງເຈົ້າສ້າງເພີ່ມເຕີມ.
ລະບົບບໍ່ມີ ptys ອີກຕໍ່ໄປ.
ຂໍໃຫ້ຜູ້ເບິ່ງແຍງລະບົບຂອງເຈົ້າສ້າງເພີ່ມເຕີມ.
ຕອນນີ້ເອົາການທົດສອບຫນຶ່ງທີ່ປ້ອງກັນບໍ່ໃຫ້ການທົດສອບແລ່ນໄປຈົນເຖິງສໍາເລັດ:
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
ເອກະສານ Binutils ແນະນໍາໃຫ້ສ້າງ Binutils ໃນໄດເລກະທໍລີສ້າງສະເພາະ:
mkdir -v build cd build
mkdir -v build cd build
ກະກຽມ Binutils ສໍາລັບການລວບລວມ:
../configure --prefix=/usr \
--enable-gold \
--enable-ld=ຄ່າເລີ່ມຕົ້ນ \
--enable-plugins \
--enable-shared \
--disable-wrror \
--enable-64-bit-bfd \
--with-system-zlib
../configure --prefix=/usr \
--enable-gold \
--enable-ld=ຄ່າເລີ່ມຕົ້ນ \
--enable-plugins \
--enable-shared \
--disable-wrror \
--enable-64-bit-bfd \
--with-system-zlib
ຄວາມຫມາຍຂອງຕົວກໍານົດການ:
--enable-gold
ກໍ່ສ້າງຕົວເຊື່ອມຕໍ່ຄໍາແລະຕິດຕັ້ງມັນເປັນ ld.gold (ຢູ່ຂ້າງຕົວເຊື່ອມຕໍ່ເລີ່ມຕົ້ນ).
--enable-ld=ຄ່າເລີ່ມຕົ້ນ
ສ້າງຕົວເຊື່ອມຕໍ່ bdf ຕົ້ນສະບັບແລະຕິດຕັ້ງມັນເປັນທັງ ld (ຕົວເຊື່ອມຕໍ່ເລີ່ມຕົ້ນ) ແລະ ld.bfd.
--enable-plugins
ເປີດໃຊ້ການຮອງຮັບ plugin ສໍາລັບຕົວເຊື່ອມຕໍ່.
--enable-64-bit-bfd
ເປີດໃຊ້ການຮອງຮັບ 64-bit (ຢູ່ໃນໂຮສທີ່ມີຂະຫນາດຄໍາທີ່ແຄບກວ່າ). ອາດຈະບໍ່ຈໍາເປັນໃນລະບົບ 64-bit, ແຕ່ບໍ່ເປັນອັນຕະລາຍ.
--with-system-zlib
ໃຊ້ຫ້ອງສະຫມຸດ zlib ທີ່ຕິດຕັ້ງແລ້ວແທນທີ່ຈະສ້າງສະບັບລວມ.
ສັງລວມຊຸດ:
ເຮັດໃຫ້ toolir = / usr
ເຮັດໃຫ້ toolir = / usr
ຄວາມຫມາຍຂອງຕົວກໍານົດການ make:
toolir=/usr
ໂດຍປົກກະຕິ, toolir (ໄດເລກະທໍລີທີ່ executables ສຸດທ້າຍຈະຕັ້ງຢູ່) ຖືກຕັ້ງເປັນ $(exec_ prefix)/$(target_alias). ຕົວຢ່າງ, ເຄື່ອງຈັກ x86_64 ຈະຂະຫຍາຍເປັນ /usr/x86_64- unknown-linux-gnu. ເນື່ອງຈາກວ່ານີ້ແມ່ນລະບົບທີ່ກໍານົດໄວ້, ລະບົບເປົ້າຫມາຍສະເພາະນີ້ໃນ / usr ບໍ່ຈໍາເປັນ.
$(exec_prefix)/$(target_alias) ຈະຖືກນໍາໃຊ້ຖ້າລະບົບຖືກນໍາໃຊ້ເພື່ອລວບລວມຂໍ້ມູນຂ້າມ (ຕົວຢ່າງເຊັ່ນການລວບລວມຊຸດໃນເຄື່ອງ Intel ທີ່ສ້າງລະຫັດທີ່ສາມາດປະຕິບັດໄດ້ໃນເຄື່ອງ PowerPC).
ທີ່ສໍາຄັນ
ຊຸດທົດສອບສໍາລັບ Binutils ໃນພາກນີ້ແມ່ນພິຈາລະນາທີ່ສໍາຄັນ. ຢ່າຂ້າມມັນພາຍໃຕ້ສະຖານະການໃດກໍ່ຕາມ.
ທີ່ສໍາຄັນ
ຊຸດທົດສອບສໍາລັບ Binutils ໃນພາກນີ້ແມ່ນພິຈາລະນາທີ່ສໍາຄັນ. ຢ່າຂ້າມມັນພາຍໃຕ້ສະຖານະການໃດກໍ່ຕາມ.
ທົດສອບຜົນໄດ້ຮັບ:
ເຮັດໃຫ້ -k ກວດສອບ
ເຮັດໃຫ້ -k ກວດສອບ
ການທົດສອບການຊົດເຊີຍຂອງ PC-relative ແລະການທົດສອບ debug_msg.sh ອາດຈະລົ້ມເຫລວໃນສະພາບແວດລ້ອມ LFS. ຕິດຕັ້ງຊຸດ:
ເຮັດໃຫ້ toolir=/usr ຕິດຕັ້ງ
ເຮັດໃຫ້ toolir=/usr ຕິດຕັ້ງ