• Stars
    star
    8
  • Rank 2,032,856 (Top 42 %)
  • Language
    Ada
  • License
    GNU General Publi...
  • Created over 9 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ada BFD is an Ada binding for the GNU Binutils BFD library. It allows to read binary ELF, COFF files by using the GNU BFD.

Ada BFD Library

Build Status Test Status Coverage Download License Commits

The Ada-BFD is a library which provides Ada API for GNU Binutils BFD library. It works on any version of GNU Binutils (starting at 2.15). The recommended version for GNU Binutils is at least the 2.39.

The Ada-BFD library allows to:

  • list and scan the ELF sections of an executable or object file,
  • get the content of the ELF sections,
  • get access to the symbol table,
  • use the BFD disassembler

The Ada BFD library is distributed under the GNU GENERAL PUBLIC LICENSE, Version 2 (see COPYING).

The unit tests used by Ada BFD use the Ada Util and Ada Test Util libraries distributed under the Apache License Version 2 (see testutil/LICENSE.txt). They also use the Ahven Unit Test Library distributed under the ISC license (see testutil/LICENSE.Ahven). These unit test libraries are not installed.

Version 1.3.0 - Aug 2023

  • Fix #7: Binutils 2.39 changed init_disassemble_info signature
  • Fix #8: The dynamic minisymbols are not loaded by Bfd.Symbols.Read_Symbols

List all versions

Installing and compiling Ada BFD

To compile Ada BFD you'll need:

  • an Ada compiler (gcc 12.1).
  • the binutils 2.39 or higher installed for development. You need the bfd.h include as well as libbfd and libiberty. On Debian systems (including Ubuntu) install the development packages by using:
sudo apt-get install binutils-dev libiberty-dev

On NetBSD 9.2, you need to install by using:

sudo pkg_add binutils
sudo pkg_add gettext-lib
sudo pkg_add libiberty

Run the GNU configure command and build the library:

./configure
make
make check

You can install the library by using:

make install

Build with Alire

You can also build the Ada BFD library with Alire by using (but the dependency to the binutils-dev is not handled by the crate):

alr build

Compiling the Ada BFD samples

Several samples are provided to show how to use the Ada BFD library. To build them, use:

make samples
Example Usage example Description
bfdinfo ./bin/bfdinfo ./bin/bfdgen Open BFD file, get flags, list sections and symbols
sections ./bin/sections ./bin/bfdgen Display the ELF sections with the Bfd.Sections
symbol ./bin/symbol ./bin/bfdgen main Read the symbol table with Bfd.Symbols
disassemble ./bin/disassemble ./bin/bfdgen Disassemble the text section with Bfd.Disassemble

Projects using Ada BFD

Documentation

Articles

More Repositories

1

ada-awa

Ada Web Application - Framework to build high performance secure web applications
Ada
90
star
2

ada-util

Ada Utility Library - Composing streams, processes, logs, serialization, encoders and more
Ada
68
star
3

ada-keystore

Ada Keystore - protect your sensitive data with secure storage
Ada
31
star
4

sql-benchmark

Tool to make SQL benchmark on different drivers, languages and databases
Ada
29
star
5

swagger-ada

Ada support for OpenAPI code generator
Ada
25
star
6

ada-ado

Ada Database Objects
Ada
24
star
7

ada-security

Ada Security - OAuth 2.0 client and server framework to secure web applications
Ada
22
star
8

ada-wiki

Ada Wiki Engine - Wiki parser and renderer with several Wiki syntaxes
Ada
19
star
9

ada-enet

Ada Embedded Network Stack
Ada
19
star
10

etherscope

Ethernet traffic monitor on a STM32F746 board
Ada
17
star
11

dynamo

Dynamo Ada Application Code Generator
Ada
17
star
12

ada-asf

Ada Server Faces - Web Server Faces JSR 252, JSR 314 and JSR 344
Ada
12
star
13

resource-embedder

ARE - Advanced Resource Embedder include files, scripts, images in Ada, C, Go binaries
Ada
10
star
14

ada-search

Ada
9
star
15

swagger-ada-todo

Simple todo list server with OpenAPI
Ada
8
star
16

ada-el

Ada EL - Expression Language Library (JSR245)
Ada
7
star
17

atlas

AWA Demonstrator
TSQL
7
star
18

ada-servlet

Ada Servlet - Web Servlet Library following JSR 154, JSR 315
Ada
7
star
19

ada-lzma

Ada binding for liblzma compression library
Ada
6
star
20

mat

Memory Analysis Tool
Ada
6
star
21

ada-css

Ada parser for CSS files with CSS Object Model API
Ada
5
star
22

ada-stemmer

Multi natural language stemmer with Snowball generator
Ada
4
star
23

stm32-ui

STM32 UI library and tools
Ada
4
star
24

ada-rest-api-server-benchmark

Benchmark for REST api on Ada servers
Ada
3
star
25

jason

Project and ticket management
Ada
3
star
26

wi2wic

Wiki 2 Wiki Converter
Ada
2
star
27

hestia

Heat Controller
Ada
2
star
28

ada-mail

Mail tools
Ada
2
star
29

ada-libsecret

Ada Binding for the libsecret library
Ada
2
star
30

bbox-ada-api

Ada Binding for the Bbox API
Ada
2
star
31

babel

Babel Backup
Ada
1
star
32

ada-awe

Automatically exported from code.google.com/p/ada-awe
Ada
1
star
33

helios

Helios Fast Reliable Monitoring Agent
Ada
1
star
34

awa-alire-index

1
star
35

xcra

Automatically exported from code.google.com/p/xcra
C++
1
star