-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Goal
Make self-linked shared objects (shared: true) usable from dlopen/Fiddle.
Acceptance Criteria
nm -D libadd.soshows exported symbols (e.g.add).readelf -d libadd.sohas consistentDT_SYMTAB/DT_STRTAB/DT_STRSZ/DT_HASH.RUBY_BOX=1 ruby test/caotral/linker/fiddle_test.rbpasses.
Tasks
- Populate
.dynsymwith defined non-local symbols for shared objects. - Append symbol names to
.dynstrand wirest_nameoffsets. - Set
.dynsymsymbol fields (st_value,st_shndx,st_size,st_info) for exported entries. - Emit
.hashfor shared objects (not only PIE) and patchDT_HASH. - Ensure writer patches
DT_SYMTAB/DT_STRTAB/DT_STRSZ/DT_SYMENTfrom final layout. - Add/maintain a minimal Fiddle smoke test (
add.c) with cleanup inteardown. - Fix test input generation to use object files (
gcc -fPIC -c) instead of-shared -o *.o.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels