Move all tests out of the csu subdirectory
Stack-protection on .o files in csu/ must be suppressed for the sake of
library startup code. This also suppresses stack-protection in tests
(which are also covered by CFLAGS-.o), though this is neither necessary
nor desirable.
So impose the rule that .o files in csu/ are necessarily C startup code,
and move the few tests in there into misc/ instead.
2016-12-21 Nick Alcock <nick.alcock@oracle.com>
Florian Weimer <fweimer@redhat.com>
[BZ #7065]
* csu/Makefile (tests): Empty assignment and document it.
(tests-static): Remove.
* csu/tst-empty.c: Move to...
* misc/tst-empty.c: ... here. Switch to new test driver.
* csu/tst-atomic.c: Move to...
* misc/tst-atomic.c: ... here. Switch to new test driver.
* csu/tst-atomic-long.c: Move to...
* misc/tst-atomic-long.c: ... here.
* misc/Makefile (tests): Add tst-empty, tst-atomic,
tst-atomic-long.
(tests-static): Add tst-empty.
@@ -42,8 +42,9 @@ install-lib = $(start-installed-name) g$(start-installed-name) $(csu-dummies)
generated += version-info.h
before-compile += $(objpfx)version-info.h
-tests := tst-empty tst-atomic tst-atomic-long
-tests-static := tst-empty
+# No tests are allowed in the csu/ subdirectory because the startup
+# code is compiled with special flags.
+tests =
ifeq (yes,$(build-shared))
extra-objs += S$(start-installed-name) gmon-start.os
@@ -79,7 +79,10 @@ gpl2lgpl := error.c error.h
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
tst-mntent-blank-corrupt tst-mntent-blank-passno bug18240 \
- tst-preadvwritev tst-preadvwritev64 tst-makedev
+ tst-preadvwritev tst-preadvwritev64 tst-makedev tst-empty \
+ tst-atomic tst-atomic-long
+tests-static := tst-empty
+
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)tst-error1-mem.out
endif
similarity index 100%
rename from csu/tst-atomic-long.c
rename to misc/tst-atomic-long.c
similarity index 99%
rename from csu/tst-atomic.c
rename to misc/tst-atomic.c
@@ -636,5 +636,4 @@ do_test (void)
return ret;
}
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
similarity index 58%
rename from csu/tst-empty.c
rename to misc/tst-empty.c
@@ -5,5 +5,4 @@ do_test (void)
return 0;
}
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>