)]}'
{
  "commit": "69445f095c22aac2388f939bedebf224a6efcdaf",
  "tree": "8f09fc70cd4ef32613368c9ae3759cccc04b490b",
  "parents": [
    "59231e5aff254f28b7ea7bcfd32cd759511d5844"
  ],
  "author": {
    "name": "Rainer Orth",
    "email": "ro@gcc.gnu.org",
    "time": "Tue Oct 22 08:44:25 2019 +0000"
  },
  "committer": {
    "name": "Rainer Orth",
    "email": "ro@gcc.gnu.org",
    "time": "Tue Oct 22 08:44:25 2019 +0000"
  },
  "message": "[builtins][test] Avoid unportable mmap call in clear_cache_test.c\n\nWithin the last two weeks, the Builtins-*-sunos :: clear_cache_test.c started to FAIL\non Solaris.  Running it under truss shows\n\n  mmap(0x00000000, 128, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 0, 0) Err#22 EINVAL\n  _exit(1)\n\nWhile there are several possible reasons mmap can return EINVAL on Solaris, it turns\nout it\u0027s this one (from mmap(2)):\n\n  MAP_ANON  was  specified,  but the file descriptor was not\n   -1.\n\nAnd indeed even the Linux mmap(2) documents this as unportable:\n\n  MAP_ANONYMOUS\n          The mapping is not backed by any file; its contents are initial‐\n          ized to zero.  The fd argument is ignored; however, some  imple‐\n          mentations require fd to be -1 if MAP_ANONYMOUS (or MAP_ANON) is\n          specified, and portable applications should  ensure  this.   The\n\nThis patch follows this advise.  Tested on x86_64-pc-linux-gnu, amd64-pc-solaris2.11\nand sparcv9-sun-solaris2.11.\n\nDifferential Revision: https://reviews.llvm.org/D68455\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@375490 91177308-0d34-0410-b5e6-96231b3b80d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1713bec93724eebd93d3d2df8405c34d9f7cd3f9",
      "old_mode": 33188,
      "old_path": "test/builtins/Unit/clear_cache_test.c",
      "new_id": "bc7b00608f2766d89eabb748bfe1631dafeafde2",
      "new_mode": 33188,
      "new_path": "test/builtins/Unit/clear_cache_test.c"
    }
  ]
}
