summaryrefslogtreecommitdiffstats
path: root/debian/tests/shlib-build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
commit3f472a4e5ca21e3ddb13737473e636b2b11a408a (patch)
tree7db1ab317884b9f6e04b6e13737c1679879cb97a /debian/tests/shlib-build
parentAdding upstream version 13.2.0. (diff)
downloadgcc-13-debian.tar.xz
gcc-13-debian.zip
Adding debian version 13.2.0-10.debian/13.2.0-10debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/tests/shlib-build')
-rwxr-xr-xdebian/tests/shlib-build45
1 files changed, 45 insertions, 0 deletions
diff --git a/debian/tests/shlib-build b/debian/tests/shlib-build
new file mode 100755
index 0000000..751fadf
--- /dev/null
+++ b/debian/tests/shlib-build
@@ -0,0 +1,45 @@
+#!/bin/sh
+# autopkgtest check: Build and link against a simple shared library, to test
+# basic binutils compile-time and run-time linking functionality.
+#
+# (C) 2012 Canonical Ltd.
+# Author: Martin Pitt <martin.pitt@ubuntu.com>
+
+set -e
+
+BV=$(sed '/^Depends: gcc-\([0-9.]\+\).*/!d;s//\1/;q' debian/tests/control)
+CC=gcc-$BV
+
+cd "$AUTOPKGTEST_TMP"
+cat <<EOF > testlib.c
+
+int ultimate_answer()
+{
+ return 42;
+}
+EOF
+
+$CC -Wall -Werror -shared -o libultimate.so testlib.c
+echo "library build: OK"
+
+# should export the symbol
+nm -D libultimate.so | grep -q 'T ultimate_answer'
+
+# link it against a program
+cat <<EOF > testprog.c
+#include <assert.h>
+
+int ultimate_answer();
+
+int main()
+{
+ assert (ultimate_answer() == 42);
+ return 0;
+}
+EOF
+
+$CC -Wall -Werror -L . -o testprog testprog.c -lultimate
+echo "program build: OK"
+[ -x testprog ]
+LD_LIBRARY_PATH=. ./testprog
+echo "run: OK"