summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkurt <kurt@openbsd.org>2013-03-30 22:03:51 +0000
committerkurt <kurt@openbsd.org>2013-03-30 22:03:51 +0000
commit85d55e4c737f60b53ac50a32e0bd67b933e2df2f (patch)
treecedfc0271e86ca632b0384919ff7fb01ff768361
parentRevert alpha/OpenBSD to the binutils 2.15 state, with only DATA_PLT and (diff)
downloadwireguard-openbsd-85d55e4c737f60b53ac50a32e0bd67b933e2df2f.tar.xz
wireguard-openbsd-85d55e4c737f60b53ac50a32e0bd67b933e2df2f.zip
- Add regress for forthcomming rpath ORIGIN substitution support.
okay matthew@
-rw-r--r--regress/libexec/ld.so/subst/Makefile7
-rw-r--r--regress/libexec/ld.so/subst/libaa/Makefile8
-rw-r--r--regress/libexec/ld.so/subst/libaa/aa.c26
-rw-r--r--regress/libexec/ld.so/subst/libaa/aa.h19
-rw-r--r--regress/libexec/ld.so/subst/libaa/shlib_version2
-rw-r--r--regress/libexec/ld.so/subst/prog1/Makefile33
-rw-r--r--regress/libexec/ld.so/subst/prog1/main.c25
7 files changed, 120 insertions, 0 deletions
diff --git a/regress/libexec/ld.so/subst/Makefile b/regress/libexec/ld.so/subst/Makefile
new file mode 100644
index 00000000000..580eb59d5f6
--- /dev/null
+++ b/regress/libexec/ld.so/subst/Makefile
@@ -0,0 +1,7 @@
+# $OpenBSD: Makefile,v 1.1 2013/03/30 22:03:51 kurt Exp $
+
+SUBDIR+= libaa prog1
+
+install:
+
+.include <bsd.subdir.mk>
diff --git a/regress/libexec/ld.so/subst/libaa/Makefile b/regress/libexec/ld.so/subst/libaa/Makefile
new file mode 100644
index 00000000000..cfb519baa30
--- /dev/null
+++ b/regress/libexec/ld.so/subst/libaa/Makefile
@@ -0,0 +1,8 @@
+# $OpenBSD: Makefile,v 1.1 2013/03/30 22:03:51 kurt Exp $
+
+LIB= aa
+SRCS= aa.c
+
+regress: all
+
+.include <bsd.lib.mk>
diff --git a/regress/libexec/ld.so/subst/libaa/aa.c b/regress/libexec/ld.so/subst/libaa/aa.c
new file mode 100644
index 00000000000..acff25655f8
--- /dev/null
+++ b/regress/libexec/ld.so/subst/libaa/aa.c
@@ -0,0 +1,26 @@
+/* $OpenBSD: aa.c,v 1.1 2013/03/30 22:03:51 kurt Exp $ */
+
+/*
+ * Copyright (c) 2013 Kurt Miller <kurt@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#include "aa.h"
+
+int
+aa()
+{
+ return (0);
+}
diff --git a/regress/libexec/ld.so/subst/libaa/aa.h b/regress/libexec/ld.so/subst/libaa/aa.h
new file mode 100644
index 00000000000..0937ddc74e0
--- /dev/null
+++ b/regress/libexec/ld.so/subst/libaa/aa.h
@@ -0,0 +1,19 @@
+/* $OpenBSD: aa.h,v 1.1 2013/03/30 22:03:51 kurt Exp $ */
+
+/*
+ * Copyright (c) 2013 Kurt Miller <kurt@intricatesoftware.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+int aa();
diff --git a/regress/libexec/ld.so/subst/libaa/shlib_version b/regress/libexec/ld.so/subst/libaa/shlib_version
new file mode 100644
index 00000000000..987ef746955
--- /dev/null
+++ b/regress/libexec/ld.so/subst/libaa/shlib_version
@@ -0,0 +1,2 @@
+major=1
+minor=0
diff --git a/regress/libexec/ld.so/subst/prog1/Makefile b/regress/libexec/ld.so/subst/prog1/Makefile
new file mode 100644
index 00000000000..645af016bc1
--- /dev/null
+++ b/regress/libexec/ld.so/subst/prog1/Makefile
@@ -0,0 +1,33 @@
+# $OpenBSD: Makefile,v 1.1 2013/03/30 22:03:51 kurt Exp $
+
+.include <bsd.obj.mk>
+
+AA_DIR=${.CURDIR}/../libaa
+
+AA_OBJDIR!= if [ -d $(AA_DIR)/${__objdir} ]; then \
+ echo "$(AA_DIR)/${__objdir}"; \
+ else \
+ echo "$(AA_DIR)"; \
+ fi
+
+PROG= prog1
+SRCS= main.c
+CPPFLAGS+= -I$(AA_DIR)
+LDADD+= -laa
+LDFLAGS+= -Wl,-z,origin,-rpath,'$$ORIGIN/$${OSNAME}/$$OSREL/$${PLATFORM}'
+LDFLAGS+= -L$(AA_OBJDIR)
+
+REGRESS_TARGETS = test
+
+.PHONY: test
+test: $(PROG)
+ mkdir -p "OpenBSD/`uname -r`/`uname -m`"
+ cp $(AA_OBJDIR)/libaa.so* "OpenBSD/`uname -r`/`uname -m`/"
+ $(PROG)
+
+clean:
+ rm -f a.out [Ee]rrs mklog core *.core y.tab.h \
+ ${PROG} ${OBJS} ${_LEXINTM} ${_YACCINTM} ${CLEANFILES}
+ rm -rf OpenBSD
+
+.include <bsd.regress.mk>
diff --git a/regress/libexec/ld.so/subst/prog1/main.c b/regress/libexec/ld.so/subst/prog1/main.c
new file mode 100644
index 00000000000..80fbbd4cf38
--- /dev/null
+++ b/regress/libexec/ld.so/subst/prog1/main.c
@@ -0,0 +1,25 @@
+/* $OpenBSD: main.c,v 1.1 2013/03/30 22:03:51 kurt Exp $ */
+
+/*
+ * Copyright (c) 2013 Kurt Miller <kurt@intricatesoftware.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "aa.h"
+
+int
+main()
+{
+ return (aa());
+}