stacktrace_from_exception on non-x86
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Tái hiện bản build non-x86 bằng các lệnh bootstrap.sh và b2 trong issue. Đọc src/exception_headers.h và src/from_exception.cpp, bao gồm is_libcpp_runtime, để theo dõi các kiểm tra kiến trúc và runtime. Hoàn thành khi stacktrace library build được trên non-x86 với GCC/libstdc++ mà không cần các workaround được liệt kê.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I submitted the below to the mailing list, but I wanted to re-iterate it here for more eyes. https://lists.boost.org/Archives/boost/2024/04/256604.php
This feature is guarded by BOOST_STACKTRACE_ALWAYS_STORE_IN_PADDING, but that is only enabled on x86.
This means that
./bootstrap.sh --with-toolset=gcc --with-libraries=stacktrace
./b2 install threading=multi toolset=gcc
always fails to build on non-x86 platforms. There are three current workarounds:
- set boost.stacktrace.from_exception=off
- set BOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK
- build with threading=single
(1) prevents me from using this feature. (2) shouldn't be needed on it's face because I'm using gcc/libstdc++. (3) affects more than stacktrace.
Is this an incidental error, or is there a reason I wasn't able to deduce as to why this feature can't be used on non-x86+libstdc++?
It seems like the check for libc++ on non-x86 can't be entirely done at compile time. I definitely understand wanting to alert users to the dangers of using this feature, but there also doesn't seem to be a good way of detecting the presence of libc++ at compile time (hence the need for is_libcpp_runtime).
- Ngôn ngữ chính
- C++
- Star
- 497
- Fork
- 86
- Merge trung bình
- 8 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 3
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của boostorg/stacktrace
-
`std::formatter` specialization Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
boostorg/stacktrace#233 ·
-
Ошибка в Inscape Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
boostorg/stacktrace#211 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
boostorg/stacktrace#208 · 6 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
boostorg/stacktrace#197 · 3 bình luận ·
-
Implementation with `libdwfl`? Đang mởenhancement help wanted
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
boostorg/stacktrace#176 · 1 bình luận ·
Tất cả issue của boostorg/stacktrace
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
google/libultrahdr#485 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
godotengine/godot#123776 ·
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 60/100
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
ros2/common_interfaces#344 ·