англійськафранцузькаіспанська

Ad


Значок OnWorks

abi-compliance-checker – онлайн у хмарі

Запустіть abi-compliance-checker у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда abi-compliance-checker, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.

ПРОГРАМА:

ІМ'Я


abi-compliance-checker - інструмент для порівняння сумісності ABI спільної бібліотеки C/C++
версії

ОПИС


ІМ'Я:
Перевірка відповідності ABI (abi-compliance-checker) Перевірка зворотної сумісності a
API бібліотеки C/C++

ОПИС:
ABI Compliance Checker (ABICC) — це інструмент для перевірки зворотних бінарних і
сумісність на рівні джерела спільної бібліотеки C/C++. Інструмент перевіряє заголовні файли
і спільні бібліотеки (*.so) старих і нових версій і аналізує зміни в API і
ABI (ABI=API+компілятор ABI), який може порушити двійкову сумісність та/або сумісність на рівні джерела:
зміни в стеку викликів, зміни v-таблиці, вилучені символи, перейменовані поля тощо.
Двійкова несумісність може призвести до збою або неправильної поведінки програм
створені за допомогою старої версії бібліотеки, якщо вони працюють на новій. Джерело
несумісність може призвести до помилок перекомпіляції з новою версією бібліотеки.

Інструмент призначений для розробників програмних бібліотек та супроводжувачів
операційних систем, які зацікавлені в забезпеченні зворотної сумісності, тобто дозволяють
старі програми для запуску або перекомпіляції з новішими версіями бібліотеки.

Інструмент також може використовуватися ISV для перевірки переносимості програм до нових
бібліотечні версії. Виявлені проблеми можуть бути враховані при адаптації
додаток до нової версії бібліотеки.

Цей інструмент є безкоштовним програмним забезпеченням: ви можете розповсюджувати його та/або змінювати його за допомогою
умови GNU LGPL або GNU GPL.

ВИКОРИСТАННЯ:
abi-compliance-checker [параметри]

ПРИКЛАД:
abi-перевірка відповідності -lib ІМ'Я -даремно OLD.xml -новий НОВИНКА.xml

OLD.xml і NEW.xml є XML-дескрипторами:



1.0





/шлях1/до/заголовка(ів)/ /шлях2/до/заголовка(ів)/

...





/шлях1/до/бібліотеки/ /шлях2/до/бібліотеки/

...



ІНФОРМАЦІЯ ВАРІАНТИ:
-h|-допомога

Роздрукуйте цю довідку.

-i|-інформація

Роздрукувати повну інформацію.

-v|-версія

Інформація про версію для друку.

- dumpversion

Роздрукуйте версію інструмента (1.99.14) і більше нічого не робіть.

Загальні відомості ВАРІАНТИ:
-l|-lib|-назва бібліотеки

Назва бібліотеки (без версії).

-d1|-старий|-o ШЛЯХ

Дескриптор 1-ї (старої) версії бібліотеки. Це може бути одне з наступного:

1. XML-дескриптор (файл VERSION.xml):



1.0





/шлях1/до/заголовка(ів)/ /шлях2/до/заголовка(ів)/

...





/шлях1/до/бібліотеки/ /шлях2/до/бібліотеки/

...



...

2. Дамп ABI, згенерований - звалище варіант 3. Каталог із заголовками та/або спільним
бібліотеки 4. Один заголовний файл

Якщо ви використовуєте 2-4 типи дескрипторів, вам слід вказати номери версій
з -v1 та -v2 варіанти теж.

Для отримання додаткової інформації, будь ласка, перегляньте:

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

-d2|-новий|-n ШЛЯХ

Дескриптор 2-ї (нової) версії бібліотеки.

- звалище|-dump-abi ШЛЯХ

Створіть дамп бібліотеки ABI для вхідного XML-дескриптора. Ви можете перенести його куди завгодно
і передати замість дескриптора. Також його можна використовувати для налагодження інструмента.

Підтримувані версії дампа ABI: 2.0<=V<=3.2

EXTRA ВАРІАНТИ:
-додаток|-шлях до програми

Ця опція дозволяє вказати програму, яку потрібно перевірити
переносимість до нової версії бібліотеки.

-static-libs

Перевірте статичні бібліотеки замість спільних. The розділ
XML-дескриптор повинен вказувати на розташування статичних бібліотек.

-gcc-шлях PATH

Шлях до перехресного компілятора GCC для використання замість звичайного (хостового) GCC.

-gcc-префікс ПРЕФІКС

Префікс ланцюга інструментів GCC.

-gcc-опції OPTS

Додаткові параметри компілятора.

-sysroot DIR

Вкажіть альтернативний кореневий каталог. Інструмент шукатиме шляхи включення
каталоги DIR/usr/include і DIR/usr/lib.

-v1|-version1 NUM

Вкажіть 1-ю версію бібліотеки поза дескриптором. Цей варіант необхідний, якщо ви
віддали перевагу альтернативному типу дескриптора (див -d1 варіант).

У загальному випадку ви повинні вказати це в XML-дескрипторі:



Версія



-v2|-version2 NUM

Вкажіть 2-ю версію бібліотеки поза дескриптором.

-внум NUM

Вкажіть версію бібліотеки в згенерованому дампі ABI. The розділ
У цьому випадку вхідний дескриптор XML буде перезаписаний.

-s|-суворий

Розглядайте всі попередження про сумісність як проблеми. Додайте число "Низький" серйозність
проблеми з поверненням значення інструменту.

-лише заголовки

Перевірте заголовні файли без спільних бібліотек. Його легко запустити, але він може забезпечити а
звіт про сумісність низької якості з помилковими результатами та без виявлення
додані/вилучені символи.

Крім того, ви можете написати слово "none". розділ в
XML-дескриптор:



ніхто



-шоу-ревал

Показати тип повернення символу у звіті.

-перелік символів PATH

Ця опція дозволяє вказати файл зі списком символів (спотворених імен у
C++), це слід перевірити. Інші символи не перевірятимуться.

- список типів PATH

Ця опція дозволяє вказати файл зі списком типів, які повинні бути
перевірено. Інші типи не перевірятимуться.

-пропуски-символи PATH

Список символів, які не слід перевіряти.

-пропускні типи PATH

Список типів, які не слід перевіряти.

- список заголовків PATH

Файл зі списком заголовків, які потрібно перевірити/скинути.

-пропускати заголовки PATH

Файл зі списком заголовних файлів, який не слід перевіряти.

- заголовок ІМ'Я

Перевірте/видайте ABI лише цього заголовка.

-використання-звалища

Зробіть дампи для двох версій бібліотеки та порівняйте дампи. Це має збільшитися
продуктивність інструменту та зменшити використання системної пам'яті.

-ностдинк

Не шукайте заголовні файли в стандартних системних каталогах GCC.

- дамп-система ІМ'Я -sysroot DIR

Знайдіть усі спільні бібліотеки та заголовні файли в каталозі DIR, створіть XML
дескриптори та створювати дампи ABI для кожної бібліотеки. Набір результатів дампів ABI може бути
порівняно (--cmp-системи) з іншим створеним для іншої версії роботи
системи, щоб перевірити їх на сумісність. Не забудьте уточнити
-cross-gcc варіант, якщо ваша цільова система вимагає певної версії GCC
компілятор (відмінний від хоста GCC). Системний дамп ABI буде створено для:

sys_dumps/NAME/ARCH

- дамп-система DESCRIPTOR.xml

Те саме, що і попередній варіант, але використовує XML-дескриптор цільової системи як
введення, де ви повинні його описати:

/* Основні розділи */



/* Назва системи */





/* Список шляхів до заголовних файлів та/або

каталоги із заголовковими файлами, по одному на рядок */





/* Список шляхів до спільних бібліотек та/або

каталоги зі спільними бібліотеками, по одному на рядок */



/* Додаткові розділи */



/* Список каталогів для пошуку

щоб файли заголовків автоматично генерували шляхи включення, по одному на рядок */





/* Список каталогів для пошуку

для спільних бібліотек для вирішення залежностей, по одній на рядок */





/* Список каталогів із використаними інструментами

для аналізу (набір інструментів GCC), по одному на рядок */





/* Префікс ланцюга інструментів GCC.

Приклади:
arm-linux-gnueabi arm-none-symbianelf */





/* Додаткові параметри GCC, по одному на рядок */



-sysinfo DIR

Цей параметр слід використовувати з - дамп-система можливість скинути ABI операційної
системи та налаштувати процес скидання. Ви можете знайти зразок в упаковці:

модулі/цілі/{unix, symbian, windows}

-cmp-системи -d1 sys_dumps/NAME1/ARCH -d2 sys_dumps/NAME2/ARCH

Порівняйте два дампи ABI системи. Створюйте звіти про сумісність для кожної бібліотеки та
загальний звіт HTML, включаючи підсумок результатів тестування для всіх перевірених бібліотек.
Звіт буде створено для:

sys_compat_reports/NAME1_to_NAME2/ARCH

-libs-list PATH

Файл зі списком бібліотек, які слід скинути - дамп-система варіант
або повинні бути перевірені -cmp-системи варіант.

-екст|-розширений

Якщо ваша бібліотека A повинна використовуватися іншою бібліотекою B, і ви хочете контролювати
ABI B, то вам слід увімкнути цю опцію. Інструмент перевірить наявність змін
у всіх типах даних, навіть якщо вони не використовуються жодною функцією в бібліотеці A. Такі
Типи даних не є частиною ABI бібліотеки A, але можуть бути частиною ABI B
бібліотека

Коротка схема така:

додаток C (порушений) -> lib B (непрацюючий ABI) -> lib A (стабільний ABI)

-q|-тиха

Друкувати всі повідомлення у файл замість stdout і stderr. Шлях за замовчуванням (може бути
змінено на -шлях журналу варіант):

logs/run.log

-stdout

Друкувати результати аналізу (звіти про сумісність і дампи ABI) у стандартний виведення замість
створення файлу. Це дозволить передавати дані іншим програмам.

-формат звіту FMT

Змінити формат звіту про сумісність. Формати:

htm - формат HTML (за замовчуванням) xml - формат XML

-формат дампу FMT

Змінити формат дампа ABI. Формати:

perl - Формат даних::Dumper (за замовчуванням) xml - формат XML

-xml

Псевдонім для: --формат звіту=XML or --формат дампу=XML

-язик МОВА

Встановити мову бібліотеки (C або C++). Ви можете використовувати цю опцію, якщо інструмент не може
автоматично визначати мову. Цей параметр може бути корисним для перевірки заголовків бібліотеки C
(--lang=Cв) --лише заголовки or --розширений режими роботи

-арх ARCH

Встановити архітектуру бібліотеки (x86, x86_64, ia64, arm, ppc32, ppc64, s390 тощо). The
Опція корисна, якщо інструмент не може визначити правильну архітектуру введення
об’єкти.

- двійковий|-bin|-abi

Показати лише проблеми з сумісністю "двійкові". Створити звіт для:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-Source|-src|-api

Показати лише проблеми з сумісністю "Джерело". Створити звіт для:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

- обмежений вплив МЕЖА

Під описом змінено максимальну кількість уражених символів
введіть у звіт.

ІНШІ ВАРІАНТИ:
-тест

Виконайте внутрішні тести. Створіть дві двійкові несумісні версії бібліотеки зразків і
запустіть інструмент, щоб перевірити їх на сумісність. Ця опція дозволяє перевірити, чи
інструмент працює коректно в поточному середовищі.

-тест-дамп

Перевірте здатність створювати, читати та порівнювати дампи ABI.

-відлагоджувати

Режим налагодження. Надрукуйте на екрані інформацію про налагодження. Зберегти проміжні етапи аналізу
в каталозі налагодження:

debug/LIB_NAME/VERSION/

Також розгляньте можливість використання --звалища варіант налагодження інструмента.

-cpp-сумісний

Якщо ваші заголовні файли написані мовою C і можуть бути зібрані за допомогою G++
компілятора (тобто не використовуйте ключові слова C++), то ви можете розповісти інструменту про це та
прискорити аналіз.

-cpp-несумісний

Встановіть цей параметр, якщо вхідні файли заголовків C використовують ключові слова C++.

-p|-параметри PATH

Шлях до файлу з іменами параметрів функції. Його можна використовувати для покращення звіту
переглянути, якщо файли заголовків бібліотеки не мають імен параметрів. Формат файлу:

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

...

-відносний шлях PATH

Замініть макроси {RELPATH} на PATH у XML-дескрипторе, який використовується для дампу бібліотеки
ABI (див - звалище варіант).

-relpath1 PATH

Замініть макроси {RELPATH} на PATH у 1-му XML-дескрипторі (-d1).

-relpath2 PATH

Замініть макроси {RELPATH} на PATH у 2-му XML-дескрипторі (-d2).

-сміттєвий шлях PATH

Вкажіть шлях до файлу *.abi.tar.gz або *.abi для створення дампу ABI. За замовчуванням:

abi_dumps/LIB_NAME/LIB_NAME_VERSION.abi.tar.gz

-сортувати

Увімкнути сортування даних у дампах ABI.

-шлях звіту PATH

Шлях до звіту про сумісність. За замовчуванням:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

-bin-report-path PATH

Шлях до "двійкового" звіту про сумісність. За замовчуванням:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-src-звіт-шлях PATH

Шлях до звіту про сумісність "Джерело". За замовчуванням:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-шлях журналу PATH

Шлях журналу для всіх повідомлень. За замовчуванням:

logs/LIB_NAME/VERSION/log.txt

-log1-шлях PATH

Шлях журналу для 1-ї версії бібліотеки. За замовчуванням:

logs/LIB_NAME/V1/log.txt

-log2-шлях PATH

Шлях журналу для 2-ї версії бібліотеки. За замовчуванням:

logs/LIB_NAME/V2/log.txt

-режим реєстрації РЕЖИМ

Змінити режим реєстрації. Режими:

w - перезаписати старі журнали (за замовчуванням) a - додати старі журнали n - не записувати жодних журналів

-заражені списком

Згенеруйте файл зі списком несумісних символів, крім сумісності HTML
звіт. Використовуйте команду 'c++filt @file' з GNU binutils, щоб розблокувати символи C++
згенерований файл. Назви за замовчуванням:

abi_affected.txt src_affected.txt

-компонент ІМ'Я

Ім’я компонента в назві та резюме звіту HTML. За замовчуванням:

бібліотека

-заголовок ІМ'Я

Змініть назву бібліотеки в назві звіту на NAME. За замовчуванням буде відображатися a
ім'я, зазначене за -l варіант.

- додаткова інформація DIR

Завантажте додаткову інформацію в DIR.

- додатковий дамп

Створіть розширений дамп ABI, що містить усі символи з блоку перекладу.

- сила

Спробуйте скористатися цією опцією, якщо інструмент не працює.

- толерантність РІВЕНЬ

Застосуйте набір евристик для успішної компіляції вхідних файлів заголовків. Ти можеш
увімкнути кілька рівнів допуску, об’єднавши їх в один рядок (наприклад, 13, 124,
тощо). Рівні:

1 - пропустити заголовки, відмінні від Linux (наприклад, win32_*.h, тощо) 2 - пропустити внутрішні заголовки (наприклад
*_p.h, impl/*.h тощо) 3 - пропустити заголовки, які включають заголовки, які не належать до Linux 4 - пропустити
заголовки, включені іншими

-толерантний

Увімкнути найвищий рівень допуску [1234].

- перевірити

Перевірте повність дампу ABI.

- швидко

Швидкий аналіз. Вимкнути перевірку деяких екземплярів шаблонів.

-пропуск внутрішніх символів ПАТЕРН

Не перевіряйте символи, що відповідають шаблону.

-skip-internal-types ПАТЕРН

Не перевіряйте типи, які відповідають шаблону.

ЗВІТ:
Звіт про сумісність буде створено для:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

Журнал буде створено для:

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

EXIT КОДІ:
0 - Сумісний. Інструмент запрацював без жодних помилок. ненульовий - Несумісний або
інструмент запустився з помилками.

БІЛЬШЕ ІНФОРМАЦІЯ:
http://lvc.github.io/abi-compliance-checker/

Використовуйте abi-compliance-checker онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad