)]}'
{
  "commit": "90840a86569c32f63feb549f87507a7b6c84e070",
  "tree": "1de7eafba1ddddcfae8e1a68d3cd5a016d69d55f",
  "parents": [
    "ef11c1eaffeda578985b2b28f1e64db67bf3b224"
  ],
  "author": {
    "name": "Hau Hsu",
    "email": "hau.hsu@sifive.com",
    "time": "Fri Feb 23 14:17:28 2024 +0800"
  },
  "committer": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Wed Mar 13 13:47:34 2024 +0800"
  },
  "message": "RISC-V: Add -march\u003dhelp for gas\n\nUse -march\u003dhelp for gas to print all supported extensions and versions.\n\nHere is part of the output of `as -march\u003dhelp`:\nAll available -march extensions for RISC-V:\n        e                                       1.9\n        i                                       2.1, 2.0\n        m                                       2.0\n        a                                       2.1, 2.0\n        f                                       2.2, 2.0\n        d                                       2.2, 2.0\n        q                                       2.2, 2.0\n        c                                       2.0\n        v                                       1.0\n        h                                       1.0\n        zicbom                                  1.0\n        zicbop                                  1.0\n        ...\n\nThis patch assumes that the supported extensions with the same versions\nare listed together. For example:\nstatic struct riscv_supported_ext riscv_supported_std_ext[] \u003d\n{\n  ...\n  {\"i\",         ISA_SPEC_CLASS_20191213,        2, 1, 0 },\n  {\"i\",         ISA_SPEC_CLASS_20190608,        2, 1, 0 },\n  {\"i\",         ISA_SPEC_CLASS_2P2,             2, 0, 0 },\n  ...\n};\n\nFor the \"i\" extension, 2.1.0 with different spec class are listed together.\nThis patch records the previous printed extension and version.  If the\ncurrent extension and version are the same as the previous one, skip\nprinting.\n\nbfd/\n\t* elfxx-riscv.c (riscv_print_extensions): New function.  Print\n\tavailable extensions and versions.\n\t* elfxx-riscv.h (riscv_print_extensions): New declaration.\ngas/\n\t* gas/config/tc-riscv.c (md_parse_option): Parse \u0027help\u0027 keyword in\n\t-march option to print available extensions and versions.\n\t* testsuite/gas/riscv/march-help.l: New testcase for -march\u003dhelp.\n\t* testsuite/gas/riscv/riscv.exp: Updated.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "731366625ec26f6d3fd27b6a2c1626a4e708e09a",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "28be6651945354f1bc95ecb58ef7c5da4ee057ab",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "ae4cbee7bc35d900b87cffee108644a13dd7a92c",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.h",
      "new_id": "49be71746b91a2dc203737ebfc38b266c62c9b20",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.h"
    },
    {
      "type": "modify",
      "old_id": "0966b7bf2359cbe0dc7273785bfa30e1a8b049a1",
      "old_mode": 33188,
      "old_path": "gas/config/tc-riscv.c",
      "new_id": "2a2948fde17cd2d2788d0d44637ed97c2b5d8eed",
      "new_mode": 33188,
      "new_path": "gas/config/tc-riscv.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f92194d10d20bf49f478b1860c2cd10175a1c32",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/march-help.l"
    },
    {
      "type": "modify",
      "old_id": "2c7e950c0ffcae95300dbe7e475295b60ac678a5",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/riscv.exp",
      "new_id": "069e9a6945a9a95809fc3d3489ac411b0b9b2dd6",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/riscv.exp"
    }
  ]
}
