diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-12-14 20:12:21 +0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-12-15 05:24:19 +0800 |
commit | 335ba9b6c1db7030264de7d9e38047f645326e54 (patch) | |
tree | 685db365cd22f38549c734ab2bc72c121ae9b784 | |
parent | 65817569adf011b66d197c773df2d9337da5adb3 (diff) | |
download | glibc-335ba9b6c1db7030264de7d9e38047f645326e54.zip glibc-335ba9b6c1db7030264de7d9e38047f645326e54.tar.gz glibc-335ba9b6c1db7030264de7d9e38047f645326e54.tar.bz2 |
Return EXIT_UNSUPPORTED if __builtin_add_overflow unavailable
Since GCC 4.9 doesn't have __builtin_add_overflow:
In file included from tst-stringtable.c:180:0:
stringtable.c: In function ‘stringtable_finalize’:
stringtable.c:185:7: error: implicit declaration of function ‘__builtin_add_overflow’ [-Werror=implicit-function-declaration]
else if (__builtin_add_overflow (previous->offset,
^
return EXIT_UNSUPPORTED for GCC 4.9 or older.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
-rw-r--r-- | elf/tst-stringtable.c | 10 | ||||
-rw-r--r-- | io/tst-utimensat-skeleton.c | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-getdents64.c | 7 | ||||
-rw-r--r-- | time/tst-ctime.c | 10 | ||||
-rw-r--r-- | time/tst-difftime.c | 10 | ||||
-rw-r--r-- | time/tst-mktime4.c | 10 |
6 files changed, 52 insertions, 0 deletions
diff --git a/elf/tst-stringtable.c b/elf/tst-stringtable.c index e18496f..a0e358f 100644 --- a/elf/tst-stringtable.c +++ b/elf/tst-stringtable.c @@ -17,6 +17,7 @@ #include <array_length.h> #include <stdlib.h> +#if __GNUC_PREREQ (5, 0) #include <string.h> #include <stringtable.h> #include <support/check.h> @@ -179,3 +180,12 @@ do_test (void) #define _(arg) arg #include "stringtable.c" #include "stringtable_free.c" +#else +#include <support/test-driver.h> + +int +main (void) +{ + return EXIT_UNSUPPORTED; +} +#endif diff --git a/io/tst-utimensat-skeleton.c b/io/tst-utimensat-skeleton.c index 290ed81..1386fa3 100644 --- a/io/tst-utimensat-skeleton.c +++ b/io/tst-utimensat-skeleton.c @@ -20,6 +20,7 @@ #include <inttypes.h> #include <support/support.h> #include <support/temp_file.h> +#include <support/test-driver.h> #include <stdio.h> static int temp_fd = -1; @@ -72,6 +73,7 @@ do_test (void) for (int i = 0; i < array_length (tests); i++) { /* Check if we run on port with 32 bit time_t size. */ +#if __GNUC_PREREQ (5, 0) time_t t; if (__builtin_add_overflow (tests[i].v1, 0, &t) || __builtin_add_overflow (tests[i].v2, 0, &t)) @@ -80,6 +82,9 @@ do_test (void) "time_t overflows\n", i, tests[i].v1, tests[i].v2); continue; } +#else + return EXIT_UNSUPPORTED; +#endif if (tests[i].v1 >= 0x100000000LL && !y2106) { diff --git a/sysdeps/unix/sysv/linux/tst-getdents64.c b/sysdeps/unix/sysv/linux/tst-getdents64.c index 3dd22a4..ba66d49 100644 --- a/sysdeps/unix/sysv/linux/tst-getdents64.c +++ b/sysdeps/unix/sysv/linux/tst-getdents64.c @@ -30,6 +30,7 @@ #include <sys/mman.h> #include <unistd.h> +#if __GNUC_PREREQ (5, 0) /* Called by large_buffer_checks below. */ static void large_buffer_check (int fd, char *large_buffer, size_t large_buffer_size) @@ -85,6 +86,12 @@ do_test_large_size (void) xclose (fd); } +#else +static void +do_test_large_size (void) +{ +} +#endif static void do_test_by_size (size_t buffer_size) diff --git a/time/tst-ctime.c b/time/tst-ctime.c index 8debf15..2042259 100644 --- a/time/tst-ctime.c +++ b/time/tst-ctime.c @@ -20,6 +20,7 @@ #include <stdlib.h> #include <support/check.h> +#if __GNUC_PREREQ (5, 0) static int do_test (void) { @@ -70,3 +71,12 @@ do_test (void) } #include <support/test-driver.c> +#else +#include <support/test-driver.h> + +int +main (void) +{ + return EXIT_UNSUPPORTED; +} +#endif diff --git a/time/tst-difftime.c b/time/tst-difftime.c index 5043d55..5a9a66b 100644 --- a/time/tst-difftime.c +++ b/time/tst-difftime.c @@ -19,6 +19,7 @@ #include <time.h> #include <support/check.h> +#if __GNUC_PREREQ (5, 0) static void test_difftime_helper (time_t t1, time_t t0, double exp_val) { @@ -54,3 +55,12 @@ do_test (void) } #include <support/test-driver.c> +#else +#include <support/test-driver.h> + +int +main () +{ + return EXIT_UNSUPPORTED; +} +#endif diff --git a/time/tst-mktime4.c b/time/tst-mktime4.c index 505d9fc..05c833c 100644 --- a/time/tst-mktime4.c +++ b/time/tst-mktime4.c @@ -20,6 +20,7 @@ #include <stdlib.h> #include <support/check.h> +#if __GNUC_PREREQ (5, 0) const struct tm tm0 = { .tm_year = 70, @@ -107,3 +108,12 @@ do_test (void) } #include <support/test-driver.c> +#else +#include <support/test-driver.h> + +int +main (void) +{ + return EXIT_UNSUPPORTED; +} +#endif |