-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Open
Labels
objectyamlquestionA question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!A question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!
Description
When converting an ELF shared library (.so
) to YAML using obj2yaml
and then back to a .so
using yaml2obj
, the NEEDED
entries do not appear to be preserved as expected. Instead of the shared library names, the output shows numeric values.
I am not sure if this is the intended behavior or a missing feature/bug.
Steps:
# Original .so has dependencies:
0x0000000000000001 (NEEDED) Shared library: [libA.so]
0x0000000000000001 (NEEDED) Shared library: [libB.so]
0x0000000000000001 (NEEDED) Shared library: [libD.so]
0x0000000000000001 (NEEDED) Shared library: [libZ.so]
# Convert original .so → yaml → new .so
obj2yaml original.so > lib.yaml
yaml2obj lib.yaml > new.so
# New .so shows:
# readelf -d libC.so | grep NEEDED
0x0000000000000001 (NEEDED) 0x6e
0x0000000000000001 (NEEDED) 0x76
0x0000000000000001 (NEEDED) 0x7e
0x0000000000000001 (NEEDED) 0x86
Environment:
- Host: macOS (Apple M1)
- Running inside Docker:
docker run --platform=linux/amd64 -it --rm -v $(pwd):/workspace ubuntu:22.04
- LLVM version:
22.0.0git
(built inside Docker)
Library Build : https://gist.github.com/SahilPatidar/00a46afc5e3168b992c6e51974c9853d
Is this the expected behavior for obj2yaml
/yaml2obj
with ELF?
Metadata
Metadata
Assignees
Labels
objectyamlquestionA question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!A question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!