This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] mips: Do not include hi and lo in __SYSCALL_CLOBBERS for R6
- From: Dragan Mladjenovic <dmladjenovic at wavecomp dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Mon, 16 Dec 2019 18:54:47 +0000
- Subject: Re: [PATCH] mips: Do not include hi and lo in __SYSCALL_CLOBBERS for R6
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wavecomp.com; dmarc=pass action=none header.from=wavecomp.com; dkim=pass header.d=wavecomp.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y1sDYb6fnxKvmTZg+FrYOIQ3Fxt3GDiGhvvx2SLCEoU=; b=EXFR30wub+Rs3bjs/LimC/lYjD6qDpd1foYgsKP0CeY+GJgzywEFE5ujqlVgzcK5qpejmGV99yuqOtIZT+3xRom/M+YLFBRdqdk8F72bz/rJMB54Aw11BbHLrzfZ9GMCJW9OVUOv1ynB2rbHnyL26gO18kc7sCfSllkO7898rAE6yoV9XBL9wodQ5f3lN2jh2G8Olt3lUTXE5KdwRW2XW8Sz7ktrgDnD7BlfdBP/yw+6dmuFur+GO7dm+nOlJfMHg6p8JxaC9VRnr8l4yY7C71yxNENpL9LHmBvpOYpxiqMIwu11OuNFPV01y6eTJkow8GysSUqxzlvSJd+aBirpCg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Udn4LU2iOlvgJTHPZS6rxzoIyoMI+vnn6H5ATyruc1j98L6UEOUC+h8PfCaFDmzFqDhE9HfV36fnmK7DOhyaeQW/n8yZa6JILF9PkquBvIjFfypKrc22x5LsswKrsinXoT1zEvEe0NOLFBdaVln6fz2IGPhfLb5qJ98QCefhO/lzzhT6RD1PWhyEV/lnFXA8tliDJ5B/1bslo+WoMUNPsKzlgwRUc0YNsP1Mr+Hak9uwVsm4XCzliJtQi5QPpdeBjaTNi65Kq0UhjCKbJUMUXi8OMd37jfcfoFyqmQSvan9q8pOWALP971pElPMnbEquZwOgqqo7uKikJEYx1IzQ7g==
- References: <1574175364-5601-1-git-send-email-dmladjenovic@wavecomp.com> <alpine.DEB.2.21.1911191653090.7856@digraph.polyomino.org.uk> <5DD4301E.8030704@wavecomp.com> <alpine.DEB.2.21.1911191819210.7856@digraph.polyomino.org.uk>
On 19.11.2019. 19:20, Joseph Myers wrote:
> On Tue, 19 Nov 2019, Dragan Mladjenovic wrote:
>
>>> What is the kernel ABI on r6 systems with the DSP extension - does the
>>> kernel ABI permit the kernel to clobber those registers on syscall return
>>> or not? This patch looks like it's only safe if the kernel guarantees it
>>> will never clobber those registers on r6 (or later), regardless of
>>> instruction set extensions present.
>>
>> The kernel is not allowed to use DSP ASE. From what I see the DSP state
>> is not restored on syscall exit. Only some vendor specific extension are
>> allowed in the kernel. From what I understand that on "happy path"
>> kernel just saves some registers and relies on C ABI to preserve the
>> rest. The use of hi and lo is result of them not being preserved across
>> the function calls in C.
>
> Thanks. If this means the kernel always preserves hi and lo for r6,
> regardless of extensions available, then the patch is OK to commit. Note
> that we no longer include GNU-style ChangeLog entries in commit messages.
>
Thanks,
Committed as [1]. I left the ChangeLog anyway.
[1]
https://sourceware.org/git/?p=glibc.git;a=commit;h=a2e487ce1c59d19345d9ecacc58de79febd869e4