get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/131763/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 131763,
    "url": "https://patches.dpdk.org/api/patches/131763/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230921095916.344076-1-juraj.linkes@pantheon.tech/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230921095916.344076-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230921095916.344076-1-juraj.linkes@pantheon.tech",
    "date": "2023-09-21T09:59:16",
    "name": "[v1] config/arm: update aarch32 build with gcc13",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "86fb3a3abc2f0be06ee40f9b807fc0f945b1d77a",
    "submitter": {
        "id": 1626,
        "url": "https://patches.dpdk.org/api/people/1626/?format=api",
        "name": "Juraj Linkeš",
        "email": "juraj.linkes@pantheon.tech"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230921095916.344076-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 29585,
            "url": "https://patches.dpdk.org/api/series/29585/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29585",
            "date": "2023-09-21T09:59:16",
            "name": "[v1] config/arm: update aarch32 build with gcc13",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/29585/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/131763/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/131763/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E8D2F425F3;\n\tThu, 21 Sep 2023 11:59:22 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A08E2402EF;\n\tThu, 21 Sep 2023 11:59:21 +0200 (CEST)",
            "from mail-ej1-f48.google.com (mail-ej1-f48.google.com\n [209.85.218.48]) by mails.dpdk.org (Postfix) with ESMTP id 2C39C402B5\n for <dev@dpdk.org>; Thu, 21 Sep 2023 11:59:20 +0200 (CEST)",
            "by mail-ej1-f48.google.com with SMTP id\n a640c23a62f3a-9a65f9147ccso84247766b.1\n for <dev@dpdk.org>; Thu, 21 Sep 2023 02:59:20 -0700 (PDT)",
            "from jlinkes-PT-Latitude-5530.. (ip-46.34.247.5.o2inet.sk.\n [46.34.247.5]) by smtp.gmail.com with ESMTPSA id\n a19-20020a170906275300b0099290e2c163sm774612ejd.204.2023.09.21.02.59.18\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 21 Sep 2023 02:59:19 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon.tech; s=google; t=1695290360; x=1695895160; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=djD9XL/0WIiQF+rfvvS2NWwIViG+PVpwl46KBaXDHnc=;\n b=Iy0bQ0k4aQY3CfolUFHp3dG8snpN1xpR+9uHw6G1rQJu7EHYPI7oqKxMspDAdB23Qd\n H1GYJa9nHxoaItXRg+DOWbcth9fYFFbcvvTNI1zH7MgLsPX3jWizQHgXYfBYWJTVzb99\n nfuufuBL2vd9TCbUN9yR5M2gUgB4N4OpGSSCVUK8DlxWjiGMVgqzBi60SYrAmk8Ogggp\n 3wjs2/3HpooNDjibHyPxfm4O15KpeMsR1EanVAVfR863mKQLx8MRNrrneRzQRiErrn0F\n dsH+Se8OvAwJDiHNUWXJLK7B72BjiWAd1DxTEaVXHhy/M7Qi0DTMNSeERPSrTAXGA7sQ\n IOaQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1695290360; x=1695895160;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=djD9XL/0WIiQF+rfvvS2NWwIViG+PVpwl46KBaXDHnc=;\n b=UAGWHgXY8gRo/1BwZZ2TV8tUQNKRCRWzCL09JGZCw6VGj+hxs+zK3GcjHQ+oAoPd5C\n uOYwzGGxzTVrXPCZgnocAN/oG6RdOIqDUfIT2yK+VfsnNG05vvT5HpCozKTXtE1rgc2g\n eikjN/hDso1uiyw9iKzJRhElWjsgH8kHldTuC26EhGF7t3vP+eqj5GQFZB11sIQJU5gj\n 60V+IeYgGUB3ej8quJXXsFdhS4vIv7hbgt+9cemSIRuoC4WpXLzwvpmTAO9ZLn3my9Hf\n OSF7fx/siCrmckPFoZNPO8w02ZVGN2KBnndjprf5/VmUtqne1kjIIJ+uzMxjcNsbYRot\n LvtQ==",
        "X-Gm-Message-State": "AOJu0YxuihOHy26OVz84W5kIDsd40q2BWjsBPJv41QxCR+ut6Ahj2UJE\n du3KqxU8Br8q5avJXiyyIey9OQ==",
        "X-Google-Smtp-Source": "\n AGHT+IGYH2LOD8O9MamUduWIFSsaYSyU13iNwD49HxjEVqmbKvIfErjk26Q+BTBxrjgyoJGH47CwyA==",
        "X-Received": "by 2002:a17:906:8450:b0:9ae:3f7a:f777 with SMTP id\n e16-20020a170906845000b009ae3f7af777mr4386359ejy.9.1695290359490;\n Thu, 21 Sep 2023 02:59:19 -0700 (PDT)",
        "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "To": "thomas@monjalon.net, Honnappa.Nagarahalli@arm.com,\n bruce.richardson@intel.com, Ruifeng.Wang@arm.com",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[PATCH v1] config/arm: update aarch32 build with gcc13",
        "Date": "Thu, 21 Sep 2023 11:59:16 +0200",
        "Message-Id": "<20230921095916.344076-1-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The aarch32 with gcc13 fails with:\n\nCompiler for C supports arguments -march=armv8-a: NO\n\n../config/arm/meson.build:714:12: ERROR: Problem encountered: No\nsuitable armv8 march version found.\n\nThis is because we test -march=armv8-a without the -mpfu option, which\nis required for aarch32 build with gcc13.\n\nOn top of that, the most recent recommendation from the compiler team to\nbuild with -march=armv8-a+simd -mfpu=auto.\n\nWe can address this by first testing compiler options and only test the\nmarch after that (coupled with supported options). This doesn't fully\nwork though, as just -march=armv8 in not enough to be accepted with\n-mfpu=auto. To address this other issue, add the force_march parameter\nto part number config which will force the configured march to be used,\neven if the compiler doesn't support the particular combination of march\nand other compiler options, such as mfpu. This then allows the check to\nproceed to the -march=armv8-a+simd -mfpu=auto, which is valid.\n\nSigned-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>\n---\n config/arm/meson.build | 40 ++++++++++++++++++++++++----------------\n 1 file changed, 24 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/config/arm/meson.build b/config/arm/meson.build\nindex 3f22d8a2fc..0b42d74876 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -43,7 +43,9 @@ implementer_generic = {\n         },\n         'generic_aarch32': {\n             'march': 'armv8-a',\n-            'compiler_options': ['-mfpu=neon'],\n+            'force_march': true,\n+            'march_features': ['simd'],\n+            'compiler_options': ['-mfpu=auto'],\n             'flags': [\n                 ['RTE_ARCH_ARM_NEON_MEMCPY', false],\n                 ['RTE_ARCH_STRICT_ALIGN', true],\n@@ -692,6 +694,19 @@ if update_flags\n \n     machine_args = [] # Clear previous machine args\n \n+    # test supported compiler options\n+    compiler_options = []\n+    if part_number_config.has_key('compiler_options')\n+        foreach flag: part_number_config['compiler_options']\n+            if cc.has_argument(flag)\n+                compiler_options += flag\n+            else\n+                warning('Configuration compiler option ' +\n+                        '@0@ isn\\'t supported.'.format(flag))\n+            endif\n+        endforeach\n+    endif\n+\n     # probe supported archs and their features\n     candidate_march = ''\n     if part_number_config.has_key('march')\n@@ -704,14 +719,18 @@ if update_flags\n                 check_compiler_support = true\n             endif\n             if (check_compiler_support and\n-                cc.has_argument('-march=' + supported_march))\n+                cc.has_multi_arguments('-march=' + supported_march, compiler_options))\n                 candidate_march = supported_march\n                 # highest supported march version found\n                 break\n             endif\n         endforeach\n         if candidate_march == ''\n-            error('No suitable armv8 march version found.')\n+            if part_number_config.get('force_march', false)\n+                candidate_march = part_number_config['march']\n+            else\n+                error('No suitable armv8 march version found.')\n+            endif\n         endif\n         if candidate_march != part_number_config['march']\n             warning('Configuration march version is ' +\n@@ -728,27 +747,16 @@ if update_flags\n             march_features += soc_config['extra_march_features']\n         endif\n         foreach feature: march_features\n-            if cc.has_argument('+'.join([candidate_march, feature]))\n+            if cc.has_multi_arguments('+'.join([candidate_march, feature]), compiler_options)\n                 candidate_march = '+'.join([candidate_march, feature])\n             else\n                 warning('The compiler does not support feature @0@'\n                     .format(feature))\n             endif\n         endforeach\n-        machine_args += candidate_march\n     endif\n \n-    # apply supported compiler options\n-    if part_number_config.has_key('compiler_options')\n-        foreach flag: part_number_config['compiler_options']\n-            if cc.has_argument(flag)\n-                machine_args += flag\n-            else\n-                warning('Configuration compiler option ' +\n-                        '@0@ isn\\'t supported.'.format(flag))\n-            endif\n-        endforeach\n-    endif\n+    machine_args += [candidate_march] + compiler_options\n \n     # apply flags\n     foreach flag: dpdk_flags\n",
    "prefixes": [
        "v1"
    ]
}