AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

abi-compliance-checker - En ligne dans le Cloud

Exécutez abi-compliance-checker dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande abi-compliance-checker qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


abi-compliance-checker - outil pour comparer la compatibilité ABI de la bibliothèque partagée C/C++
versions

DESCRIPTION


NOM:
Vérificateur de conformité ABI (abi-compliance-checker) Vérifie la rétrocompatibilité d'un
API de la bibliothèque C/C++

DESCRIPTION:
ABI Compliance Checker (ABICC) est un outil de vérification des données binaires et
compatibilité au niveau source d'une bibliothèque C/C++ partagée. L'outil vérifie les fichiers d'en-tête
et les bibliothèques partagées (*.so) des anciennes et nouvelles versions et analyse les changements dans l'API et
ABI (ABI=API+compiler ABI) qui peut rompre la compatibilité au niveau binaire et/ou source :
modifications de la pile d'appels, modifications de la table v, symboles supprimés, champs renommés, etc.
L'incompatibilité binaire peut entraîner un plantage ou un comportement incorrect des applications
construits avec une ancienne version d'une bibliothèque s'ils s'exécutent sur une nouvelle. La source
l'incompatibilité peut entraîner des erreurs de recompilation avec une nouvelle version de la bibliothèque.

L'outil est destiné aux développeurs de bibliothèques logicielles et aux mainteneurs de
systèmes d'exploitation qui souhaitent assurer la compatibilité descendante, c'est-à-dire autoriser
anciennes applications à exécuter ou à recompiler avec des versions de bibliothèque plus récentes.

L'outil peut également être utilisé par les éditeurs de logiciels indépendants pour vérifier la portabilité des applications vers de nouvelles
versions de la bibliothèque. Les problèmes rencontrés peuvent être pris en compte lors de l'adaptation du
application à une nouvelle version de la bibliothèque.

Cet outil est un logiciel libre : vous pouvez le redistribuer et/ou le modifier sous le
termes de la GNU LGPL ou de la GNU GPL.

UTILISATION:
abi-conformité-vérificateur [options]

Exemple:
abi-conformité-vérificateur -lib Nom -vieux ANCIEN.xml -Nouveau NOUVEAU.xml

OLD.xml et NEW.xml sont des descripteurs XML :



1.0





/chemin1/vers/en-tête(s)/ /chemin2/vers/en-tête(s)/







/chemin1/vers/bibliothèque(s)/ /chemin2/vers/bibliothèque(s)/





INFORMATION OPTIONS :
-h|-aide

Imprimez cette aide.

-i|-infos

Imprimer les informations complètes.

-v|-version

Imprimer les informations sur la version.

-version de vidage

Imprimez la version de l'outil (1.99.14) et ne faites rien d'autre.

GÉNÉRAL OPTIONS :
-l|-lib|-library NOM

Nom de la bibliothèque (sans version).

-d1|-old|-o CHEMIN

Descripteur de la 1ère (ancienne) version de la bibliothèque. Il peut s'agir de l'un des éléments suivants :

1. Descripteur XML (fichier VERSION.xml) :



1.0





/chemin1/vers/en-tête(s)/ /chemin2/vers/en-tête(s)/







/chemin1/vers/bibliothèque(s)/ /chemin2/vers/bibliothèque(s)/







2. Dump ABI généré par -déverser option 3. Répertoire avec en-têtes et/ou partagé
bibliothèques 4. Fichier d'en-tête unique

Si vous utilisez 2 à 4 types de descripteurs, vous devez spécifier les numéros de version
avec -v1 ainsi que -v2 options aussi.

Pour plus d'informations, s'il vous plaît voir:

http://ispras.linuxbase.org/index.php/Library_Descriptor

-d2|-new|-n CHEMIN

Descripteur de la 2e (nouvelle) version de la bibliothèque.

-déverser|-dump-abi CHEMIN

Créez un vidage ABI de la bibliothèque pour le descripteur XML d'entrée. Vous pouvez le transférer n'importe où
et passer à la place du descripteur. Il peut également être utilisé pour déboguer l'outil.

Versions prises en charge du vidage ABI : 2.0<=V<=3.2

EXTRA OPTIONS :
-app|-chemin de l'application

Cette option permet de spécifier l'application qui doit être vérifiée
portabilité vers la nouvelle version de la bibliothèque.

-librairies-statiques

Vérifiez les bibliothèques statiques au lieu de celles partagées. Les partie de la
Le descripteur XML doit pointer vers l'emplacement des bibliothèques statiques.

-gcc-chemin PATH

Chemin d'accès au compilateur cross GCC à utiliser à la place du GCC (hôte) habituel.

-gcc-préfixe PRÉFIXE

Préfixe de la chaîne d'outils GCC.

-options-gcc OPT

Options de compilateur supplémentaires.

-racine système DIR

Spécifiez le répertoire racine alternatif. L'outil recherchera les chemins d'inclusion dans
les répertoires DIR/usr/include et DIR/usr/lib.

-v1|-version1 NOMBRE

Spécifiez la 1ère version de la bibliothèque en dehors du descripteur. Cette option est nécessaire si vous
ont préféré un autre type de descripteur (voir -d1 option).

En général, vous devez le spécifier dans le descripteur XML :



VERSION



-v2|-version2 NOMBRE

Spécifiez la 2e version de la bibliothèque en dehors du descripteur.

-numéro virtuel NUM

Spécifiez la version de la bibliothèque dans le vidage ABI généré. Les partie de la
le descripteur XML d'entrée sera écrasé dans ce cas.

-s|-strict

Traitez tous les avertissements de compatibilité comme des problèmes. Ajouter un nombre de gravité "Faible"
problèmes à la valeur de retour de l'outil.

-en-têtes-seulement

Vérifiez les fichiers d'en-tête sans bibliothèques partagées. Il est facile à exécuter, mais peut fournir un
rapport de compatibilité de faible qualité avec des faux positifs et sans détection de
symboles ajoutés/supprimés.

Alternativement, vous pouvez écrire le mot "aucun" au rubrique dans le
Descripteur XML :



aucun



-afficher-retval

Afficher le type de retour du symbole dans le rapport.

-liste-de-symboles PATH

Cette option permet de spécifier un fichier avec une liste de symboles (noms mutilés dans
C++) qui doit être vérifié. Les autres symboles ne seront pas vérifiés.

-types-liste PATH

Cette option permet de spécifier un fichier avec une liste de types qui devraient être
vérifié. Les autres types ne seront pas vérifiés.

-saut-symboles PATH

La liste des symboles qui ne doivent pas être vérifiés.

-sauter-types PATH

La liste des types qui ne doivent pas être vérifiés.

-liste-en-têtes PATH

Le fichier avec une liste d'en-têtes, qui doit être vérifié/vidé.

-saut-en-têtes PATH

Le fichier avec la liste des fichiers d'en-tête, qui ne doit pas être vérifié.

-entête Nom

Vérifier/vider l'ABI de cet en-tête uniquement.

-utiliser-les décharges

Créez des dumps pour deux versions d'une bibliothèque et comparez les dumps. Cela devrait augmenter
les performances de l'outil et diminuer l'utilisation de la mémoire système.

-nostdinc

Ne recherchez pas les fichiers d'en-tête dans les répertoires système standard de GCC.

-système de vidage Nom -racine système DIR

Trouvez toutes les bibliothèques partagées et les fichiers d'en-tête dans le répertoire DIR, créez XML
descripteurs et faire des vidages ABI pour chaque bibliothèque. L'ensemble de résultats des vidages ABI peut être
par rapport (--cmp-systèmes) avec l'autre créé pour une autre version d'exploitation
système afin de vérifier leur compatibilité. N'oubliez pas de préciser
-croix-gcc option si votre système cible nécessite une version spécifique de GCC
compilateur (différent de l'hôte GCC). Le vidage ABI système sera généré pour :

sys_dumps/NOM/ARCH

-système de vidage DESCRIPTEUR.xml

Identique à l'option précédente mais prend un descripteur XML du système cible comme
input, où vous devez le décrire :

/* Sections primaires */



/* Nom du système */





/* La liste des chemins vers les fichiers d'en-tête et/ou

répertoires avec fichiers d'en-tête, un par ligne */





/* La liste des chemins vers les bibliothèques partagées et/ou

répertoires avec bibliothèques partagées, un par ligne */



/* Sections facultatives */



/* Liste des répertoires à rechercher

pour que les fichiers d'en-tête génèrent automatiquement des chemins d'inclusion, un par ligne */





/* Liste des répertoires à rechercher

pour les bibliothèques partagées pour résoudre les dépendances, une par ligne */





/* Liste des répertoires avec les outils utilisés

pour l'analyse (chaîne d'outils GCC), un par ligne */





/* Préfixe de la chaîne d'outils GCC.

Exemples :
arm-linux-gnueabi arm-none-symbianelf */





/* Options GCC supplémentaires, une par ligne */



-infosys DIR

Cette option doit être utilisée avec -système de vidage option de vidage de l'ABI de fonctionnement
systèmes et configurer le processus de vidage. Vous pouvez trouver un échantillon dans le package :

modules/cibles/{unix, symbian, windows}

-systèmes-cmp -d1 sys_dumps/NOM1/ARCH -d2 sys_dumps/NOM2/ARCH

Comparez deux vidages ABI système. Créez des rapports de compatibilité pour chaque bibliothèque et le
rapport HTML commun comprenant le résumé des résultats des tests pour toutes les bibliothèques vérifiées.
Le rapport sera généré pour :

sys_compat_reports/NAME1_to_NAME2/ARCH

-liste-libs PATH

Le fichier avec une liste de bibliothèques, qui devrait être vidé par le -système de vidage option
ou doit être vérifié par le -systèmes-cmp option.

-ext|-étendu

Si votre bibliothèque A est censée être utilisée par une autre bibliothèque B et que vous souhaitez contrôler
l'ABI de B, alors vous devez activer cette option. L'outil vérifiera les changements
dans tous les types de données, même s'ils ne sont utilisés par aucune fonction de la bibliothèque A.
les types de données ne font pas partie de l'ABI de la bibliothèque A, mais peuvent faire partie de l'ABI du B
bibliothèque.

Le schéma court est :

app C (cassé) -> lib B (ABI cassé) -> lib A (ABI stable)

-q|-calme

Imprime tous les messages dans le fichier au lieu de stdout et stderr. Chemin par défaut (peut être
changé par -log-chemin option):

journaux/run.log

-sortie standard

Imprimer les résultats d'analyse (rapports de compatibilité et vidages ABI) sur stdout au lieu de
création d'un fichier. Cela permettrait d'acheminer les données vers d'autres programmes.

-format-rapport FMT

Changer le format du rapport de compatibilité. Formats :

htm - Format HTML (par défaut) xml - Format XML

-format de vidage FMT

Changer le format du vidage ABI. Formats :

perl - Données::Format Dumper (par défaut) xml - Format XML

-xml

Pseudo pour : --format-rapport=xml or --dump-format=xml

-long LANGUE

Définir le langage de la bibliothèque (C ou C++). Vous pouvez utiliser cette option si l'outil ne peut pas
détecter automatiquement une langue. Cette option peut être utile pour vérifier les en-têtes de la bibliothèque C
(--lang=C) dans --en-têtes uniquement or --élargi modes.

-cambre CAMBRE

Définir l'architecture de la bibliothèque (x86, x86_64, ia64, arm, ppc32, ppc64, s390, ect.). Les
L'option est utile si l'outil ne peut pas détecter l'architecture correcte de l'entrée
objets.

-binaire|-bin|-abi

Afficher uniquement les problèmes de compatibilité « binaires ». Générer un rapport pour :

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-source|-src|-api

Afficher uniquement les problèmes de compatibilité « Source ». Générer un rapport pour :

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-limité-affecté LIMIT

Le nombre maximum de symboles concernés répertoriés sous la description du
taper dans le rapport.

AUTRES OPTIONS :
-tester

Exécutez des tests internes. Créez deux versions binaires incompatibles d'un exemple de bibliothèque et
exécutez l'outil pour vérifier leur compatibilité. Cette option permet de vérifier si
l'outil fonctionne correctement dans l'environnement actuel.

-vidage de test

Testez la capacité à créer, lire et comparer des vidages ABI.

-déboguer

Mode de débogage. Imprimer les informations de débogage à l'écran. Enregistrer les étapes d'analyse intermédiaires
dans le répertoire de débogage :

débogage/LIB_NAME/VERSION/

Pensez également à utiliser --décharger option de débogage de l'outil.

-compatible cpp

Si vos fichiers d'en-tête sont écrits en langage C et peuvent être compilés par le G++
compilateur (c'est-à-dire n'utilisez pas de mots-clés C++), alors vous pouvez en informer l'outil et
accélérer l'analyse.

-cpp-incompatible

Définissez cette option si les fichiers d'en-tête C d'entrée utilisent des mots-clés C++.

-p|-params CHEMIN

Chemin d'accès au fichier avec les noms des paramètres de fonction. Il peut être utilisé pour améliorer le rapport
voir si les fichiers d'en-tête de bibliothèque n'ont pas de nom de paramètre. Format de fichier:

func1;param1;param2;param3 ... func2;param1;param2;param3 ...



-relpath PATH

Remplacez les macros {RELPATH} par PATH dans le descripteur XML utilisé pour vider la bibliothèque
ABI (voir -déverser option).

-relpath1 PATH

Remplacez les macros {RELPATH} par PATH dans le 1er descripteur XML (-d1).

-relpath2 PATH

Remplacez les macros {RELPATH} par PATH dans le 2ème descripteur XML (-d2).

-chemin-dump PATH

Spécifiez un chemin de fichier *.abi.tar.gz ou *.abi où générer un vidage ABI. Défaut:

abi_dumps/LIB_NAME/LIB_NAME_VERSION.abi.tar.gz

-sorte

Activer le tri des données dans les vidages ABI.

-chemin-rapport PATH

Chemin d'accès au rapport de compatibilité. Défaut:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

-bin-chemin-de-rapport PATH

Chemin d'accès au rapport de compatibilité « binaire ». Défaut:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-src-chemin-du-rapport PATH

Chemin d'accès au rapport de compatibilité "Source". Défaut:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-log-chemin PATH

Chemin du journal pour tous les messages. Défaut:

logs/NOM_LIB/VERSION/log.txt

-log1-chemin PATH

Chemin du journal pour la 1ère version d'une bibliothèque. Défaut:

logs/LIB_NAME/V1/log.txt

-log2-chemin PATH

Chemin du journal pour la 2e version d'une bibliothèque. Défaut:

logs/LIB_NAME/V2/log.txt

-log-mode MODE

Changer de mode de journalisation. Modes :

w - écraser les anciens journaux (par défaut) a - ajouter les anciens journaux n - ne pas écrire de journaux

-liste-affecté

Générer un fichier avec la liste des symboles incompatibles à côté de la compatibilité HTML
rapport. Utilisez la commande 'c++filt @file' de GNU binutils pour démanteler les symboles C++ dans
le fichier généré. Noms par défaut :

abi_affected.txt src_affected.txt

-composant Nom

Le nom du composant dans le titre et le résumé du rapport HTML. Défaut:

bibliothèque

-Titre Nom

Remplacez le nom de la bibliothèque dans le titre du rapport par NAME. Par défaut sera affiché un
nom spécifié par -l option.

-informaitons supplémentaires DIR

Transférez des informations supplémentaires dans DIR.

-décharge supplémentaire

Créez un vidage ABI étendu contenant tous les symboles de l'unité de traduction.

-Obliger

Essayez d'utiliser cette option si l'outil ne fonctionne pas.

-tolérance NIVEAU

Appliquez un ensemble d'heuristiques pour compiler avec succès les fichiers d'en-tête d'entrée. Vous pouvez
activer plusieurs niveaux de tolérance en les joignant en une seule chaîne (par exemple 13, 124,
etc.). Niveaux:

1 - ignorer les en-têtes non Linux (par exemple win32_*.h, etc.) 2 - ignorer les en-têtes internes (par exemple
*_p.h, impl/*.h, etc.) 3 - ignorer les en-têtes qui incluent les en-têtes non Linux 4 - ignorer
en-têtes inclus par d'autres

-tolérant

Activer le niveau de tolérance le plus élevé [1234].

-vérifier

Vérifiez l'exhaustivité du vidage ABI.

-rapide

Analyse rapide. Désactivez la vérification de certaines instances de modèle.

-ignorer-les-symboles-internes RECONNAISSANCE

Ne vérifiez pas les symboles correspondant au motif.

-sauter-types-internes RECONNAISSANCE

Ne vérifiez pas les types correspondant au modèle.

RAPPORT:
Le rapport de compatibilité sera généré pour :

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

Le journal sera généré pour :

logs/LIB_NAME/V1/log.txt logs/LIB_NAME/V2/log.txt

EXIT CODES:
0 - Compatible. L'outil a fonctionné sans aucune erreur. non nul - Incompatible ou
l'outil a fonctionné avec des erreurs.

AUTRES INFORMATION:
http://lvc.github.io/abi-compliance-checker/

Utilisez abi-compliance-checker en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Phaser
    Phaser
    Phaser est un open rapide, gratuit et amusant
    framework de jeu source HTML5 qui offre
    Rendu WebGL et Canvas à travers
    navigateurs Web de bureau et mobiles. Jeux
    peut être co...
    Télécharger Phaser
  • 2
    Moteur VASSAL
    Moteur VASSAL
    VASSAL est un moteur de jeu pour créer
    versions électroniques de la carte traditionnelle
    et jeux de cartes. Il fournit un soutien pour
    rendu et interaction des pièces de jeu,
    et...
    Télécharger le moteur VASSAL
  • 3
    OpenPDF - Fork d'iText
    OpenPDF - Fork d'iText
    OpenPDF est une bibliothèque Java pour créer
    et l'édition de fichiers PDF avec une licence LGPL et
    Licence open source MPL. OpenPDF est le
    LGPL/MPL open source successeur d'iText,
    un ...
    Télécharger OpenPDF - Fork d'iText
  • 4
    SAGA SIG
    SAGA SIG
    SAGA - Système d'automatisation
    Analyses géoscientifiques - est un
    Logiciel de système d'information (SIG) avec
    immenses capacités pour les géodonnées
    traitement et an...
    Télécharger le SIG SAGA
  • 5
    Boîte à outils pour Java/JTOOpen
    Boîte à outils pour Java/JTOOpen
    IBM Toolbox for Java / JTOpen est un
    bibliothèque de classes Java prenant en charge
    programmation client/serveur et internet
    modèles vers un système exécutant OS/400,
    i5/OS, ou...
    Télécharger Toolbox pour Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 pour les documents pilotés par les données)
    est une bibliothèque JavaScript qui vous permet
    produire des données dynamiques et interactives
    visualisations dans les navigateurs Web. Avec D3
    toi...
    Télécharger D3.js
  • Plus "

Commandes Linux

Ad