)]}'
{
  "commit": "de8e70596896cc9f85498a9981196ebc4465172e",
  "tree": "2bac4cf6bb0fd153bc943a18fc0f4deef1e921a2",
  "parents": [
    "2f5dea45584c09f23702f887b1ecbe16cf16ba05"
  ],
  "author": {
    "name": "Vladimir Mezentsev",
    "email": "vladimir.mezentsev@oracle.com",
    "time": "Thu Mar 16 17:19:23 2023 -0700"
  },
  "committer": {
    "name": "Vladimir Mezentsev",
    "email": "vladimir.mezentsev@oracle.com",
    "time": "Sun Mar 19 18:03:58 2023 -0700"
  },
  "message": "gprofng: Use prototype to call libc functions\n\nlibcollector may not link against libC.\nWe use dlsym() to get a function from libc.\nIn some files, pointers to these functions do not have prototypes.\nI also moved the shared definitions to libcollector/collect.h.\n\ngprofng/ChangeLog\n2023-03-15  Vladimir Mezentsev  \u003cvladimir.mezentsev@oracle.com\u003e\n\n\tlibcollector/collector.c: Add prototypes.\n\tlibcollector/dispatcher.c: Likewise.\n\tlibcollector/heaptrace.c: Likewise.\n\tlibcollector/iotrace.c: Likewise.\n\tlibcollector/linetrace.c: Likewise.\n\tlibcollector/mmaptrace.c: Likewise.\n\tlibcollector/synctrace.c: Likewise.\n\tlibcollector/collector.h: Add CALL_REAL(), NULL_PTR(), and DBG_LT.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55c52548b4e3532bc5d42ce42b042e16a7189cd9",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/collector.c",
      "new_id": "df493658df9d034110f2451f7b7a465ba5aa3928",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/collector.c"
    },
    {
      "type": "modify",
      "old_id": "d771cf1d07a27c3426c2992af6c4fbb9c9b5f35b",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/collector.h",
      "new_id": "77957ec537dd4cda3a113e18803b2d55b4477d2f",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/collector.h"
    },
    {
      "type": "modify",
      "old_id": "0075f232cc84a087e769d76de072aebf9f8cccdb",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/dispatcher.c",
      "new_id": "5c5a06ec1b4fc61db7607b6b850d738c21c85909",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/dispatcher.c"
    },
    {
      "type": "modify",
      "old_id": "387d2a13c00e08557dcab90b596c293bdeabf365",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/heaptrace.c",
      "new_id": "b51ab330ba6e7b05a87734e00b98d37be3a47058",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/heaptrace.c"
    },
    {
      "type": "modify",
      "old_id": "d8439b02b3a16aae1b455d0bea5700c146bb4236",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/iotrace.c",
      "new_id": "303e755df6ed2fcdcffe38ef3c38d1d73eaa9b46",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/iotrace.c"
    },
    {
      "type": "modify",
      "old_id": "66241ac1f53aa4b4ee324d307597b624ed1e92ac",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/linetrace.c",
      "new_id": "fd8e54a7973205399b25d50cf568fb07ffa1060f",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/linetrace.c"
    },
    {
      "type": "modify",
      "old_id": "221b4e2d1761a70a254d1205e84f80dc1e2bfff0",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/mmaptrace.c",
      "new_id": "c46dac4e0aadf0f6311bf5d93b8c9caf21f92536",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/mmaptrace.c"
    },
    {
      "type": "modify",
      "old_id": "cbe4e46533df704cba25cce829ce5ac9a7e09f18",
      "old_mode": 33188,
      "old_path": "gprofng/libcollector/synctrace.c",
      "new_id": "c50151bbd527e4aaa19e143a010e8a39c5defa69",
      "new_mode": 33188,
      "new_path": "gprofng/libcollector/synctrace.c"
    }
  ]
}
