svn commit: r333010 - head/sys/mips/mips

Li-Wen Hsu lwhsu at freebsd.org
Thu Apr 26 11:01:37 UTC 2018


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

-- 
Li-Wen Hsu <lwhsu at FreeBSD.org>
https://lwhsu.org


More information about the svn-src-head mailing list