blob: 018c11af6faa0660fe310ca069bf0a86eede4058 [file] [log] [blame]
/*
* Copyright (c) 2024 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
/*
* This code demonstrates multi-file object and function linking support.
*/
#include <stdint.h>
#include <zephyr/llext/symbol.h>
#include <zephyr/kernel.h>
/* Test non-static global object relocation */
int number = 0x42;
extern int ext_number;
int ext_sum_fn(int arg);
void test_entry(void)
{
printk("initial: local %d plus external %d equals %d\n",
number, ext_number, ext_sum_fn(ext_number));
number ^= ext_number;
ext_number ^= number;
number ^= ext_number;
printk("updated: local %d plus external %d equals %d\n",
number, ext_number, ext_sum_fn(ext_number));
}
LL_EXTENSION_SYMBOL(test_entry);