[PATCH 0/2] selftests: harness: refactor __constructor_order

From: Masahiro Yamada
Date: Fri May 17 2024 - 07:47:23 EST



This series refactors __constructor_order because
__constructor_order_last() is unneeded.

BTW, the comments in kselftest_harness.h was confusing to me.

As far as I tested, all arches executed constructors in the forward
order.

[test code]

#include <stdio.h>

static int x;

static void __attribute__((constructor)) increment(void)
{
x += 1;
}

static void __attribute__((constructor)) multiply(void)
{
x *= 2;
}

int main(void)
{
printf("foo = %d\n", x);
return 0;
}

It should print 2 for forward order systems, 1 for reverse order systems.

I executed it on some archtes by using QEMU. I always got 2.



Masahiro Yamada (2):
selftests: harness: remove unneeded __constructor_order_last()
selftests: harness: rename __constructor_order for clarification

.../drivers/s390x/uvdevice/test_uvdevice.c | 6 ------
tools/testing/selftests/hid/hid_bpf.c | 6 ------
tools/testing/selftests/kselftest_harness.h | 18 ++++--------------
tools/testing/selftests/rtc/rtctest.c | 7 -------
4 files changed, 4 insertions(+), 33 deletions(-)

--
2.40.1