From cefbb7c27d1035bc7283a6e9274fe187eebdb387 Mon Sep 17 00:00:00 2001 From: jackcmay Date: Wed, 12 Dec 2018 08:41:45 -0800 Subject: [PATCH] Fix shared object relcations with multiple static arrays (#2121) --- programs/bpf/c/src/multiple_static.c | 10 ++++++++++ sdk/bpf/scripts/install.sh | 2 +- tests/programs.rs | 8 +++++++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 programs/bpf/c/src/multiple_static.c diff --git a/programs/bpf/c/src/multiple_static.c b/programs/bpf/c/src/multiple_static.c new file mode 100644 index 0000000000..04fd0fd2ee --- /dev/null +++ b/programs/bpf/c/src/multiple_static.c @@ -0,0 +1,10 @@ +#include + +static const char msg[] = "This is a message"; +static const char msg2[] = "This is a different message"; + +extern bool entrypoint(const uint8_t *input) { + sol_log((char*)msg); + sol_log((char*)msg2); + return true; +} diff --git a/sdk/bpf/scripts/install.sh b/sdk/bpf/scripts/install.sh index 63a46b7787..5af11e2b53 100755 --- a/sdk/bpf/scripts/install.sh +++ b/sdk/bpf/scripts/install.sh @@ -32,7 +32,7 @@ if [[ ! -r criterion-$machine-$version.md ]]; then fi # Install LLVM -version=v0.0.6 +version=v0.0.7 if [[ ! -f llvm-native-$machine-$version.md ]]; then ( filename=solana-llvm-$machine.tar.bz2 diff --git a/tests/programs.rs b/tests/programs.rs index 884485bfa1..dc0acb5671 100644 --- a/tests/programs.rs +++ b/tests/programs.rs @@ -299,7 +299,13 @@ fn test_program_builtin_bpf_noop() { fn test_program_bpf_c() { logger::setup(); - let programs = ["noop", "struct_pass", "struct_ret", "noop++"]; + let programs = [ + "noop", + "noop++", + "struct_pass", + "struct_ret", + "multiple_static", + ]; for program in programs.iter() { println!("Test program: {:?}", program); let mut file = File::open(create_bpf_path(program)).expect("file open failed");