eventfd.2, mprotect.2, pidfd_open.2, spu_run.2, timer_create.2, bswap.3, dl_iterate_phdr.3, endian.3, pthread_attr_init.3, pthread_getattr_np.3, vcs.4, rtld-audit.7: In printf(): s/0x%/%#/ except when followed by X instead of x

Use printf()'s '#' flag character to prepend the string "0x".

However, when the number is printed in uppercase, and the prefix
is in lowercase, the string "0x" needs to be manually written.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Alejandro Colomar 2020-09-11 22:53:51 +02:00 committed by Michael Kerrisk
parent ec8b00033c
commit dc97703b4a
12 changed files with 18 additions and 18 deletions

View File

@ -431,7 +431,7 @@ main(int argc, char *argv[])
s = read(efd, &u, sizeof(uint64_t)); s = read(efd, &u, sizeof(uint64_t));
if (s != sizeof(uint64_t)) if (s != sizeof(uint64_t))
handle_error("read"); handle_error("read");
printf("Parent read %"PRIu64" (0x%"PRIx64") from efd\en", u, u); printf("Parent read %"PRIu64" (%#"PRIx64") from efd\en", u, u);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
case \-1: case \-1:

View File

@ -326,7 +326,7 @@ handler(int sig, siginfo_t *si, void *unused)
Nevertheless, we use printf() here as a simple way of Nevertheless, we use printf() here as a simple way of
showing that the handler was called. */ showing that the handler was called. */
printf("Got SIGSEGV at address: 0x%lx\en", printf("Got SIGSEGV at address: %#lx\en",
(long) si\->si_addr); (long) si\->si_addr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -354,7 +354,7 @@ main(int argc, char *argv[])
if (buffer == NULL) if (buffer == NULL)
handle_error("memalign"); handle_error("memalign");
printf("Start of region: 0x%lx\en", (long) buffer); printf("Start of region: %#lx\en", (long) buffer);
if (mprotect(buffer + pagesize * 2, pagesize, if (mprotect(buffer + pagesize * 2, pagesize,
PROT_READ) == \-1) PROT_READ) == \-1)

View File

@ -253,7 +253,7 @@ main(int argc, char *argv[])
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
printf("Events (0x%x): POLLIN is %sset\en", pollfd.revents, printf("Events (%#x): POLLIN is %sset\en", pollfd.revents,
(pollfd.revents & POLLIN) ? "" : "not "); (pollfd.revents & POLLIN) ? "" : "not ");
close(pidfd); close(pidfd);

View File

@ -254,7 +254,7 @@ int main(void)
* 0x00000002 (spu was stopped due to stop\-and\-signal) * 0x00000002 (spu was stopped due to stop\-and\-signal)
* | 0x12340000 (the stop\-and\-signal code) * | 0x12340000 (the stop\-and\-signal code)
*/ */
printf("SPU Status: 0x%08x\en", spu_status); printf("SPU Status: %#08x\en", spu_status);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -390,7 +390,7 @@ print_siginfo(siginfo_t *si)
tidp = si\->si_value.sival_ptr; tidp = si\->si_value.sival_ptr;
printf(" sival_ptr = %p; ", si\->si_value.sival_ptr); printf(" sival_ptr = %p; ", si\->si_value.sival_ptr);
printf(" *sival_ptr = 0x%lx\en", (unsigned long) *tidp); printf(" *sival_ptr = %#lx\en", (unsigned long) *tidp);
or = timer_getoverrun(*tidp); or = timer_getoverrun(*tidp);
if (or == \-1) if (or == \-1)
@ -454,7 +454,7 @@ main(int argc, char *argv[])
if (timer_create(CLOCKID, &sev, &timerid) == \-1) if (timer_create(CLOCKID, &sev, &timerid) == \-1)
errExit("timer_create"); errExit("timer_create");
printf("timer ID is 0x%lx\en", (unsigned long) timerid); printf("timer ID is %#lx\en", (unsigned long) timerid);
/* Start the timer */ /* Start the timer */

View File

@ -73,7 +73,7 @@ main(int argc, char *argv[])
} }
x = strtoull(argv[1], NULL, 0); x = strtoull(argv[1], NULL, 0);
printf("0x%" PRIx64 " ==> 0x%" PRIx64 "\en", x, bswap_64(x)); printf("%#" PRIx64 " ==> %#" PRIx64 "\en", x, bswap_64(x));
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -325,14 +325,14 @@ callback(struct dl_phdr_info *info, size_t size, void *data)
(p_type == PT_GNU_STACK) ? "PT_GNU_STACK" : (p_type == PT_GNU_STACK) ? "PT_GNU_STACK" :
(p_type == PT_GNU_RELRO) ? "PT_GNU_RELRO" : NULL; (p_type == PT_GNU_RELRO) ? "PT_GNU_RELRO" : NULL;
printf(" %2d: [%14p; memsz:%7lx] flags: 0x%x; ", j, printf(" %2d: [%14p; memsz:%7lx] flags: %#x; ", j,
(void *) (info\->dlpi_addr + info\->dlpi_phdr[j].p_vaddr), (void *) (info\->dlpi_addr + info\->dlpi_phdr[j].p_vaddr),
info\->dlpi_phdr[j].p_memsz, info\->dlpi_phdr[j].p_memsz,
info\->dlpi_phdr[j].p_flags); info\->dlpi_phdr[j].p_flags);
if (type != NULL) if (type != NULL)
printf("%s\en", type); printf("%s\en", type);
else else
printf("[other (0x%x)]\en", p_type); printf("[other (%#x)]\en", p_type);
} }
return 0; return 0;

View File

@ -164,9 +164,9 @@ main(int argc, char *argv[])
x.arr[2] = 0x33; x.arr[2] = 0x33;
x.arr[3] = 0x44; /* Highest-address byte */ x.arr[3] = 0x44; /* Highest-address byte */
printf("x.u32 = 0x%x\en", x.u32); printf("x.u32 = %#x\en", x.u32);
printf("htole32(x.u32) = 0x%x\en", htole32(x.u32)); printf("htole32(x.u32) = %#x\en", htole32(x.u32));
printf("htobe32(x.u32) = 0x%x\en", htobe32(x.u32)); printf("htobe32(x.u32) = %#x\en", htobe32(x.u32));
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -228,7 +228,7 @@ display_pthread_attr(pthread_attr_t *attr, char *prefix)
if (s != 0) if (s != 0)
handle_error_en(s, "pthread_attr_getstack"); handle_error_en(s, "pthread_attr_getstack");
printf("%sStack address = %p\en", prefix, stkaddr); printf("%sStack address = %p\en", prefix, stkaddr);
printf("%sStack size = 0x%zx bytes\en", prefix, v); printf("%sStack size = %#zx bytes\en", prefix, v);
} }
static void * static void *

View File

@ -222,7 +222,7 @@ display_stack_related_attributes(pthread_attr_t *attr, char *prefix)
if (stack_size > 0) if (stack_size > 0)
printf(" (EOS = %p)", (char *) stack_addr + stack_size); printf(" (EOS = %p)", (char *) stack_addr + stack_size);
printf("\en"); printf("\en");
printf("%sStack size = 0x%zx (%zu) bytes\en", printf("%sStack size = %#zx (%zu) bytes\en",
prefix, stack_size, stack_size); prefix, stack_size, stack_size);
} }

View File

@ -177,7 +177,7 @@ main(void)
if (s & mask) if (s & mask)
ch |= 0x100; ch |= 0x100;
attrib = ((s & \(timask) >> 8); attrib = ((s & \(timask) >> 8);
printf("ch=0x%03x attrib=0x%02x\en", ch, attrib); printf("ch=%#03x attrib=%#02x\en", ch, attrib);
s \(ha= 0x1000; s \(ha= 0x1000;
(void) lseek(fd, \-2, SEEK_CUR); (void) lseek(fd, \-2, SEEK_CUR);
(void) write(fd, &s, 2); (void) write(fd, &s, 2);

View File

@ -572,7 +572,7 @@ la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,
{ {
printf("la_symbind32(): symname = %s; sym\->st_value = %p\en", printf("la_symbind32(): symname = %s; sym\->st_value = %p\en",
symname, sym\->st_value); symname, sym\->st_value);
printf(" ndx = %d; flags = 0x%x", ndx, *flags); printf(" ndx = %d; flags = %#x", ndx, *flags);
printf("; refcook = %p; defcook = %p\en", refcook, defcook); printf("; refcook = %p; defcook = %p\en", refcook, defcook);
return sym\->st_value; return sym\->st_value;
@ -584,7 +584,7 @@ la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
{ {
printf("la_symbind64(): symname = %s; sym\->st_value = %p\en", printf("la_symbind64(): symname = %s; sym\->st_value = %p\en",
symname, sym\->st_value); symname, sym\->st_value);
printf(" ndx = %d; flags = 0x%x", ndx, *flags); printf(" ndx = %d; flags = %#x", ndx, *flags);
printf("; refcook = %p; defcook = %p\en", refcook, defcook); printf("; refcook = %p; defcook = %p\en", refcook, defcook);
return sym\->st_value; return sym\->st_value;