InglêsFrancêsEspanhol

Ad


favicon do OnWorks

abi-compliance-checker - Online na nuvem

Execute o abi-compliance-checker no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando abi-compliance-checker que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


abi-compliance-checker - ferramenta para comparar a compatibilidade ABI da biblioteca C / C ++ compartilhada
versões

DESCRIÇÃO


NOME:
ABI Compliance Checker (abi-compliance-checker) Verifique a compatibilidade com versões anteriores de um
API da biblioteca C / C ++

DESCRIÇÃO:
ABI Compliance Checker (ABICC) é uma ferramenta para verificar o binário retroativo e
compatibilidade de nível de origem de uma biblioteca C / C ++ compartilhada. A ferramenta verifica os arquivos de cabeçalho
e bibliotecas compartilhadas (* .so) de versões novas e antigas e analisa as mudanças na API e
ABI (ABI = API + ABI do compilador) que pode quebrar a compatibilidade binária e / ou de nível de origem:
mudanças na pilha de chamadas, mudanças na tabela v, símbolos removidos, campos renomeados, etc.
A incompatibilidade binária pode resultar em travamento ou comportamento incorreto dos aplicativos
construído com uma versão antiga de uma biblioteca, caso seja executado em uma nova. Fonte
a incompatibilidade pode resultar em erros de recompilação com uma nova versão da biblioteca.

A ferramenta é destinada a desenvolvedores de bibliotecas de software e mantenedores de
sistemas operacionais que estão interessados ​​em garantir a compatibilidade com versões anteriores, ou seja, permitir
aplicativos antigos para serem executados ou recompilados com versões de biblioteca mais recentes.

Além disso, a ferramenta pode ser usada por ISVs para verificar a portabilidade de aplicativos para novos
versões da biblioteca. Os problemas encontrados podem ser levados em consideração ao adaptar o
aplicativo para uma nova versão da biblioteca.

Esta ferramenta é um software livre: você pode redistribuí-lo e / ou modificá-lo sob o
termos da GNU LGPL ou GNU GPL.

USO:
abi-compliance-checker [opções]

EXEMPLO:
verificador de conformidade abi -lib NOME -velho ANTIGO.xml -novo NOVO.xml

OLD.xml e NEW.xml são descritores XML:



1.0





/ caminho1 / para / cabeçalho (s) / / caminho2 / para / cabeçalho (s) /

...





/ path1 / to / library (s) / / path2 / to / library (s) /

...



INFORMAÇÃO OPÇÕES:
-h| -ajuda

Imprima esta ajuda.

-i| -info

Imprima informações completas.

-v| -version

Imprima informações sobre a versão.

-versão de despejo

Imprima a versão da ferramenta (1.99.14) e não faça mais nada.

SUPORTE OPÇÕES:
-l| -lib | -library NAME

Nome da biblioteca (sem versão).

-d1| -old | -o PATH

Descritor da 1ª (antiga) versão da biblioteca. Pode ser um dos seguintes:

1. Descritor XML (arquivo VERSION.xml):



1.0





/ caminho1 / para / cabeçalho (s) / / caminho2 / para / cabeçalho (s) /

...





/ path1 / to / library (s) / / path2 / to / library (s) /

...



...

2. Despejo de ABI gerado por -jogar fora opção 3. Diretório com cabeçalhos e / ou compartilhado
bibliotecas 4. Arquivo de cabeçalho único

Se você estiver usando um tipo de descritor de 2 a 4, você deve especificar os números de versão
com -v1 e -v2 opções também.

Para mais informações, consulte:

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

-d2| -new | -n PATH

Descritor da 2ª (nova) versão da biblioteca.

-jogar fora| -dump-abi PATH

Crie dump ABI da biblioteca para o descritor XML de entrada. Você pode transferi-lo para qualquer lugar
e passe em vez do descritor. Também pode ser usado para depurar a ferramenta.

Versões compatíveis de despejo de ABI: 2.0 <= V <= 3.2

EXTRA OPÇÕES:
app| -application PATH

Esta opção permite especificar o aplicativo que deve ser verificado para
portabilidade para a nova versão da biblioteca.

-static-libs

Verifique as bibliotecas estáticas em vez das compartilhadas. o seção do
O descritor XML deve apontar para o local das bibliotecas estáticas.

-gcc-caminho PATH

Caminho para o compilador GCC cruzado a ser usado em vez do GCC usual (host).

-gcc-prefixo PREFIXO

Prefixo do conjunto de ferramentas GCC.

-gcc-opções OPÇÕES

Opções adicionais do compilador.

-sysroot DIR

Especifique o diretório raiz alternativo. A ferramenta irá procurar incluir caminhos em
os diretórios DIR / usr / include e DIR / usr / lib.

-v1| -version1 NUM

Especifique a primeira versão da biblioteca fora do descritor. Esta opção é necessária se você
preferiram um tipo de descritor alternativo (ver -d1 opção).

No caso geral, você deve especificá-lo no descritor XML:



VERSÃO



-v2| -version2 NUM

Especifique a 2ª versão da biblioteca fora do descritor.

-vnum NUM

Especifique a versão da biblioteca no dump ABI gerado. o seção do
O descritor XML de entrada será substituído neste caso.

-s| -strict

Trate todos os avisos de compatibilidade como problemas. Adicione um número de gravidade "Baixa"
problemas para o valor de retorno da ferramenta.

-cabeçalhos apenas

Verifique os arquivos de cabeçalho sem bibliotecas compartilhadas. É fácil de executar, mas pode fornecer um
relatório de compatibilidade de baixa qualidade com falsos positivos e sem detecção de
símbolos adicionados / removidos.

Alternativamente, você pode escrever uma palavra "nenhuma" para o seção no
Descritor XML:



Nenhum



-mostrar-retval

Mostra o tipo de retorno do símbolo no relatório.

-lista de símbolos PATH

Esta opção permite especificar um arquivo com uma lista de símbolos (nomes mutilados em
C ++) que deve ser verificado. Outros símbolos não serão verificados.

-tipos-lista PATH

Esta opção permite especificar um arquivo com uma lista de tipos que devem ser
verificado. Outros tipos não serão verificados.

-skip-símbolos PATH

A lista de símbolos que não devem ser verificados.

-tipos de salto PATH

A lista de tipos que não devem ser verificados.

-lista de cabeçalhos PATH

O arquivo com uma lista de cabeçalhos, que devem ser verificados / despejados.

-skip-cabeçalhos PATH

O arquivo com a lista de arquivos de cabeçalho, que não devem ser verificados.

-cabeçalho NOME

Verifique / Dump ABI deste cabeçalho apenas.

-use-dumps

Faça dumps para duas versões de uma biblioteca e compare os dumps. Isso deve aumentar
o desempenho da ferramenta e diminuir o uso de memória do sistema.

-nostdinc

Não pesquise nos diretórios do sistema padrão do GCC por arquivos de cabeçalho.

-sistema de despejo NOME -sysroot DIR

Encontre todas as bibliotecas compartilhadas e arquivos de cabeçalho no diretório DIR, crie XML
descritores e fazer dumps ABI para cada biblioteca. O conjunto de resultados de despejos ABI pode ser
comparado (--cmp-sistemas) com o outro criado para outra versão de funcionamento
sistema para verificar sua compatibilidade. Não se esqueça de especificar
-cruz-gcc opção se o seu sistema de destino requer alguma versão específica do GCC
compilador (diferente do host GCC). O dump de ABI do sistema será gerado para:

sys_dumps / NAME / ARCH

-sistema de despejo DESCRITOR.xml

O mesmo que a opção anterior, mas leva um descritor XML do sistema de destino como
entrada, onde você deve descrevê-la:

/ * Seções primárias * /



/ * Nome do sistema * /





/ * A lista de caminhos para arquivos de cabeçalho e / ou

diretórios com arquivos de cabeçalho, um por linha * /





/ * A lista de caminhos para bibliotecas compartilhadas e / ou

diretórios com bibliotecas compartilhadas, um por linha * /



/ * Seções opcionais * /



/ * Lista de diretórios a serem pesquisados

para que os arquivos de cabeçalho gerem automaticamente caminhos de inclusão, um por linha * /





/ * Lista de diretórios a serem pesquisados

para bibliotecas compartilhadas para resolver dependências, uma por linha * /





/ * Lista de diretórios com ferramentas usadas

para análise (conjunto de ferramentas GCC), um por linha * /





/ * Prefixo do conjunto de ferramentas GCC.

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





/ * Opções adicionais do GCC, uma por linha * /



-sysinfo DIR

Esta opção deve ser usada com -sistema de despejo opção de descartar ABI de operação
sistemas e configurar o processo de despejo. Você pode encontrar uma amostra na embalagem:

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

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

Compare dois despejos de ABI do sistema. Crie relatórios de compatibilidade para cada biblioteca e o
relatório HTML comum, incluindo o resumo dos resultados do teste para todas as bibliotecas verificadas.
O relatório será gerado para:

sys_compat_reports / NAME1_to_NAME2 / ARCH

-libs-lista PATH

O arquivo com uma lista de bibliotecas, que deve ser despejado pelo -sistema de despejo opção
ou deve ser verificado pelo -sistemas cmp opção.

-ext| -extended

Se sua biblioteca A deve ser usada por outra biblioteca B e você deseja controlar
a ABI de B, então você deve habilitar esta opção. A ferramenta irá verificar se há mudanças
em todos os tipos de dados, mesmo que não sejam usados ​​por nenhuma função da biblioteca A.
tipos de dados não fazem parte da biblioteca A ABI, mas podem fazer parte da ABI de B
biblioteca.

O esquema curto é:

app C (quebrado) -> lib B (ABI quebrado) -> lib A (ABI estável)

-q| -quiet

Imprime todas as mensagens no arquivo em vez de stdout e stderr. Caminho padrão (pode ser
Alterado por -caminho do log opção):

logs / run.log

-stdout

Imprimir os resultados da análise (relatórios de compatibilidade e despejos ABI) para stdout em vez de
criando um arquivo. Isso permitiria canalizar dados para outros programas.

-formato de relatório FMT

Altere o formato do relatório de compatibilidade. Formatos:

htm - formato HTML (padrão) xml - formato XML

-formato de despejo FMT

Altere o formato do despejo ABI. Formatos:

perl - Formato Data :: Dumper (padrão) xml - Formato XML

-xml

Alias ​​para: --formato de relatório=xml or --dump-formato=xml

-longo GRANDE

Defina a linguagem da biblioteca (C ou C ++). Você pode usar esta opção se a ferramenta não puder
detectar automaticamente um idioma. Esta opção pode ser útil para verificar os cabeçalhos da biblioteca C
(--lang=C) em --apenas cabeçalhos or - estendido modos.

-arco ARCO

Defina a arquitetura da biblioteca (x86, x86_64, ia64, arm, ppc32, ppc64, s390, ect.). o
opção é útil se a ferramenta não puder detectar a arquitetura correta da entrada
objetos.

-binário| -bin | -abi

Mostrar apenas problemas de compatibilidade "binários". Gerar relatório para:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-source| -src | -api

Mostrar apenas problemas de compatibilidade de "Origem". Gerar relatório para:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-limite afetado LIMITE

O número máximo de símbolos afetados listados sob a descrição do alterado
digite o relatório.

OUTROS OPÇÕES:
-teste

Execute testes internos. Crie duas versões binárias incompatíveis de uma biblioteca de amostra e
execute a ferramenta para verificar a compatibilidade. Esta opção permite verificar se
a ferramenta funciona corretamente no ambiente atual.

-test-dump

Capacidade de teste para criar, ler e comparar despejos ABI.

-depurar

Modo de depuração. Imprima informações de depuração na tela. Salvar estágios de análise intermediários
no diretório de depuração:

depurar / LIB_NAME / VERSION /

Considere também usar --jogar fora opção para depurar a ferramenta.

-cpp-compatível

Se seus arquivos de cabeçalho são escritos em linguagem C e podem ser compilados pelo G ++
compilador (ou seja, não use palavras-chave C ++), então você pode informar a ferramenta sobre isso e
acelerar a análise.

-cpp-incompatível

Defina esta opção se os arquivos de cabeçalho C de entrada usarem palavras-chave C ++.

-p| -params PATH

Caminho para o arquivo com os nomes dos parâmetros da função. Pode ser usado para melhorar o relatório
ver se os arquivos de cabeçalho da biblioteca não têm nomes de parâmetro. Formato de arquivo:

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

...

-relpath PATH

Substitua as macros {RELPATH} por PATH no descritor XML usado para despejar a biblioteca
ABI (ver -jogar fora opção).

-relpath1 PATH

Substitua as macros {RELPATH} para PATH no primeiro descritor XML (-d1).

-relpath2 PATH

Substitua as macros {RELPATH} para PATH no segundo descritor XML (-d2).

-caminho de despejo PATH

Especifique um caminho de arquivo * .abi.tar.gz ou * .abi onde gerar um dump ABI. Predefinição:

abi_dumps / LIB_NAME / LIB_NAME_VERSION.abi.tar.gz

-ordenar

Habilite a classificação de dados em dumps ABI.

-caminho do relatório PATH

Caminho para o relatório de compatibilidade. Predefinição:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

-bin-relatório-caminho PATH

Caminho para o relatório de compatibilidade "Binário". Predefinição:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-src-relatório-caminho PATH

Caminho para o relatório de compatibilidade "Fonte". Predefinição:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-caminho do log PATH

Caminho de registro para todas as mensagens. Predefinição:

logs / LIB_NAME / VERSION / log.txt

-log1-caminho PATH

Caminho de log para a 1ª versão de uma biblioteca. Predefinição:

logs / LIB_NAME / V1 / log.txt

-log2-caminho PATH

Caminho de registro para a 2ª versão de uma biblioteca. Predefinição:

logs / LIB_NAME / V2 / log.txt

-modo de registro MODA

Altere o modo de registro. Modos:

w - sobrescrever logs antigos (padrão) a - anexar logs antigos n - não gravar logs

-lista-afetado

Gerar arquivo com a lista de símbolos incompatíveis ao lado da compatibilidade HTML
relatório. Use o comando 'c ++ filt @file' do GNU binutils para desmontar os símbolos C ++ em
o arquivo gerado. Nomes padrão:

abi_affected.txt src_affected.txt

-componente NOME

O nome do componente no título e no resumo do relatório HTML. Predefinição:

biblioteca

-título NOME

Altere o nome da biblioteca no título do relatório para NAME. Por padrão, será exibido um
nome especificado por -l opção.

-informação extra DIR

Despeje informações extras para DIR.

-extra-dump

Crie dump ABI estendido contendo todos os símbolos da unidade de tradução.

-força

Tente usar esta opção se a ferramenta não funcionar.

-tolerância NÍVEL

Aplique um conjunto de heurísticas para compilar com sucesso os arquivos de cabeçalho de entrada. Você pode
permitir vários níveis de tolerância unindo-os em uma coluna (por exemplo, 13, 124,
etc.). Níveis:

1 - pula cabeçalhos não-Linux (por exemplo, win32 _ *. H, etc.) 2 - pula cabeçalhos internos (por exemplo
* _p.h, impl / *. h, etc.) 3 - pula cabeçalhos que incluem cabeçalhos não Linux 4 - pula
cabeçalhos incluídos por outros

-tolerante

Ative o nível de tolerância mais alto [1234].

-Verifica

Verifique se o despejo ABI está completo.

-rápido

Análise rápida. Desative a verificação de algumas instâncias do modelo.

-pular-símbolos-internos PADRONIZAR

Não verifique os símbolos correspondentes ao padrão.

-pular-tipos-internos PADRONIZAR

Não verifique os tipos correspondentes ao padrão.

RELATÓRIO:
O relatório de compatibilidade será gerado para:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

O log será gerado para:

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

SAIR CÓDIGOS:
0 - compatível. A ferramenta foi executada sem erros. diferente de zero - incompatível ou
a ferramenta foi executada com erros.

MAIS INFORMAÇÕES:
http://lvc.github.io/abi-compliance-checker/

Use abi-compliance-checker online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad