)]}'
{
  "commit": "f9402ccaa9fac7858713a7672fae5760ae3d5ce7",
  "tree": "120dc7c0bafe4ff49b5b8e6022db155264abd330",
  "parents": [
    "e6c46d077240565fac4d70066719a8bbe2c212d1"
  ],
  "author": {
    "name": "Eric Botcazou",
    "email": "ebotcazou@gcc.gnu.org",
    "time": "Mon Nov 15 12:50:51 2021 +0100"
  },
  "committer": {
    "name": "Eric Botcazou",
    "email": "ebotcazou@gcc.gnu.org",
    "time": "Mon Nov 15 12:56:10 2021 +0100"
  },
  "message": "Deal with full path in .file 0 directive\n\nGas uses the directory part, if present, of the .file 0 directive to set\nentry 0 of the directory table in DWARF 5, which represents the \"current\ndirectory\".\n\nNow Gas also uses the file part of the same directive to set entry 0 of the\nfile table, which represents the \"current compilation file\".  But the latter\nneed not be located in the former so GCC will use a full path in the file\npart when it is passed a full path:\n\ngcc -c /full/path/test.c -save-temps\n\nyields:\n\n .file 0 \"/current/directory\" \"/full/path/test.c\"\n\nin the assembly file and:\n\n The Directory Table (offset 0x22, lines 2, columns 1):\n  Entry Name\n  0     (indirect line string, offset: 0x25): /current/directory\n  1     (indirect line string, offset: 0x38): /full/path\n\n The File Name Table (offset 0x30, lines 2, columns 2):\n  Entry Dir     Name\n  0     0       (indirect line string, offset: 0x43): /full/path/test.c\n\nin the object file.  Note the full path and the questionable Dir value in\nthe 0 entry of the file table.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1133847e8201f23778323d36bcc9db03834ea474",
      "old_mode": 33188,
      "old_path": "gas/ChangeLog",
      "new_id": "e9761e9a9011da63ff8e165b1b262cf6fc51f18b",
      "new_mode": 33188,
      "new_path": "gas/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "0cc7455d3ae4077fab73674b6996df1fe4849222",
      "old_mode": 33188,
      "old_path": "gas/doc/as.texi",
      "new_id": "9c1924d4bbd2d4a0257c7a92b9fb8cc3b54a4fe0",
      "new_mode": 33188,
      "new_path": "gas/doc/as.texi"
    },
    {
      "type": "modify",
      "old_id": "c6e439aa86267363ef51af7ede4b4bd02ccf7410",
      "old_mode": 33188,
      "old_path": "gas/dwarf2dbg.c",
      "new_id": "256412f9c79197a91918ec99ba4b9fbb7658b647",
      "new_mode": 33188,
      "new_path": "gas/dwarf2dbg.c"
    },
    {
      "type": "modify",
      "old_id": "4b3ed29f4c91b3ab40926c20d0019eec1f27055a",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/elf/dwarf-5-file0-2.d",
      "new_id": "dfd8431a5053fb4d921f25f7e21af9090fcfda1e",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/dwarf-5-file0-2.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c55d3266aa42cf9c470697733c616156ee944d1",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/dwarf-5-file0-3.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b33c364508855fa4741602a00a7912ede6d1537b",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/dwarf-5-file0-3.s"
    },
    {
      "type": "modify",
      "old_id": "f60411c803485c4788fe099ceda8d581427b53ec",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/elf/dwarf-5-file0.d",
      "new_id": "2502b80d1f96eab257e8016ceaa1f2a221180f2f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/dwarf-5-file0.d"
    },
    {
      "type": "modify",
      "old_id": "16b9b56561436bb99049ca52a8fdac26aed53b43",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/elf/elf.exp",
      "new_id": "08105f88419c5d3ac76a192f652646ced85c1215",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/elf/elf.exp"
    }
  ]
}
