diff options
Diffstat (limited to 't/recipes/checks/debian/shlibs/shared-libs-exec-stack/build-spec/orig')
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); + |