Skip to content

[Fix]: Add RIP-relative addressing across all memory accesses - #34

Merged
douxxtech merged 1 commit into
mainfrom
rel-addr
Jun 14, 2026
Merged

douxxtech merged 1 commit into
mainfrom
rel-addr

Conversation

@douxxtech

Copy link
Copy Markdown
Owner

Every direct memory reference ([label]) has been replaced with its RIP-relative form ([rel label]). This is a position-independent code (PIC) fix, without rel, the assembler generates absolute addressing which breaks when the binary isn't loaded at a fixed address (e.g. with ASLR enabled, or when linked as a shared/PIE executable).

Side note: I'm not sure if this broke things or not. The tests seem to pass just fine though. And it's fine anyways, its an experimental project.

@github-actions

Copy link
Copy Markdown
START + GET /: 166 syscalls
Fastest: 0.000017s (brk)
Slowest: 0.817329s (accept)
threads: 4 (auto), conns: 50, duration: 20s

[wrk]
Running 20s test @ http://127.0.0.1:8080/
  4 threads and 50 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.47ms   11.88ms 420.74ms   99.33%
    Req/Sec     1.60k   312.97     2.41k    68.38%
  127216 requests in 20.04s, 193.02MB read
  Socket errors: connect 0, read 35, write 0, timeout 0
Requests/sec:   6349.46
Transfer/sec:      9.63MB

@douxxtech
douxxtech merged commit 0d60a83 into main Jun 14, 2026
2 checks passed
@douxxtech
douxxtech deleted the rel-addr branch June 14, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant