-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
When the library is built with boost 1.88 and link-time optimization, I get an immediate segfault in any program linked with cpprestsdk.
I have patched the library to be able to compile with boost 1.88.
I use the following patches:
boost-1.88.patch
warnings.patch
fix-clang-dll-import.patch
Minimal test case program
#include <iostream>
int main (int argc, char *argv[]) {
std::cout << "Hello, World!" << std::endl;
return 0;
}
Compile and link with cpprestsdk:
g++ test.cpp -lcpprest -lcrypto
Running the resulting binary results in an immediate segmentation fault. Backtrace:
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<true> (this=0x7fffffffb7f0, __str=0x0, __n=0x0)
at /usr/include/c++/15.2.1/bits/basic_string.tcc:298
#1 0x00007ffff7eb3721 in _sub_I_65535_0.0 () from /usr/lib/libcpprest.so.2.10
#2 0x00007ffff7fc82a7 in call_init (l=<optimized out>, argc=0x1, argv=0x7fffffffb978, env=0x7fffffffb988) at dl-init.c:74
#3 call_init (l=<optimized out>, argc=0x1, argv=0x7fffffffb978, env=0x7fffffffb988) at dl-init.c:26
#4 0x00007ffff7fc837d in _dl_init (main_map=0x7ffff7ffe2f0, argc=0x1, argv=0x7fffffffb978, env=0x7fffffffb988) at dl-init.c:121
#5 0x00007ffff7fe0ba0 in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#6 0x0000000000000001 in ?? ()
#7 0x00007fffffffbdf4 in ?? ()
#8 0x0000000000000000 in ?? ()
When disabling link-time optimization during compilation of cpprestsdk, the segfault is gone and everything works as expected.
c72578
Metadata
Metadata
Assignees
Labels
No labels