InggrisPerancisSpanyol

Ad


favorit OnWorks

abidiff - Online di Cloud

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

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

PROGRAM:

NAMA


abidiff - bandingkan ABI dari file ELF

abidiff membandingkan Application Binary Interfaces (ABI) dari dua perpustakaan bersama di ELF
format. Ini memancarkan laporan bermakna yang menjelaskan perbedaan antara kedua ABI.

Untuk laporan perubahan ABI komprehensif yang mencakup perubahan tentang fungsi dan variabel
sub-tipe, dua perpustakaan bersama input harus disertai dengan informasi debugnya
in KERDIL format. Jika tidak, hanya ELF simbol yang ditambahkan atau dihapus dilaporkan.

DOA


abidiff [opsi]

PILIHAN


· --membantu | -h

Tampilkan bantuan singkat tentang perintah dan keluar.

· --Versi: kapan | -v

Tampilkan versi program dan keluar.

· --debug-info-dir1 | --d1 <di-jalur1>

Untuk kasus di mana informasi debug untuk perpustakaan bersama pertama dibagi menjadi
file terpisah, beri tahu kepala biara di mana menemukan file informasi debug terpisah itu.

Perhatikan bahwa di jalan harus menunjuk ke direktori root di mana informasi debug
disusun seperti pohon. Di bawah sistem berbasis Red Hat, direktori itu adalah
biasanya /usr/lib/debug.

Perhatikan juga bahwa opsi ini tidak wajib untuk informasi debug terpisah yang dipasang oleh
manajer paket sistem Anda karena itu kepala biara tahu di mana menemukannya.

· --debug-info-dir2 | --d2 <di-jalur2>

Seperti --debug-info-dir1, opsi ini memberi tahu kepala biara di mana menemukan debug split
informasi untuk perpustakaan bersama kedua file.

· --status

Daripada menampilkan perbedaan ABI yang mendetail antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, cukup tampilkan beberapa ringkasan statistik tentang perbedaan ini.

· --simtab

Hanya tampilkan tabel simbol dari perpustakaan bersama pertama dan perpustakaan bersama kedua.

· --dihapus-fns

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya tampilkan fungsi yang ditentukan secara global yang telah dihapus
dari perpustakaan bersama pertama.

· --berubah-fns

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya menampilkan perubahan sub-jenis fungsi global
didefinisikan dalam perpustakaan bersama pertama.

· --tambah-fns

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya tampilkan fungsi yang ditentukan secara global yang ditambahkan ke
perpustakaan bersama kedua.

· --dihapus-vars

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya tampilkan variabel yang ditentukan secara global yang telah dihapus
dari perpustakaan bersama pertama.

· --berubah-vars

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya tampilkan perubahan pada sub-tipe global
variabel yang didefinisikan dalam perpustakaan bersama pertama

· --ditambahkan-vars

Dalam laporan yang dihasilkan tentang perbedaan antara perpustakaan bersama pertama dan
perpustakaan bersama kedua, hanya tampilkan variabel global yang ditambahkan (didefinisikan) ke
perpustakaan bersama kedua.

· --tidak ada-nama-tautan

Dalam laporan yang dihasilkan, jangan tampilkan nama tautan dari yang ditambahkan, dihapus, atau
mengubah fungsi atau variabel.

· --tidak ada pertunjukan-lokasi
Jangan tampilkan informasi tentang lokasi di kedua berbagi perpustakaan masing-masing
jenis diubah.

· --no-unreferenced-simbol

Dalam laporan yang dihasilkan, tidak menampilkan informasi perubahan tentang fungsi dan
simbol variabel yang tidak direferensikan oleh informasi debug apa pun. Perhatikan bahwa untuk
simbol-simbol ini tidak dirujuk oleh informasi debug apa pun, informasi perubahan
ditampilkan adalah simbol yang ditambahkan atau dihapus.

· --supresi | --suppr <jalan menuju penekanan>

Gunakan file spesifikasi penindasan yang terletak di jalan menuju penekanan. Perhatikan bahwa ini
opsi dapat muncul beberapa kali di baris perintah; semua penindasan
file spesifikasi kemudian diperhitungkan.

· --menjatuhkan <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, jatuhkan
fungsi dan variabel yang didefinisikan secara global yang namanya cocok dengan ekspresi reguler
regex. Akibatnya, tidak ada perubahan yang melibatkan fungsi atau variabel ini yang akan dipancarkan
dalam laporan perbedaan.

· --jatuhkan-fn <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, jatuhkan
fungsi yang didefinisikan secara global yang namanya cocok dengan ekspresi reguler regex. Sebagai
hasilnya, tidak ada perubahan yang melibatkan fungsi-fungsi ini yang akan dipancarkan dalam laporan diff.

· --jatuhkan-var <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, jatuhkan
variabel yang ditentukan secara global yang cocok dengan ekspresi reguler regex.

· --menyimpan <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, simpan
fungsi dan variabel yang didefinisikan secara global yang namanya cocok dengan ekspresi reguler
regex. Semua fungsi dan variabel lainnya dijatuhkan di lantai dan karenanya tidak akan
muncul dalam laporan perbedaan yang dihasilkan.

· --simpan-fn <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, simpan
fungsi yang didefinisikan secara global yang namanya cocok dengan ekspresi reguler regex. Semua
fungsi lain dijatuhkan di lantai dan dengan demikian tidak akan muncul di hasil
laporan perbedaan.

· --menjaga-var <regex>

Saat membaca perpustakaan bersama pertama dan perpustakaan bersama kedua File input ELF, simpan
nama yang ditentukan secara global yang cocok dengan ekspresi reguler regex. Semua lainnya
variabel dijatuhkan di lantai dan dengan demikian tidak akan muncul dalam perbedaan yang dihasilkan
melaporkan.

· --tidak berbahaya

Dalam laporan perbedaan, tampilkan hanya perubahan yang tidak berbahaya. Secara default, yang tidak berbahaya
perubahan disaring dari laporan perbedaan menjaga kekacauan seminimal mungkin dan memiliki
perubahan yang lebih besar untuk menemukan masalah ABI yang nyata.

· --tidak berbahaya

Dalam laporan perbedaan, jangan tampilkan perubahan berbahaya. Secara default, hanya yang berbahaya
perubahan ditampilkan dalam laporan diff.

· --berulang

Dalam laporan diff, tampilkan perubahan yang berlebihan. Perubahan yang berlebihan adalah perubahan
yang telah ditampilkan di tempat lain dalam laporan.

· --tidak-berlebihan

Dalam laporan perbedaan, lakukan JANGAN menampilkan perubahan yang berlebihan. Perubahan yang berlebihan adalah perubahan
yang telah ditampilkan di tempat lain dalam laporan. Opsi ini diaktifkan oleh
standar.

· --tanpa arsitektur

Jangan mempertimbangkan arsitektur saat membandingkan ABI.

· --dump-diff-pohon
Setelah laporan diff, pancarkan representasi tekstual dari pohon node diff yang digunakan oleh
mesin pembanding untuk mewakili fungsi dan variabel yang diubah. Itu
representasi dipancarkan ke output kesalahan untuk tujuan debugging. Perhatikan bahwa
pohon perbedaan ini hanya relevan untuk fungsi dan variabel yang memiliki beberapa sub-tipe
perubahan. Fungsi dan variabel yang ditambahkan atau dihapus tidak memiliki pohon simpul yang berbeda
terkait dengan mereka.

· --statistik

Pancarkan statistik tentang berbagai hal internal.

· --bertele-tele

Pancarkan log verbose tentang kemajuan berbagai hal internal.

KEMBALI NILAI


Kode keluar dari kepala biara perintahnya adalah 0 jika ABI dari binari yang dibandingkan
sama, atau bukan nol jika berbeda atau jika alat mengalami kesalahan.

Dalam kasus selanjutnya, kode keluar adalah bidang bit dengan lebar 8-bit di mana setiap bit memiliki
makna tertentu.

Bit pertama, bernilai 1, bernama ABIDIF_ERROR berarti ada kesalahan.

Bit kedua, dari nilai 2, bernama ABIDIF_USAGE_ERROR berarti ada kesalahan di jalan
pengguna memanggil alat. Mungkin diatur, misalnya, jika pengguna memanggil alat
dengan sakelar baris perintah yang tidak diketahui, dengan nomor atau argumen yang salah, dll. Jika bit ini
ditetapkan, maka ABIDIF_ERROR bit harus diatur juga.

Bit ketiga, bernilai 4, bernama ABIDIF_ABI_CHANGE berarti ABI dari binari menjadi
dibandingkan berbeda.

Bit keempat, bernilai 8, bernama ABIDIFF_ABI_INCOMPATIBLE_CHANGE berarti ABI dari
binari dibandingkan berbeda dalam cara yang tidak kompatibel. Jika bit ini disetel, maka
ABIDIF_ABI_CHANGE bit harus diatur juga. jika ABIDIF_ABI_CHANGE diatur dan
ABIDIF_INCOMPATIBLE_CHANGE is JANGAN ditetapkan, maka itu berarti bahwa ABI yang dibandingkan mungkin
atau mungkin tidak kompatibel. Dalam hal ini, manusia perlu meninjau perubahan ABI
untuk memutuskan apakah mereka kompatibel atau tidak.

Bit yang tersisa tidak digunakan untuk saat ini.

PENGGUNAAN CONTOH


1. Mendeteksi perubahan pada subtipe fungsi:

$ kucing -n tes-v0.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v0.so test-v0.cc
3
4 struktur S0
5 {
6 int m0;
7 };
8
9 kosong
10 foo(S0* /*nama_parameter*/)
11 {
12 // lakukan sesuatu dengan parameter_name.
13}
$
$ kucing -n tes-v1.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v1.so test-v1.cc
3
4 struktur tipe_base
5 {
6 int dimasukkan;
7 };
8
9 struct S0 : public type_base
10 {
11 int m0;
12 };
13
14 kosong
15 foo(S0* /*nama_parameter*/)
16 {
17 // lakukan sesuatu dengan parameter_name.
18}
$
$ g++ -g -Dinding -dibagikan -o libtest-v0.so tes-v0.cc
$ g++ -g -Dinding -dibagikan -o libtest-v1.so tes-v1.cc
$
$ ../build/tools/abidiff libtest-v0.so libtest-v1.so
Ringkasan perubahan fungsi: 0 Dihapus, 1 Diubah, 0 Fungsi ditambahkan
Ringkasan perubahan variabel: 0 Dihapus, 0 Diubah, 0 Variabel ditambahkan

1 fungsi dengan beberapa perubahan sub-tipe tidak langsung:

[C]'function void foo(S0*)' memiliki beberapa perubahan sub-tipe tidak langsung:
parameter 0 dari tipe 'S0*' memiliki sub-tipe perubahan:
di menunjuk ke ketik 'struct S0':
ukuran berubah dari 32 menjadi 64 bit
1 penyisipan kelas dasar:
struct type_base
1 perubahan anggota data:
'int S0::m0' offset berubah dari 0 menjadi 32
$

2. Mendeteksi perubahan lain dalam sub-tipe fungsi:

$ kucing -n tes-v0.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v0.so test-v0.cc
3
4 struktur S0
5 {
6 int m0;
7 };
8
9 kosong
10 foo(S0& /*parameter_name*/)
11 {
12 // lakukan sesuatu dengan parameter_name.
13}
$
$ kucing -n tes-v1.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v1.so test-v1.cc
3
4 struktur S0
5 {
6 karakter dimasukkan_anggota;
7 int m0;
8 };
9
10 kosong
11 foo(S0& /*parameter_name*/)
12 {
13 // lakukan sesuatu dengan parameter_name.
14}
$
$ g++ -g -Dinding -dibagikan -o libtest-v0.so tes-v0.cc
$ g++ -g -Dinding -dibagikan -o libtest-v1.so tes-v1.cc
$
$ ../build/tools/abidiff libtest-v0.so libtest-v1.so
Ringkasan perubahan fungsi: 0 Dihapus, 1 Diubah, 0 Fungsi ditambahkan
Ringkasan perubahan variabel: 0 Dihapus, 0 Diubah, 0 Variabel ditambahkan

1 fungsi dengan beberapa perubahan sub-tipe tidak langsung:

[C]'function void foo(S0&)' memiliki beberapa perubahan sub-tipe tidak langsung:
parameter 0 dari tipe 'S0&' memiliki sub-tipe perubahan:
dalam tipe referensi 'struct S0':
ukuran berubah dari 32 menjadi 64 bit
1 penyisipan anggota data:
'char S0::inserted_member', pada offset 0 (dalam bit)
1 perubahan anggota data:
'int S0::m0' offset berubah dari 0 menjadi 32

$

3. Mendeteksi bahwa fungsi telah dihapus atau ditambahkan ke perpustakaan:

$ kucing -n tes-v0.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v0.so test-v0.cc
3
4 struktur S0
5 {
6 int m0;
7 };
8
9 kosong
10 foo(S0& /*parameter_name*/)
11 {
12 // lakukan sesuatu dengan parameter_name.
13}
$
$ kucing -n tes-v1.cc
1 // Kompilasi ini dengan:
2 // g++ -g -Dinding -bersama -o libtest-v1.so test-v1.cc
3
4 struktur S0
5 {
6 karakter dimasukkan_anggota;
7 int m0;
8 };
9
10 kosong
11 bar(S0& /*nama_parameter*/)
12 {
13 // lakukan sesuatu dengan parameter_name.
14}
$
$ g++ -g -Dinding -dibagikan -o libtest-v0.so tes-v0.cc
$ g++ -g -Dinding -dibagikan -o libtest-v1.so tes-v1.cc
$
$ ../build/tools/abidiff libtest-v0.so libtest-v1.so
Ringkasan perubahan fungsi: 1 Dihapus, 0 Diubah, 1 Fungsi ditambahkan
Ringkasan perubahan variabel: 0 Dihapus, 0 Diubah, 0 Variabel ditambahkan

1 Fungsi yang dihapus:
'fungsi batal foo(S0&)' {_Z3fooR2S0}

1 Fungsi tambahan:
'bar fungsi batal(S0&)' {_Z3barR2S0}

$

Gunakan abidiff online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    facetracknoir
    facetracknoir
    Program pelacakan kepala modular itu
    mendukung banyak pelacak wajah, filter
    dan protokol permainan. Di antara pelacak
    adalah SM FaceAPI, AIC Inertial Head
    Pelacak...
    Unduh facetracknoir.dll
  • 2
    Kode QR PHP
    Kode QR PHP
    Kode QR PHP adalah sumber terbuka (LGPL)
    perpustakaan untuk menghasilkan Kode QR,
    kode batang 2 dimensi. Berdasarkan
    libqrencode C library, menyediakan API untuk
    membuat batang Kode QR...
    Unduh Kode QR PHP
  • 3
    freeciv
    freeciv
    Freeciv adalah turn-based gratis
    game strategi multipemain, di mana masing-masing
    pemain menjadi pemimpin a
    peradaban, berjuang untuk mendapatkan
    tujuan akhir: menjadi...
    Unduh Freeciv.dll
  • 4
    Kotak Pasir Cuckoo
    Kotak Pasir Cuckoo
    Cuckoo Sandbox menggunakan komponen untuk
    memantau perilaku malware di a
    Lingkungan kotak pasir; diisolasi dari
    sisa sistem. Ini menawarkan otomatis
    analisis...
    Unduh Kotak Pasir Cuckoo
  • 5
    LMS-YouTube
    LMS-YouTube
    Putar video YouTube di LMS (porting dari
    Triode's to YouTbe API v3) Ini
    aplikasi yang juga dapat diambil
    dari
    https://sourceforge.net/projects/lms-y...
    Unduh LMS-YouTube
  • 6
    Yayasan Presentasi Windows
    Yayasan Presentasi Windows
    Yayasan Presentasi Windows (WPF)
    adalah kerangka kerja UI untuk membangun Windows
    aplikasi desktop. WPF mendukung
    set luas pengembangan aplikasi
    fitur...
    Unduh Windows Presentation Foundation
  • Lebih banyak lagi »

Perintah Linux

Ad