Skip to content

Commit 474e480

Browse files
committed
Add ltrace as first glibc static tool
- Add ltrace (library call tracer) to the toolkit - Implement glibc static build system with unified log format - Build ltrace for 13 architectures with available toolchains - Fix per-architecture build isolation to prevent object file conflicts - Update README with ltrace documentation - Add deps-glibc-static and logs-glibc-static to .gitignore Note: ltrace requires glibc and has limited architecture support compared to simpler tools. Some architectures fail due to: - Missing toolchains (xtensa) - elfutils not recognizing the architecture - Architecture-specific compilation issues
1 parent f0419eb commit 474e480

File tree

71 files changed

+145
-25720
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+145
-25720
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ target/
4444
# Log files
4545
*.log
4646
logs/
47+
logs-glibc-static/
4748
*.log.*
4849
*.log[0-9]*
4950
test-results/
@@ -81,6 +82,7 @@ __pycache__/
8182
docker-volumes/
8283
.docker/
8384
deps-cache/
85+
deps-glibc-static/
8486

8587
# Docker-specific files
8688
.dockerignore

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ The name "Stheno" is a playful reference - in Greek mythology, Stheno was one of
2323
# Build specific tool for specific architecture
2424
./build strace --arch arm32v5le
2525

26-
# Build glibc static tools (like ltrace)
27-
./build-glibc-static ltrace
26+
# Build ltrace (automatically uses glibc build system)
27+
./build ltrace
2828

2929
# Build ltrace for specific architecture
30-
./build-glibc-static ltrace --arch x86_64
30+
./build ltrace --arch x86_64
3131
```
3232

3333
## Docker Build
@@ -109,7 +109,7 @@ DESOCK_BIND=1 LD_PRELOAD=./libdesock.so ./server_app # For bind mode
109109
- **dropbear** - Lightweight SSH server/client (includes dbclient, scp, dropbearkey)
110110

111111
### Glibc Static Tools (new)
112-
- **ltrace** - Library call tracer (requires glibc for functionality)
112+
- **ltrace** - Library call tracer (traces dynamic library calls and signals)
113113

114114
**Note on glibc static builds**: Due to glibc's design, "static" binaries built with glibc may still require certain runtime libraries for features like hostname resolution (NSS) and locale support. These tools are provided for environments where glibc is the standard C library.
115115

@@ -145,6 +145,7 @@ TOOL:
145145
tcpdump Network packet analyzer
146146
gdbserver Remote debugging server
147147
gdb GNU debugger
148+
ltrace Library call tracer (glibc static)
148149

149150
OPTIONS:
150151
--arch ARCH Build for specific architecture

deps-glibc-static/aarch64/include/elfutils/elf-knowledge.h

Lines changed: 0 additions & 101 deletions
This file was deleted.

0 commit comments

Comments
 (0)