diff options
author | 2013-03-30 22:03:51 +0000 | |
---|---|---|
committer | 2013-03-30 22:03:51 +0000 | |
commit | 85d55e4c737f60b53ac50a32e0bd67b933e2df2f (patch) | |
tree | cedfc0271e86ca632b0384919ff7fb01ff768361 | |
parent | Revert alpha/OpenBSD to the binutils 2.15 state, with only DATA_PLT and (diff) | |
download | wireguard-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/Makefile | 7 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/libaa/Makefile | 8 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/libaa/aa.c | 26 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/libaa/aa.h | 19 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/libaa/shlib_version | 2 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/prog1/Makefile | 33 | ||||
-rw-r--r-- | regress/libexec/ld.so/subst/prog1/main.c | 25 |
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()); +} |