Bagaimana cara mengubah direktori pencarian default GCC untuk crti.o?

Saya ingin menentukan direktori pencarian GCC untuk startfile dan endfile: crt1.o, crti.o dan crtn.o. Melewati -B pada baris perintah ke driver GCC berfungsi, tetapi merepotkan. Bagaimana cara mengubah file spesifikasi (lib/gcc/x86_64-unknown-linux-gnu/4.9.2/specs) untuk menentukan jalur pencarian startfile?

Saya mencoba menambahkan opsi -B ke spesifikasi startfile dan mendapatkan kesalahan: ld: unrecognized option '-B/gsc/btl/linuxbrew/lib'

Saya kemudian mencoba menambahkan opsi -B ke spesifikasi cc1 dan mendapatkan kesalahan: cc1: error: command line option '-B/gsc/btl/linuxbrew/lib' is valid for the driver but not for C

Jika tidak mungkin melakukan ini melalui file specs, apakah ada variabel lingkungan atau opsi konfigurasi untuk GCC yang mencapai tujuan yang sama?

Saya telah menginstal versi terbaru glibc di direktori home saya. Semuanya bekerja dengan baik. Saya telah memodifikasi file specs untuk ditautkan ke versi baru glibc, namun masih tertaut ke versi sistem lama di /usr dari startfile dan endfile.

Berikut pertanyaan yang belum terjawab di milis gcc-help. Berikut bug Linuxbrew terkait, gfortran rusak dengan Linuxbrew yang berdiri sendiri, dan usulan perbaikan, gcc, binutils: tautan ke Cellar, bukan lib sistem.

Terima kasih,
Shaun


person Shaun Jackman    schedule 06.03.2015    source sumber


Jawaban (2)


Anda dapat menggunakan jalur absolut di bagian *startfile: dan *endfile: di file spesifikasi, bukan jalur relatif default. Ini akan mengesampingkan pilihan lokasi default GCC.

person Florian Weimer    schedule 09.02.2019

Sesuai dengan https://wiki.debian.org/Multiarch/LibraryPathOverview, gcc akan mencari file startup seperti crt1.o di $(sysroot)/lib, sehingga Anda dapat menentukan opsi --sysroot saat menjalankan gcc, atau kompilasi gcc dengan --with-sysroot.

person Michael    schedule 15.11.2018
comment
Sayangnya ketika saya mencoba --sysroot dengan glibc yang dibuat khusus, gagal dengan kesalahan lain: cannot find libgcc_s.so.1 dan sepertinya masih menggunakan yang host: stackoverflow.com/questions /10412684/ - person Ciro Santilli 新疆再教育营六四事件ۍ 25.03.2021