On Tue, Aug 01, 2023 at 09:34:18AM +0200, Thomas Weißschuh wrote:
On 2023-08-01 08:52:19+0200, Willy Tarreau wrote:
On Tue, Aug 01, 2023 at 07:30:13AM +0200, Thomas Weißschuh wrote:
diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index 1555759bb164..53a3773c7790 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c
[..]
/* prepare what needs to be prepared for pid 1 (stdio, /dev, /proc, etc) */ -int prepare(void) +static int prepare(void) { struct stat stat_buf; @@ -1208,7 +1208,7 @@ static const struct test test_names[] = { { 0 } };
For these ones it will prevent gcc from putting breakpoints there, which is counter-productive.
Indeed.
An alternative would be to add -g to CFLAGS (and remove -s from LDFLAGS). This way we get full debugability including breakpoints for everything.
It wouldn't change much because while it would allow the debugger to know where the function was possibly inlined, it's still not very convenient: you believe you're in a function but in fact you're in the caller. It really depends what you're debugging but here I don't see all that as providing a value, at least it brings more annoyance and little to no gain IMHO.
I didn't find the reasoning for -s in LDFLAGS.
It's historic, because normally when you want small binaries you strip them, and the command line was reused as-is, but I agree that we could get rid of it!
Willy