-
Notifications
You must be signed in to change notification settings - Fork 29
Redesign readme #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Redesign readme #29
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,54 +1,147 @@ | ||
| # Repository of static gdb and gdbserver | ||
| <h1 align="center"> | ||
| <picture> | ||
| <source media="(prefers-color-scheme: dark)" srcset="./.github/assets/gdb-static_logo_dark.svg"> | ||
| <source media="(prefers-color-scheme: light)" srcset="./.github/assets/gdb-static_logo_light.svg"> | ||
| <img src="./.github/assets/gdb-static_logo_light.svg" alt="gdb-static" width="210px"> | ||
| </picture> | ||
| </h1> | ||
|
|
||
| ## **The statically compiled gdb / gdbserver binaries are avaliable to download under github releases!** | ||
| <p align="center"> | ||
| <i align="center">Frozen static builds of everyone's favorite debugger!🧊</i> | ||
| </p> | ||
|
|
||
| link: [gdb-static github releases](https://github.com/guyush1/gdb-static/releases) | ||
| <h4 align="center"> | ||
| <a href="https://github.com/guyush1/gdb-static/releases/latest"> | ||
| <img src="https://img.shields.io/github/v/release/guyush1/gdb-static?style=flat-square" alt="release" style="height: 20px;"> | ||
| <a href="https://github.com/guyush1/gdb-static/actions/workflows/pr-pipeline.yaml"> | ||
| <img src="https://img.shields.io/github/actions/workflow/status/guyush1/gdb-static/pr-pipeline.yaml?style=flat-square&label=pipeline" alt="continuous integration" style="height: 20px;"> | ||
| </a> | ||
| <a href="https://github.com/guyush1/gdb-static/graphs/contributors"> | ||
| <img src="https://img.shields.io/github/contributors-anon/guyush1/gdb-static?color=yellow&style=flat-square" alt="contributors" style="height: 20px;"> | ||
| </a> | ||
| <br> | ||
| <img src="https://img.shields.io/badge/GDB-v15.2-orange?logo=gnu&logoColor=white&style=flat-square" alt="gdb" style="height: 20px;"> | ||
| <img src="https://img.shields.io/badge/Python-built--in-blue?logo=python&logoColor=white&style=flat-square" alt="python" style="height: 20px;"> | ||
| </h4> | ||
|
|
||
| ## For manual gdb/gdbserver compilation instructions, have a look at the compilation.md file | ||
| ## TL;DR | ||
|
|
||
| ## Compiling gdb using docker | ||
| - **Download**: Get the latest release from the [releases page](https://github.com/guyush1/gdb-static/releases/latest). | ||
|
|
||
| This repository contains a dockerfile and build scripts to compile gdb and gdbserver statically for multiple architectures. | ||
| Currently, the supported architectures are: | ||
| - x86_64 | ||
| - arm | ||
| - aarch64 | ||
| - powerpc (32bit) | ||
| You can easily expand it to support more architectures by adding the appropriate cross compilers to the dockerfile, and other build scripts. | ||
| ## Introduction | ||
|
|
||
| NOTE: You don't need to interact with the dockerfile directly, as the Makefile will take care of everything for you. | ||
| Who doesn't love GDB? It's such a powerful tool, with such a great package. | ||
| But sometimes, you run into one of these problems: | ||
| - You can't install GDB on your machine | ||
| - You can't install an updated version of GDB on your machine | ||
| - Some other strange embedded reasons... | ||
|
|
||
| ### Building for a specific architecture | ||
| This is where `gdb-static` comes in! We provide static builds of `gdb` (and `gdbserver` of course), so you can run them on any machine, without any dependencies! | ||
|
|
||
| To build for a specific architecture, you can use the following command: | ||
| ```bash | ||
| make build-<ARCH> | ||
| ``` | ||
| <details open> | ||
| <summary> | ||
| Features | ||
| </summary> <br /> | ||
|
|
||
| - **Static Builds**: No dependencies, no installation, just download and run! | ||
| - **Latest Versions**: We keep our builds up-to-date with the latest versions of GDB. | ||
| - **Builtin Python (Optional)**: We provide builds with Python support built-in. | ||
| - **XML Support**: Our builds come with XML support built-in, which is useful for some GDB commands. | ||
| - **Wide Architecture Support**: We support a wide range of architectures: | ||
| - aarch64 | ||
| - arm | ||
| - mips | ||
| - mipsel | ||
| - powerpc | ||
| - x86_64 | ||
|
|
||
| </details> | ||
|
|
||
| ## Usage | ||
|
|
||
| To get started with `gdb-static`, simply download the build for your architecture from the [releases page](https://github.com/guyush1/gdb-static/releases/latest), extract the archive, and copy the binary to your desired platform. | ||
guyush1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| > [!NOTE] | ||
| > We provide two types of builds: | ||
| > 1. Builds with Python support, which are approximately ~30 MB in size. | ||
| > 2. Slimmer builds without Python support, which are approximately ~7 MB in size. | ||
|
|
||
| You may choose to copy the `gdb` binary to the platform, or use `gdbserver` to debug remotely. | ||
|
|
||
| ## Development | ||
|
|
||
| Alternatively, you can build `gdb-static` from source. To do so, follow the instructions below: | ||
|
|
||
| <details open> | ||
| <summary> | ||
| Pre-requisites | ||
| </summary> <br /> | ||
| To be able to build `gdb-static`, you will need the following tools installed on your machine: | ||
|
|
||
| ### | ||
|
|
||
| - Docker | ||
RoiKlevansky marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Docker buildx | ||
| - Git | ||
| </details> | ||
|
|
||
| <details open> | ||
| <summary> | ||
| Building for a specific architecture | ||
| </summary> <br /> | ||
|
|
||
| To build `gdb-static` for a specific architecture, run the following command: | ||
|
|
||
| For example, to build for arm: | ||
| ```bash | ||
| make build-arm | ||
| make build[-with-python]-<ARCH> | ||
| ``` | ||
|
|
||
| The resulting binaries will be placed under the `build/artifacts/` directory. | ||
| Each architecture will have its own directory under `build/artifacts/`. For example, the arm architecture will have the following directory structure: | ||
| ``` | ||
| Where `<ARCH>` is the architecture you want to build for, and `-with-python` may be added in order to compile gdb with Python support. | ||
|
|
||
| The resulting binary will be placed in the `build/artifacts/` directory: | ||
|
|
||
| ```bash | ||
| build/ | ||
| artifacts/ | ||
| arm/ | ||
| ... | ||
| └── artifacts/ | ||
| └── <ARCH>/ | ||
| └── ... | ||
| ``` | ||
|
|
||
| ### Building for all architectures | ||
| </details> | ||
|
|
||
| <details open> | ||
| <summary> | ||
| Building for all architectures | ||
| </summary> <br /> | ||
|
|
||
| To build `gdb-static` for all supported architectures, run the following command: | ||
|
|
||
| To build for all architectures, you can use the following command: | ||
| ```bash | ||
| make build | ||
| ``` | ||
|
|
||
| ### Cleaning the build | ||
| The resulting binary will be placed in the `build/artifacts/` directory. | ||
|
|
||
| To clean the build, you can use the following command: | ||
| ```bash | ||
| make clean | ||
| ``` | ||
| </details> | ||
|
|
||
| <a name="contributing_anchor"></a> | ||
| ## Contributing | ||
|
|
||
| - Bug Report: If you see an error message or encounter an issue while using gdb-static, please create a [bug report](https://github.com/guyush1/gdb-static/issues/new?assignees=&labels=bug&title=%F0%9F%90%9B+Bug+Report%3A+). | ||
|
|
||
| - Feature Request: If you have an idea or if there is a capability that is missing and would make `gdb-static` more robust, please submit a [feature request](https://github.com/guyush1/gdb-static/issues/new?assignees=&labels=enhancement&title=%F0%9F%9A%80+Feature+Request%3A+). | ||
|
|
||
| ## Contributors | ||
|
|
||
| <!--- | ||
| npx contributor-faces --exclude "*bot*" --limit 70 --repo "https://github.com/guyush1/gdb-static" | ||
|
|
||
| change the height and width for each of the contributors from 80 to 50. | ||
| ---> | ||
|
|
||
| [//]: contributor-faces | ||
guyush1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| <a href="https://github.com/guyush1"><img src="https://avatars.githubusercontent.com/u/82650790?v=4" title="guyush1" width="80" height="80"></a> | ||
| <a href="https://github.com/RoiKlevansky"><img src="https://avatars.githubusercontent.com/u/78471889?v=4" title="RoiKlevansky" width="80" height="80"></a> | ||
| <a href="https://github.com/roddyrap"><img src="https://avatars.githubusercontent.com/u/37045659?v=4" title="roddyrap" width="80" height="80"></a> | ||
|
|
||
| [//]: contributor-faces | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| { | ||
| "name": "gdb-static", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/guyush1/gdb-static" | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.