From 17d40c6057c88f4c432b0d7bac88e1b84cb7e67f Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:03:36 +0200 Subject: Adding upstream version 1.65.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/run-make/raw-dylib-link-ordinal/Makefile | 2 +- src/test/run-make/raw-dylib-link-ordinal/exporter.c | 7 +++++++ src/test/run-make/raw-dylib-link-ordinal/exporter.def | 2 ++ src/test/run-make/raw-dylib-link-ordinal/lib.rs | 10 +++++++++- src/test/run-make/raw-dylib-link-ordinal/output.txt | 2 ++ 5 files changed, 21 insertions(+), 2 deletions(-) (limited to 'src/test/run-make/raw-dylib-link-ordinal') diff --git a/src/test/run-make/raw-dylib-link-ordinal/Makefile b/src/test/run-make/raw-dylib-link-ordinal/Makefile index c9baa3c1e..b55a94dbc 100644 --- a/src/test/run-make/raw-dylib-link-ordinal/Makefile +++ b/src/test/run-make/raw-dylib-link-ordinal/Makefile @@ -2,7 +2,7 @@ # only-windows --include ../../run-make-fulldeps/tools.mk +include ../../run-make-fulldeps/tools.mk all: $(RUSTC) --crate-type lib --crate-name raw_dylib_test lib.rs diff --git a/src/test/run-make/raw-dylib-link-ordinal/exporter.c b/src/test/run-make/raw-dylib-link-ordinal/exporter.c index a9dd6da66..aabf32ff1 100644 --- a/src/test/run-make/raw-dylib-link-ordinal/exporter.c +++ b/src/test/run-make/raw-dylib-link-ordinal/exporter.c @@ -3,3 +3,10 @@ void exported_function() { printf("exported_function\n"); } + +int exported_variable = 0; + +void print_exported_variable() { + printf("exported_variable value: %d\n", exported_variable); + fflush(stdout); +} diff --git a/src/test/run-make/raw-dylib-link-ordinal/exporter.def b/src/test/run-make/raw-dylib-link-ordinal/exporter.def index 1a4b4c941..5d87c580a 100644 --- a/src/test/run-make/raw-dylib-link-ordinal/exporter.def +++ b/src/test/run-make/raw-dylib-link-ordinal/exporter.def @@ -1,3 +1,5 @@ LIBRARY exporter EXPORTS exported_function @13 NONAME + exported_variable @5 NONAME + print_exported_variable @9 NONAME diff --git a/src/test/run-make/raw-dylib-link-ordinal/lib.rs b/src/test/run-make/raw-dylib-link-ordinal/lib.rs index 20609caa5..bb25ac64c 100644 --- a/src/test/run-make/raw-dylib-link-ordinal/lib.rs +++ b/src/test/run-make/raw-dylib-link-ordinal/lib.rs @@ -1,13 +1,21 @@ -#![feature(raw_dylib)] +#![cfg_attr(target_arch = "x86", feature(raw_dylib))] #[link(name = "exporter", kind = "raw-dylib")] extern { #[link_ordinal(13)] fn imported_function(); + #[link_ordinal(5)] + static mut imported_variable: i32; + #[link_ordinal(9)] + fn print_imported_variable(); } pub fn library_function() { unsafe { imported_function(); + imported_variable = 42; + print_imported_variable(); + imported_variable = -42; + print_imported_variable(); } } diff --git a/src/test/run-make/raw-dylib-link-ordinal/output.txt b/src/test/run-make/raw-dylib-link-ordinal/output.txt index 2d0ed60f2..a4b2031d9 100644 --- a/src/test/run-make/raw-dylib-link-ordinal/output.txt +++ b/src/test/run-make/raw-dylib-link-ordinal/output.txt @@ -1 +1,3 @@ exported_function +exported_variable value: 42 +exported_variable value: -42 -- cgit v1.2.3