Rewrap comment
This commit is contained in:
parent
aa90c5f9fe
commit
46bb9570b2
|
|
@ -124,24 +124,25 @@ if EXTRA_ENV_COMPILE_ARGS is None:
|
|||
EXTRA_ENV_COMPILE_ARGS += ' -fno-wrapv -frtti'
|
||||
if EXTRA_ENV_LINK_ARGS is None:
|
||||
EXTRA_ENV_LINK_ARGS = ''
|
||||
# NOTE(rbellevi): Clang on Mac OS will make all static symbols (both variables
|
||||
# and objects) global weak symbols. When a process loads the
|
||||
# NOTE(rbellevi): Clang on Mac OS will make all static symbols (both
|
||||
# variables and objects) global weak symbols. When a process loads the
|
||||
# protobuf wheel's shared object library before loading *this* C extension,
|
||||
# the runtime linker will prefer the protobuf module's version of symbols. This
|
||||
# results in the process using a mixture of symbols from the protobuf wheel and
|
||||
# this wheel, which may be using different versions of libprotobuf. In the case
|
||||
# that they *are* using different versions of libprotobuf *and* there has been a
|
||||
# change in data layout (or in other invariants) segfaults, data corruption, or
|
||||
# "bad things" may happen.
|
||||
# the runtime linker will prefer the protobuf module's version of symbols.
|
||||
# This results in the process using a mixture of symbols from the protobuf
|
||||
# wheel and this wheel, which may be using different versions of
|
||||
# libprotobuf. In the case that they *are* using different versions of
|
||||
# libprotobuf *and* there has been a change in data layout (or in other
|
||||
# invariants) segfaults, data corruption, or "bad things" may happen.
|
||||
#
|
||||
# This flag ensures that on Mac, the only global symbol is the one loaded by the
|
||||
# Python interpreter. The problematic global weak symbols become local weak symbols.
|
||||
# This is not required on Linux since the compiler does not produce global weak
|
||||
# symbols. This is not required on Windows as our ".pyd" file does not contain any
|
||||
# symbols.
|
||||
# This flag ensures that on Mac, the only global symbol is the one loaded by
|
||||
# the Python interpreter. The problematic global weak symbols become local
|
||||
# weak symbols. This is not required on Linux since the compiler does not
|
||||
# produce global weak symbols. This is not required on Windows as our ".pyd"
|
||||
# file does not contain any symbols.
|
||||
#
|
||||
# Finally, the leading underscore here is part of the Mach-O ABI. Unlike more modern
|
||||
# ABIs (ELF et al.), Mach-O prepends an underscore to the names of C functions.
|
||||
# Finally, the leading underscore here is part of the Mach-O ABI. Unlike
|
||||
# more modern ABIs (ELF et al.), Mach-O prepends an underscore to the names
|
||||
# of C functions.
|
||||
if "darwin" in sys.platform:
|
||||
EXTRA_ENV_LINK_ARGS += ' -Wl,-exported_symbol,_{}'.format(
|
||||
_EXT_INIT_SYMBOL)
|
||||
|
|
|
|||
Loading…
Reference in New Issue