Add support for control-flow protection by abrown · Pull Request #93439 · rust-lang/rust (original) (raw)
@fweimer-rh, thanks, that worked! When I run RUSTC_LOG=rustc_codegen_ssa:🔙:link=info rustc-custom -v -Z cf-protection=full -C link-arg="-Wl,-z,cet-report=warning" -o empty-custom-rust empty.rs
, I can now see all of the modules not compiled with CET enabled that prevent empty.rs
from being CET enabled:
Click to expand the rather large list of non-CET objects
INFO rustc_codegen_ssa:🔙:link linker stderr:
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.12.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.13.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.15.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.3.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.4.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.5.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.6.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.7.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.8.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.9.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.10.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.11.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d73f7266be14cb8b.rlib(std-d73f7266be14cb8b.std.f7443020-cgu.14.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-95f9ae1f72899b39.rlib(panic_unwind-95f9ae1f72899b39.panic_unwind.861d5c0d-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-95f9ae1f72899b39.rlib(panic_unwind-95f9ae1f72899b39.panic_unwind.861d5c0d-cgu.3.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-95f9ae1f72899b39.rlib(panic_unwind-95f9ae1f72899b39.panic_unwind.861d5c0d-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-5fecd091d52fbe30.rlib(miniz_oxide-5fecd091d52fbe30.miniz_oxide.1ba51e95-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-f61a898a4c8e4d5d.rlib(adler-f61a898a4c8e4d5d.adler.b9100e7e-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-f61a898a4c8e4d5d.rlib(adler-f61a898a4c8e4d5d.adler.b9100e7e-cgu.4.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.10.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.9.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.8.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.11.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.6.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.7.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.14.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.15.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2dde36d2dabf6685.rlib(object-2dde36d2dabf6685.object.77b6cb11-cgu.3.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-31c1e8486a1782f1.rlib(memchr-31c1e8486a1782f1.memchr.dfa49cae-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-db992a4c8ad1d30d.rlib(addr2line-db992a4c8ad1d30d.addr2line.b65cc714-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-db992a4c8ad1d30d.rlib(addr2line-db992a4c8ad1d30d.addr2line.b65cc714-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.10.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.11.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.13.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.14.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.15.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.5.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.7.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.8.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.9.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.12.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-61dad49d899d3572.rlib(gimli-61dad49d899d3572.gimli.43ed73af-cgu.6.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.3.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.8.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.14.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7cb15cfd59dcb70f.rlib(rustc_demangle-7cb15cfd59dcb70f.rustc_demangle.273f8612-cgu.6.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.0.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.10.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.12.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.13.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.15.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8e524ba73e835f1e.rlib(alloc-8e524ba73e835f1e.alloc.a1686a60-cgu.9.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.1.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.10.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.11.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.12.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.14.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.15.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.2.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.4.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.6.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.7.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.8.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.9.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.3.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-aac13a4a74d65b56.rlib(core-aac13a4a74d65b56.core.07b87a26-cgu.5.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5baac75f3dfbf78d.rlib(compiler_builtins-5baac75f3dfbf78d.compiler_builtins.a867b2fc-cgu.29.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5baac75f3dfbf78d.rlib(compiler_builtins-5baac75f3dfbf78d.compiler_builtins.a867b2fc-cgu.42.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5baac75f3dfbf78d.rlib(compiler_builtins-5baac75f3dfbf78d.compiler_builtins.a867b2fc-cgu.43.rcgu.o): warning: missing IBT and SHSTK properties
/usr/bin/ld: /home/abrown/Code/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5baac75f3dfbf78d.rlib(compiler_builtins-5baac75f3dfbf78d.compiler_builtins.a867b2fc-cgu.81.rcgu.o): warning: missing IBT and SHSTK properties
The summary of this is what I suspected: none of the dependencies are CET-enabled so LLVM must seek the the "lowest common denominator." These dependencies include libstd, libpanic_unwind, libobject, libgimli, liballoc, libcore, etc.--pretty much everything. Is there any way in the rustc toolchain to say something like "recompile all dependencies of this object with this flag"?
Alternately, it has been suggested to me that this CET support might require a new target arch, e.g. x86_64cet
, in order for all code in all modules to be compiled with the expected LLVM flags. Any thoughts on that?