svn commit: r333010 - head/sys/mips/mips
Ian Lepore
ian at freebsd.org
Thu Apr 26 15:30:46 UTC 2018
On Thu, 2018-04-26 at 19:01 +0800, Li-Wen Hsu wrote:
> On Thu, Apr 26, 2018 at 7:59 AM, Ian Lepore <ian at 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
More information about the svn-src-all
mailing list