InglésFrancésEspañol

icono de página de OnWorks

abi-compliance-checker: en línea en la nube

Ejecute abi-compliance-checker en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando abi-compliance-checker que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


abi-compliance-checker: herramienta para comparar la compatibilidad ABI de la biblioteca compartida C / C ++
versiones

DESCRIPCIÓN


NOMBRE:
Verificador de cumplimiento ABI (abi-compliance-checker) Verifique la compatibilidad con versiones anteriores de un
API de biblioteca C / C ++

DESCRIPCIÓN:
Verificador de cumplimiento ABI (ABICC) es una herramienta para verificar binarios hacia atrás y
compatibilidad a nivel de fuente de una biblioteca compartida C / C ++. La herramienta verifica los archivos de encabezado
y bibliotecas compartidas (* .so) de versiones nuevas y antiguas y analiza los cambios en la API y
ABI (ABI = API + compilador ABI) que puede romper la compatibilidad binaria y / o a nivel de fuente:
cambios en la pila de llamadas, cambios en la tabla v, símbolos eliminados, campos renombrados, etc.
La incompatibilidad binaria puede provocar fallas o un comportamiento incorrecto de las aplicaciones
construido con una versión antigua de una biblioteca si se ejecutan en una nueva. Fuente
la incompatibilidad puede resultar en errores de recompilación con una nueva versión de la biblioteca.

La herramienta está destinada a desarrolladores de bibliotecas de software y mantenedores de
sistemas operativos que estén interesados ​​en garantizar la compatibilidad con versiones anteriores, es decir, permitir
aplicaciones antiguas para ejecutar o recompilar con versiones de biblioteca más nuevas.

Además, los ISV pueden utilizar la herramienta para comprobar la portabilidad de las aplicaciones a
versiones de la biblioteca. Los problemas encontrados se pueden tener en cuenta al adaptar el
aplicación a una nueva versión de la biblioteca.

Esta herramienta es software libre: puedes redistribuirla y / o modificarla bajo la
términos de GNU LGPL o GNU GPL.

USO:
abi-compliance-checker [opciones]

Ejemplo:
verificador-de-cumplimiento -lib NOMBRE -antiguo VIEJO.xml -nuevo NUEVO.xml

OLD.xml y NEW.xml son descriptores XML:



1.0





/ ruta1 / a / encabezado (s) / / ruta2 / a / encabezado (s) /

...





/ ruta1 / a / biblioteca (s) / / ruta2 / a / biblioteca (s) /

...



INFORMACIÓN: OPCIONES:
-h| -ayuda

Imprime esta ayuda.

-i| -info

Imprime la información completa.

-v| -versión

Imprime la información de la versión.

-Dumpversion

Imprima la versión de la herramienta (1.99.14) y no haga nada más.

GENERAL OPCIONES:
-l| -lib | -library NAME

Nombre de la biblioteca (sin versión).

-d1| -old | -o RUTA

Descriptor de la 1ª versión (antigua) de la biblioteca. Puede ser uno de los siguientes:

1. Descriptor XML (archivo VERSION.xml):



1.0





/ ruta1 / a / encabezado (s) / / ruta2 / a / encabezado (s) /

...





/ ruta1 / a / biblioteca (s) / / ruta2 / a / biblioteca (s) /

...



...

2. Volcado de ABI generado por -tugurio opción 3. Directorio con encabezados y / o compartido
bibliotecas 4. Archivo de encabezado único

Si utiliza de 2 a 4 tipos de descriptores, debe especificar los números de versión.
con -v1 y -v2 opciones también.

Para obtener más información, consulte:

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

-d2| -nuevo | -n RUTA

Descriptor de la 2da (nueva) versión de la biblioteca.

-tugurio| -dump-abi RUTA

Cree un volcado ABI de biblioteca para el descriptor XML de entrada. Puedes transferirlo a cualquier lugar
y pase en lugar del descriptor. También se puede utilizar para depurar la herramienta.

Versiones compatibles de volcado ABI: 2.0 <= V <= 3.2

EXTRA OPCIONES:
-app| -ruta de aplicación

Esta opción permite especificar la aplicación que se debe verificar.
portabilidad a la nueva versión de la biblioteca.

-estatic-libs

Verifique las bibliotecas estáticas en lugar de las compartidas. los sección de la
El descriptor XML debe apuntar a la ubicación de las bibliotecas estáticas.

-gcc-ruta TRAYECTORIA

Ruta al compilador GCC cruzado para usar en lugar del GCC habitual (host).

-prefijo-gcc PREFIJO

Prefijo de cadena de herramientas de GCC.

-gcc-opciones OPCIONES

Opciones adicionales del compilador.

-sysroot DIR

Especifique el directorio raíz alternativo. La herramienta buscará rutas de inclusión en
los directorios DIR / usr / include y DIR / usr / lib.

-v1| -versión1 NUM

Especifique la primera versión de la biblioteca fuera del descriptor. Esta opción es necesaria si
han preferido un tipo de descriptor alternativo (ver -d1 opción).

En el caso general, debe especificarlo en el descriptor XML:



VERSION



-v2| -versión2 NUM

Especifique la segunda versión de la biblioteca fuera del descriptor.

-vnum NUM

Especifique la versión de la biblioteca en el volcado ABI generado. los sección de la
En este caso, se sobrescribirá el descriptor XML de entrada.

-s| -estricto

Trate todas las advertencias de compatibilidad como problemas. Agregue una serie de gravedad "Baja"
problemas con el valor de retorno de la herramienta.

-solo-encabezados

Verifique los archivos de encabezado sin bibliotecas compartidas. Es fácil de ejecutar, pero puede proporcionar una
Informe de compatibilidad de baja calidad con falsos positivos y sin detección de
símbolos agregados / eliminados.

Alternativamente, puede escribir la palabra "ninguna" en el sección en el
Descriptor XML:



ninguna



-mostrar-retval

Muestra el tipo de retorno del símbolo en el informe.

-lista-de-símbolos TRAYECTORIA

Esta opción permite especificar un archivo con una lista de símbolos (nombres alterados en
C ++) que debe comprobarse. No se comprobarán otros símbolos.

-lista-de-tipos TRAYECTORIA

Esta opción le permite a uno especificar un archivo con una lista de tipos que deben ser
comprobado. No se comprobarán otros tipos.

-simbolos-de-salto TRAYECTORIA

La lista de símbolos que no se deben verificar.

-tipos de saltos TRAYECTORIA

La lista de tipos que no deben comprobarse.

-lista-de-encabezados TRAYECTORIA

El archivo con una lista de encabezados, que se debe verificar / volcar.

-saltar-encabezados TRAYECTORIA

El archivo con la lista de archivos de encabezado, que no se debe verificar.

-encabezamiento NOMBRE

Verificar / volcar ABI de este encabezado solamente.

-utilizar-vertederos

Realice volcados para dos versiones de una biblioteca y compare los volcados. Esto debería aumentar
el rendimiento de la herramienta y disminuir el uso de la memoria del sistema.

-nostdinc

No busque archivos de encabezado en los directorios del sistema estándar de GCC.

-sistema-de-vaciado NOMBRE -sysroot DIR

Encuentre todas las bibliotecas compartidas y archivos de encabezado en el directorio DIR, cree XML
descriptores y realizar volcados ABI para cada biblioteca. El conjunto de resultados de volcados ABI puede ser
comparado--cmp-sistemas) con el otro creado para otra versión de funcionamiento
sistema para comprobar su compatibilidad. No olvide especificar
-cruzado-gcc opción si su sistema de destino requiere alguna versión específica de GCC
compilador (diferente del host GCC). El volcado de ABI del sistema se generará para:

sys_dumps / NAME / ARCH

-sistema-de-vaciado DESCRIPTOR.xml

Igual que la opción anterior, pero toma un descriptor XML del sistema de destino como
input, donde debe describirlo:

/ * Secciones primarias * /



/ * Nombre del sistema * /





/ * La lista de rutas a los archivos de encabezado y / o

directorios con archivos de encabezado, uno por línea * /





/ * La lista de rutas a bibliotecas compartidas y / o

directorios con bibliotecas compartidas, uno por línea * /



/ * Secciones opcionales * /



/ * Lista de directorios a buscar

para que los archivos de encabezado generen automáticamente rutas de inclusión, una por línea * /





/ * Lista de directorios a buscar

para que las bibliotecas compartidas resuelvan dependencias, una por línea * /





/ * Lista de directorios con herramientas utilizadas

para análisis (cadena de herramientas GCC), uno por línea * /





/ * Prefijo de cadena de herramientas de GCC.

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





/ * Opciones adicionales de GCC, una por línea * /



-info del sistema DIR

Esta opción debe usarse con -sistema-de-vaciado opción de volcar ABI de funcionamiento
sistemas y configurar el proceso de descarga. Puede encontrar una muestra en el paquete:

módulos / Targets / {unix, symbian, windows}

-cmp-sistemas -d1 sys_dumps / NAME1 / ARCH -d2 sys_dumps / NAME2 / ARCH

Compare dos volcados de ABI del sistema. Cree informes de compatibilidad para cada biblioteca y el
informe HTML común que incluye el resumen de los resultados de las pruebas para todas las bibliotecas comprobadas.
El informe se generará para:

sys_compat_reports / NAME1_to_NAME2 / ARCH

-lib-lista TRAYECTORIA

El archivo con una lista de bibliotecas, que debe ser descargado por el -sistema-de-vaciado opción
o debe ser revisado por el -cmp-sistemas .

-ext| -extendido

Si se supone que su biblioteca A debe ser utilizada por otra biblioteca B y desea controlar
el ABI de B, entonces debe habilitar esta opción. La herramienta buscará cambios
en todos los tipos de datos, incluso si no son utilizados por ninguna función en la biblioteca A. Tal
Los tipos de datos no forman parte de la ABI de la biblioteca A, pero pueden ser parte de la ABI de la B
biblioteca.

El esquema corto es:

aplicación C (rota) -> lib B (ABI rota) -> lib A (ABI estable)

-q| -quiet

Imprime todos los mensajes en el archivo en lugar de stdout y stderr. Ruta predeterminada (puede ser
cambiado por -log-ruta opción):

logs / run.log

-salida estándar

Imprima los resultados del análisis (informes de compatibilidad y volcados de ABI) en la salida estándar en lugar de
creando un archivo. Esto permitiría canalizar datos a otros programas.

-formato de informe FMT

Cambiar formato de informe de compatibilidad. Formatos:

htm - formato HTML (predeterminado) xml - formato XML

-formato de volcado FMT

Cambiar formato de volcado ABI. Formatos:

perl - Datos :: Formato Dumper (predeterminado) xml - Formato XML

-xml

Alias ​​para: --formato de informe=xml or --formato de volcado=xml

-largo IDIOMA

Establecer el idioma de la biblioteca (C o C ++). Puede utilizar esta opción si la herramienta no puede
detectar automáticamente un idioma. Esta opción puede resultar útil para comprobar los encabezados de la biblioteca C
(--idioma=C) en - solo encabezados or --extendido Modos.

-arco ARCH

Configure la arquitectura de la biblioteca (x86, x86_64, ia64, arm, ppc32, ppc64, s390, ect.). los
La opción es útil si la herramienta no puede detectar la arquitectura correcta de la entrada.
objetos.

-binario| -bin | -abi

Muestra solo los problemas de compatibilidad "binarios". Generar informe para:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-Fuente| -src | -api

Mostrar solo los problemas de compatibilidad de "Fuente". Generar informe para:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-limit-afectado LIMITE LAS

El número máximo de símbolos afectados enumerados bajo la descripción del cambio
escriba el informe.

OTROS OPCIONES:
-prueba

Ejecute pruebas internas. Cree dos versiones binarias incompatibles de una biblioteca de muestra y
ejecute la herramienta para comprobar su compatibilidad. Esta opción permite comprobar si
la herramienta funciona correctamente en el entorno actual.

-volcado de prueba

Pruebe la capacidad para crear, leer y comparar volcados ABI.

-depurar

Modo de depuración. Imprime la información de depuración en la pantalla. Guardar etapas de análisis intermedias
en el directorio de depuración:

debug / LIB_NAME / VERSION /

También considere usar --vertedero opción para depurar la herramienta.

-compatible con cpp

Si sus archivos de encabezado están escritos en lenguaje C y pueden ser compilados por G ++
compilador (es decir, no use palabras clave de C ++), entonces puede informar a la herramienta sobre esto y
acelerar el análisis.

-cpp-incompatible

Establezca esta opción si los archivos de encabezado C de entrada utilizan palabras clave C ++.

-p| -params PATH

Ruta al archivo con los nombres de los parámetros de la función. Se puede utilizar para mejorar el informe.
ver si los archivos de encabezado de la biblioteca no tienen nombres de parámetros. Formato de archivo:

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

...

-relajarse TRAYECTORIA

Reemplaza las macros {RELPATH} por PATH en el descriptor XML usado para volcar la biblioteca
ABI (ver -tugurio opción).

-relpath1 TRAYECTORIA

Reemplace las macros {RELPATH} por PATH en el primer descriptor XML (-d1).

-relpath2 TRAYECTORIA

Reemplace las macros {RELPATH} por PATH en el segundo descriptor XML (-d2).

-ruta-de-descarga TRAYECTORIA

Especifique una ruta de archivo * .abi.tar.gz o * .abi donde generar un volcado ABI. Defecto:

abi_dumps / LIB_NAME / LIB_NAME_VERSION.abi.tar.gz

-clasificar

Habilite la clasificación de datos en volcados ABI.

-informe-ruta TRAYECTORIA

Ruta al informe de compatibilidad. Defecto:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

-ruta-informe-bin TRAYECTORIA

Ruta al informe de compatibilidad "Binario". Defecto:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-ruta-informe-src TRAYECTORIA

Ruta al informe de compatibilidad "Fuente". Defecto:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-log-ruta TRAYECTORIA

Ruta de registro para todos los mensajes. Defecto:

logs / LIB_NAME / VERSION / log.txt

-log1-ruta TRAYECTORIA

Ruta de registro para la primera versión de una biblioteca. Defecto:

logs / LIB_NAME / V1 / log.txt

-log2-ruta TRAYECTORIA

Ruta de registro para la segunda versión de una biblioteca. Defecto:

logs / LIB_NAME / V2 / log.txt

-modo de registro MODO

Cambiar el modo de registro. Modos:

w - sobrescribir registros antiguos (predeterminado) a - agregar registros antiguos n - no escribir registros

-lista-afectada

Genere un archivo con la lista de símbolos incompatibles al lado de la compatibilidad HTML
reporte. Use el comando 'c ++ filt @file' de GNU binutils para deshacer los símbolos de C ++ en
el archivo generado. Nombres predeterminados:

abi_afectado.txt src_afectado.txt

-componente NOMBRE

El nombre del componente en el título y el resumen del informe HTML. Defecto:

bibliotecas

-título NOMBRE

Cambie el nombre de la biblioteca en el título del informe a NAME. Por defecto se mostrará un
nombre especificado por -l .

-Información extra DIR

Volcar información adicional a DIR.

-basura adicional

Cree un volcado ABI extendido que contenga todos los símbolos de la unidad de traducción.

-fuerza

Intente utilizar esta opción si la herramienta no funciona.

-tolerancia NIVEL

Aplique un conjunto de heurísticas para compilar correctamente archivos de encabezado de entrada. Usted puede
habilitar varios niveles de tolerancia uniéndolos en una sola cadena (por ejemplo, 13, 124,
etc.). Niveles:

1 - omita los encabezados que no sean de Linux (p. Ej., Win32 _ *. H, etc.) 2 - omita los encabezados internos (p. Ej.
* _p.h, impl / *. h, etc.) 3 - omitir encabezados que incluyen encabezados que no son de Linux 4 - omitir
encabezados incluidos por otros

-tolerante

Habilite el nivel de tolerancia más alto [1234].

-cheque

Verifique que el volcado ABI esté completo.

-rápido

Análisis rápido. Deshabilite la verificación de algunas instancias de plantilla.

-saltar-símbolos-internos PATRÓN

No compruebe los símbolos que coincidan con el patrón.

-saltar-tipos-internos PATRÓN

No marque los tipos que coincidan con el patrón.

REPORTE:
Se generará un informe de compatibilidad para:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

El registro se generará para:

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

SALIR CODIGOS:
0 - Compatible. La herramienta se ha ejecutado sin errores. distinto de cero: incompatible o
la herramienta se ha ejecutado con errores.

MÁS INFORMACIÓN:
http://lvc.github.io/abi-compliance-checker/

Use abi-compliance-checker en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    PyQt
    PyQt
    PyQt son los enlaces de Python para
    Qt multiplataforma de Digia
    marco de desarrollo de aplicaciones. Eso
    admite Python v2 y v3 y Qt v4 y
    Qt v5. PyQt está disponible...
    Descargar PyQt
  • 2
    Sardi
    Sardi
    Sardi es un restyling completo y
    optimización del código svg. 6 opciones para
    sus aplicaciones y 10 tipos de carpetas
    para usar en su administrador de archivos. El sardi
    iconos ...
    Descargar Sardi
  • 3
    Estación de trabajo de audio digital LMMS
    Estación de trabajo de audio digital LMMS
    LMMS es un software multiplataforma gratuito
    que te permite producir música con
    tu computadora. Si te gusta este proyecto
    considera involucrarte en el proyecto
    h ...
    Descargar Estación de trabajo de audio digital LMMS
  • 4
    Kernel en tiempo real de FreeRTOS (RTOS)
    Kernel en tiempo real de FreeRTOS (RTOS)
    FreeRTOS es un software en tiempo real líder en el mercado
    sistema operativo (RTOS) para
    microcontroladores y pequeños
    microprocesadores Distribuido libremente
    bajo la licencia de código abierto del MIT...
    Descargar FreeRTOS Real Time Kernel (RTOS)
  • 5
    Avogadro
    Avogadro
    Avogadro es un molecular avanzado
    editor diseñado para uso multiplataforma
    en química computacional, molecular
    modelado, bioinformática, materiales
    ciencia y ...
    Descargar Avogadro
  • 6
    XML TV
    XML TV
    XMLTV es un conjunto de programas para procesar
    Listados de TV (tvguide) y ayuda a administrar
    su visualización de TV, almacenando listados en un
    Formato basado en XML. Hay utilidades para
    hacer...
    Descargar XML TV
  • Más "

Comandos de Linux

Ad