#include #include #include "internal.h" #define VERSION "3.1" __typeof(thyme) thyme__TEST_1 __attribute__((alias("__thyme00"))); __asm(".symver thyme__TEST_1,thyme@@TEST_1"); //EXPORT __attribute__((visibility("default"))) thyme_t thyme(thyme_t *p) { thyme_t t = (thyme_t)0x0123456789abcdefULL; if (p) *p = t; return t; } //COMPATSYMVAR(i,i,TEST_BASE) __asm(".symver i,i@TEST_BASE"); __attribute__((visibility("default"))) int i(int y, int d) { printf("%s %s:%d i_int(%x, %d)\n", VERSION, __FILE__, __LINE__, y, d); return y + d; } //EXPORT __attribute__((visibility("default"))) int f(int x) { printf("%s %s:%d f_int(%x)\n", VERSION, __FILE__, __LINE__, x); return i(x << 8, 1); } //HIDDEN __attribute__((visibility("default"))) int h(int x) { printf("%s %s:%d h_int(%x)\n", VERSION, __FILE__, __LINE__, x); return x >> 8; } //EXPORT __attribute__((visibility("default"))) int g(int x) { printf("%s %s:%d g(%x)\n", VERSION, __FILE__, __LINE__, x); return h(f(x)); }