InggrisPerancisSpanyol

Ad


favorit OnWorks

dpkg-buildflags - Online di Cloud

Jalankan dpkg-buildflags di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah dpkg-buildflags yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, Windows online emulator atau MAC OS online emulator

PROGRAM:

NAMA


dpkg-buildflags - mengembalikan flag build untuk digunakan selama pembuatan paket

RINGKASAN


dpkg-buildflags [Option...] [Command]

DESKRIPSI


dpkg-buildflags adalah alat untuk mengambil flag kompilasi untuk digunakan selama pembuatan Debian
paket. Bendera default ditentukan oleh vendor tetapi dapat diperpanjang/ditimpa
dalam beberapa cara:

1. seluruh sistem dengan /etc/dpkg/buildflags.conf;

2. untuk pengguna saat ini dengan $XDG_CONFIG_HOME/dpkg/buildflags.conf dimana
$XDG_CONFIG_HOME default ke $HOME/.config;

3. sementara oleh pengguna dengan variabel lingkungan (lihat bagian LINGKUNGAN);

4. secara dinamis oleh pengelola paket dengan variabel lingkungan diatur melalui
debian/aturan (lihat bagian LINGKUNGAN).

File konfigurasi dapat berisi dua jenis arahan:

SET bendera nilai
Timpa bendera bernama bendera memiliki nilai nilai.

MENGUPAS bendera nilai
Strip dari bendera bernama bendera semua flag build terdaftar di nilai.

MENAMBAHKAN bendera nilai
Perpanjang bendera bernama bendera dengan menambahkan opsi yang diberikan dalam nilai. Sebuah ruang adalah
ditambahkan ke nilai yang ditambahkan jika nilai flag saat ini tidak kosong.

TULISKAN bendera nilai
Perpanjang bendera bernama bendera dengan menambahkan opsi yang diberikan di nilai. Sebuah ruang adalah
ditambahkan ke nilai awal jika nilai flag saat ini tidak kosong.

File konfigurasi dapat berisi komentar pada baris yang dimulai dengan hash (#). Kosong
garis juga diabaikan.

PERINTAH


--membuang Cetak ke output standar semua flag kompilasi dan nilainya. Ini mencetak satu bendera
per baris dipisahkan dari nilainya dengan tanda sama dengan (“bendera=nilai”). Ini adalah
tindakan bawaan.

--Daftar Cetak daftar bendera yang didukung oleh vendor saat ini (satu per baris). Lihat
DIDUKUNG BENDERA bagian untuk informasi lebih lanjut tentang mereka.

--status
Tampilkan informasi apa pun yang dapat berguna untuk menjelaskan perilaku
dpkg-buildflags (sejak dpkg 1.16.5): variabel lingkungan yang relevan, saat ini
vendor, status semua flag fitur. Cetak juga flag compiler yang dihasilkan dengan
asal mereka.

Ini dimaksudkan untuk dijalankan dari debian/aturan, sehingga log build tetap jelas
jejak flag build yang digunakan. Ini dapat berguna untuk mendiagnosis masalah yang terkait dengan
Mereka.

--ekspor=format
Cetak ke perintah keluaran standar yang dapat digunakan untuk mengekspor semua kompilasi
bendera untuk beberapa alat tertentu. jika format nilai tidak diberikan, sh diasumsikan.
Hanya flag kompilasi yang dimulai dengan karakter huruf besar yang disertakan, yang lain
dianggap tidak sesuai dengan lingkungan. Format yang didukung:

sh Perintah Shell untuk mengatur dan mengekspor semua flag kompilasi di
lingkungan. Nilai bendera dikutip sehingga output siap untuk
evaluasi oleh shell.

cmdline
Argumen untuk diteruskan ke baris perintah program pembangunan untuk menggunakan semua
flag kompilasi (sejak dpkg 1.17.0). Nilai bendera dikutip di shell
sintaks.

mengkonfigurasi
Ini adalah alias warisan untuk cmdline.

membuat Buat arahan untuk mengatur dan mengekspor semua flag kompilasi di
lingkungan. Output dapat ditulis ke fragmen makefile dan dievaluasi
menggunakan memasukkan Directive.

--Dapatkan bendera
Cetak nilai flag pada output standar. Keluar dengan 0 jika bendera diketahui
jika tidak keluar dengan 1.

--asal bendera
Cetak asal nilai yang dikembalikan oleh --Dapatkan. Keluar dengan 0 jika bendera
diketahui jika tidak keluar dengan 1. Asal dapat berupa salah satu dari nilai berikut:

penjaja bendera asli yang ditetapkan oleh vendor dikembalikan;

sistem bendera diatur/dimodifikasi oleh konfigurasi seluruh sistem;

pemakai bendera diatur/dimodifikasi oleh konfigurasi khusus pengguna;

env bendera diatur/dimodifikasi oleh konfigurasi khusus lingkungan.

--query-fitur daerah
Cetak fitur yang diaktifkan untuk area tertentu (sejak dpkg 1.16.2). Satu-satunya
area yang saat ini dikenal di Debian dan turunannya adalah qa, direproduksi, membersihkan
dan pengerasan, lihat FITUR WILAYAH bagian untuk lebih jelasnya. Keluar dengan 0 jika
area diketahui jika tidak keluar dengan 1.

Outputnya dalam format RFC822, dengan satu bagian per fitur. Sebagai contoh:

Fitur: pai
Diaktifkan: tidak

Fitur: pelindung tumpukan
Diaktifkan: ya

--membantu Tampilkan pesan penggunaan dan keluar.

--Versi: kapan
Tampilkan versi dan keluar.

DIDUKUNG BENDERA


CFLAG Opsi untuk kompiler C. Nilai default yang ditetapkan oleh vendor meliputi: -g dan
tingkat pengoptimalan default (-O2 biasanya, atau -O0 jika DEB_BUILD_OPTIONS
variabel lingkungan mendefinisikan tidak).

CPPFLAGS
Opsi untuk praprosesor C. Nilai default: kosong.

BENDERA CXX
Opsi untuk kompiler C++. Sama dengan CFLAG.

BENDERA OBJC
Opsi untuk kompiler Objective C. Sama dengan CFLAG.

BENDERA OBJCXX
Opsi untuk kompiler Objective C++. Sama dengan BENDERA CXX.

GCJFLAGS
Opsi untuk kompiler GNU Java (gcj). Sebuah subset dari CFLAG.

BENDERA Opsi untuk kompiler Fortran 77. Sebuah subset dari CFLAG.

FCFLAGS
Opsi untuk kompiler Fortran 9x. Sama dengan BENDERA.

LDFLAG
Opsi diteruskan ke kompiler saat menautkan executable atau objek bersama (jika
linker dipanggil secara langsung, lalu -Wl dan , harus dilucuti dari opsi ini).
Nilai default: kosong.

Bendera baru mungkin ditambahkan di masa mendatang jika diperlukan (misalnya untuk mendukung lainnya
bahasa).

FITUR WILAYAH


Setiap fitur area dapat diaktifkan dan dinonaktifkan di DEB_BUILD_OPTIONS dan
DEB_BUILD_MAINT_OPTIONS nilai area variabel lingkungan dengan '+'Dan'-' pengubah.
Misalnya, untuk mengaktifkan pengerasan fitur "pai" dan nonaktifkan fitur "membentengi" Anda
dapat melakukan ini di debian/aturan:

ekspor DEB_BUILD_MAINT_OPTIONS=pengerasan=+pai,-membentengi

Fitur khusus semua (berlaku di area mana pun) dapat digunakan untuk mengaktifkan atau menonaktifkan semua area
fitur sekaligus. Dengan demikian menonaktifkan semua yang ada di pengerasan daerah dan memungkinkan
hanya "format" dan "membentengi" yang dapat dicapai dengan:

ekspor DEB_BUILD_MAINT_OPTIONS=pengerasan=-semua,+format,+bentengi

qa
Beberapa opsi waktu kompilasi (rincian di bawah) dapat digunakan untuk membantu mendeteksi masalah dalam
kode sumber atau membangun sistem.

kesalahan Pengaturan ini (dinonaktifkan secara default) menambahkan opsi peringatan apa pun yang dapat dideteksi secara andal
kode sumber bermasalah. Peringatannya fatal.

kenari Pengaturan ini (dinonaktifkan secara default) menambahkan opsi canary dummy ke flag build, jadi
bahwa log build dapat diperiksa untuk mengetahui bagaimana flag build menyebar dan mengizinkan
menemukan penghilangan pengaturan flag build normal. Satu-satunya yang saat ini didukung
bendera adalah CPPFLAGS, CFLAG, BENDERA OBJC, BENDERA CXX dan BENDERA OBJCXX dengan bendera diatur ke
-D__DEB_CANARY_bendera_id acak__, dan LDFLAG mulai -Wl,-z,deb-kenari-id acak.

membersihkan
Beberapa opsi waktu kompilasi (rinci di bawah) dapat digunakan untuk membantu membersihkan hasil
biner terhadap kerusakan memori, kebocoran memori, penggunaan setelah gratis, threading data race dan
bug perilaku tidak terdefinisi.

alamat
Pengaturan ini (dinonaktifkan secara default) menambahkan -fsanitize=alamat untuk LDFLAG dan
-fsanitize=alamat -fno-menghilangkan-frame-pointer untuk CFLAG dan BENDERA CXX.

benang Pengaturan ini (dinonaktifkan secara default) menambahkan -fsanitize=utas untuk CFLAG, BENDERA CXX dan
LDFLAG.

bocor Pengaturan ini (dinonaktifkan secara default) menambahkan -fsanitize=kebocoran untuk LDFLAG. Mendapat
secara otomatis dinonaktifkan jika salah satu dari alamat atau itu benang fitur diaktifkan, sebagai
mereka menyiratkannya.

tidak terdefinisi
Pengaturan ini (dinonaktifkan secara default) menambahkan -fsanitize=tidak terdefinisi untuk CFLAG, BENDERA CXX
dan LDFLAG.

pengerasan
Beberapa opsi waktu kompilasi (rinci di bawah) dapat digunakan untuk membantu mengeraskan hasil
biner terhadap serangan korupsi memori, atau memberikan pesan peringatan tambahan selama
kompilasi. Kecuali seperti yang disebutkan di bawah, ini diaktifkan secara default untuk arsitektur yang
dukung mereka.

format Pengaturan ini (diaktifkan secara default) menambahkan -format -Kesalahan=format-keamanan untuk CFLAG,
BENDERA CXX, BENDERA OBJC dan BENDERA OBJCXX. Ini akan memperingatkan tentang string format yang tidak tepat
digunakan, dan akan gagal ketika fungsi format digunakan dengan cara yang merepresentasikan kemungkinan
masalah keamanan. Saat ini, ini memperingatkan tentang panggilan ke Printf dan scanf fungsi
di mana format string bukan string literal dan tidak ada argumen format,
seperti dalam printf(foo); alih-alih printf("%s", foo); Ini mungkin lubang keamanan jika
format string berasal dari input yang tidak dipercaya dan berisi '%n'.

membentengi
Pengaturan ini (diaktifkan secara default) menambahkan -D_FORTIFY_SUMBER=2 untuk CPPFLAGS. Selama kode
generasi kompiler mengetahui banyak informasi tentang ukuran buffer (di mana
mungkin), dan mencoba untuk mengganti panggilan fungsi buffer panjang tak terbatas yang tidak aman
dengan yang terbatas panjangnya. Ini sangat berguna untuk kode lama dan kasar.
Selain itu, format string dalam memori yang dapat ditulis yang berisi '%n' diblokir. Jika
aplikasi tergantung pada string format seperti itu, itu perlu dikerjakan.

Perhatikan bahwa agar opsi ini memiliki efek apa pun, sumbernya juga harus dikompilasi dengan
-O1 atau lebih tinggi. Jika variabel lingkungan DEB_BUILD_OPTIONS mengandung tidak, kemudian
membentengi dukungan akan dinonaktifkan, karena peringatan baru dikeluarkan oleh glibc 2.16
dan kemudian.

pelindung tumpukan
Pengaturan ini (diaktifkan secara default jika stackprotectorstrong tidak digunakan) menambahkan
-fstack-pelindung --param=ssp-buffer-size=4 untuk CFLAG, BENDERA CXX, BENDERA OBJC,
BENDERA OBJCXX, GCJFLAGS, BENDERA dan FCFLAGS. Ini menambahkan pemeriksaan keamanan terhadap tumpukan
menimpa. Ini membuat banyak serangan injeksi kode potensial menjadi batal
situasi. Dalam kasus terbaik ini mengubah kerentanan injeksi kode menjadi penolakan
layanan atau non-masalah (tergantung pada aplikasi).

Fitur ini memerlukan penautan ke glibc (atau penyedia lain dari
__stack_chk_fail), jadi perlu dinonaktifkan saat membangun dengan -nostdlib or
-berdiri bebas atau serupa.

stackprotectorstrong
Pengaturan ini (diaktifkan secara default) menambahkan -fstack-pelindung-kuat untuk CFLAG,
BENDERA CXX, BENDERA OBJC, BENDERA OBJCXX, GCJFLAGS, BENDERA dan FCFLAGS. Ini lebih kuat
varian dari pelindung tumpukan, tetapi tanpa penalti kinerja yang signifikan.

Menonaktifkan pelindung tumpukan juga akan menonaktifkan pengaturan ini.

Fitur ini memiliki persyaratan yang sama dengan pelindung tumpukan, dan selain itu juga
membutuhkan gcc 4.9 dan yang lebih baru.

relro Pengaturan ini (diaktifkan secara default) menambahkan -Wl,-z,relro untuk LDFLAG. Selama program
beban, beberapa bagian memori ELF perlu ditulis oleh linker. Bendera ini
pemuat untuk mengubah bagian ini hanya-baca sebelum menyerahkan kontrol ke
program. Terutama ini mencegah serangan menimpa GOT. Jika opsi ini adalah
cacat, mengikat akan menjadi cacat juga.

mengikat
Pengaturan ini (dinonaktifkan secara default) menambahkan -Wl,-z,sekarang untuk LDFLAG. Selama memuat program,
semua simbol dinamis diselesaikan, memungkinkan seluruh PLT ditandai sebagai
saja (karena relro di atas). Opsi tidak dapat diaktifkan jika relro tidak
diaktifkan.

pai Pengaturan ini (dinonaktifkan secara default) menambahkan -fPIE untuk CFLAG, BENDERA CXX, BENDERA OBJC,
BENDERA OBJCXX, GCJFLAGS, BENDERA dan FCFLAGS, dan -fPIE -pai untuk LDFLAG. Posisi
Eksekusi Independen diperlukan untuk memanfaatkan Tata Letak Ruang Alamat
Pengacakan, didukung oleh beberapa versi kernel. Sementara ASLR sudah bisa
diberlakukan untuk area data di stack dan heap (brk dan mmap), area kode harus
dikompilasi sebagai posisi-independen. Pustaka bersama sudah melakukan ini (-fPIC), jadi
mereka mendapatkan ASLR secara otomatis, tetapi wilayah .text biner perlu dibangun PIE untuk mendapatkan
ASLR. Ketika ini terjadi, serangan ROP (Return Oriented Programming) jauh lebih sulit
karena tidak ada lokasi statis untuk dipantulkan selama kerusakan memori
menyerang.

Ini tidak kompatibel dengan -fPIC jadi harus berhati-hati saat membangun bersama
benda.

Selain itu, karena PIE diimplementasikan melalui register umum, beberapa arsitektur
(terutama i386) dapat melihat penurunan kinerja hingga 15% di segmen teks yang sangat
beban kerja aplikasi yang berat; sebagian besar beban kerja melihat kurang dari 1%. Arsitektur dengan
register yang lebih umum (misalnya amd64) tidak melihat hukuman terburuk.

direproduksi
Opsi waktu kompilasi yang dirinci di bawah ini dapat digunakan untuk membantu meningkatkan reproduktifitas build
atau berikan pesan peringatan tambahan selama kompilasi. Kecuali seperti yang disebutkan di bawah, ini
diaktifkan secara default untuk arsitektur yang mendukungnya.

abadi
Pengaturan ini (diaktifkan secara default) menambahkan -Tanggal-waktu untuk CPPFLAGS. Ini akan menyebabkan
peringatan ketika __WAKTU__, __TANGGAL__ dan __TIMESTAMP__ makro digunakan.

LINGKUNGAN


Ada 2 set variabel lingkungan yang melakukan operasi yang sama, yang pertama
(DEB_bendera_op) tidak boleh digunakan di dalam debian/aturan. Ini dimaksudkan untuk setiap pengguna yang ingin
untuk membangun kembali paket sumber dengan flag build yang berbeda. Set kedua
(DEB_bendera_MAIN_op) hanya boleh digunakan dalam debian/aturan oleh pengelola paket untuk diubah
flag build yang dihasilkan.

DEB_bendera_MENGATUR
DEB_bendera_MAIN_SET
Variabel ini dapat digunakan untuk memaksa nilai yang dikembalikan untuk yang diberikan bendera.

DEB_bendera_MENGUPAS
DEB_bendera_MAINT_STRIP
Variabel ini dapat digunakan untuk menyediakan daftar opsi yang dipisahkan oleh spasi
dilucuti dari set bendera yang dikembalikan untuk diberikan bendera.

DEB_bendera_MENAMBAHKAN
DEB_bendera_MAINT_APPEND
Variabel ini dapat digunakan untuk menambahkan opsi tambahan ke nilai yang dikembalikan untuk
pemberian bendera.

DEB_bendera_SIAPKAN
DEB_bendera_MAINT_PREPEND
Variabel ini dapat digunakan untuk menambahkan opsi tambahan ke nilai yang dikembalikan
untuk yang diberikan bendera.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Variabel ini dapat digunakan oleh pengguna atau pengelola untuk menonaktifkan/mengaktifkan berbagai area
fitur yang memengaruhi flag build. Itu DEB_BUILD_MAINT_OPTIONS penggantian variabel
pengaturan apa pun di DEB_BUILD_OPTIONS daerah fitur. Lihat FITUR WILAYAH bagian
untuk rincian.

Gunakan dpkg-buildflags online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad