Add the missing BRPC_WITH_UBRING Bazel configuration, wire it through
the library and example targets, and document the supported build
commands.
Enable RDMA and UBRING in CI jobs whose all-options configurations did
not exercise those features. Run both feature suites in the existing
Bazel unit-test jobs and enable RDMA in the Make unit-test job.
Use unsigned literals for UBRING atomic counter operations to match the
counter type and avoid template deduction failures on stricter
compilers.
Signed-off-by: Zhengwei Zhu <141622927+ZhengweiZhu@users.noreply.github.com>
* cputime optimize for arm64
Update src/butil/time.cpp
modify using __attribute__((constructor)) and merge init_invariant_cpu_freq to inside function read_invariant_cpu_frequency
* Add the macro switch BUTIL_USE_CPU_FREQUENCY while preserving the original default behavior for ARM64
* 1、Activation options: CMake -DWITH_CPU_FREQUENCY=ON, Bazel --define BUTIL_USE_CPU_FREQUENCY=true, script argument --with-cpu-frequency.
2、Disabled by default for consistent legacy behavior.
* fix compile failed
---------
Co-authored-by: seekdwh <dongweihao@huawei.com>
libunwind ships its `src/unwind/*.c` (the GCC `_Unwind_*`
ABI compatibility layer) as exported symbols of `libexternal_S~libunwind.so`.
At runtime the dynamic loader resolves `_Unwind_*` lookups (from
`pthread_exit`, libstdc++'s `__gxx_personality_v0`, etc.) to libunwind's
DWARF-based implementation instead of `libgcc_s.so.1`, hitting an
uninitialized internal context and crashing on the no-return cleanup chain
triggered by pthread_exit / C++ exception unwinding -- e.g. it makes
BthreadTest.bthread_exit segfault deterministically when
`--define=with_bthread_tracer=true` is on.
This is purely an ELF runtime symbol-resolution-order issue and reproduces
identically on GCC and Clang, since both default to `libstdc++ + libgcc_s`
on Linux.
* Fix libunwind linked by default on x86_64 cpu when build with bazel
* fix errors in getting_started.md english version
* add link libunwind instruction for bazel