aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-02-17 16:33:05 +0000
committerWilliam Hubbs <w.d.hubbs@gmail.com>2019-02-19 11:50:11 -0600
commitb054aca50b31fc46fc736a542ec2719de2d23d30 (patch)
tree93ee452e46d1f803115f0368a183b26484aa3fb9 /src
parentf9e7a00ba9c9b179c697fc0af83a19e923c831b0 (diff)
src/test/runtests.sh: drop 'readelf'-based tests
The 'readelf'-based tests cover a few situations: 1. undefined symbols in shared libraries 2. unexpected exports in shared libraries Bug #575958 shows that [2.] implementation is too simplistic in assuming that presence of relocation equals to export presence. It is incorrect for PLT stubs and local symbols. Let's just drop these tests. If one needs to cover [1.] it is better to use LDFLAGS=-Wl,--no-undefined. This closes #292. X-Reported-by: Benda Xu X-Gentoo-Bug: https://bugs.gentoo.org/575958 X-Gentoo-Bug-URL: https://bugs.gentoo.org/575958
Diffstat (limited to 'src')
-rwxr-xr-xsrc/test/runtests.sh47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/test/runtests.sh b/src/test/runtests.sh
index 79c9a9b2..269f26f1 100755
--- a/src/test/runtests.sh
+++ b/src/test/runtests.sh
@@ -27,53 +27,6 @@ fail_on_out() {
fi
}
-ebegin "Checking exported symbols in libeinfo.so (data)"
-checkit einfo.data $(
-readelf -Ws ${libeinfo_builddir}/libeinfo.so \
- | awk '$4 == "OBJECT" && $5 == "GLOBAL" && $7 != "UND" {print $NF}' \
- | LC_ALL=C sort -u
-)
-
-ebegin "Checking exported symbols in libeinfo.so (functions)"
-checkit einfo.funcs $(
-readelf -Ws ${libeinfo_builddir}/libeinfo.so \
- | awk '$4 == "FUNC" && $5 == "GLOBAL" && $7 != "UND" {print $NF}' \
- | LC_ALL=C sort -u \
- | egrep -v \
- -e '^_(init|fini)$'
-)
-
-ebegin "Checking exported symbols in librc.so (data)"
-checkit rc.data $(
-readelf -Ws ${librc_builddir}/librc.so \
- | awk '$4 == "OBJECT" && $5 == "GLOBAL" && $7 != "UND" {print $NF}' \
- | LC_ALL=C sort -u
-)
-
-ebegin "Checking exported symbols in librc.so (functions)"
-checkit rc.funcs $(
-readelf -Ws ${librc_builddir}/librc.so \
- | awk '$4 == "FUNC" && $5 == "GLOBAL" && $7 != "UND" {print $NF}' \
- | LC_ALL=C sort -u \
- | egrep -v \
- -e '^_(init|fini)$'
-)
-
-ebegin "Checking hidden functions in librc.so"
-sed -n '/^librc_hidden_proto/s:.*(\(.*\))$:\1:p' ${librc_srcdir}/librc.h \
- | LC_ALL=C sort -u \
- > librc.funcs.hidden.list
-readelf -Wr $(grep -l '#include[[:space:]]"librc\.h"' ${librc_srcdir}/*.c | sed 's:\.c$:.o:') \
- | egrep -v -e 'R_PARISC_(DP|SEG)REL' \
- | awk '$5 ~ /^rc_/ {print $5}' \
- | LC_ALL=C sort -u \
- | egrep -v '^rc_environ_fd$' \
- > librc.funcs.hidden.out
-syms=$(diff -u librc.funcs.hidden.list librc.funcs.hidden.out | sed -n '/^+[^+]/s:^+::p')
-[ -z "${syms}" ]
-eend $? "Missing hidden defs:"$'\n'"${syms}"
-: $(( ret += $? ))
-
ebegin "Checking trailing whitespace in code"
# XXX: Should we check man pages too ?
out=$(cd ${top_srcdir}; find */ \