aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0027-eglibc-use-option-groups-Conditionally-exclude-c-tes.patch
blob: 4106167df511d7664c22d678af1cb103b0b5a6d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
From e98779aa56fae0346dff2d0b72acadd0eaf01891 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 27 May 2015 16:10:50 -0700
Subject: [PATCH 27/27] eglibc-use-option-groups: Conditionally exclude c++
 tests

    Some test programs written in c++ are still included in spite of
    "libc-cxx-tests" being omitted from DISTRO_FEATURES_LIBC.
    All .cc programs are compiled with g++.
    g++ automatically specifies linking against the C++ library.
    This patch conditionally excludes the following tests as well:

      bug-atexit3-lib.cc
      tst-cancel24.cc
      tst-cancel24-static.cc
      tst-unique3lib.cc
      tst-unique3lib2.cc
      tst-unique4lib.cc
      tst-unique3.cc
      tst-unique4.cc

    Tested with DISTRO_FEATURES_LIBC_remove = " libc-cxx-tests"

    [YOCTO #7003]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 dlfcn/Makefile |  8 ++++++--
 elf/Makefile   | 19 ++++++++++++++-----
 nptl/Makefile  | 12 ++++++++++--
 3 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index 3827607..920bd58 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -39,16 +39,20 @@ ifeq (yes,$(build-shared))
 tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \
 	bug-dlopen1 bug-dlsym1 tst-dlinfo bug-atexit1 bug-atexit2 \
 	tstatexit bug-dl-leaf tst-rec-dlopen
-endif
-
 tests-$(OPTION_EGLIBC_CXX_TESTS) += bug-atexit3
 
+endif
+
 modules-names = glreflib1 glreflib2 glreflib3 failtestmod defaultmod1 \
 		defaultmod2 errmsg1mod modatexit modcxaatexit \
 		bug-dlsym1-lib1 bug-dlsym1-lib2 bug-atexit1-lib \
 		bug-atexit2-lib bug-dl-leaf-lib \
 		bug-dl-leaf-lib-cb moddummy1 moddummy2
 
+ifeq (y,$(OPTION_EGLIBC_CXX_TESTS))
+modules-names += bug-atexit3-lib
+endif
+
 failtestmod.so-no-z-defs = yes
 glreflib2.so-no-z-defs = yes
 errmsg1mod.so-no-z-defs = yes
diff --git a/elf/Makefile b/elf/Makefile
index 71a18a1..26fe3c5 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -17,6 +17,8 @@
 
 # Makefile for elf subdirectory of GNU C Library.
 
+include ../option-groups.mak
+
 subdir		:= elf
 
 include ../Makeconfig
@@ -145,12 +147,15 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
 	 unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
 	 tst-audit1 tst-audit2 tst-audit8 tst-audit9 \
 	 tst-stackguard1 tst-addr1 tst-thrlock \
-	 tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \
-	 tst-nodelete) \
+	 tst-unique1 tst-unique2 \
 	 tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \
 	 tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
 	 tst-nodelete2
 #	 reldep9
+ifeq (y,$(OPTION_EGLIBC_CXX_TESTS))
+tests += $(if $(CXX),tst-unique3 tst-unique4 tst-nodelete)
+endif
+
 ifeq ($(build-hardcoded-path-in-tests),yes)
 tests += tst-dlopen-aout
 LDFLAGS-tst-dlopen-aout = $(no-pie-ldflag)
@@ -209,9 +214,6 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
 		tst-unique1mod1 tst-unique1mod2 \
 		tst-unique2mod1 tst-unique2mod2 \
 		tst-auditmod9a tst-auditmod9b \
-		$(if $(CXX),tst-unique3lib tst-unique3lib2 tst-unique4lib \
-		  tst-nodelete-uniquemod tst-nodelete-rtldmod \
-		  tst-nodelete-zmod) \
 		tst-initordera1 tst-initorderb1 \
 		tst-initordera2 tst-initorderb2 \
 		tst-initordera3 tst-initordera4 \
@@ -220,6 +222,13 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
 		tst-relsort1mod1 tst-relsort1mod2 tst-array2dep \
 		tst-array5dep tst-null-argv-lib \
 		tst-tlsalign-lib tst-nodelete-opened-lib tst-nodelete2mod
+
+ifeq (y,$(OPTION_EGLIBC_CXX_TESTS))
+modules-names += $(if $(CXX),tst-unique3lib tst-unique3lib2 tst-unique4lib \
+		  tst-nodelete-uniquemod tst-nodelete-rtldmod \
+		  tst-nodelete-zmod)
+endif
+
 ifeq (yes,$(have-protected-data))
 modules-names += tst-protected1moda tst-protected1modb
 tests += tst-protected1a tst-protected1b
diff --git a/nptl/Makefile b/nptl/Makefile
index 596ca3c..50a708b 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -390,12 +390,20 @@ link-libc-static := $(common-objpfx)libc.a $(static-gnulib) \
 		    $(common-objpfx)libc.a
 
 tests-static += tst-locale1 tst-locale2 tst-stackguard1-static \
-		tst-cancel21-static tst-cancel24-static tst-cond8-static \
+		tst-cancel21-static tst-cond8-static \
 		tst-mutex8-static tst-mutexpi8-static tst-sem11-static \
 		tst-sem12-static
-tests += tst-stackguard1-static tst-cancel21-static tst-cancel24-static \
+
+ifeq (y,$(OPTION_EGLIBC_CXX_TESTS))
+tests-static += tst-cancel24-static
+endif
+
+tests += tst-stackguard1-static tst-cancel21-static \
 	 tst-cond8-static tst-mutex8-static tst-mutexpi8-static \
 	 tst-sem11-static tst-sem12-static
+
+tests-$(OPTION_EGLIBC_CXX_TESTS) += tst-cancel24-static
+
 xtests-static += tst-setuid1-static
 
 # These tests are linked with libc before libpthread
-- 
2.1.4