1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
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
..
activate raid: move non dm functions from DEVMAPPER ifdef 2021-03-19 23:20:23 +01:00
cache hash: use individual hint sizes 2021-03-08 15:33:15 +01:00
cache_segtype cachevol: move flag setting after taking archive 2019-10-17 13:03:50 +02:00
commands gcc: ensure buffer ends with 0 2021-03-19 23:21:18 +01:00
config config: correct option name 2021-03-14 16:59:24 +01:00
datastruct cleanup: eliminate unused assign 2021-03-11 00:18:01 +01:00
device gcc: declaration of tmpfile shadows a global 2021-03-22 22:35:56 +01:00
display lvdisplay: fix show of merged thin snapshot 2021-02-17 11:21:35 +01:00
error device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
filters cleanup: typo 2021-03-15 18:59:15 +01:00
format_text cov: variable initialization 2021-03-10 01:34:58 +01:00
freeseg device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
integrity cleanup: no backtraces needed after log_error 2021-03-10 01:11:52 +01:00
label debug: drop stack from regular code flow 2021-03-15 11:13:24 +01:00
locking lvmlocdk: correct creation of dm path vg sanlock LV 2021-02-17 11:53:19 +01:00
log debug: keep microseconds aligned 2021-03-15 11:13:24 +01:00
lvmpolld device usage based on devices file 2021-02-23 16:43:32 -06:00
metadata raid: restore mirror handling in _raid_in_sync 2021-03-20 10:52:24 +01:00
mirror lv_info: missing check for info.exists 2021-03-14 16:34:38 +01:00
misc configure: support builds without versioning 2021-03-30 13:06:19 +02:00
mm cov: initialize value 2021-03-11 00:18:01 +01:00
notify build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
properties build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
raid cleanup: reduce code dupliction 2021-03-19 23:21:18 +01:00
report cov: ensure settings is set 2021-03-10 01:35:02 +01:00
snapshot typo: fixes 2021-02-08 23:53:41 +01:00
striped device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
thin targets: use target_present_version 2021-02-08 23:43:38 +01:00
unknown device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
uuid build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
vdo vdo: just one probe is enough 2021-02-17 11:21:35 +01:00
writecache typo: fixes 2021-02-08 23:53:41 +01:00
zero device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
Makefile.in make: cflow target works again 2021-03-20 00:05:01 +01:00