abicompat(1)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Version från den 28 mars 2026 kl. 11.20 av Admin (diskussion | bidrag)
Hoppa till navigering Hoppa till sök

Här är hela manualsidan för **abicompat(1)** översatt till svenska och omformaterad till MediaWiki-stil enligt din tidigare mall:

---

abicompat(1)

NAMN

abicompat – kontrollera ABI-kompatibilitet

abicompat kontrollerar att ett program som länkar mot ett givet delat bibliotek fortfarande är ABI-kompatibelt med en senare version av detta bibliotek. Om den nya versionen av biblioteket introducerar en ABI-inkompatibilitet, ger abicompat ledtrådar om exakt vad inkompatibiliteten består i.

ANROP

abicompat [flaggor] [<program> <delat-bibliotek-första-version> <delat-bibliotek-andra-version>]

FLAGGOR

--help Visar kort hjälptext om kommandot och avslutar.

--version, -v Visar programmets versionsinformation och avslutar.

--list-undefined-symbols, -u Visar en lista över odefinierade symboler i programmet och avslutar.

--show-base-names, -b I rapporten som genereras gör denna flagga att program och bibliotek refereras med endast sina basnamn istället för fullständiga sökvägar. Detta är användbart i skript där man vill jämföra namn oberoende av katalogstruktur.

--app-debug-info-dir, --appd <sökväg> Anger katalogen där felsökningsinformation för programmet finns. Användbart om debug-info ligger i separata filer.

--lib-debug-info-dir1, --libd1 <sökväg> Anger katalogen där debug-info för första biblioteksversionen finns.

--lib-debug-info-dir2, --libd2 <sökväg> Anger katalogen där debug-info för andra biblioteksversionen finns.

--suppressions, --suppr <fil> Använder en undertryckningsspecifikation från angiven fil. Kan anges flera gånger.

--no-show-locs Visa inte var i det andra biblioteket förändringar skett.

--btf Extrahera ABI-information från BTF-debugdata om tillgänglig.

--ctf Extrahera ABI-information från CTF-debugdata om tillgänglig.

--fail-no-debug-info Gör att programmet misslyckas om ingen debug-information hittas. Utan denna flagga jämförs istället endast ELF-egenskaper.

--ignore-soname Ignorera skillnader i SONAME vid jämförelse.

--weak-mode Aktiverar svagt läge. I detta läge behövs endast en biblioteksversion:

abicompat --weak-mode <program> <bibliotek>

Om endast ett bibliotek anges aktiveras svagt läge automatiskt:

abicompat <program> <bibliotek>

I detta läge jämförs typerna av funktioner och variabler som exporteras av biblioteket och används av programmet. Om typerna skiljer sig rapporteras skillnaderna.

Observera att detta läge inte upptäcker symboler som tagits bort från biblioteket, vilket är anledningen till att det kallas "svagt" läge.

RETURVÄRDEN

Returkoden är:

  • 0 om ABI är identisk
  • icke-noll om den skiljer sig eller om fel uppstått

Returkoden är ett 8-bitars bitfält:

1 (ABIDIFF_ERROR) Ett fel har inträffat.

2 (ABIDIFF_USAGE_ERROR) Felaktig användning av kommandot. Denna bit innebär alltid att bit 1 också är satt.

4 (ABIDIFF_ABI_CHANGE) ABI skiljer sig mellan jämförda binärer.

8 (ABIDIFF_ABI_INCOMPATIBLE_CHANGE) ABI skiljer sig på ett inkompatibelt sätt. Denna bit innebär alltid att bit 4 också är satt.

Om bit 4 är satt men inte bit 8 krävs manuell granskning för att avgöra kompatibilitet.

Övriga bitar används inte för närvarande.

ANVÄNDNINGSEXEMPEL

Upptäcka ABI-inkompatibilitet

$ cat -n test0.h
     1  struct foo
     2  {
     3    int m0;
     4
     5    foo()
     6      : m0()
     7    {}
     8  };
$ cat -n test-app.cc
     1  // Kompilera med:
     2  // g++ -g -Wall -o test-app -L. -ltest-0 test-app.cc
$ cat -n test1.h
     1  struct foo
     2  {
     3    int  m0;
     4    char m1; /* ny medlem tillagd */

Kompilering

g++ -g -Wall -shared -o libtest-0.so test0.cc
g++ -g -Wall -shared -o libtest-1.so test1.cc
g++ -g -Wall -o test-app -L. -ltest-0.so test-app.cc

Jämförelse

abicompat test-app libtest-0.so libtest-1.so

Exempel på resultat:

Functions changes summary: 0 Removed, 2 Changed, 0 Added
Variables changes summary: 0 Removed, 0 Changed, 0 Added

Svagt läge

abicompat --weak-mode test-app libtest-1.so

FÖRFATTARE

Dodji Seketeli

COPYRIGHT

2014–2025, Red Hat, Inc.

KOLOFON

Denna manualsida är en del av projektet libabigail (ABI Generic Analysis and Instrumentation Library).

Projektets webbplats: [1](https://sourceware.org/libabigail/)

Felrapportering: [2](http://sourceware.org/bugzilla/enter_bug.cgi?product=libabigail)

Manualsidan hämtades från projektets Git-repository den 16 januari 2026.

SE ÄVEN

abidiff(1), abipkgdiff(1), abidw(1), abilint(1), readelf(1), nm(1), ldd(1)

Detta avsnitt länkar till relaterade verktyg för analys av ABI, ELF-binärer och symboler.


Källor

Sidslut

Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man1/abicompat.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.