1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-04 08:17:12 +03:00
lvm2/libdm
Zdenek Kabelac 1cedbaf137 configure: support builds without versioning
Not all libc (like musl, uclibc dietlibc) libraries support full symbol
version resolution in runtime like glibc.
Add support to not generate symbol versions when compiling against them.

Additionally libdevmapper.so was broken when compiled against
uclibc. Runtime linker loader caused calling dm_task_get_info_base()
function recursively, leading to segmentation fault.

Introduce --with-symvers=STYLE option, which allows to choose
between gnu and disabled symbol versioning. By default gnu symbol
versioning is used.
__GNUC__ check is replaced now with GNU_SYMVER.
Additionally ld version script is included only in
case of gnu option, which slightly reduces output size.

Providing --without-symvers to configure script when building against
uclibc library fixes segmentation fault error described above, due to
lack of several versions of the same symbol in libdevmapper.so
library.

Based on:
https://patchwork.kernel.org/project/dm-devel/patch/20180831144817.31207-1-m.niestroj@grinn-global.com/

Suggested-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2021-03-30 13:06:19 +02:00
..
datastruct configure: support builds without versioning 2021-03-30 13:06:19 +02:00
dm-tools make: cflow target works again 2021-03-20 00:05:01 +01:00
ioctl configure: support builds without versioning 2021-03-30 13:06:19 +02:00
misc configure: support builds without versioning 2021-03-30 13:06:19 +02:00
mm gcc: use apropriate type for reading and printing values 2020-08-28 21:43:03 +02:00
regex build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
.exported_symbols libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.Base libdm: maintain binary interface for new FEATURE flag 2017-03-10 19:33:01 +01:00
.exported_symbols.DM_1_02_97 libdm: new dm_task_get_info with internal_suspend 2015-05-15 16:48:22 +02:00
.exported_symbols.DM_1_02_98 libdm: Add dm_task_get_errno to return ioctl errno. 2015-05-26 15:13:49 +01:00
.exported_symbols.DM_1_02_99 libdm: add dm_tree_node_set_thin_pool_read_only 2015-06-18 15:15:39 +02:00
.exported_symbols.DM_1_02_100 config: add support for config value formatting flags 2015-06-24 11:13:37 +02:00
.exported_symbols.DM_1_02_101 report: add infrastructure to recognize fuzzy reserved names and returning dynamic reserved values 2015-07-03 10:47:09 +02:00
.exported_symbols.DM_1_02_103 libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.DM_1_02_104 libdm: Drop ignored duplicate export designation. 2015-08-26 17:30:36 +01:00
.exported_symbols.DM_1_02_105 pre-release 2015-08-17 17:20:14 +01:00
.exported_symbols.DM_1_02_106 exported_symbols: comment old symbols 2019-08-09 12:57:07 +02:00
.exported_symbols.DM_1_02_107 libdm: add latency histogram support 2015-09-02 20:48:59 +01:00
.exported_symbols.DM_1_02_110 libdm: dm_tree_node_size_changed recognizes reduction 2015-10-25 21:05:15 +01:00
.exported_symbols.DM_1_02_113 libdm: introduce dm_get_status_mirror 2015-12-01 13:00:43 +01:00
.exported_symbols.DM_1_02_124 libdm: Add dm_udev_wait_immediate. 2016-04-28 00:54:27 +01:00
.exported_symbols.DM_1_02_128 libdm: report: add dm_report_set_selection 2016-06-20 11:33:43 +02:00
.exported_symbols.DM_1_02_129 exported_symbols: comment old symbols 2019-08-09 12:57:07 +02:00
.exported_symbols.DM_1_02_131 libdm: add dm_stats_create_regions_from_fd() 2016-07-08 14:34:41 +01:00
.exported_symbols.DM_1_02_133 libdm: report: add dm_report_group_output_and_pop_all 2016-08-09 18:24:45 +02:00
.exported_symbols.DM_1_02_135 libdm: add dm_config_parse_without_dup_node_check 2016-09-21 18:15:18 +02:00
.exported_symbols.DM_1_02_138 libdm: maintain binary interface for new FEATURE flag 2017-03-10 19:33:01 +01:00
.exported_symbols.DM_1_02_141 libdm: implement dm_percent_to_round_float 2017-06-24 17:44:40 +02:00
.exported_symbols.DM_1_02_147 libdm: Introduce dm_malloc_aligned 2018-01-10 15:48:03 +00:00
.exported_symbols.DM_1_02_172 libdm: add dm_tree_node_add_thin_pool_target_v1 2021-02-01 14:52:32 +01:00
libdevmapper.h libdm: add dm_tree_node_add_thin_pool_target_v1 2021-02-01 14:52:32 +01:00
libdevmapper.pc.in libdm: fix typo in libdevmapper.pc 2017-10-18 00:04:06 +02:00
libdm-common.c cov: mask uninitialized value 2021-03-10 01:34:27 +01:00
libdm-common.h build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
libdm-config.c metadata: allow reading metadata with invalid creation_time 2019-05-10 14:40:11 +02:00
libdm-deptree.c configure: support builds without versioning 2021-03-30 13:06:19 +02:00
libdm-file.c debug: change sys_error to sys_debug 2021-03-10 01:11:52 +01:00
libdm-report.c libdm: simplify line emitter checking 2021-02-10 15:39:03 +01:00
libdm-stats.c configure: support builds without versioning 2021-03-30 13:06:19 +02:00
libdm-string.c build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
libdm-targets.c cache: support no_discard_passdown 2019-06-05 15:48:41 +02:00
libdm-timestamp.c build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
make.tmpl.in make: cflow target works again 2021-03-20 00:05:01 +01:00
Makefile.in make: cflow target works again 2021-03-20 00:05:01 +01:00