summaryrefslogtreecommitdiffstats
path: root/debian/tests/shlib-build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:58:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:58:36 +0000
commit1d3b23e6bdbf53eb74161c37d8c355c2ec858a19 (patch)
treee279a67ec4f447e99b0754e7964666f7b48b5c05 /debian/tests/shlib-build
parentAdding upstream version 14-20240201. (diff)
downloadgcc-14-1d3b23e6bdbf53eb74161c37d8c355c2ec858a19.tar.xz
gcc-14-1d3b23e6bdbf53eb74161c37d8c355c2ec858a19.zip
Adding debian version 14-20240201-3.debian/14-20240201-3debian
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"