Lines Matching +full:no +full:- +full:map
2 # SPDX-License-Identifier: 0BSD
6 # Check liblzma_*.map for certain types of errors.
8 # liblzma_generic.map is for FreeBSD and Solaris and possibly others
11 # liblzma_linux.map is for GNU/Linux only. This and the matching extra code
13 # linked against ill-patched liblzma in RHEL/CentOS 7. By providing the
21 # In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
33 # xz-5.2.2-compat-libs.patch to modify liblzma.map:
35 # - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
38 # - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
48 # also under XZ_5.2.2 in liblzma.map has no effect without
77 # The vaccine is kept GNU/Linux-only as other OSes should be immune
91 # Get the list of symbols that aren't defined in liblzma_generic.map.
92 SYMS=$(sed -n 's/^extern LZMA_API([^)]*) \([a-z0-9_]*\)(.*$/\1;/p' \
95 | grep -Fve "$(sed '/[{}:*]/d;/^$/d;s/^ //' liblzma_generic.map)")
97 # Check that there are no old alpha or beta versions listed.
98 VER=$(cd ../.. && sh build-aux/version.sh)
102 NAMES=$(sed -n 's/^.*XZ_\([^ ]*\)\(alpha\|beta\) .*$/\1\2/p' \
103 liblzma_generic.map | grep -Fv "$VER")
108 DUPS=$(sort liblzma_generic.map | sed '/^$/d;/^global:$/d' | uniq -d)
110 # Check that liblzma_linux.map is in sync with liblzma_generic.map.
112 # so it makes it easy to remove them for comparison with liblzma_generic.map.
115 # and XZ_5.2.2 in liblzma_linux.map is important: If liblzma_linux.map is
117 # occurrence of each function name will be used from liblzma_linux.map;
125 if ! sed '111,125d' liblzma_linux.map \
126 | cmp -s - liblzma_generic.map; then
127 IN_SYNC=no
131 if test -n "$SYMS$NAMES$DUPS$IN_SYNC"; then
133 echo 'validate_map.sh found problems from liblzma_*.map:'
136 if test -n "$SYMS"; then
137 echo 'liblzma_generic.map lacks the following symbols:'
142 if test -n "$NAMES"; then
148 if test -n "$DUPS"; then
154 if test -n "$IN_SYNC"; then
155 echo "liblzma_generic.map and liblzma_linux.map aren't in sync"