1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Fix failing pretty printer tests when CPPFLAGS has optimizations.

The value of CPPFLAGS provided by the environment may have optimizations
that interfere with the pretty printer test requirements. To override
such optimizations the pretty printer tests must also specify CPPFLAGS.
The existing pretty printer tests are fixed and the
README.pretty-printers is updated with the new requirement.
This commit is contained in:
Carlos O'Donell
2016-12-23 13:46:56 -05:00
parent b0a679f4fd
commit 81e0662e5f
4 changed files with 23 additions and 3 deletions

View File

@ -1,5 +1,13 @@
2016-12-24 Carlos O'Donell <carlos@redhat.com>
* README.pretty-printers: Must specify CPPFLAGS-* also.
* nptl/Makefile (CPPFLAGS-test-mutexattr-printers.c): Define.
(CPPFLAGS-test-mutex-printers.c): Define.
(CPPFLAGS-test-condattr-printers.c): Define.
(CPPFLAGS-test-cond-printers.c): Define.
(CPPFLAGS-test-rwlockattr-printers.c): Define.
(CPPFLAGS-test-rwlock-printers.c): Define.
* nss/Makefile [ifeq (yes,$(have-thread-library))]
(tests): Add tst-cancel-getpwuid_r.
* nss/tst-cancel-getpwuid_r.c: New file.

View File

@ -126,11 +126,12 @@ You can use the existing unit tests as examples.
4. Add the names of the pretty printer tests to the 'tests-printers' variable
in your submodule's Makefile (without extensions). In addition, for each test
program you must define a corresponding CFLAGS-* variable and set it to
$(CFLAGS-printers-tests) to ensure they're compiled correctly. For example,
test-foo-printer.c requires the following:
program you must define a corresponding CFLAGS-* and CPPFLAGS-* variable and
set it to $(CFLAGS-printers-tests) to ensure they're compiled correctly. For
example, test-foo-printer.c requires the following:
CFLAGS-test-foo-printer.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-foo-printer.c := $(CFLAGS-printers-tests)
Finally, if your programs need to be linked with a specific library, you can add
its name to the 'tests-printers-libs' variable in your submodule's Makefile.

View File

@ -318,12 +318,22 @@ tests-printers := test-mutexattr-printers test-mutex-printers \
test-condattr-printers test-cond-printers \
test-rwlockattr-printers test-rwlock-printers
# We must specify both CFLAGS and CPPFLAGS to override any
# compiler options the user might have provided that conflict
# with what we need e.g. user specifies CPPFLAGS with -O2 and
# we need -O0.
CFLAGS-test-mutexattr-printers.c := $(CFLAGS-printers-tests)
CFLAGS-test-mutex-printers.c := $(CFLAGS-printers-tests)
CFLAGS-test-condattr-printers.c := $(CFLAGS-printers-tests)
CFLAGS-test-cond-printers.c := $(CFLAGS-printers-tests)
CFLAGS-test-rwlockattr-printers.c := $(CFLAGS-printers-tests)
CFLAGS-test-rwlock-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-mutexattr-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-mutex-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-condattr-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-cond-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-rwlockattr-printers.c := $(CFLAGS-printers-tests)
CPPFLAGS-test-rwlock-printers.c := $(CFLAGS-printers-tests)
ifeq ($(build-shared),yes)
tests-printers-libs := $(shared-thread-library)

View File

@ -66,6 +66,7 @@ condvar_reinit (pthread_cond_t *condvar, const pthread_condattr_t *attr)
}
/* Tests setting the clock ID attribute. */
__attribute__ ((noinline))
static int
test_setclock (pthread_cond_t *condvar, pthread_condattr_t *attr)
{