diff options
-rw-r--r-- | include/libc-symbols.h | 6 | ||||
-rw-r--r-- | libpthread/linuxthreads.old/internals.h | 4 | ||||
-rw-r--r-- | libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h | 4 | ||||
-rw-r--r-- | test/unistd/tst-preadwrite.c | 11 |
4 files changed, 12 insertions, 13 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h index e491aff5f..e5e3356fb 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -82,6 +82,12 @@ # define IS_IN_libc 1 #endif +/* Indirect stringification. Doing two levels allows + * the parameter to be a macro itself. + */ +#define __stringify_1(x) #x +#define __stringify(x) __stringify_1(x) + #ifdef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ # define HAVE_ASM_SET_DIRECTIVE #else diff --git a/libpthread/linuxthreads.old/internals.h b/libpthread/linuxthreads.old/internals.h index 38290a5fe..0cb97357c 100644 --- a/libpthread/linuxthreads.old/internals.h +++ b/libpthread/linuxthreads.old/internals.h @@ -36,9 +36,7 @@ /* Use a funky version in a probably vein attempt at preventing gdb * from dlopen()'ing glibc's libthread_db library... */ -#define STRINGIFY(s) STRINGIFY2 (s) -#define STRINGIFY2(s) #s -#define VERSION STRINGIFY(__UCLIBC_MAJOR__) "." STRINGIFY(__UCLIBC_MINOR__) "." STRINGIFY(__UCLIBC_SUBLEVEL__) +#define VERSION __stringify(__UCLIBC_MAJOR__) "." __stringify(__UCLIBC_MINOR__) "." __stringify(__UCLIBC_SUBLEVEL__) #ifndef THREAD_GETMEM # define THREAD_GETMEM(descr, member) descr->member diff --git a/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h b/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h index 92619e5b4..e5c577ffb 100644 --- a/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h +++ b/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h @@ -42,8 +42,6 @@ extern int __cxa_atexit (void (*func) (void *), void *arg, void *d); /* Use a funky version in a probably vein attempt at preventing gdb * from dlopen()'ing glibc's libthread_db library... */ -#define STRINGIFY(s) STRINGIFY2 (s) -#define STRINGIFY2(s) #s -#define VERSION STRINGIFY(__UCLIBC_MAJOR__) "." STRINGIFY(__UCLIBC_MINOR__) "." STRINGIFY(__UCLIBC_SUBLEVEL__) +#define VERSION __stringify(__UCLIBC_MAJOR__) "." __stringify(__UCLIBC_MINOR__) "." __stringify(__UCLIBC_SUBLEVEL__) #endif diff --git a/test/unistd/tst-preadwrite.c b/test/unistd/tst-preadwrite.c index 281044858..9650562d8 100644 --- a/test/unistd/tst-preadwrite.c +++ b/test/unistd/tst-preadwrite.c @@ -30,9 +30,6 @@ # define PWRITE pwrite #endif -#define STRINGIFY(s) STRINGIFY2 (s) -#define STRINGIFY2(s) #s - /* Prototype for our test function. */ extern void do_prepare (int argc, char *argv[]); extern int do_test (int argc, char *argv[]); @@ -56,7 +53,7 @@ do_prepare (int argc, char *argv[]) char name_len; #define FNAME FNAME2(TRUNCATE) -#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX" +#define FNAME2(s) "/" __stringify(s) "XXXXXX" name_len = strlen (test_dir); name = malloc (name_len + sizeof (FNAME)); @@ -88,15 +85,15 @@ do_test (int argc, char *argv[]) for (i = 100; i < 200; ++i) buf[i] = i; if (PWRITE (fd, buf + 100, 100, 100) != 100) - error (EXIT_FAILURE, errno, "during %s", STRINGIFY (PWRITE)); + error (EXIT_FAILURE, errno, "during %s", __stringify (PWRITE)); for (i = 450; i < 600; ++i) buf[i] = i; if (PWRITE (fd, buf + 450, 150, 450) != 150) - error (EXIT_FAILURE, errno, "during %s", STRINGIFY (PWRITE)); + error (EXIT_FAILURE, errno, "during %s", __stringify (PWRITE)); if (PREAD (fd, res, sizeof (buf) - 50, 50) != sizeof (buf) - 50) - error (EXIT_FAILURE, errno, "during %s", STRINGIFY (PREAD)); + error (EXIT_FAILURE, errno, "during %s", __stringify (PREAD)); close (fd); unlink (name); |