diff options
| author | Jonathan Corbet <corbet@lwn.net> | 2019-10-29 04:43:29 -0600 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2019-10-29 04:43:29 -0600 |
| commit | 822bbba0cabb50825a0ce22707dc45eb82d02853 (patch) | |
| tree | ea61d4ca72cb60b4cae8e95f64eefa7cd2a36603 /tools/lib/bpf/libbpf_internal.h | |
| parent | d41abfd7ae33cd3c1d9189438937d61cb75e690a (diff) | |
| parent | 7d194c2100ad2a6dded545887d02754948ca5241 (diff) | |
| download | linux-next-822bbba0cabb50825a0ce22707dc45eb82d02853.tar.gz linux-next-822bbba0cabb50825a0ce22707dc45eb82d02853.zip | |
Merge tag 'v5.4-rc4' into docs-next
I need to pick up the independent changes made to
Documentation/core-api/memory-allocation.rst to be able to merge further
work without creating a total mess.
Diffstat (limited to 'tools/lib/bpf/libbpf_internal.h')
| -rw-r--r-- | tools/lib/bpf/libbpf_internal.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf_internal.h b/tools/lib/bpf/libbpf_internal.h index 2e83a34f8c79..98216a69c32f 100644 --- a/tools/lib/bpf/libbpf_internal.h +++ b/tools/lib/bpf/libbpf_internal.h @@ -34,6 +34,22 @@ (offsetof(TYPE, FIELD) + sizeof(((TYPE *)0)->FIELD)) #endif +/* Symbol versioning is different between static and shared library. + * Properly versioned symbols are needed for shared library, but + * only the symbol of the new version is needed for static library. + */ +#ifdef SHARED +# define COMPAT_VERSION(internal_name, api_name, version) \ + asm(".symver " #internal_name "," #api_name "@" #version); +# define DEFAULT_VERSION(internal_name, api_name, version) \ + asm(".symver " #internal_name "," #api_name "@@" #version); +#else +# define COMPAT_VERSION(internal_name, api_name, version) +# define DEFAULT_VERSION(internal_name, api_name, version) \ + extern typeof(internal_name) api_name \ + __attribute__((alias(#internal_name))); +#endif + extern void libbpf_print(enum libbpf_print_level level, const char *format, ...) __attribute__((format(printf, 2, 3))); |
