Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/807233/?format=api
{ "id": 807233, "url": "http://patchwork.ozlabs.org/api/patches/807233/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/CAOyqgcWEWUTUnMV-fe=UZU_wa+FuOBYh8WoVoqR=xxhAxV4saA@mail.gmail.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<CAOyqgcWEWUTUnMV-fe=UZU_wa+FuOBYh8WoVoqR=xxhAxV4saA@mail.gmail.com>", "list_archive_url": null, "date": "2017-08-29T18:59:14", "name": "libgo patch committed: Fix lfstack for AIX", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "904077ab3b65ffedcb7190b5ab0b5690ae745ee5", "submitter": { "id": 36501, "url": "http://patchwork.ozlabs.org/api/people/36501/?format=api", "name": "Ian Lance Taylor", "email": "iant@golang.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/CAOyqgcWEWUTUnMV-fe=UZU_wa+FuOBYh8WoVoqR=xxhAxV4saA@mail.gmail.com/mbox/", "series": [ { "id": 440, "url": "http://patchwork.ozlabs.org/api/series/440/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=440", "date": "2017-08-29T18:59:14", "name": "libgo patch committed: Fix lfstack for AIX", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/440/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/807233/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/807233/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-return-461111-incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "mailing list gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-461111-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"gvxZKhP2\"; dkim-atps=neutral", "sourceware.org; auth=none" ], "Received": [ "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xhdGv1xtvz9sPk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 04:59:35 +1000 (AEST)", "(qmail 96797 invoked by alias); 29 Aug 2017 18:59:27 -0000", "(qmail 96697 invoked by uid 89); 29 Aug 2017 18:59:26 -0000", "from mail-pg0-f51.google.com (HELO mail-pg0-f51.google.com)\n\t(74.125.83.51) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tTue, 29 Aug 2017 18:59:16 +0000", "by mail-pg0-f51.google.com with SMTP id y15so13360276pgc.1 for\n\t<gcc-patches@gcc.gnu.org>; Tue, 29 Aug 2017 11:59:16 -0700 (PDT)", "by 10.100.149.12 with HTTP; Tue, 29 Aug 2017 11:59:14 -0700 (PDT)" ], "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:mime-version:from:date:message-id:subject:to:content-type; q=\n\tdns; s=default; b=rL5VOvm0mrOvTjJZii2HIhFBz5/lid/WJ0D3thyi+rftZS\n\ttXlOCOmvuMuWoU5zm6byPbnXeobYbO1wCNybY8n6/ifzAjlBgrEjxPQHcQX/BsHN\n\t08UzYLMBePismArq9xAvqn5zkLzE7H+80s4p5uRR8+LLdw75XS1n05QXjFPP4=", "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:mime-version:from:date:message-id:subject:to:content-type; s=\n\tdefault; bh=EfTUogATa5hQ20CQDoSfMkQwR+g=; b=gvxZKhP2Kru7fay8I4i/\n\tB/b28Y44WkaIQO1vAPIyXWZLvn1LlMEgOWz/nPd7/tNo8V+ZGeyRTCqJdeCtUEoP\n\tDyNxMbI8jcuZynxNdwpK7NGsJp6FxaOS0roLI29McksWITgMKa4VLlM28yqZsEx+\n\tr5yzHfsxMq299p+ecM7xkDE=", "Mailing-List": "contact gcc-patches-help@gcc.gnu.org; run by ezmlm", "Precedence": "bulk", "List-Id": "<gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>", "List-Archive": "<http://gcc.gnu.org/ml/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-help@gcc.gnu.org>", "Sender": "gcc-patches-owner@gcc.gnu.org", "X-Virus-Found": "No", "X-Spam-SWARE-Status": "No, score=-10.9 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS,\n\tRCVD_IN_DNSWL_NONE,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*Ad:D*googlegroups.com,\n\tHTo:D*googlegroups.com", "X-HELO": "mail-pg0-f51.google.com", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;\n\ts=20161025;\n\th=x-gm-message-state:mime-version:from:date:message-id:subject:to;\n\tbh=VTy6RHnYlgMiH+UzrmIoavP5zDoZDYTXfdQDu1jqi2c=;\n\tb=ObrwTSSSzutavF2P+kCnU5TUPWV7j/hTkYIIY0kOf6XCaiXRo+as2bJhxfqiAvx7Ny\n\toPLbf5EpLpRmO1Zby8Uf+/VrAGGykM9oDQBOChsAOhCkxQGJuzVxVFKl92NlejgvBZwg\n\tW3ILXUmILv9TVIbA4IVSE0b6cSDT8KIhqG4nR3gqvt0BchzTWi+aLNRwH9sx5c33LpWv\n\tOiZobV+6gFGoF7Z/UKjzByIQ1ICtgK7EfUROtkZYVQhX7EqbO/PRUdffkatkgtDMCgN4\n\t2m0L871qKTdCyuaJ3QMI7vpHwY9T1F+0BbJzIEa0g6nMUxiMHukZlChglxGdX7ZKymRy\n\tDJew==", "X-Gm-Message-State": "AHYfb5jGU6ZF0qxIIy07h6H7SKb/6daRE1JD6+Xt8PqSb2KCHAC88Zy6\t/LbhFN7emlwHNqOXnP1aylWIzjkA8tp2NxQ=", "X-Received": "by 10.98.204.221 with SMTP id j90mr1303758pfk.119.1504033154783;\n\tTue, 29 Aug 2017 11:59:14 -0700 (PDT)", "MIME-Version": "1.0", "From": "Ian Lance Taylor <iant@golang.org>", "Date": "Tue, 29 Aug 2017 11:59:14 -0700", "Message-ID": "<CAOyqgcWEWUTUnMV-fe=UZU_wa+FuOBYh8WoVoqR=xxhAxV4saA@mail.gmail.com>", "Subject": "libgo patch committed: Fix lfstack for AIX", "To": "gcc-patches <gcc-patches@gcc.gnu.org>,\n\t\"gofrontend-dev@googlegroups.com\" <gofrontend-dev@googlegroups.com>", "Content-Type": "multipart/mixed; boundary=\"94eb2c144c9eebfe0f0557e901a0\"" }, "content": "This patch by Tony Reix fixes the runtime package's lock-free stack\ncode to work on 64-bit AIX. Bootstrapped on x86_64-pc-linux-gnu.\nCommitted to mainline.\n\nIan", "diff": "Index: gcc/go/gofrontend/MERGE\n===================================================================\n--- gcc/go/gofrontend/MERGE\t(revision 251188)\n+++ gcc/go/gofrontend/MERGE\t(working copy)\n@@ -1,4 +1,4 @@\n-2c4a2bd826e58c8c8c51b9196c8d2c67abc4037e\n+db8e3801bf8508656606d6e465c76cdc6e9a9eb7\n \n The first line of this file holds the git revision number of the last\n merge done from the gofrontend repository.\nIndex: libgo/go/runtime/lfstack_64bit.go\n===================================================================\n--- libgo/go/runtime/lfstack_64bit.go\t(revision 250873)\n+++ libgo/go/runtime/lfstack_64bit.go\t(working copy)\n@@ -43,6 +43,14 @@ const (\n \t// 52 address bits each (with 64k page size).\n \tia64AddrBits = 55\n \tia64CntBits = 64 - ia64AddrBits + 3\n+\n+\t// On AIX, 64-bit addresses are split into 36-bit segment number and 28-bit\n+\t// offset in segment. Segment numbers in the range 0x070000000-0x07FFFFFFF\n+\t// and 0x0A0000000-0x0AFFFFFFF(LSA) are available for mmap.\n+\t// We assume all lfnode addresses are from memory allocated with mmap.\n+\t// We use one bit to distinguish between the two ranges.\n+\taixAddrBits = 57\n+\taixCntBits = 64 - aixAddrBits + 3\n )\n \n func lfstackPack(node *lfnode, cnt uintptr) uint64 {\n@@ -54,6 +62,9 @@ func lfstackPack(node *lfnode, cnt uintp\n \t\tval := uint64(uintptr(unsafe.Pointer(node)))\n \t\treturn (val<<(64-ia64AddrBits))&(1<<(64-3)-1) | val&^(1<<(64-3)-1) | uint64(cnt&(1<<ia64CntBits-1))\n \t}\n+\tif GOARCH == \"ppc64\" && GOOS == \"aix\" {\n+\t\treturn uint64(uintptr(unsafe.Pointer(node)))<<(64-aixAddrBits) | uint64(cnt&(1<<aixCntBits-1))\n+\t}\n \treturn uint64(uintptr(unsafe.Pointer(node)))<<(64-addrBits) | uint64(cnt&(1<<cntBits-1))\n }\n \n@@ -69,5 +80,12 @@ func lfstackUnpack(val uint64) *lfnode {\n \tif GOARCH == \"ia64\" {\n \t\treturn (*lfnode)(unsafe.Pointer(uintptr((val>>ia64CntBits<<3)&(1<<(64-3)-1) | val&^(1<<(64-3)-1))))\n \t}\n+\tif GOARCH == \"ppc64\" && GOOS == \"aix\" {\n+\t\tif val&(1<<63) != 0 {\n+\t\t\treturn (*lfnode)(unsafe.Pointer(uintptr((val >> aixCntBits << 3) | 0x7<<56)))\n+\t\t} else {\n+\t\t\treturn (*lfnode)(unsafe.Pointer(uintptr((val >> aixCntBits << 3) | 0xa<<56)))\n+\t\t}\n+\t}\n \treturn (*lfnode)(unsafe.Pointer(uintptr(val >> cntBits << 3)))\n }\n", "prefixes": [] }