summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig
diff options
context:
space:
mode:
Diffstat (limited to 't/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig')
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile26
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c19
2 files changed, 45 insertions, 0 deletions
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile
new file mode 100644
index 0000000..58cac33
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile
@@ -0,0 +1,26 @@
+
+# Since dpkg in stable (Squeeze) does not support MULTIARCH we cannot use
+# dpkg-architecture -qDEB_HOST_MULTIARCH
+# Therefore this test is hardcoded to x86 and amd64
+
+ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+ifeq (i386,$(ARCH))
+ WRONG_TRIPLET = x86_64-linux-gnu
+else
+ WRONG_TRIPLET = i386-linux-gnu
+endif
+
+
+all:
+ gcc $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-z,defs -Wl,-soname,libbasic.so.2 -o libbasic.so.2 basic.c
+
+install:
+ # Install it once under the wrong dir
+ install -d $(DESTDIR)/usr/lib/$(WRONG_TRIPLET)
+ install -m 644 -c -s libbasic.so.2 $(DESTDIR)/usr/lib/$(WRONG_TRIPLET)/libbasic.so.2
+
+clean distclean:
+ rm -f libbasic.so.2
+
+check test:
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c
new file mode 100644
index 0000000..27e93fc
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <string.h>
+
+static void
+hardening_trigger(char *p, int i, void (*f)(char *))
+{
+ char test[10];
+ memcpy(test, p, i);
+ f(test);
+ printf("%s", test);
+}
+
+int
+lib_interface(void)
+{
+ printf("Hello world!\n");
+ hardening_trigger(NULL, 0, NULL);
+ return 0;
+}