)]}'
{
  "commit": "a13d0660feca251566ab29bc6beb43364ff97e4e",
  "tree": "432d9ad430fb60d008d1315e0a0dccf5e67e6124",
  "parents": [
    "a9ebf6f422c1924b3c6486385babc38152c39500"
  ],
  "author": {
    "name": "Elliott Hughes",
    "email": "enh@google.com",
    "time": "Thu Dec 02 14:42:16 2021 -0800"
  },
  "committer": {
    "name": "Elliott Hughes",
    "email": "enh@google.com",
    "time": "Thu Dec 02 14:42:16 2021 -0800"
  },
  "message": "Use -fno-builtin for libc and libm.\n\nclang was getting in the way of a strftime(3) optimization, and smaller\nhammers weren\u0027t working, and this seems like the right choice for libc\nanyway? If we have code that can usefully be optimized, we should do it\nin the source. In general, though, no libc/libm author should be\nignorant of memset(3) or memcpy(3), and would have used it themselves if\nit made sense. (And the compiler isn\u0027t using profiling data or anything;\nit\u0027s just always assuming it should use the functions, and doesn\u0027t\nconsider whether the cost of the calls can be amortized or not.)\n\nTest: treehugger\nChange-Id: Ia7e22623e47bfbfcfe46c1af0d95ef7e8669c0f6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00904aa4375216a53f6b3f7fcd0c2c7afa6744f3",
      "old_mode": 33188,
      "old_path": "libc/Android.bp",
      "new_id": "2dc10fc6188bc1efee897974835dafe4206afdc9",
      "new_mode": 33188,
      "new_path": "libc/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "b6ad3563d11c4d9b66e5cba02e31615134ed92f9",
      "old_mode": 33188,
      "old_path": "libm/Android.bp",
      "new_id": "83f40c280455b3627d5167cbfb7a599b5ebb3615",
      "new_mode": 33188,
      "new_path": "libm/Android.bp"
    }
  ]
}
