diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-24 13:42:01 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-10-16 14:19:23 -0300 |
commit | 14633d3e568eb9770a7e5046eff257113e0453fb (patch) | |
tree | ee6ab6aabc91d2c0ac1bf5a349a00fffd19d5e8a /time/tst-ftime.c | |
parent | 01f33a9acc8f02ae6a6dd1efe366c28c825af8a8 (diff) | |
download | glibc-14633d3e568eb9770a7e5046eff257113e0453fb.tar.gz glibc-14633d3e568eb9770a7e5046eff257113e0453fb.tar.xz glibc-14633d3e568eb9770a7e5046eff257113e0453fb.zip |
Move ftime to a compatibility symbol
It was made deprecated on 2.31, so it moves to compat symbol after two releases. It was also removed from exported symbol for riscv32 (since ABI will be supported on for 2.33). Checked on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'time/tst-ftime.c')
-rw-r--r-- | time/tst-ftime.c | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/time/tst-ftime.c b/time/tst-ftime.c index 08916c0c65..6978feb0f1 100644 --- a/time/tst-ftime.c +++ b/time/tst-ftime.c @@ -16,9 +16,23 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ -#include <sys/timeb.h> -#include <stdio.h> -#include <libc-diag.h> + +#include <shlib-compat.h> +#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_33) +#include <time.h> +#include <support/check.h> + +compat_symbol_reference (libc, ftime, ftime, GLIBC_2_0); + +struct timeb + { + time_t time; + unsigned short int millitm; + short int timezone; + short int dstflag; + }; + +extern int ftime (struct timeb *__timebuf); static int do_test (void) @@ -30,36 +44,23 @@ do_test (void) { prev = curr; - /* ftime was deprecated on 2.31. */ - DIAG_PUSH_NEEDS_COMMENT; - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations"); - - if (ftime (&curr)) - { - printf ("ftime returned an error\n"); - return 1; - } - - DIAG_POP_NEEDS_COMMENT; - - if (curr.time < prev.time) - { - printf ("ftime's time flowed backwards\n"); - return 1; - } - - if (curr.time == prev.time - && curr.millitm < prev.millitm) - { - printf ("ftime's millitm flowed backwards\n"); - return 1; - } + /* ftime was deprecated on 2.31 and removed on 2.33. */ + TEST_COMPARE (ftime (&curr), 0); + TEST_VERIFY_EXIT (curr.time >= prev.time); + if (curr.time == prev.time) + TEST_VERIFY_EXIT (curr.millitm >= prev.millitm); if (curr.time > prev.time) sec ++; } return 0; } +#else +static int +do_test (void) +{ + return EXIT_UNSUPPORTED; +} +#endif -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" +#include <support/test-driver.c> |