summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig
diff options
context:
space:
mode:
Diffstat (limited to 't/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig')
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/Makefile22
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/foo.c9
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/get.c6
3 files changed, 37 insertions, 0 deletions
diff --git a/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/Makefile b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/Makefile
new file mode 100644
index 0000000..1754891
--- /dev/null
+++ b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/Makefile
@@ -0,0 +1,22 @@
+CC=gcc
+CFLAGS+= -fPIC
+
+SONAMES:= libexecstack.so.1
+LIBFILES:= $(patsubst %,%.0.1, $(SONAMES))
+
+all: $(LIBFILES)
+
+$(LIBFILES): foo.o get.o
+ $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,$(patsubst %.0.1,%,$@) $^
+
+clean:
+ rm -f *.a *.o *.so*
+
+install: all
+ install -m 0755 -d $(DESTDIR)/usr/lib
+ install -m 0755 *.so* $(DESTDIR)/usr/lib
+ for FILE in $(SONAMES) ; do \
+ ln -s $${FILE}.0.1 $(DESTDIR)/usr/lib/$$FILE ; \
+ done
+
+.PHONY: install clean
diff --git a/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/foo.c b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/foo.c
new file mode 100644
index 0000000..7f41799
--- /dev/null
+++ b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/foo.c
@@ -0,0 +1,9 @@
+extern int get(int, int (*)(int));
+
+int foo(int a) {
+ int b = a;
+ int bar(int a) {
+ return a + b;
+ }
+ return get(a, bar);
+}
diff --git a/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/get.c b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/get.c
new file mode 100644
index 0000000..8207637
--- /dev/null
+++ b/t/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig/get.c
@@ -0,0 +1,6 @@
+int get(int a, int (*f)(int)) {
+ return f(a);
+}
+
+extern int foo(int);
+