)]}'
{
  "commit": "72cd17f0be64f10386631bca93c8f82f2cb46d89",
  "tree": "4a043f9ffbd404dad4f79a082c1674a8f82d00a6",
  "parents": [
    "7e11620c672a7992b15fb7306bc800f02d2f38e8"
  ],
  "author": {
    "name": "Indu Bhagat",
    "email": "indu.bhagat@oracle.com",
    "time": "Thu Jan 15 16:43:12 2026 -0800"
  },
  "committer": {
    "name": "Indu Bhagat",
    "email": "indu.bhagat@oracle.com",
    "time": "Thu Jan 15 17:02:26 2026 -0800"
  },
  "message": "[SFrame-V3] gas: sframe: testsuite: skip SFrame FDE if .cfi_register SP, reg\n\nSFrame does not track the SP.  For recovery of the SP, SFrame relies on\nthe architecture/ABI\u0027s CFA definition:\n\n  CFA \u003d SP [+ offset   // on s390x]\n\nWhich results in the following implicit CFA value offset rule for SP:\n\n  SP \u003d CFA [- offset   // on s390x]\n\nWhere offset is zero for most architectures/ABIs, except s390x.\n\nTherefore .cfi_register SP, reg directives must be rejected, as such\nsemantics cannot be represented in SFrame yet.\n\ngas/\n\t* gas/gen-sframe.c (s390_sframe_xlate_do_register): Check for\n\tREG_SP and reject while generating a warning.\n\t(sframe_xlate_do_register): Likewise.\ngas/testsuite/\n\t* gas/cfi-sframe/cfi-sframe-s390x-err-4.d: New test.\n\t* gas/cfi-sframe/cfi-sframe-s390x-err-4.s: Likewise.\n\t* gas/cfi-sframe/cfi-sframe-x86_64-empty-5.d: Likewise.\n\t* gas/cfi-sframe/cfi-sframe-x86_64-empty-5.s: Likewise.\n\t* gas/cfi-sframe/cfi-sframe.exp: Add new tests.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1f6e3780f6b71a42209b4cc522225fe3a00299f",
      "old_mode": 33188,
      "old_path": "gas/gen-sframe.c",
      "new_id": "e5850e5aa00e53447a5f60d14fe087dbe5ef6040",
      "new_mode": 33188,
      "new_path": "gas/gen-sframe.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1703d817ea955f3d52e6dc641be93817138c7954",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c0bedab9f284b9647deac120e9dbbbec300472c",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-4.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "198e549a5c4257bc56a789c021263b4716155b54",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-5.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fbfee957bea55b50f7a6aed870ca8db90339e68b",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-5.s"
    },
    {
      "type": "modify",
      "old_id": "b516e531fe086845ed597342cbffeb19546086b1",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe.exp",
      "new_id": "4fbb04f838f7d77a56b405d85bb3aead98bba937",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/cfi-sframe/cfi-sframe.exp"
    }
  ]
}
