BUILD: debug: also declare strlen() in __ABORT_NOW()
authorWilly Tarreau <w@1wt.eu>
Wed, 26 Jun 2024 06:02:09 +0000 (08:02 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 6 Nov 2024 18:12:27 +0000 (19:12 +0100)
Previous commit 8f204fa8ae ("MINOR: debug: print gdb hints when crashing")
broken on the CI where strlen() isn't known. Let's forward-declare it in
the __ABORT_NOW() functions, just like write(). No backport is needed.

(cherry picked from commit 2d27c80288c0acee85326c0574ed70d0b2e486ef)
Signed-off-by: Willy Tarreau <w@1wt.eu>

include/haproxy/bug.h

index 33e8baa..7db65c0 100644 (file)
@@ -124,6 +124,7 @@ static __attribute__((noinline,noreturn,unused)) void abort_with_line(uint line)
 
 #define __ABORT_NOW(file, line, ...) do {                              \
                extern ssize_t write(int, const void *, size_t);        \
+               extern size_t strlen(const char *s);                    \
                const char *msg;                                        \
                if (sizeof("" __VA_ARGS__) > 1)                         \
                        complain(NULL, "\nABORT at " file ":" #line ": " __VA_ARGS__ "\n", 1); \
@@ -141,6 +142,7 @@ static __attribute__((noinline,noreturn,unused)) void abort_with_line(uint line)
  */
 #define __ABORT_NOW(file, line, ...) do {                              \
                extern ssize_t write(int, const void *, size_t);        \
+               extern size_t strlen(const char *s);                    \
                const char *msg;                                        \
                if (sizeof("" __VA_ARGS__) > 1)                         \
                        complain(NULL, "\nABORT at " file ":" #line ": " __VA_ARGS__ "\n", 1); \