On Thu, 2018-04-26 at 19:01 +0800, Li-Wen Hsu wrote: > On Thu, Apr 26, 2018 at 7:59 AM, Ian Lepore <i...@freebsd.org> wrote: > > > > On Wed, 2018-04-25 at 19:46 +0000, Li-Wen Hsu wrote: > > > > > > Author: lwhsu (ports committer) > > > Date: Wed Apr 25 19:46:39 2018 > > > New Revision: 333010 > > > URL: https://svnweb.freebsd.org/changeset/base/333010 > > > > > > Log: > > > Fix mips32 build after r332951. > > > > > > Approved by: jhb > > > > > > Modified: > > > head/sys/mips/mips/pm_machdep.c > > > > > > Modified: head/sys/mips/mips/pm_machdep.c > > > ============================================================================== > > > --- head/sys/mips/mips/pm_machdep.c Wed Apr 25 18:59:29 2018 > > > (r333009) > > > +++ head/sys/mips/mips/pm_machdep.c Wed Apr 25 19:46:39 2018 > > > (r333010) > > > @@ -264,7 +264,7 @@ ptrace_single_step(struct thread *td) > > > va = locr0->pc + 4; > > > } > > > if (td->td_md.md_ss_addr) { > > > - printf("SS %s (%d): breakpoint already set at %lx (va > > > %lx)\n", > > > + printf("SS %s (%d): breakpoint already set at %zx (va > > > %zx)\n", > > > p->p_comm, p->p_pid, td->td_md.md_ss_addr, va); /* XXX > > > */ > > > error = EFAULT; > > > goto out; > > > @@ -500,7 +500,7 @@ ptrace_clear_single_step(struct thread *td) > > > > > > if (error != 0) { > > > log(LOG_ERR, > > > - "SS %s %d: can't restore instruction at %lx: %x\n", > > > + "SS %s %d: can't restore instruction at %zx: %x\n", > > > p->p_comm, p->p_pid, td->td_md.md_ss_addr, > > > td->td_md.md_ss_instr); > > > } > > > > > This isn't right either. %z is for size_t values, both md_ss_addr and > > va are integers and a plain %x should be the right format. > But it will break mips64: > > cc1: warnings being treated as errors > /home/lwhsu/src/sys/mips/mips/pm_machdep.c: In function 'ptrace_single_step': > /home/lwhsu/src/sys/mips/mips/pm_machdep.c:268: warning: format '%x' > expects type 'unsigned int', but argument 4 has type 'uintptr_t' > [-Wformat] > /home/lwhsu/src/sys/mips/mips/pm_machdep.c:268: warning: format '%x' > expects type 'unsigned int', but argument 5 has type 'uintptr_t' > [-Wformat] > /home/lwhsu/src/sys/mips/mips/pm_machdep.c: In function > 'ptrace_clear_single_step': > /home/lwhsu/src/sys/mips/mips/pm_machdep.c:505: warning: format '%x' > expects type 'unsigned int', but argument 5 has type 'uintptr_t' > [-Wformat] > *** [pm_machdep.o] Error code 1 > > Another way is cast arguments to uintmax_t and use %jx. Will that be better? > > Li-Wen >
Oh, my bad, my source was out of date. Now I see that the types are not plain integers anymore. In that case, I think the only options are to cast to uintmax_t and use %jx, or cast to void* and use %p. -- Ian _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"