Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
9bdb22b
README: discourage use of ancient GCC
quic-kdybcio Aug 14, 2025
97b649d
Add systemd service files for FastRPC daemons
quic-vkatoch Dec 3, 2025
0bb5d7b
CI: Fix distcheck permission errors for systemd service installation
quic-vkatoch Dec 22, 2025
9b45b68
Add systemd service files for FastRPC daemons (#263)
ekanshibu Dec 31, 2025
aaafd37
.gitignore: ignore gdsprpcd
ekanshibu Nov 4, 2025
37e11eb
Configure workflow to run Armor on AWS self-hosted runner
quic-mtharu Jan 6, 2026
fbbad87
README: discourage use of ancient GCC (#219)
ekanshibu Jan 6, 2026
ab2ba69
.gitignore: ignore gdsprpcd (#255)
ekanshibu Jan 6, 2026
045ff88
.github: Add issue template for bug reports
quic-kdybcio Dec 17, 2025
9102b7a
.github: Add issue template for bug reports (#268)
ekanshibu Jan 9, 2026
d2220d5
Configure workflow to run Armor on AWS self-hosted runner (#276)
ekanshibu Jan 12, 2026
8d97b02
cleanup:remove unused/unsupported PM QoS code (#225)
Jianping-Li Sep 5, 2025
a527681
Add systemd unit file for audiopd aDSP RPC daemon
qti-sbojja Jan 5, 2026
bf4534e
Add systemd unit file for audiopd aDSP RPC daemon (#275)
ekanshibu Jan 14, 2026
783b18d
Cleanup: remove unused/unsupported PM QoS code (#237)
ekanshibu Jan 14, 2026
b0b38f7
CI: Improve LAVA job health check and result handling
quic-mtharu Jan 20, 2026
cf2bae4
Non-Android builds lack BSD string functions
quic-vkatoch Jan 19, 2026
e3acb58
ci: update workflows with libbsd-dev dependency
quic-vkatoch Jan 19, 2026
2d08520
Add libbsd support for non-Android builds and update CI workflows (#279)
ekanshibu Jan 21, 2026
9c20e57
Add cross-compilation dependency installation instructions
quic-vkatoch Jan 21, 2026
db3e697
Handle RPC_PM_QOS command for backward compatibility
Jianping-Li Jan 19, 2026
eeb9d5b
CI: Add nightly kernel build workflow with weekly artifact upload
quic-mtharu Jan 20, 2026
e9df1a2
Add workflow to trigger a build of the package repo
simonbeaudoin0935 Oct 19, 2025
0b7aad4
Add workflow to trigger a build of the package repo (#251)
ekanshibu Jan 27, 2026
ed0dbf0
Handle RPC_PM_QOS command for backward compatibility (#284)
ekanshibu Jan 27, 2026
3ac74f6
Adds robust LAVA job monitoring in CI (#280)
ekanshibu Jan 27, 2026
0c1d4e4
Add Nightly Kernel Build Workflow with Weekly Artifact Upload (#281)
quic-mtharu Jan 28, 2026
9c9fee1
CI: Introduce Precompiled Kernel Image Workflow
quic-mtharu Jan 31, 2026
78605a3
Add cross-compilation dependency installation instructions (#282)
ekanshibu Feb 2, 2026
afbf652
Move -ldl -lm and $(USE_LOG) from LDFLAGS to *_LIBADD
quic-parihar Feb 2, 2026
da1d948
CI: Introduce precompiled kernel workflow and S3-based artifact reuse…
ekanshibu Feb 2, 2026
7c7c72e
Move -ldl -lm and $(USE_LOG) from LDFLAGS to *_LIBADD (#288)
ekanshibu Feb 3, 2026
a4955f1
CI: Use Generic overlay without kselftest and env-based test method
quic-mtharu Feb 3, 2026
4d44250
feat(talos): add support for qcs615-ride target
quic-mtharu Jan 6, 2026
51ebeab
fix(prod): update S3 bucket to qli-prd-fastrpc-gh-artifacts
quic-mtharu Feb 5, 2026
29458c2
fix(prod): update S3 bucket to qli-prd-fastrpc-gh-artifacts (#291)
ekanshibu Feb 5, 2026
d1e70ea
dsprpcd: Add help functionality
quic-vkatoch Jan 21, 2026
e5e0cf9
Update stale-issues.yaml
Sandhya1236 Feb 6, 2026
98d5a51
CI: Use Generic overlay without kselftest and env-based test method (…
ekanshibu Feb 10, 2026
1b622cb
feat(talos): add support for qcs615-ride target (#277)
ekanshibu Feb 10, 2026
0e7b43d
dsprpcd: Add help functionality (#283)
ekanshibu Feb 10, 2026
0815543
pkg-build-pr-check: Fix repo/ref when fork PR
simonbeaudoin0935 Feb 10, 2026
be0565f
gitignore: Add .dirstamp
lool Feb 15, 2026
29191a5
gitignore: Add .dirstamp (#294)
ekanshibu Feb 16, 2026
d5c7039
README: Use Markdown to define Terms
lool Feb 16, 2026
2c3dbc7
Remove unused rpcmem_set_dmabuf_name dummy function
quic-vkatoch Feb 22, 2026
a9a36d9
Drop ADSP_AVS_* env support from path resolver
quic-parihar Feb 24, 2026
5507195
Drop ADSP_AVS_* env support from path resolver (#300)
ekanshibu Feb 26, 2026
578edec
Convert PNG images to mermaid diagrams for README
quic-ansa Feb 20, 2026
6ad405c
Add internal mmap/munmap functions with DSP address tracking
quic-vkatoch Feb 18, 2026
9b9e9ba
Convert PNG images to mermaid diagrams for README (#301)
ekanshibu Feb 27, 2026
121787f
CI : enable ABI compatibility checker
anankulk Feb 25, 2026
3bd9676
cleanup: remove stale async fastrpc code (#218)
Jianping-Li Aug 27, 2025
634919a
CI : enable ABI compatibility checker (#303)
ekanshibu Mar 5, 2026
0cb29dd
cleanup: remove stale async fastrpc code (#218) (#226)
ekanshibu Mar 6, 2026
8572ae1
Refactor memory mapping with DSP address tracking (#299)
ekanshibu Mar 6, 2026
3d4aa43
CI : workflow_fix to align preflight checks with reusable workflow v2…
anankulk Mar 9, 2026
ed515ef
Align stale workflow with OSSOps recommendations (#292)
ekanshibu Mar 10, 2026
0508db3
Rename dependabots.yaml to dependabot.yaml
Sandhya1236 Feb 26, 2026
0eca2ba
CI : workflow_fix to align preflight checks with reusable workflow v2…
ekanshibu Mar 11, 2026
43e53e9
Rename dependabots.yaml to dependabot.yaml (#305)
ekanshibu Mar 11, 2026
4d9435e
Bump actions/download-artifact from 4 to 8
dependabot[bot] Mar 11, 2026
4427733
Bump actions/checkout from 4 to 6
dependabot[bot] Mar 11, 2026
29e273e
Bump github/codeql-action from 3 to 4
dependabot[bot] Mar 11, 2026
6c5d7cb
Bump actions/upload-artifact from 4 to 7
dependabot[bot] Mar 11, 2026
0bd648f
Bump actions/download-artifact from 4 to 8 (#313)
ekanshibu Mar 13, 2026
c1bebd9
Bump actions/checkout from 4 to 6 (#314)
ekanshibu Mar 13, 2026
cd5e316
Bump github/codeql-action from 3 to 4 (#315)
ekanshibu Mar 13, 2026
8615fac
Bump actions/upload-artifact from 4 to 7 (#316)
ekanshibu Mar 13, 2026
33096b9
fastrpc: config_parser: convert to unix format
Mar 26, 2026
d3e7184
fastrpc: config_parser: add fallback MACHINE_NAME enviroment variable
Mar 26, 2026
9b0e77c
ci: replace pull_request_target with pull_request in preflight checks
quic-mtharu Mar 31, 2026
ed8e2bb
Qualcomm Preflight Checks: Replace pull_request_target with pull_requ…
quic-mtharu Mar 31, 2026
dd3e274
Add MACHINE_NAME evn variable support (#320)
ekanshibu Apr 3, 2026
6516196
Introduce rpcmem_alloc2 for large allocations
quic-anane Apr 7, 2026
1c063a7
Enhance logging for expected DSP module-unavailable errors
quic-vkatoch Apr 7, 2026
5499d1a
Update FastRPC Architecture diagram layout and components
quic-vkatoch Apr 8, 2026
3ae1353
Update FastRPC Architecture diagram layout and components (#326)
ekanshibu Apr 14, 2026
92a2220
Enhance logging for expected DSP module-unavailable errors (#323)
ekanshibu Apr 14, 2026
82edbf9
pkg-build-pr-check: Fix repo/ref when fork PR (#293)
ekanshibu Apr 14, 2026
7ff21e6
Add support for rpcmem_alloc2 (#324)
ekanshibu Apr 14, 2026
2fcd9a1
Remove DEFAULT_DEVICE fallback to prevent cross-domain routing
quic-vkatoch Feb 24, 2026
68ef1a3
Merge domain device name functions into unified API
quic-vkatoch Mar 2, 2026
cbf4e5e
README: Use Markdown to define Terms (#296)
ekanshibu Apr 15, 2026
34985bb
Initialize apps_std before use
quic-parihar Apr 16, 2026
f7ed99e
Guard against refcount underflow in fastrpc_session_put()
quic-parihar Apr 16, 2026
3afb4a0
Remove DEFAULT_DEVICE fallback to prevent cross-domain routing (#302)
ekanshibu Apr 16, 2026
d44eaaa
adspmsgd: route DSP runtime logs via syslog when enabled
ekanshibu Apr 17, 2026
1f05242
Fix missing unlock on VERIFY failure paths
0222826398 Apr 22, 2026
f926386
Move GDSP domain IDs from remote.h to fastrpc_common.h
quic-vkatoch Apr 23, 2026
c8f662c
Fix missing unlock on VERIFY failure paths (#337)
0222826398 Apr 24, 2026
bdb462a
ci: Switch workflows to pull_request event
anankulk Apr 22, 2026
e019c5b
Update pkg-build-pr-check.yml
anankulk Apr 27, 2026
f68b30a
fastrpc: fallback to fastrpc_mmap_internal for unsupported flags
Jianping-Li Apr 21, 2026
aef4913
ci: Switch workflows to pull_request event (#341)
ekanshibu Apr 30, 2026
ef8f449
Apps std fix and refcount underflow guard (#332)
quic-mtharu May 4, 2026
98194a7
adspmsgd: route DSP runtime logs via syslog when enabled (#335)
quic-mtharu May 4, 2026
09a2f3c
fastrpc: fallback to fastrpc_mmap_internal for unsupported flags (#338)
quic-mtharu May 4, 2026
29851fd
Move GDSP domain IDs from remote.h to fastrpc_common.h (#339)
quic-mtharu May 4, 2026
e934a22
Fix format string warnings for 64-bit integer types
lool Apr 15, 2026
e19cb01
Fix const qualifier warnings from fopen_from_dirlist
lool Apr 15, 2026
d7719a0
Fix -Wrestrict warnings due to overlapping buffers
lool Apr 15, 2026
c03a3cc
Fix unused label warnings in dsprpcd daemons
lool Apr 15, 2026
85d2b11
Fix GDSP library build configuration
lool Apr 15, 2026
294d893
Fix unused result warnings for trace marker writes
lool Apr 15, 2026
842506b
Add and use --enable-stricter configure flag
lool Apr 15, 2026
a04f6e4
fix: remove unused variables in remote_munmap64
lool May 7, 2026
3a5a4dc
Build warnings fixes (#330)
quic-mtharu May 18, 2026
9d29f41
files: fix device unit names in After= dependencies
lool Apr 16, 2026
9bc91f7
files: add udev rules and fastrpc group
lool Apr 16, 2026
29c6ec6
files: Drop WantedBy=multi-user.target
lool May 9, 2026
2787159
configure: Auto-detect systemd system unit dir
lool May 9, 2026
10cb0bd
files: Fix path of RPC daemons
lool May 9, 2026
5f0b6a3
Improvements to systemd services with fastrpc user/group support (#333)
quic-mtharu Jun 8, 2026
573899a
Merge 'v1.0.6' into Debian packaging branch 'debian/pr/1.0.6-1'
qcom-service-bot Jul 2, 2026
9d406e8
Update changelog version to 1.0.6-1 and UNRELEASED suite
qcom-service-bot Jul 2, 2026
581c06a
debian: add libbsd-dev build-dep
simonbeaudoin0935 Jul 2, 2026
28f907c
debian: fix daemon install paths
simonbeaudoin0935 Jul 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,22 @@ libtool
stamp-h1

.deps/
.dirstamp
.libs/

# Compiled objects
*.o
*.lo
*.la

# Generated service units
files/*.service

# Compiled programs
src/adsprpcd
src/cdsprpcd
src/sdsprpcd
src/gdsprpcd
test/fastrpc_test

# make dist tarballs
Expand Down
Binary file removed Docs/images/Term_definitions.png
Binary file not shown.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
SUBDIRS = inc src test
SUBDIRS = inc src test files

ACLOCAL_AMFLAGS = -I m4
174 changes: 163 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,108 @@ FastRPC interfaces are defined in an IDL file, and they are compiled using the Q

The following diagram depicts the major FastRPC software components on the CPU and DSP.

![FastRPC Architecture](Docs/images/FastRPC_architecture.png)
```mermaid
flowchart TB
subgraph SMD["FastRPC Architecture"]
direction TB

subgraph TOP[" "]
direction LR

subgraph CPU["CPU"]
direction TB
subgraph Application["Application"]
direction TB
Stub["Stub"]
FRPC_UD["FastRPC<br/>user<br/>driver"]
end
FRPC_KD["FastRPC Kernel<br/>driver"]
end

subgraph DSP["DSP"]
direction TB
subgraph User_PD["User PD"]
direction TB
Skel["Skel"]
FRPC_DD["FastRPC<br/>DSP user<br/>driver"]
end
FRPC_DSP_KD["FastRPC DSP<br/>driver"]
end

end
end

classDef generated fill:#E6E6FA,stroke:#9370DB,color:#000
classDef fastrpc fill:#4169E1,stroke:#000,color:#000
classDef shared fill:#FAFAFA,stroke:#666,color:#000
classDef userpdbox fill:#ABDBE3,stroke:#666,color:#000
classDef mainbox fill:#7FB3CD,stroke:#666,color:#000
classDef topbox fill:none,stroke:none,color:none

class Stub,Skel generated
class FRPC_UD,FRPC_KD,FRPC_DD,FRPC_DSP_KD fastrpc
class SMD shared
class Application,User_PD userpdbox
class CPU,DSP mainbox
class TOP topbox

Stub <--> FRPC_UD
FRPC_UD <--> FRPC_KD
FRPC_KD <--> |rpmsg| FRPC_DSP_KD
FRPC_DSP_KD <--> FRPC_DD
FRPC_DD <--> Skel

linkStyle default stroke:#000
```

**Stub and skel** are generated by the IDL compiler. Other modules are part of the software stack on the device.
**Stub** and **Skel** are generated by the IDL compiler. The modules shown in blue blocks in the diagram are part of the FastRPC software stack on the device.

**Definition of the terms in the diagram:**

![Term Definitions](Docs/images/Term_definitions.png)

| Term | Description |
|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| Application | User mode process that initiates the remote invocation |
| Stub | Auto-generated code that takes care of marshaling parameters and runs on the CPU |
| FastRPC user driver on CPU | User mode library that is used by the stub code to do remote invocations |
| FastRPC Kernel Driver | Receives the remote invocations from the client, queues them up for transport to the DSP side over rpmsg, and then waits for the response after signaling the remote side |
| rpmsg | Remote Processor Messaging is the transport mechanism used between the CPU-side FastRPC kernel driver and the DSP-side FastRPC driver to exchange FastRPC requests and responses |
| FastRPC DSP Driver | Dequeues the messages received over rpmsg from the FastRPC kernel driver and dispatches them for processing |
| FastRPC user driver on DSP | User mode code that includes a shell executable to run in the user protection domain (PD) on the DSP and complete the remote invocations to the skel library |
| Skel | Auto-generated code that un-marshals parameters and invokes the user-defined implementation of the function that runs on the DSP |
| User PD | User protection domain on the DSP that provides the environment to run the user code |

### FastRPC Workflow

The FastRPC framework consists of the following components.

![FastRPC Workflow](Docs/images/FastRPC_workflow.png)
```mermaid
flowchart LR
subgraph CPU
UC[User Code]
Stub[Stub]
FF[FastRPC Framework]
end
subgraph DSP
FD[FastRPC DSP Framework]
Skel[Skel]
MI[Method Implementation]
end
UC --> |" 1 "| Stub
Stub --> |" 10 "| UC
Stub --> |" 2 "| FF
FF --> |" 9 "| Stub
FF --> |" 3 "| FD
FD --> |" 8 "| FF
FD --> |" 4 "| Skel
Skel --> |" 7 "| FD
Skel --> |" 5 "| MI
MI --> |" 6 "| Skel
classDef generated fill:#E6E6FA,stroke:#9370DB,color:#2A0066
classDef fastrpc fill:#4169E1,stroke:#000,color:#FFFFFF
classDef shared fill:#F5F5F5,stroke:#666
class UC,Stub,Skel,MI generated
class FF,FD fastrpc
```

**Workflow:**

Expand All @@ -46,23 +135,86 @@ Hexagon SDK documentation covers all the required details about FastRPC. Please

## Build & Installation

### Setting up the fastrpc group

The udev rules set `/dev/fastrpc-*dsp` device nodes to `root:fastrpc` with `0640` permissions and
grant the `fastrpc` group read/write access to `/dev/dma_heap/system` (required for memory allocation).
Applications that use `libfastrpc` must therefore belong to the `fastrpc` group.

The build system installs a `sysusers.d` configuration file that automatically creates the `fastrpc` group when `systemd-sysusers` runs (typically at boot or via package manager triggers).

To manually create the group:

```bash
groupadd --system fastrpc
```

Or trigger systemd-sysusers:

```bash
sudo systemd-sysusers
```

To grant an application user access to FastRPC devices:

```bash
usermod -aG fastrpc <username>
```

The services are automatically started by udev when FastRPC devices are detected.
No manual `systemctl enable` is required.

### Steps to Generate Native Binaries on Device

```bash
git clone https://github.com/quic/fastrpc
cd fastrpc
./gitcompile
sudo make install
sudo ldconfig # Update dynamic linker cache
sudo systemd-sysusers # Create fastrpc group
```

### Steps to Generate ARM Binaries Using Linaro Toolchain on Ubuntu Build Machine
### Steps to cross-compile the project on Ubuntu

1. **Install the cross compiler and required dependencies:**

Install cross-compilation toolchain:
```bash
sudo apt install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
```

1. **Install Linaro tools and add the tools bin location to the path:**
Install and build libyaml:
```bash
git clone https://github.com/yaml/libyaml.git
cd libyaml
./bootstrap
./configure --host=aarch64-linux-gnu
make
sudo make install
cd ..
```

Install and build libmd:
```bash
git clone https://git.hadrons.org/git/libmd.git
cd libmd
./autogen
./configure --host=aarch64-linux-gnu
make
sudo make install
cd ..
```

Install and build libbsd:
```bash
wget -c https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz
tar xf gcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz
export PATH="$PATH:<linaro tools path>/toolchain/bin"
git clone https://gitlab.freedesktop.org/libbsd/libbsd.git
cd libbsd
./autogen
./configure --host=aarch64-linux-gnu
make
sudo make install
cd ..
```

2. **Create softlink files for the compiler, linker, and other tools. Create environment variables as below for the auto tools:**
Expand Down Expand Up @@ -196,4 +348,4 @@ Thanks for your interest in contributing to FastRPC! Please read our [Contributi

## License

FastRPC is licensed under the BSD 3-clause "New" or "Revised" License. Check out the [LICENSE](LICENSE.txt) for more details.
FastRPC is licensed under the BSD 3-clause "New" or "Revised" License. Check out the [LICENSE](LICENSE.txt) for more details.
6 changes: 6 additions & 0 deletions ci/MACHINES.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,11 @@
"linuxFirmware": "qcs8300",
"lavaDeviceName": "qcs8300-ride",
"hexDSPBinary": "qcs8300"
},
"qcs615-ride": {
"deviceTree": "qcs615-ride",
"linuxFirmware": "qcs615",
"lavaDeviceName": "qcs615-ride",
"hexDSPBinary": "qcs615"
}
}
66 changes: 66 additions & 0 deletions ci/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/bash
# Copyright (c) Qualcomm Technologies, Inc.
# SPDX-License-Identifier: BSD-3-Clause-Clear

set -euo pipefail

echo "Configuring APT for amd64 + arm64 (ports)..."
# Detect Ubuntu codename
CODENAME="$(. /etc/os-release; echo "${VERSION_CODENAME}")"
: "${CODENAME:?Failed to read VERSION_CODENAME from /etc/os-release}"
echo "Detected Ubuntu codename: ${CODENAME}"

# 1) Enable ARM64 multiarch
sudo dpkg --add-architecture arm64

# 2) Overwrite main sources to be amd64-only (archive + security)
sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu ${CODENAME} main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu ${CODENAME}-updates main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu ${CODENAME}-backports main restricted universe multiverse
deb [arch=amd64] http://security.ubuntu.com/ubuntu ${CODENAME}-security main restricted universe multiverse
EOF

# 3) Add Ubuntu Ports for arm64 only
sudo tee /etc/apt/sources.list.d/arm64-ports.list > /dev/null <<EOF
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports ${CODENAME} main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports ${CODENAME}-updates main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports ${CODENAME}-backports main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports ${CODENAME}-security main restricted universe multiverse
EOF

# 4) Remove deb822 sources that may still request arm64 from security.ubuntu.com
sudo rm -f /etc/apt/sources.list.d/ubuntu.sources || true

# 5) Clean and update indices (amd64 from archive/security; arm64 from ports)
sudo apt-get clean
echo "Updating apt indices..."
sudo apt-get update -y

echo "Installing dependencies..."
sudo apt-get install -y --no-install-recommends \
abi-compliance-checker abi-dumper elfutils \
automake autoconf libtool pkg-config \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu \
libyaml-dev \
libyaml-0-2:arm64 libyaml-dev:arm64 \
libbsd-dev:arm64

echo "Sanity checks for ARM64 yaml pkg-config..."
ls -l /usr/include/yaml.h
ls -l /usr/lib/aarch64-linux-gnu/pkgconfig/yaml-0.1.pc

echo "Compiling for ARM64..."
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export AS=aarch64-linux-gnu-as
export LD=aarch64-linux-gnu-ld
export RANLIB=aarch64-linux-gnu-ranlib
export STRIP=aarch64-linux-gnu-strip
export PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig

# These flags ensure complete debug info (useful for ABI analysis as in ref_build.sh)
export CFLAGS="-g -Og -fno-eliminate-unused-debug-types"
export CXXFLAGS="-g -Og -fno-eliminate-unused-debug-types"

./gitcompile --host=aarch64-linux-gnu
Loading
Loading