Skip to content

Handle R_X86_64_JUMP_SLOT with addend and guard empty CFGs#47

Open
rupeshkoushik07 wants to merge 1 commit intocolumbia:masterfrom
stevens-s3lab:rupesh-clean
Open

Handle R_X86_64_JUMP_SLOT with addend and guard empty CFGs#47
rupeshkoushik07 wants to merge 1 commit intocolumbia:masterfrom
stevens-s3lab:rupesh-clean

Conversation

@rupeshkoushik07
Copy link
Copy Markdown

@rupeshkoushik07 rupeshkoushik07 commented Mar 23, 2026

Issue

Summary

  • Handle R_X86_64_JUMP_SLOT relocations with non-zero addends (e.g. calloc + 28454) as data references using ExternalSymbolLink
  • Guard against SIGSEGV in FindSyscalls when visiting functions with empty CFGs (0 basic blocks)

Details

A relocation like R_X86_64_JUMP_SLOT calloc@@GLIBC_2.2.5 + 28454 means "resolve calloc, then add 28454 bytes." Previously unhandled, causing an exception. When addend is non-zero, the target is a data reference, not a function call.

The empty CFG guard prevents a crash in SccOrder::genFull(0) when iterating over all functions including those from dependency libraries that were not fully disassembled.

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