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