From 75808db17caf8b960b351e3408e74142f4c85aac Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 14 Apr 2024 15:42:30 +0200 Subject: Adding upstream version 2.117.0. Signed-off-by: Daniel Baumann --- .../binaries-libc-link/build-spec/debian/rules | 9 ++++++ .../binaries-libc-link/build-spec/fill-values | 4 +++ .../binaries-libc-link/build-spec/orig/Makefile | 35 ++++++++++++++++++++++ .../binaries-libc-link/build-spec/orig/basic.c | 5 ++++ .../binaries-libc-link/build-spec/orig/basic.pod | 14 +++++++++ .../prerequisites/binaries-libc-link/eval/desc | 2 ++ .../prerequisites/binaries-libc-link/eval/hints | 3 ++ .../binaries-libc-link/eval/post-test | 3 ++ 8 files changed, 75 insertions(+) create mode 100755 t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/debian/rules create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/fill-values create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/Makefile create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.c create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.pod create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/desc create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/hints create mode 100644 t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/post-test (limited to 't/recipes/checks/binaries/prerequisites/binaries-libc-link') diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/debian/rules b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/debian/rules new file mode 100755 index 0000000..fab80fa --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/debian/rules @@ -0,0 +1,9 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +# dwz errors out; no .debug_info section present due to -nostdlib +override_dh_dwz: diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/fill-values b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/fill-values new file mode 100644 index 0000000..88f75cb --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/fill-values @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: binaries-libc-link +Description: Binaries not linked against libc +Package-Architecture: any diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/Makefile b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/Makefile new file mode 100644 index 0000000..daa4159 --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/Makefile @@ -0,0 +1,35 @@ +# turn off PIE in CC in case we have a PIEful toolchain: +ifneq ($(findstring -no-pie,$(shell gcc -no-pie 2>&1)),) + CC := gcc +else + CC := gcc -fno-pie -no-pie +endif + +LINKER_FLAGS := -Wl,--no-copy-dt-needed-entries,--no-as-needed + +all: basic basic.1 libbasic-nodeps libbasic-nolibc + +basic.1: basic.pod + pod2man --section 1 $< > $@ + +basic: basic.o + $(CC) -nostdlib -o$@ $< $(LINKER_FLAGS) -lm $(LFLAGS) + +libbasic-nodeps: basic.o + $(CC) -nostdlib --shared -o$@ $< + +libbasic-nolibc: basic.o + $(CC) -nostdlib --shared -o$@ $< $(LINKER_FLAGS) -lm + +install: + install -d $(DESTDIR)/usr/bin + install -d $(DESTDIR)/usr/lib/basic + install -d $(DESTDIR)/usr/share/man/man1 + install -m 755 -c basic $(DESTDIR)/usr/bin/basic + install -m 755 -c libbasic-* $(DESTDIR)/usr/lib/basic + install -m 644 -c basic.1 $(DESTDIR)/usr/share/man/man1 + +clean distclean: + rm -f basic libbasic-* basic.1 + +check test: diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.c b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.c new file mode 100644 index 0000000..77bc677 --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.c @@ -0,0 +1,5 @@ +int +main(void) +{ + return 0; +} diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.pod b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.pod new file mode 100644 index 0000000..d395e96 --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/build-spec/orig/basic.pod @@ -0,0 +1,14 @@ +=head1 NAME + +basic -- segfaults + +=head1 SYNOPSIS + + basic + +=head1 DESCRIPTION + +It tends to seg. fault, but if it doesn't it will return 0 like +/bin/true. + +=cut diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/desc b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/desc new file mode 100644 index 0000000..66097cf --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/desc @@ -0,0 +1,2 @@ +Testname: binaries-libc-link +Check: binaries/prerequisites diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/hints b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/hints new file mode 100644 index 0000000..59ab437 --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/hints @@ -0,0 +1,3 @@ +binaries-libc-link (binary): shared-library-lacks-prerequisites [usr/lib/basic/libbasic-nodeps] +binaries-libc-link (binary): program-not-linked-against-libc [usr/bin/basic] +binaries-libc-link (binary): library-not-linked-against-libc [usr/lib/basic/libbasic-nolibc] diff --git a/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/post-test b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/post-test new file mode 100644 index 0000000..c156be8 --- /dev/null +++ b/t/recipes/checks/binaries/prerequisites/binaries-libc-link/eval/post-test @@ -0,0 +1,3 @@ +# The LDFLAGS parts of the hardening flags are a bit difficult to pass +# to the linker so just drop them. +/hardening-no-/ d -- cgit v1.2.3