Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust demangle v0 format. #64

Merged
merged 5 commits into from
Apr 1, 2024
Merged

Rust demangle v0 format. #64

merged 5 commits into from
Apr 1, 2024

Conversation

wargio
Copy link
Member

@wargio wargio commented Mar 31, 2024

do not squash

This complete the implementation of the rust code by decoding the v0 rfc.

This implementation also includes the support for f16 and f128

Fix #63

Copy link
Member

@XVilka XVilka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look great!

UBSAN started to break on C++ code though:

>>> UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 LD_LIBRARY_PATH=/home/runner/work/rz-libdemangle/rz-libdemangle/build-asan/ MALLOC_PERTURB_=19 /home/runner/work/rz-libdemangle/rz-libdemangle/build-asan/test_cxx_gnu_v2
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
../src/gnu_v2/cplus-dem.c:432:9: runtime error: signed integer overflow: 555555555 * 10 cannot be represented in type 'int'
    #0 0x7fe046a543fd in consume_count ../src/gnu_v2/cplus-dem.c:432
    #1 0x7fe046a615e0 in demangle_class_name ../src/gnu_v2/cplus-dem.c:1659
    #2 0x7fe046a6fdf8 in demangle_class ../src/gnu_v2/cplus-dem.c:1718
    #3 0x7fe046a6fdf8 in demangle_signature ../src/gnu_v2/cplus-dem.c:833
    #4 0x7fe046a6fdf8 in internal_cplus_demangle ../src/gnu_v2/cplus-dem.c:640
    #5 0x7fe046a58825 in cplus_demangle_v2 ../src/gnu_v2/cplus-dem.c:594
    #6 0x7fe0469ae1bc in libdemangle_handler_cxx ../src/cxx.c:522
    #7 0x55eed49e567b in demangle_with_cxx ../test/test_cxx_gnu_v2.c:27
    #8 0x55eed49e5332 in main ../test/test_cxx_gnu_v2.c:27
    #9 0x7fe045d3a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082)
    #10 0x55eed49e543d in _start (/home/runner/work/rz-libdemangle/rz-libdemangle/build-asan/test_cxx_gnu_v2+0x343d)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/gnu_v2/cplus-dem.c:432:9 in 
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Summary of Failures:

@wargio wargio merged commit 498e007 into main Apr 1, 2024
7 checks passed
@wargio wargio deleted the rust-v0 branch April 1, 2024 02:48
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.

update rust demangler to support f16 and f128
2 participants