summaryrefslogtreecommitdiff
path: root/testsuite/symbols-test
blob: 4a97c25e395f74598ef450c5dd9467bd4a147616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! /bin/sh

# Check that all exported symbols use the nettle prefix.

if [ -z "$srcdir" ] ; then
  srcdir=`pwd`
fi

: ${NM:=nm}

# * nm on aix seems to generate bogus outbut including random binary
#   data. Using -g is a workaround to get rid of that. But nm -g
#   doesn't work on Solaris-2.4, so try nm -g first, and plain nm if
#   -g isn't recognized.
#
# * gcc on x86 generates functions like __i686.get_pc_thunk.bx in pic
#   code.

( $NM -g ../libnettle.a || $NM ../libnettle.a ) \
    | grep ' [DRT] ' | egrep -v '( |^)\.?_?(_?nettle_)|get_pc_thunk' \
    | sort -k3 > test1.out

if [ -s test1.out ] ; then
    echo Exported symbols in libnettle.a, lacking the nettle prefix:
    cat test1.out
    exit 1
fi

if [ -s ../libhogweed.a ] ; then
    ( $NM -g ../libhogweed.a || $NM ../libhogweed.a ) \
	| grep ' [DRT] ' | egrep -v '( |^)\.?_?_?nettle_|get_pc_thunk' \
	| sort -k3 > test1.out

    if [ -s test1.out ] ; then
	echo Exported symbols in libhogweed.a, lacking the nettle prefix:
	cat test1.out
	exit 1
    fi
fi

exit 0