MaskRay created this revision. MaskRay added reviewers: peter.smith, rnk, serge-sans-paille, sfertile. Herald added subscribers: cfe-commits, luismarques, apazos, sameer.abuasal, pzheng, s.egerton, lenary, Jim, jsji, jocewei, PkmX, arphaman, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, fedor.sergeev, kbarton, jvesely, nemanjai, dylanmckay, jyknight, dschuff. Herald added a reviewer: jfb. Herald added a reviewer: jdoerfert. Herald added a project: clang.
Clang -fpic defaults to -fno-semantic-interposition (GCC -fpic defaults to -fsemantic-interposition). Users need to specify -fsemantic-interposition to get semantic interposition behavior. Semantic interposition is currently a best-effort feature. There may still be some cases where it is not handled well. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D73865 Files: clang/lib/CodeGen/CodeGenModule.cpp clang/test/CXX/expr/p10-0x.cpp clang/test/CodeGen/2006-05-19-SingleEltReturn.c clang/test/CodeGen/2008-07-30-implicit-initialization.c clang/test/CodeGen/2008-07-31-promotion-of-compound-pointer-arithmetic.c clang/test/CodeGen/3dnow-builtins.c clang/test/CodeGen/_Bool-conversion.c clang/test/CodeGen/aapcs-align.cpp clang/test/CodeGen/aapcs64-align.cpp clang/test/CodeGen/aarch64-args.cpp clang/test/CodeGen/aarch64-branch-protection-attr.c clang/test/CodeGen/aarch64-byval-temp.c clang/test/CodeGen/aarch64-neon-3v.c clang/test/CodeGen/aarch64-neon-across.c clang/test/CodeGen/aarch64-neon-dot-product.c clang/test/CodeGen/aarch64-neon-extract.c clang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c clang/test/CodeGen/aarch64-neon-fma.c clang/test/CodeGen/aarch64-neon-fp16fml.c clang/test/CodeGen/aarch64-neon-ldst-one.c clang/test/CodeGen/aarch64-neon-scalar-copy.c clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c clang/test/CodeGen/aarch64-neon-tbl.c clang/test/CodeGen/aarch64-neon-vcombine.c clang/test/CodeGen/aarch64-neon-vget-hilo.c clang/test/CodeGen/aarch64-poly128.c clang/test/CodeGen/aarch64-poly64.c clang/test/CodeGen/aarch64-tme.cpp clang/test/CodeGen/aarch64-varargs.c clang/test/CodeGen/aarch64-vpcs.c clang/test/CodeGen/address-space.c clang/test/CodeGen/alias.c clang/test/CodeGen/align-systemz.c clang/test/CodeGen/align_value.cpp clang/test/CodeGen/alignment.c clang/test/CodeGen/alloc-align-attr.c clang/test/CodeGen/altivec.c clang/test/CodeGen/arc/arguments.c clang/test/CodeGen/arc/struct-align.c clang/test/CodeGen/arm-aapcs-vfp.c clang/test/CodeGen/arm-cc.c clang/test/CodeGen/arm-float-helpers.c clang/test/CodeGen/arm-fp16-arguments.c clang/test/CodeGen/arm-homogenous.c clang/test/CodeGen/arm-neon-directed-rounding.c clang/test/CodeGen/arm-neon-dot-product.c clang/test/CodeGen/arm-neon-fma.c clang/test/CodeGen/arm-neon-numeric-maxmin.c clang/test/CodeGen/arm-neon-vcvtX.c clang/test/CodeGen/arm-pcs.c clang/test/CodeGen/arm-varargs.c clang/test/CodeGen/arm-vfp16-arguments.c clang/test/CodeGen/arm-vfp16-arguments2.cpp clang/test/CodeGen/arm64-aapcs-arguments.c clang/test/CodeGen/arm64-mte.c clang/test/CodeGen/arm_function_epilog.cpp clang/test/CodeGen/asm-label.c clang/test/CodeGen/assign.c clang/test/CodeGen/atomics-inlining.c clang/test/CodeGen/attr-msp430.c clang/test/CodeGen/attr-target-mv.c clang/test/CodeGen/attr-weakref.c clang/test/CodeGen/attr-weakref2.c clang/test/CodeGen/attr-x86-interrupt.c clang/test/CodeGen/attributes.c clang/test/CodeGen/avr-builtins.c clang/test/CodeGen/avr/attributes/interrupt.c clang/test/CodeGen/avr/attributes/signal.c clang/test/CodeGen/bitfield-2.c clang/test/CodeGen/blocks.c clang/test/CodeGen/bool-convert.c clang/test/CodeGen/bool-init.c clang/test/CodeGen/bool_test.c clang/test/CodeGen/builtin-align.c clang/test/CodeGen/builtin-constant-p.c clang/test/CodeGen/builtin-expect.c clang/test/CodeGen/builtin-ms-noop.cpp clang/test/CodeGen/builtin-unpredictable.c clang/test/CodeGen/builtins-arm.c clang/test/CodeGen/builtins-ppc-altivec.c clang/test/CodeGen/builtins-ppc-crypto.c clang/test/CodeGen/builtins-ppc-htm.c clang/test/CodeGen/builtins-ppc-p7.c clang/test/CodeGen/builtins-ppc-p8vector.c clang/test/CodeGen/builtins-ppc-quadword.c clang/test/CodeGen/builtins-ppc-vsx.c clang/test/CodeGen/builtins-ppc.c clang/test/CodeGen/c11atomics.c clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp clang/test/CodeGen/catch-alignment-assumption-openmp.cpp clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c clang/test/CodeGen/catch-pointer-overflow-volatile.c clang/test/CodeGen/catch-pointer-overflow.c clang/test/CodeGen/cfi-icall-canonical-jump-tables.c clang/test/CodeGen/cfi-icall-cross-dso2.c clang/test/CodeGen/cfi-icall-generalize.c clang/test/CodeGen/cfstring-elf-cfbuild-x86_64.c clang/test/CodeGen/clang-sections-attribute.c clang/test/CodeGen/cleanup-destslot-simple.c clang/test/CodeGen/const-arithmetic.c clang/test/CodeGen/const-init.c clang/test/CodeGen/decl-in-prototype.c clang/test/CodeGen/default-address-space.c clang/test/CodeGen/default-function-attr.c clang/test/CodeGen/designated-initializers.c clang/test/CodeGen/dllexport-1.c clang/test/CodeGen/dso-local-executable.c clang/test/CodeGen/enable_if.c clang/test/CodeGen/exceptions.c clang/test/CodeGen/exprs.c clang/test/CodeGen/flatten.c clang/test/CodeGen/flexible-array-init.c clang/test/CodeGen/fp16-ops.c clang/test/CodeGen/function-attributes.c clang/test/CodeGen/functions.c clang/test/CodeGen/global-decls.c clang/test/CodeGen/global-init.c clang/test/CodeGen/iamcu-abi.c clang/test/CodeGen/ifunc.c clang/test/CodeGen/init-memset.c clang/test/CodeGen/init.c clang/test/CodeGen/inline.c clang/test/CodeGen/lanai-arguments.c clang/test/CodeGen/le32-arguments.c clang/test/CodeGen/le32-libcall-pow.c clang/test/CodeGen/le32-vaarg.c clang/test/CodeGen/libcalls.c clang/test/CodeGen/lifetime-debuginfo-1.c clang/test/CodeGen/lifetime-debuginfo-2.c clang/test/CodeGen/link-bitcode-file.c clang/test/CodeGen/long-call-attr.c clang/test/CodeGen/long_double_fp128.cpp clang/test/CodeGen/malign-double-x86-nacl.c clang/test/CodeGen/malign-double.cpp clang/test/CodeGen/mangle-windows.c clang/test/CodeGen/mbackchain.c clang/test/CodeGen/mcu-struct-return.c clang/test/CodeGen/micromips-attr.c clang/test/CodeGen/microsoft-call-conv.c clang/test/CodeGen/mips-byval-arg.c clang/test/CodeGen/mips-interrupt-attr.c clang/test/CodeGen/mips-transparent-union.c clang/test/CodeGen/mips-varargs.c clang/test/CodeGen/mips-vector-arg.c clang/test/CodeGen/mips-vector-return.c clang/test/CodeGen/mips-zero-sized-struct.c clang/test/CodeGen/mips16-attr.c clang/test/CodeGen/mips64-class-return.cpp clang/test/CodeGen/mips64-padding-arg.c clang/test/CodeGen/mrtd.c clang/test/CodeGen/ms_abi.c clang/test/CodeGen/ms_abi_aarch64.c clang/test/CodeGen/no-builtin.cpp clang/test/CodeGen/noduplicate-cxx11-test.cpp clang/test/CodeGen/nvptx-abi.c clang/test/CodeGen/packed-arrays.c clang/test/CodeGen/packed-structure.c clang/test/CodeGen/partial-reinitialization1.c clang/test/CodeGen/patchable-function-entry.c clang/test/CodeGen/powerpc_types.c clang/test/CodeGen/ppc-signbit.c clang/test/CodeGen/ppc64-align-struct.c clang/test/CodeGen/ppc64-complex-parms.c clang/test/CodeGen/ppc64-complex-return.c clang/test/CodeGen/ppc64-dwarf.c clang/test/CodeGen/ppc64-elf-abi.c clang/test/CodeGen/ppc64-extend.c clang/test/CodeGen/ppc64-inline-asm.c clang/test/CodeGen/ppc64-long-double.cpp clang/test/CodeGen/ppc64-qpx-vector.c clang/test/CodeGen/ppc64-soft-float.c clang/test/CodeGen/ppc64-struct-onefloat.c clang/test/CodeGen/ppc64-struct-onevect.c clang/test/CodeGen/ppc64-vector.c clang/test/CodeGen/ppc64le-aggregates.c clang/test/CodeGen/ppc64le-f128Aggregates.c clang/test/CodeGen/pr25786.c clang/test/CodeGen/pr34021.c clang/test/CodeGen/pr9614.c clang/test/CodeGen/pragma-weak.c clang/test/CodeGen/prefetchw-builtins.c clang/test/CodeGen/redefine_extname.c clang/test/CodeGen/regcall.c clang/test/CodeGen/regparm.c clang/test/CodeGen/riscv-inline-asm.c clang/test/CodeGen/riscv32-ilp32-abi.c clang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c clang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c clang/test/CodeGen/riscv32-ilp32d-abi.c clang/test/CodeGen/riscv32-ilp32f-abi.c clang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c clang/test/CodeGen/riscv64-lp64-abi.c clang/test/CodeGen/riscv64-lp64-lp64f-abi.c clang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c clang/test/CodeGen/riscv64-lp64d-abi.c clang/test/CodeGen/riscv64-lp64f-lp64d-abi.c clang/test/CodeGen/sanitize-address-field-padding.cpp clang/test/CodeGen/sparc-arguments.c clang/test/CodeGen/sparc-vaarg.c clang/test/CodeGen/sparcv8-abi.c clang/test/CodeGen/sparcv8-inline-asm.c clang/test/CodeGen/sparcv9-abi.c clang/test/CodeGen/sparcv9-dwarf.c clang/test/CodeGen/spir-half-type.cpp clang/test/CodeGen/stackrealign-main.c clang/test/CodeGen/stdcall-fastcall.c clang/test/CodeGen/switch.c clang/test/CodeGen/systemz-abi-vector.c clang/test/CodeGen/systemz-abi.c clang/test/CodeGen/systemz-abi.cpp clang/test/CodeGen/systemz-inline-asm.c clang/test/CodeGen/thread-specifier.c clang/test/CodeGen/tls-model.c clang/test/CodeGen/transparent-union-redecl.c clang/test/CodeGen/transparent-union.c clang/test/CodeGen/ubsan-asan-noreturn.c clang/test/CodeGen/ubsan-function.cpp clang/test/CodeGen/unaligned-decl.c clang/test/CodeGen/union-tbaa1.c clang/test/CodeGen/unsigned-overflow-minimal.c clang/test/CodeGen/unwind-attr.c clang/test/CodeGen/variadic-null-win64.c clang/test/CodeGen/visibility.c clang/test/CodeGen/vla.c clang/test/CodeGen/volatile-complex.c clang/test/CodeGen/x86-inline-asm-min-vector-width.c clang/test/CodeGen/x86-long-double.cpp clang/test/CodeGen/x86-soft-float.c clang/test/CodeGen/x86-vec-i128.c clang/test/CodeGen/x86_32-arguments-iamcu.c clang/test/CodeGen/x86_32-arguments-linux.c clang/test/CodeGen/x86_32-arguments-nommx.c clang/test/CodeGen/x86_64-arguments-nacl.c clang/test/CodeGen/x86_64-arguments.c clang/test/CodeGen/x86_64-floatvectors.c clang/test/CodeGen/x86_64-longdouble.c clang/test/CodeGen/xcore-abi.c clang/test/CodeGen/xcore-abi.cpp clang/test/CodeGen/xray-always-instrument.cpp clang/test/CodeGen/xray-attr-list.cpp (209 more files...) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits