diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/test/run-make-fulldeps/a-b-a-linker-guard | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/run-make-fulldeps/a-b-a-linker-guard')
-rw-r--r-- | src/test/run-make-fulldeps/a-b-a-linker-guard/Makefile | 15 | ||||
-rw-r--r-- | src/test/run-make-fulldeps/a-b-a-linker-guard/a.rs | 8 | ||||
-rw-r--r-- | src/test/run-make-fulldeps/a-b-a-linker-guard/b.rs | 7 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/a-b-a-linker-guard/Makefile b/src/test/run-make-fulldeps/a-b-a-linker-guard/Makefile new file mode 100644 index 000000000..4a9b3d709 --- /dev/null +++ b/src/test/run-make-fulldeps/a-b-a-linker-guard/Makefile @@ -0,0 +1,15 @@ +-include ../tools.mk + +# Test that if we build `b` against a version of `a` that has one set +# of types, it will not run with a dylib that has a different set of +# types. + +# NOTE(eddyb) this test only works with the `legacy` mangling, +# and will probably get removed once `legacy` is gone. + +all: + $(RUSTC) a.rs --cfg x -C prefer-dynamic -Z unstable-options -C symbol-mangling-version=legacy + $(RUSTC) b.rs -C prefer-dynamic -Z unstable-options -C symbol-mangling-version=legacy + $(call RUN,b) + $(RUSTC) a.rs --cfg y -C prefer-dynamic -Z unstable-options -C symbol-mangling-version=legacy + $(call FAIL,b) diff --git a/src/test/run-make-fulldeps/a-b-a-linker-guard/a.rs b/src/test/run-make-fulldeps/a-b-a-linker-guard/a.rs new file mode 100644 index 000000000..aa07b1e71 --- /dev/null +++ b/src/test/run-make-fulldeps/a-b-a-linker-guard/a.rs @@ -0,0 +1,8 @@ +#![crate_name = "a"] +#![crate_type = "dylib"] + +#[cfg(x)] +pub fn foo(x: u32) { } + +#[cfg(y)] +pub fn foo(x: i32) { } diff --git a/src/test/run-make-fulldeps/a-b-a-linker-guard/b.rs b/src/test/run-make-fulldeps/a-b-a-linker-guard/b.rs new file mode 100644 index 000000000..f30df120a --- /dev/null +++ b/src/test/run-make-fulldeps/a-b-a-linker-guard/b.rs @@ -0,0 +1,7 @@ +#![crate_name = "b"] + +extern crate a; + +fn main() { + a::foo(22_u32); +} |