mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
befdb09597
Linking glibc in fully static mode is mostly unsupported. While such binaries can easily be produced, conflicting symbols will often make them crash at runtime. This happens because glibc will always (try to) load some dynamically linked libraries, even when statically linked. This includes things like the resolver, unicode/locale handling and others. Internally at Google, this is not a concern due to the way glibc is being built there. But in order to make all of our tests run in the open-source version of this code, we need to change strategy a bit. As a rule of thumb, glibc can safely be linked statically if a program is resonably simple and does not use any networking of locale dependent facilities. Calling syscalls directly instead of the corresponding libc wrappers works as well, of course. This change adjusts linker flags and sandbox policies to be more compatible with regular Linux distributions. Tested: - `ctest -R '[A-Z].*'` (all SAPI/Sandbox2 tests) PiperOrigin-RevId: 429025901 Change-Id: I46b677d9eb61080a8fe868002a34a77de287bf2d |
||
---|---|---|
.. | ||
bazel | ||
docs | ||
examples | ||
sandbox2 | ||
tools | ||
util | ||
BUILD.bazel | ||
call.h | ||
client.cc | ||
CMakeLists.txt | ||
config.h | ||
embed_file.cc | ||
embed_file.h | ||
file_toc.h | ||
lenval_core.h | ||
proto_arg.proto | ||
proto_helper.cc | ||
proto_helper.h | ||
rpcchannel.cc | ||
rpcchannel.h | ||
sandbox.cc | ||
sandbox.h | ||
sapi_test.cc | ||
testing.cc | ||
testing.h | ||
transaction.cc | ||
transaction.h | ||
var_abstract.cc | ||
var_abstract.h | ||
var_array.h | ||
var_int.cc | ||
var_int.h | ||
var_lenval.cc | ||
var_lenval.h | ||
var_proto.h | ||
var_ptr.h | ||
var_reg.h | ||
var_struct.h | ||
var_type.h | ||
var_void.h | ||
vars.h |