From 55548f4819bb86d2d9d6885aed96140ef366b5d8 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Oct 23 2020 09:20:55 +0000 Subject: Add missing patch --- diff --git a/0001-preload-Better-debug-for-functions-missing-from-libc.patch b/0001-preload-Better-debug-for-functions-missing-from-libc.patch new file mode 100644 index 0000000..1f2c69b --- /dev/null +++ b/0001-preload-Better-debug-for-functions-missing-from-libc.patch @@ -0,0 +1,44 @@ +From 6b4851b7dafc9015f673d59c692fadd7912e7ad2 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Thu, 22 Oct 2020 17:16:03 +0200 +Subject: [PATCH] preload: Better debug for functions missing from libc + +If finding one of the symbols for a function fails, whichever function +it is, we'd get this error message: +python3: src/libumockdev-preload.c:81: get_libc_func: Assertion `fp' failed. + +Update the code to throw an error on stderr before failing. +--- + src/libumockdev-preload.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/libumockdev-preload.c b/src/libumockdev-preload.c +index 1011fac..9328dc1 100644 +--- a/src/libumockdev-preload.c ++++ b/src/libumockdev-preload.c +@@ -78,15 +78,19 @@ get_libc_func(const char *f) + nextlib = dlopen("libc.so.6", RTLD_LAZY); + + fp = dlsym(nextlib, f); +- assert(fp); + + return fp; + } + + #define libc_func(name, rettype, ...) \ + static rettype (*_ ## name) (__VA_ARGS__) = NULL; \ +- if (_ ## name == NULL) \ +- _ ## name = get_libc_func(#name); ++ if (_ ## name == NULL) { \ ++ _ ## name = get_libc_func(#name); \ ++ if (_ ## name == NULL) { \ ++ fprintf(stderr, "umockdev: could not get libc function "#name"\n"); \ ++ abort(); \ ++ } \ ++ } + + /* return rdev of a file descriptor */ + static dev_t +-- +2.28.0 +