)]}'
{
  "log": [
    {
      "commit": "4b558f50a42c97d461f1dede5aaaae490ea99e2e",
      "tree": "c239a686131cdda28272c961ce98febbc0c772f8",
      "parents": [
        "bef5016491eed41521f514d5c5528e2274689948"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 04 15:58:02 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 07 16:49:46 2014 -0800"
      },
      "message": "Rewrite the POSIX timer functions.\n\nThis is a much simpler implementation that lets the kernel\ndo as much as possible.\n\nCo-authored-by: Jörgen Strand \u003cjorgen.strand@sonymobile.com\u003e\nCo-authored-by: Snild Dolkow \u003csnild.dolkow@sonymobile.com\u003e\nChange-Id: Iad19f155de977667aea09410266d54e63e8a26bf\n"
    },
    {
      "commit": "0e714a5b41451e84c5ded93a42c9a4b0a9440691",
      "tree": "86e6519cc723fb66a9432193da16b380255c22f7",
      "parents": [
        "8e541b12237f597c186820b9e18b059b620bef54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 03 16:42:47 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 04 10:27:58 2014 -0800"
      },
      "message": "Implement POSIX pthread_mutex_timedlock.\n\nThis replaces the non-standard pthread_mutex_lock_timeout_np, which we have\nto keep around on LP32 for binary compatibility.\n\nChange-Id: I098dc7cd38369f0c1bec1fac35687fbd27392e00\n"
    },
    {
      "commit": "569fb9887d00104509df79fa77d92e3cf9afe7db",
      "tree": "cd7018947017406a878b22a25481969217985664",
      "parents": [
        "4a46a68942d180e28c3e87f08359351245b220b7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:01:29 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:07:07 2014 +0000"
      },
      "message": "Moved nameser.h and namser_compat.h to public include dir\n\nThis is part of the upstream sync (Net/Open/Free BSDs expose the\nnameser.h in their public headers).\n\nChange-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf\n"
    },
    {
      "commit": "51e6cb33e3d7c2f44864d356a2a8e66317688f55",
      "tree": "48863111f16d659bbc0456662d67f5fc8ff3bef2",
      "parents": [
        "2c7c79e6e5e730553281b6d42e734ee2c532a660"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 03 15:38:51 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 04 11:17:13 2014 +0000"
      },
      "message": "Implement pthread_condattr_{get,set}clock.\n\nWe only support CLOCK_REALTIME and CLOCK_MONOTONIC for now,\nso we us a single bit from pthread_cond_t-\u003evalue to denote\nthe clock type. Note that this reduces the width of the counter\nto 30 bits, but this should be large enough for all practical\npurposes.\n\nbug: 13232338\n\nChange-Id: I857e7da64b3ecbb23eeac7c9f3fbd460f60231bd\n"
    },
    {
      "commit": "e4ab19c67d00b526a3f8c1af4e8e8153c2867294",
      "tree": "796913d98a7b1ad57b09ed747c95562aa140ef42",
      "parents": [
        "ddad384dbf802bf258e19a8d18f5d9e9fba8f97b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 03 10:57:28 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 03 10:57:28 2014 -0800"
      },
      "message": "Remove deprecated and unused constants from \u003csys/klog.h\u003e.\n\nChange-Id: I23d54b5eaf918859480f927534a3f9e3af602311\n"
    },
    {
      "commit": "a8b1eb3fcf13fab029a16fa3b6636218a64c4583",
      "tree": "d36173147fe379d5b636503743b6fe37455322a0",
      "parents": [
        "2ec592c338f5c5021f127e92212d156cd909c617"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 17:59:29 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 17:59:29 2014 -0800"
      },
      "message": "Fix build.\n\nChange-Id: I71cde79263d5f5a8382865b8151f65c5c05ea17b\n"
    },
    {
      "commit": "2ec592c338f5c5021f127e92212d156cd909c617",
      "tree": "bb83347fc1898724bb081f482e7ef227dc0a4868",
      "parents": [
        "ddc8cc7a68415acb0694f7015ea0dae70ea04550",
        "6ff0c75c838e73d2aeccc0102ab58a7b865172ca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Mar 01 01:14:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 01 01:14:23 2014 +0000"
      },
      "message": "Merge \"Add recvmmsg and sendmmsg syscalls.\""
    },
    {
      "commit": "692207eb457f9b4bf6cb4301d710d19b6e85c902",
      "tree": "4a915e398d7e0819d7ee5d0a424f4a7689c0eab9",
      "parents": [
        "d51db86aafb988aea04355f2b6a6c925d67e5976"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 16:23:27 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 16:23:27 2014 -0800"
      },
      "message": "Add getprogname/setprogname for BSD compatibility.\n\nThis is one less change we have to make when porting BSD code.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d34898\nChange-Id: If9b1a8d16996c7a19abcce8d3a456afc3e105a41\n"
    },
    {
      "commit": "6ff0c75c838e73d2aeccc0102ab58a7b865172ca",
      "tree": "664bed83a31a736af22e3ac37ff36b14e809724c",
      "parents": [
        "000ffd8ab0b4112173ce319869f4111f08fbe975"
      ],
      "author": {
        "name": "Guillaume Ranquet",
        "email": "guillaumex.ranquet@intel.com",
        "time": "Mon Feb 10 13:11:29 2014 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 27 14:29:01 2014 -0800"
      },
      "message": "Add recvmmsg and sendmmsg syscalls.\n\nAlso add the corresponding constant, struct, and function declarations\nto \u003csys/socket.h\u003e, and perfunctory tests so we know that the symbols\nactually exist.\n\nSigned-off-by: Guillaume Ranquet \u003cguillaumex.ranquet@intel.com\u003e\nChange-Id: Ib0d854239d3716be90ad70973c579aff4895a4f7\n"
    },
    {
      "commit": "3434727b3ece18d90894c3f8d9ffd000a00c9c50",
      "tree": "c59559d2e31e2da8fab09af1e7a0a8764413bcba",
      "parents": [
        "27c7dbeee6c5e0cee488ce5085cc0b8c5e0301bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 26 11:10:32 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 26 15:51:01 2014 -0800"
      },
      "message": "Ensure that \u003cfcntl.h\u003e has the SYNC_FILE_RANGE_* constants.\n\nNeeded to build strace at their tip of tree.\n\nChange-Id: I64db00a332088e08e25bc30357293a9308b8a226\n"
    },
    {
      "commit": "5c7816f425cb70ca6920e816aba33ce3d691ef10",
      "tree": "7f9076c57183142a7466c24cc466c22e9db6cf0d",
      "parents": [
        "a92b57c7f8230661d911f2fd6dd67a81e9a90cef",
        "53e43292aac91bf62995788cd5ca2ceb7caea283"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 25 21:41:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 21:41:48 2014 +0000"
      },
      "message": "Merge \"More OpenBSD cleanup (primarily string).\""
    },
    {
      "commit": "a92b57c7f8230661d911f2fd6dd67a81e9a90cef",
      "tree": "da3df37981e655f8d236facaf411d279183f63c9",
      "parents": [
        "7c1efffc249283b47309846abba8795f3fb91555",
        "d4934a70e69365c97b1378820152e134a0089b5e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 25 10:44:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 10:44:26 2014 +0000"
      },
      "message": "Merge \"Added ftw64, nftw64\""
    },
    {
      "commit": "7c1efffc249283b47309846abba8795f3fb91555",
      "tree": "51c0fb5fc7dd9fa85f36c4bc17c52d41dd525692",
      "parents": [
        "ba40a560176e6ea753d09a6a71343b81ea4c8c1e",
        "fe317a3775e16d466bb884a8e054fd77f7087bb3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 25 10:43:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 10:43:31 2014 +0000"
      },
      "message": "Merge \"Added mkstemp64\""
    },
    {
      "commit": "53e43292aac91bf62995788cd5ca2ceb7caea283",
      "tree": "003679a1e2288bad947f714ee45bfa6febf479b6",
      "parents": [
        "ba40a560176e6ea753d09a6a71343b81ea4c8c1e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 18:00:43 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 18:02:05 2014 -0800"
      },
      "message": "More OpenBSD cleanup (primarily string).\n\nThis patch removes the string/ and wchar/ directories.\n\nChange-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d\n"
    },
    {
      "commit": "0e44bc3baeb1677e5fbdda87a737b9c508c95132",
      "tree": "1470737507c2d3924297e61e463edc18a191cc8e",
      "parents": [
        "b26e4944e2a5bf4b7e33fa38fb17a3b76c7fe0f7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 15:55:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 15:55:31 2014 -0800"
      },
      "message": "Remove \u003casm/page.h\u003e.\n\nIf we have PAGE_SIZE/PAGESIZE, POSIX says they should be in \u003climits.h\u003e.\n\nChange-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e\n"
    },
    {
      "commit": "d4934a70e69365c97b1378820152e134a0089b5e",
      "tree": "c26c1ef275cd79486a03d9e4df76193c4a4ccc33",
      "parents": [
        "fe317a3775e16d466bb884a8e054fd77f7087bb3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 24 16:13:50 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 24 20:22:11 2014 +0000"
      },
      "message": "Added ftw64, nftw64\n\nBug: 13076637\nChange-Id: I5b926526f935b00bba14c2807b61d85f95089c33\n"
    },
    {
      "commit": "fe317a3775e16d466bb884a8e054fd77f7087bb3",
      "tree": "c26e2b737d6741add069324fc0dc8a2ad31cd731",
      "parents": [
        "da030de702b756077fec536ed139e7ea38b51022"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 21 15:11:03 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 24 20:19:19 2014 +0000"
      },
      "message": "Added mkstemp64\n\nBug: 13076637\nChange-Id: I41bf28ab3e6c7325470781e9323eeec023483df5\n"
    },
    {
      "commit": "c9ae21a5c3b2e1baafe50f752e2e07e343d39530",
      "tree": "80d3c9ac31b5c5662b70aacd9c03d9d798ceafae",
      "parents": [
        "3572fbc8cd01d90a7f0c65a15c79abf1ece144ef"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Feb 19 17:59:05 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 24 10:45:35 2014 +0000"
      },
      "message": "Move system_properties over to C++.\n\nThis change constitutes the minimum amount of\nwork required to move the code over to C++, address\ncompiler warnings, and to make it const correct and\nidiomatic (within the constraints of being called\nfrom C code).\n\nbug: 13058886\n\nChange-Id: Ic78cf91b7c8e8f07b4ab0781333a9e243763298c\n"
    },
    {
      "commit": "9150dfb1c6928ceef228e640412c3653d5e87a10",
      "tree": "5cc247e8c2d506df3d86b6d2b566492cd14a8a55",
      "parents": [
        "90b0157679a984f1829a72f8c642d17030aa7644",
        "0133944b09d1c0a35041f7a41eb6bfb660144f4f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 21 23:46:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 21 23:46:52 2014 +0000"
      },
      "message": "Merge \"Clean up our OpenBSD usage.\""
    },
    {
      "commit": "0133944b09d1c0a35041f7a41eb6bfb660144f4f",
      "tree": "0cb37ddb83c7cf6363d917791d76420ad6f6e1c1",
      "parents": [
        "e65055af112780623f372aca6a1f78d2b2acb34f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 20 18:04:58 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 21 14:30:18 2014 -0800"
      },
      "message": "Clean up our OpenBSD usage.\n\nAlso undo some of the mess where we have OpenBSD \u003cstdio.h\u003e but a mix of\ndifferent BSD\u0027s implementations.\n\nIn this first pass, I\u0027ve only moved easy OpenBSD stuff.\n\nChange-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6\n"
    },
    {
      "commit": "da030de702b756077fec536ed139e7ea38b51022",
      "tree": "43e29ce4f9b5128e25bb55efb78a4329104e38ac",
      "parents": [
        "44ef37c1b445e864068cdcd885ab3d7b17079ad3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 20 13:40:36 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 21 16:27:21 2014 +0000"
      },
      "message": "Fixed int fast types for LP64\n\nBug: 13110474\nChange-Id: Id5591603ad4ba7e149c0852f4abb25e4e5a5d065\n"
    },
    {
      "commit": "6b5559315d959347fcc01781669f771746cbb2ee",
      "tree": "1a810ab6de06ed4a07b6df58ee967948d4b452ab",
      "parents": [
        "787c1f937a915feefb767d0c6a15ddb70e6de933"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 16:43:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 16:43:31 2014 -0800"
      },
      "message": "Use uid_t and gid_t for st_uid and st_gid in struct stat.\n\nChange-Id: Ide62dc714d76d881e3aa79e7a59ee6533a23dd00\n"
    },
    {
      "commit": "db1ea3474899ebbd783aba872d3005f95a816d0f",
      "tree": "b70fedd7d69098f5141dbbb09ef41851a61eec8d",
      "parents": [
        "3623d80675e5321b92c2d88a7b7ec6bd998d81d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 17 18:42:49 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 15:39:24 2014 -0800"
      },
      "message": "Implement some of the missing LFS64 support.\n\nThis gives us:\n\n* \u003cdirent.h\u003e\n  struct dirent64\n  readdir64, readdir64_r, alphasort64, scandir64\n\n* \u003cfcntl.h\u003e\n  creat64, openat64, open64.\n\n* \u003csys/stat.h\u003e\n  struct stat64\n  fstat64, fstatat64, lstat64, stat64.\n\n* \u003csys/statvfs.h\u003e\n  struct statvfs64\n  statvfs64, fstatvfs64.\n\n* \u003csys/vfs.h\u003e\n  struct statfs64\n  statfs64, fstatfs64.\n\nThis also removes some of the incorrect #define hacks we\u0027ve had in the\npast (for stat64, for example, which we promised to clean up way back\nin bug 8472078).\n\nBug: 11865851\nBug: 8472078\nChange-Id: Ia46443521918519f2dfa64d4621027dfd13ac566\n"
    },
    {
      "commit": "671e236d5fd2cae169c2a31d0a35e66c4fcc5556",
      "tree": "55c1a2a77c279f671d77e23ff1ee89946fd6efde",
      "parents": [
        "fc48e8cf28b80ce0f95e288eeee459b4cb932afa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 12 19:04:27 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 12 19:04:27 2014 -0800"
      },
      "message": "Restore sys_signame for LP64.\n\nmksh is using this, and we probably build as much BSD source as glibc source.\n\nChange-Id: I400d255a67f9614ca9e57090e3a2e49d2b10cba4\n"
    },
    {
      "commit": "aa0ebdafc71e1ceac78e0929b94f3bb117d0c8e9",
      "tree": "e0fa3c926172fbc3e4b1a43950ae2a7ea662deb7",
      "parents": [
        "9e572ca4163e42bcd053df2cb8557e4b61ad064d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 19:57:06 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 12 17:09:25 2014 -0800"
      },
      "message": "Clean up sys_signame and sys_siglist a little.\n\nWe don\u0027t need quite so much duplication because we already have a way\nto get the signal number from its name, and that already copes with the\nfact that the mips/mips64 numbers are different from everyone else\u0027s.\n\nAlso remove sys_signame from LP64. glibc doesn\u0027t have this BSD-ism.\n\nChange-Id: I6dc411a3d73589383c85d3b07d9d648311492a10\n"
    },
    {
      "commit": "199346a2abd8b6ba282e1fe291cc3766fa921f40",
      "tree": "9ee2feb4ffcb2be771e2b733b1338c8755bd306a",
      "parents": [
        "022885e2fad5ef9643e05d80c6f50a2a90bf3431"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 20:01:11 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 22:16:04 2014 -0800"
      },
      "message": "Fix NSIG.\n\nOur sigset_t definition hasn\u0027t been tied to our NSIG definition since we\nswitched to uapi headers, so we can now fix it without breaking the LP32 ABI.\nThe kernel uapi headers define and use _NSIG, so we need to have our scripts\nrename the kernel\u0027s definitions out of the way, then we can define _NSIG\nand NSIG in terms of the kernel\u0027s off-by-one value.\n\nBug: 12938442\nChange-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f\n"
    },
    {
      "commit": "a6ecba4d233d7b769a05ee81ae908c9105352624",
      "tree": "496b3cbe11b5f4037703f3855f7c95704a451d30",
      "parents": [
        "71e4466b100359f36a29c8c0277888df6081a265"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 18:37:02 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 10:24:40 2014 -0800"
      },
      "message": "Clean up cacheflush.\n\nNo cacheflush for LP64; use the GCC builtin instead. Clean up the\n32-bit MIPS implementation now we no longer need to worry about\nold versions of GCC.\n\nBug: 12924756\nChange-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753\n"
    },
    {
      "commit": "0266ae5f884d72da58f33a072e865ba131234a5e",
      "tree": "48763b706806f544b1dec0ef98261bed6f21dee2",
      "parents": [
        "eeb9a9f59a58a2f042e8f6fd1a4911ae92ac5493"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 17:46:57 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 18:22:24 2014 -0800"
      },
      "message": "Switch \u003celf.h\u003e over to linux uapi under the covers.\n\nRemove the linker\u0027s reliance on BSD cruft and use the glibc-style\nElfW macro. (Other code too, but the linker contains the majority\nof the code that needs to work for Elf32 and Elf64.)\n\nAll platforms need dl_iterate_phdr_static, so it doesn\u0027t make sense\nto have that part of the per-architecture configuration.\n\nBug: 12476126\nChange-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487\n"
    },
    {
      "commit": "3a9c5d66dc8d41272f51482b713717af7049697e",
      "tree": "7e2ee59d14ba82f70ed233195ccb04ae5f2afa34",
      "parents": [
        "e74fc3a64fe9296813e5bd867d0c66bd8213be6a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 13:31:13 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 13:31:13 2014 -0800"
      },
      "message": "Fix \u003clink.h\u003e.\n\nAlso move some of the stuff that should be in \u003clink.h\u003e out of the\nprivate \"linker.h\", to make it clearer that these are public API\nknown to gdb that we can\u0027t change.\n\nBug: 12554197\nChange-Id: I830e1260d3d8b833ed99bc1518f1c6b6102be8af\n"
    },
    {
      "commit": "ebd90b9ba99cdd49a4a4eea38b1b8654af942e97",
      "tree": "84c7f281ae270ff073dda6deb9621350aba20488",
      "parents": [
        "c16a4532917259fabc8018d681cdd1ad1b1b5e08"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 07 16:50:55 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 07 16:50:55 2014 -0800"
      },
      "message": "Fix socklen_t (on LP64 only).\n\nToo late to fix LP32 :-(\n\nBug: 12935461\nChange-Id: Ib056ca1eaf9ae8712f88ae21ff94e91b08cf588b\n"
    },
    {
      "commit": "c16a4532917259fabc8018d681cdd1ad1b1b5e08",
      "tree": "53ca50e4054f0acaffa041d2833b832404fbd563",
      "parents": [
        "4affcbf87769c43c4d03ecd60f902b0b6a6cb84a",
        "9f87a0b285128542a221f2b69d3b959a4e33c054"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 08 00:23:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 08 00:23:50 2014 +0000"
      },
      "message": "Merge \"Remove \u003csys/_types.h\u003e.\""
    },
    {
      "commit": "9f87a0b285128542a221f2b69d3b959a4e33c054",
      "tree": "6854c64ecb95a5d048e7880b6493f7448a402ccc",
      "parents": [
        "e163a3986aa7d1c67fe3274eb9204812be0a6245"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 07 14:55:58 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 07 14:55:58 2014 -0800"
      },
      "message": "Remove \u003csys/_types.h\u003e.\n\nBug: 12213562\nChange-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe\n"
    },
    {
      "commit": "645d0312c2d6b6492cc4b3891bc1a91908dc24b7",
      "tree": "4ec0e5c08e0c5a60dc7f9dfbb65e49aa8c57a138",
      "parents": [
        "5036935c41d9193cfbba606df2121cd4c6973116"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Feb 05 18:51:43 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 06 16:22:20 2014 -0800"
      },
      "message": "[MIPS64] libc/libm support\n\nlibc/libm support for MIPS64 targets\n\nChange-Id: I8271941d418612a286be55495f0e95822f90004f\nSigned-off-by: Chris Dearman \u003cchris.dearman@imgtec.com\u003e\nSigned-off-by: Raghu Gandham \u003craghu.gandham@imgtec.com\u003e\n"
    },
    {
      "commit": "9afe2884c7fe11f862982fd550a2ead688f2044d",
      "tree": "69b97d715c09e405c76354e314de27b69723164e",
      "parents": [
        "12e8b76e5f799b2b8407bf354a9675577529d34b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 19:26:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 19:26:31 2014 -0800"
      },
      "message": "Kill \u003cmachine/_types.h\u003e.\n\nMost of \u003cmachine/_types.h\u003e was either unused, wrong, or identical across\nall 32-/64-bit architectures.\n\nI\u0027m not a huge fan of \u003csys/_types.h\u003e either, but moving the bits we need\nup into there is a step forward.\n\nBug: 12213562\nChange-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6\n"
    },
    {
      "commit": "f64b8ea09db3bdd84eed59f7721301743332b3fe",
      "tree": "6d45a510ee831e1bc154170170afe7c931474ebc",
      "parents": [
        "a122c376ef0737454a592cf44f50beabe154e9e3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 03 16:20:46 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 03 16:20:46 2014 -0800"
      },
      "message": "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.\n\nBug: 5287571\nBug: 12612860\nChange-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f\n"
    },
    {
      "commit": "8d60cc63163df81938305632e1b7474aeda17d52",
      "tree": "da12d1c2995aeeea5d08107025b76c31f28aaa6e",
      "parents": [
        "fb4da1e7b749b4cf6843515517e839efa1ee24c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 03 15:41:57 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 03 15:41:57 2014 -0800"
      },
      "message": "Use __inline__ for fortify.\n\nlibunwind has #define inline /* empty */ which breaks our fortified headers.\nglibc uses __inline but our BSD-derived headers often override that. __inline__\nis the third alternative understood by GCC that -- as far as I know -- neither\nthe C library itself nor third-party code tries to mess with.\n\nBug: 12871594\nChange-Id: I6677e70ea531bb7d4c46021b43af760d4ad8ecf7\n"
    },
    {
      "commit": "7b95807fa086174cbab146cbd7c60a6d2e386917",
      "tree": "d1bb0fe2e71d96a91e3bcc60c7c9d8402a7cc433",
      "parents": [
        "07f84025520a9530760a2f2535a1effde5ec51dd"
      ],
      "author": {
        "name": "Ross McIlroy",
        "email": "rmcilroy@google.com",
        "time": "Fri Jan 31 04:45:53 2014 +0000"
      },
      "committer": {
        "name": "Ross McIlroy",
        "email": "rmcilroy@google.com",
        "time": "Fri Jan 31 04:45:53 2014 +0000"
      },
      "message": "Add missing ucontext_t definition to bionic for arch-arm64.\n\nChange-Id: I1ee15230c63e00f01d2063cfffcffe7f1a1eeb6a\n"
    },
    {
      "commit": "3614424e107849c53759ef93b9166e69a76818df",
      "tree": "2db2487dd642e557da50128bd125c8a795b890af",
      "parents": [
        "53a55c121b458e4131e025f1bbe0e4e2b1b232f7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 30 10:39:02 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 30 10:39:02 2014 -0800"
      },
      "message": "Make ARM \u003cuser.h\u003e more glibc-compatible.\n\nChange-Id: I681930ad7f80a5e7bc40eb0f36872e415445f0f9\n"
    },
    {
      "commit": "02c661b88384a4a0cd5dd2b32123968bd992873f",
      "tree": "125c8846b87f9996c6c1a55e3310039112aa0a08",
      "parents": [
        "807bbb75f14543a72b3f745d35f2c97a92752cd0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 18:37:15 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 18:37:15 2014 -0800"
      },
      "message": "Add mips \u003csys/ucontext.h\u003e.\n\nChange-Id: I2821f523f0c3bb4400b2ad5d36e21e5a3d6d777c\n"
    },
    {
      "commit": "4e72fcc3c2b8bcaab653732dfd3edd137602c648",
      "tree": "c08386f914788420c9eb41f4a4627ce4d13d4916",
      "parents": [
        "8f355275920f8be82f56e30087a57b1d5ce49771"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 17:53:59 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 17:53:59 2014 -0800"
      },
      "message": "Add arm \u003csys/ucontext.h\u003e.\n\nChange-Id: I14d435f9e3e82f77d8a7e886ff88c18f5d09d14a\n"
    },
    {
      "commit": "677a07cb9a3f5964e9ead4d37b9f775d971c61e0",
      "tree": "08f35f05834b56e79584cce2c02a9e55539a8176",
      "parents": [
        "972c39c4fee85c5c532eecac409a1384c76b2cc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 16:46:00 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 16:46:00 2014 -0800"
      },
      "message": "Add x86 \u003csys/ucontext.h\u003e.\n\nChange-Id: I43e72604f7a932f134733b78094b577415a5edb7\n"
    },
    {
      "commit": "e61d106008f7d77fa1c0de43ac27311320225135",
      "tree": "7b13d23c2987c0486e71084a1948f1a544d34712",
      "parents": [
        "037b10d05a789eb57878127ee4d69db1008e8c80"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Mon Jan 27 17:56:43 2014 +0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 15:35:33 2014 -0800"
      },
      "message": "Add x86_64 ucontext.h for better compatibility\n\nAs suggested here: https://android-review.googlesource.com/#/c/71267/\nit may be used for x86_64 libunwind enabling.\n\nChange-Id: I21623261a48ea7099e030d33932556e294d226ff\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "e2a292d278b94fec3d078b1f1b27c1f89942c276",
      "tree": "92f56a8b0e38cd4576453bf8db9fdecd8c7fe077",
      "parents": [
        "513f83bb7f6961d60eb10d2ab14fb31fed190bce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 16:37:04 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 16:38:07 2014 -0800"
      },
      "message": "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).\n\nThe various committees decided that everyone should get all these macros,\nall the time.\n\nBug: 12708004\nChange-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916\n"
    },
    {
      "commit": "323d4b6f6839b472ac02c31105727147660dc4db",
      "tree": "e5374de63274cd89e3bfcee3adfd4a0a3b89da00",
      "parents": [
        "ae189740de6b03f06a06214122183a3774f5cb62"
      ],
      "author": {
        "name": "Vadim Markovtsev",
        "email": "gmarkhor@gmail.com",
        "time": "Mon Jan 13 11:54:42 2014 +0400"
      },
      "committer": {
        "name": "Vadim Markovtsev",
        "email": "gmarkhor@gmail.com",
        "time": "Wed Jan 15 07:32:52 2014 +0000"
      },
      "message": "Add \"__noreturn\" to assert and assert2\n\nThese functions should print assertion violation messages and then\ncall abort(). They do really not return control flow afterwards.\nConsider the declaration of the similar __assert_fail from glibc:\n\nextern void __assert_fail (const char *__assertion,\n                           const char *__file,\n\t\t\t   unsigned int __line,\n                           const char *__function)\n     __THROW __attribute__ ((__noreturn__));\n\nBionic has __noreturn defined in sys/cdefs.h to be that GNU\nnoreturn attribute.\n\nThis patch has a practical value. Consider the following function:\n\nvoid check(void* ptr) {\n  assert(ptr !\u003d NULL);\n}\n\nWithout this patch applied, gcc (and presumably clang) shows even in\ndebug mode:\n\nwarning: unused parameter \u0027ptr\u0027 [-Wunused-parameter]\n\nIn release mode, NDEBUG is defined and assert() becomes a no-op, as\none should expect. Thus, the warning is shown correctly then.\n\nAnother code sample:\n\nfloat array[2];\nint i \u003d 3;\n...\nassert(i \u003c 2);\narray[i] \u003d 0;\n\ngcc says,\n\nwarning: array subscript is below array bounds [-Warray-bounds]\n\nIn other words, without noreturn attribute, assertions do not\nallow a compiler\u0027s static analyzer to properly understand\nthe preconditions.\n\nChange-Id: I3be92e99787c528899cf243ed448c4730c00c45b\nSigned-off-by: Vadim Markovtsev \u003cgmarkhor@gmail.com\u003e\n"
    },
    {
      "commit": "ae189740de6b03f06a06214122183a3774f5cb62",
      "tree": "03221fea070b4af89629b84dec4b897d3d37011b",
      "parents": [
        "f784f0365d0c491cba7e6081a072b28ad357fef6",
        "c835c35727e473758903e1c44c7a72aa6b9965fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 10 23:35:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 10 23:35:47 2014 +0000"
      },
      "message": "Merge \"Add some more headers.\""
    },
    {
      "commit": "c835c35727e473758903e1c44c7a72aa6b9965fc",
      "tree": "9a5e7b48e66dade5385e5ea862949da67c480105",
      "parents": [
        "33c3e8d3b2312be3a3eb9d2632c4a570969e1624"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 10 15:32:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 10 15:32:31 2014 -0800"
      },
      "message": "Add some more headers.\n\nThis patch adds trivial implementations of the missing sys headers\nneeded by strace. All strace needs are the constants and structures,\nso this is enough for now. We can come back and add the functions\nif/when we ever need them.\n\nChange-Id: Idb87c1a8b6b1c62f6e16ae94f147e1169722b48e\n"
    },
    {
      "commit": "4e9cb032d1eab7ceaef47f4d5104d2c42d556ce2",
      "tree": "b56bcbacd448e4f54a61c7e6722b5f1ac153a643",
      "parents": [
        "33c3e8d3b2312be3a3eb9d2632c4a570969e1624"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jan 09 14:06:20 2014 -0800"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri Jan 10 01:24:34 2014 +0000"
      },
      "message": "Add extra libc stubs for mntent related functions.\n\nThis adds stubs for setmntent() and endmntent().\n\nChange-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308\n"
    },
    {
      "commit": "33c3e8d3b2312be3a3eb9d2632c4a570969e1624",
      "tree": "8e0e1e6e29a98063ca606a1330d1ae6857ff889a",
      "parents": [
        "8e6bf35a16532f9e90ce85b0674a0ff19dbef557",
        "1272dbd1d76c979358fff3beae9de0c1462345af"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 23:53:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 09 23:53:58 2014 +0000"
      },
      "message": "Merge \"Add NT_PRSTATUS to \u003celf.h\u003e.\""
    },
    {
      "commit": "1272dbd1d76c979358fff3beae9de0c1462345af",
      "tree": "e7fce5f420577ae6b471d75bb8a1f8c5864c51f8",
      "parents": [
        "6114ffb3e16c114c728c31b472263660e2d2210c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 15:45:07 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 15:45:07 2014 -0800"
      },
      "message": "Add NT_PRSTATUS to \u003celf.h\u003e.\n\nNeeded by aarch64.\n\nBug: 12476126\nChange-Id: I7764664459a06cf4f2a60e707bd968d321a78430\n"
    },
    {
      "commit": "8e6bf35a16532f9e90ce85b0674a0ff19dbef557",
      "tree": "ed01c4322aa330c3e80595b6cbcea8cb6e5d31eb",
      "parents": [
        "d29c75f0907f1ea57b37ddbec0a41d8739ece6d8",
        "1c2cf23a0c54619e7a362e1b82b0fb37ec9dd11a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 22:24:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 09 22:24:34 2014 +0000"
      },
      "message": "Merge \"Add \u003csgidefs.h\u003e.\""
    },
    {
      "commit": "f8b2b3c81ea4cebf1f9adbb47cc9dfb81a1ed309",
      "tree": "7c3361a631af642d38c72e0165639d9c4f5db9eb",
      "parents": [
        "6114ffb3e16c114c728c31b472263660e2d2210c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 14:01:18 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 14:01:18 2014 -0800"
      },
      "message": "Fix x86 user_regs_struct.\n\nI fixed x86-64 yesterday, but didn\u0027t fix x86 at the same time.\n\nChange-Id: I5c081f5956dfedb9389af303369b841dd0fc1953\n"
    },
    {
      "commit": "1c2cf23a0c54619e7a362e1b82b0fb37ec9dd11a",
      "tree": "b7164059ffc8d37daa3cf1d77ee7eaf5b9c366d0",
      "parents": [
        "6114ffb3e16c114c728c31b472263660e2d2210c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 13:54:49 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 13:54:49 2014 -0800"
      },
      "message": "Add \u003csgidefs.h\u003e.\n\nChange-Id: I543d502a81dcb8d5969f814b8a9a9c819bc4fa2c\n"
    },
    {
      "commit": "a8a3178445e8a229671977411f44c04844dcc1ab",
      "tree": "4bb201cee62087a277da0dc9328597a102309244",
      "parents": [
        "c65cbf97d9769025ad83d6e7f4e7daa58a273a4c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 12:37:12 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 12:37:12 2014 -0800"
      },
      "message": "Add the glibc-compatible d_fileno.\n\nd_ino is the POSIX name, but glibc also offers d_fileno, and\nthat\u0027s what strace is using.\n\nChange-Id: I3fadbe7a64700b42e78c7f4631620e864d43147b\n"
    },
    {
      "commit": "0f461e35f63200641fc53bba222845a84589c024",
      "tree": "d5b0d3a9e13f4699bdc57dfd422a69ddfdde5090",
      "parents": [
        "8276d2875f64587e266567f5bb2c5e0c70ef0a5d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 10:17:03 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 11:00:04 2014 -0800"
      },
      "message": "Fix \u003csys/resource.h\u003e.\n\nThe situation here is a bit confusing. On 64-bit, rlimit and rlimit64 are\nthe same, and so getrlimit/getrlimit64, setrlimit/setrlimit64,\nand prlimit/prlimit64 are all the same. On 32-bit, rlimit and rlimit64 are\ndifferent. 32-bit architectures other than MIPS go one step further by having\nan even more limited getrlimit system call, so arm and x86 need to use\nugetrlimit instead of getrlimit. Worse, the 32-bit architectures don\u0027t have\n64-bit getrlimit- and setrlimit-equivalent system calls, and you have to use\nprlimit64 instead. There\u0027s no 32-bit prlimit system call, so there\u0027s no\neasy implementation of that --- what should we do if the result of prlimit64\nwon\u0027t fit in a struct rlimit? Since 32-bit survived without prlimit/prlimit64\nfor this long, I\u0027m not going to bother implementing prlimit for 32-bit.\n\nWe need the rlimit64 functions to be able to build strace 4.8 out of the box.\n\nChange-Id: I1903d913b23016a2fc3b9f452885ac730d71e001\n"
    },
    {
      "commit": "8276d2875f64587e266567f5bb2c5e0c70ef0a5d",
      "tree": "60bc968250a6ff1acf1d102ebb523e96834adfc8",
      "parents": [
        "66f473ef3313a2af7b9639f134e107a804d1e164",
        "38f0ef3ff7143ae22c07763f23860f445b9ddacb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 01:15:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 09 01:15:27 2014 +0000"
      },
      "message": "Merge \"Our dirent is a dirent64.\""
    },
    {
      "commit": "38f0ef3ff7143ae22c07763f23860f445b9ddacb",
      "tree": "51db2f544c77b43f21c2800fb944c2f96868f019",
      "parents": [
        "8a6eec38eb19b5af317b57c15459f9786df83eba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 16:31:36 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 16:31:36 2014 -0800"
      },
      "message": "Our dirent is a dirent64.\n\nChange-Id: Idc9ebfd900fddd4f7c7ac95bc9b74401ebc801a3\n"
    },
    {
      "commit": "5b17e4da39a4f6b6fde1560fe7e4c335297aef02",
      "tree": "c38a4cc059071d50390130b81bef8c6adb41547e",
      "parents": [
        "8a6eec38eb19b5af317b57c15459f9786df83eba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 16:29:22 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 16:29:22 2014 -0800"
      },
      "message": "Add \u003csys/reg.h\u003e.\n\nThis describes the offsets into ptrace\u0027s returned arrays of registers\nfor x86 and x86-64.\n\nChange-Id: I044f03e286673999a298b73a813d4ad366625845\n"
    },
    {
      "commit": "8a6eec38eb19b5af317b57c15459f9786df83eba",
      "tree": "aa2e95dbac43d69bd0114cef3d89e88813bd2c7e",
      "parents": [
        "5d5cc2273f7be6b3d9fe4e5787ab22bc137c811a",
        "eddc8ece3de370fc321d7b974f6565db3a91543b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 00:24:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 09 00:24:55 2014 +0000"
      },
      "message": "Merge \"Fix x86_64 register names in \u003csys/user.h\u003e.\""
    },
    {
      "commit": "eddc8ece3de370fc321d7b974f6565db3a91543b",
      "tree": "990ffed4dc77fe2d8b73dd39b6452bbedb4518de",
      "parents": [
        "4c8caf0ad39768e614fb4c1f5ef415aab223adb2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 15:54:19 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 15:54:19 2014 -0800"
      },
      "message": "Fix x86_64 register names in \u003csys/user.h\u003e.\n\nChange-Id: Ieb327247a41f6195589716170e324d1cd1251b96\n"
    },
    {
      "commit": "155b0764204934de4b81f95c57f957a059a82a32",
      "tree": "bd3e408c08a10f2383a53484b2ea1e28a11a84e3",
      "parents": [
        "4c8caf0ad39768e614fb4c1f5ef415aab223adb2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 15:51:13 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 15:51:13 2014 -0800"
      },
      "message": "We shouldn\u0027t have a \u003csys/dirent.h\u003e that\u0027s a subset of \u003cdirent.h\u003e.\n\nglibc has no \u003csys/dirent.h\u003e. If we do have to bring this back, we\nshould probably just have one file #include the other.\n\nChange-Id: I5c0bf9c03769daf3b23f69778e9f01f81c3de9ec\n"
    },
    {
      "commit": "4c8caf0ad39768e614fb4c1f5ef415aab223adb2",
      "tree": "2098c40f20f777879316136d5dbcfaed1a47113b",
      "parents": [
        "4faf76ca114a11cd264b0f5907e517add4585b27",
        "bbb34f9536db8234b0b43bd5333256fa4accc50e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 02:41:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 02:41:04 2014 +0000"
      },
      "message": "Merge \"\u003csched.h\u003e should offer both __sched_priority and sched_priority.\""
    },
    {
      "commit": "4faf76ca114a11cd264b0f5907e517add4585b27",
      "tree": "0f12648ea75e46b619d1145a01de7b4aa68e87cf",
      "parents": [
        "bc4e135a8ec0a72d07b2d74a082067e8e56c1f62",
        "01e505ac9c321307eedcb7f34fb1dabac8949184"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 02:40:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 02:40:44 2014 +0000"
      },
      "message": "Merge \"\u003cfcntl.h\u003e should get you the POSIX_FADV_* constants.\""
    },
    {
      "commit": "bc4e135a8ec0a72d07b2d74a082067e8e56c1f62",
      "tree": "f0e624c7c6dd30991f47fe3b89645d0767fa9b9f",
      "parents": [
        "1c1b83549f8b96fec4cb7037cf595171909855c2",
        "65c6f3099e95ece2f0322569c1a101faa8d53942"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 02:31:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 02:31:55 2014 +0000"
      },
      "message": "Merge \"Add SWAP_FLAG_* constants to \u003csys/swap.h\u003e.\""
    },
    {
      "commit": "65c6f3099e95ece2f0322569c1a101faa8d53942",
      "tree": "efae8b58d4d05ab1f2d24e044436cd2343a39789",
      "parents": [
        "27a4bb319885f9ed218ebca02a92870582b35fd4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:46:06 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 08 02:23:06 2014 +0000"
      },
      "message": "Add SWAP_FLAG_* constants to \u003csys/swap.h\u003e.\n\nBug: 9336527\nChange-Id: I679be4d8425ba177dd782e714f465caf9daa976c"
    },
    {
      "commit": "bbb34f9536db8234b0b43bd5333256fa4accc50e",
      "tree": "63d74cc20c81dfac9af8c7f394ad8051337034cc",
      "parents": [
        "27a4bb319885f9ed218ebca02a92870582b35fd4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:48:30 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:48:30 2014 -0800"
      },
      "message": "\u003csched.h\u003e should offer both __sched_priority and sched_priority.\n\nIf glibc hadn\u0027t already done things this way round, I\u0027d have\ncalled the field sched_priority and the macro __sched_priority\nsince that would seem less likely to cause trouble, but glibc\nsource compatibility is probably more important.\n\nChange-Id: I8a8a477f2aa87cae641069c5c84b4fcab3152a82\n"
    },
    {
      "commit": "01e505ac9c321307eedcb7f34fb1dabac8949184",
      "tree": "1163fc81bfa0e149826e4586cbc6eb09f2472ea0",
      "parents": [
        "27a4bb319885f9ed218ebca02a92870582b35fd4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:47:20 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:47:20 2014 -0800"
      },
      "message": "\u003cfcntl.h\u003e should get you the POSIX_FADV_* constants.\n\nChange-Id: I9de8b840570b228308c12d72b7617b8758237fb8\n"
    },
    {
      "commit": "abfc88fed79fced91b3b2cd8f3eb20f98c03452d",
      "tree": "c7b35bb701b46c744c0d88ccc8f942dbf7dcc255",
      "parents": [
        "27a4bb319885f9ed218ebca02a92870582b35fd4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:44:51 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 17:44:51 2014 -0800"
      },
      "message": "Define fsid_t as well as __fsid_t.\n\nChange-Id: Ib8efbd913a0e6bfe27b88c1342bd5cec926dd74e\n"
    },
    {
      "commit": "b235f8c8773c08569a97b0ff7e4c709b216c8478",
      "tree": "2f7afcd4cfd1b6c810e40a69e9f0f5f4dd00f6ca",
      "parents": [
        "8c8852f163c1263e539ba64a41f1389fa487377a",
        "894f8cb1395d3409bb995d18abc1b3409c557d01"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 06 20:37:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 06 20:37:03 2014 +0000"
      },
      "message": "Merge \"Fix dev_t (for LP64).\""
    },
    {
      "commit": "338e6102a60a33661812753f03f1d426ab1a7fe1",
      "tree": "4abbe89d2567f41188275f2ae2079b98f7166139",
      "parents": [
        "c1c3f7d4468f02adbf8ced689d738386e42af773"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 15:58:40 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 15:58:40 2014 -0800"
      },
      "message": "Add TCPOPT_* constants.\n\nAdds the TCPOPT_* constants from NetBSD. Note that the BSDs also have\nTCPOPT_SIGNATURE, but Linux calls that TCPOPT_MD5SIG and glibc doesn\u0027t\nhave any corresponding constant yet, so let\u0027s wait until we see which name\nwins out.\n\nChange-Id: If53cdada5595285d9a7e7248ef74cd7502d804c0\n"
    },
    {
      "commit": "894f8cb1395d3409bb995d18abc1b3409c557d01",
      "tree": "c9ddda0d60085077fd96cd301c3ccbe16c581578",
      "parents": [
        "c1c3f7d4468f02adbf8ced689d738386e42af773"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 14:49:37 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 14:49:37 2014 -0800"
      },
      "message": "Fix dev_t (for LP64).\n\n32-bit Android\u0027s dev_t was wrong too. We can\u0027t fix that without ABI breakage,\nbut we can at least fix 64-bit Android. And add tests.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d54966\nChange-Id: Ie2e42cc042b78b669a1a44e55f959dbd9c52c5c9\n"
    },
    {
      "commit": "887e1140fe7596fa1239a0bc802d2cdb51c57d3c",
      "tree": "de277e97257d5397d6ae36287a080477966dac5c",
      "parents": [
        "17c9fe7d2f396294a09344a253b2a16ae400df14"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 02 12:05:50 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 02 12:05:50 2014 -0800"
      },
      "message": "Clean up \u003csched.h\u003e.\n\nThis patch switches to using the uapi constants. It also adds the missing\nsetns system call, fixes sched_getcpu\u0027s error behavior, and fixes the\ngensyscalls script now ARM is uapi-only too.\n\nChange-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d\n"
    },
    {
      "commit": "68d89c7d65678871cb4ce629765193f956944730",
      "tree": "155c66e016168496ad682b70637a0399579b7ab1",
      "parents": [
        "22323f91b11b0fbaa0a101a75e116132028a5817"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 17:26:30 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 17:26:30 2013 -0800"
      },
      "message": "Remove some old kernel header cruft not needed with uapi.\n\nChange-Id: If543b056ae40f0eb660be4a0629ad22f4c4cb92f\n"
    },
    {
      "commit": "aa267685c9da11502c4ec50f86f78a7075b6809c",
      "tree": "5e588932f07d7a4d8361dc41b5dba866d9227a1c",
      "parents": [
        "ea23753ea0a4d07924d9605d9acb44f51787ddd7",
        "cd0609f4fcec9bdcb99a2127137c5570b18c499c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 02:54:55 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 20 02:54:56 2013 +0000"
      },
      "message": "Merge \"Allow GCC-built fortified code to run on a clang-built bionic.\""
    },
    {
      "commit": "b8fa5b1ca9fc9b8b92875d2d9f33df3c8310aa09",
      "tree": "de6b8214db56c8db43f107a6e02290a0e460ac8d",
      "parents": [
        "ed96db2a4f2fe5683407c3571d037bb7325544da"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 19 16:50:22 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 19 16:50:22 2013 -0800"
      },
      "message": "Fix struct stat for aarch64.\n\nAnother kernel, another struct stat.\n\nChange-Id: Ia5ee553d4a2ffc878d2fed82a763ff64c02b12e8\n"
    },
    {
      "commit": "cd0609f4fcec9bdcb99a2127137c5570b18c499c",
      "tree": "c44ef75939752fb371678851d00688bdbd0e27a9",
      "parents": [
        "cf7a4a4fda076ec76bb79fdbd039665171e8cd75"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 19 12:21:07 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 19 14:20:22 2013 -0800"
      },
      "message": "Allow GCC-built fortified code to run on a clang-built bionic.\n\nEven though code built with clang won\u0027t be fully fortified\nand won\u0027t contain calls to our various helpers, binaries built\nwith GCC will.\n\nChange-Id: I389b2f1e22a3e89b22aadedc46397bf704f9ca79\n"
    },
    {
      "commit": "ad8842f5c67dea52a2b4ce280b612f41846cd2ef",
      "tree": "ff36713ad2efab27cbfd302a54f726a439363d96",
      "parents": [
        "7649766b4569af52e6875828186fdf4924cadb3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 18 12:22:33 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 18 12:22:33 2013 -0800"
      },
      "message": "Don\u0027t use __kernel_ulong_t.\n\nChange-Id: Ifdfbac0ac6da647276a84bd64bb342bb5a07ad61\n"
    },
    {
      "commit": "2b333ea31ec5b5b4627f14b22253b017b346638a",
      "tree": "2445413705d53303a63fcb8997cff38388d63f2e",
      "parents": [
        "d2bcbf0dbec86b8f27b1b3d939025098f134ea60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 18 11:21:55 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 18 11:21:55 2013 -0800"
      },
      "message": "Remove \u003cmachine/kernel.h\u003e.\n\nBug: 12175484\nChange-Id: I127f7f91f36bd879109d653e0c56ec56e2529d4d\n"
    },
    {
      "commit": "c13fb75ceabb47f8292be206db80b93889fccf66",
      "tree": "6aca1af2e53339d0c6f04abf3fa9fa696d9268c9",
      "parents": [
        "f293b15728031432317791fb4a17a423545d37b3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 17 20:43:30 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 17 20:43:30 2013 -0800"
      },
      "message": "Move bionic over to GCC\u0027s \u0027warning\u0027 attribute.\n\nThis is a better solution than the old __warn_references because it\u0027s\na compile-time rather than link-time warning, it doesn\u0027t rely on something\nthat doesn\u0027t appear to be supported by gold (which is why you only used\nto see these warnings on mips builds), and the errors refer to the exact\ncall site(s) rather than just telling you which object file contains a\nreference to the bad function.\n\nThis is primarily so we can build bionic for aarch64; building libc.so\ncaused these warnings to fire (because link time is the wrong time) and\nwarnings are errors.\n\nChange-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3\n"
    },
    {
      "commit": "c2f082f65528a889aca7cde4b343aaf36199ba82",
      "tree": "5a25b53321b7dc3ecef8e241eb07133df30eb5b3",
      "parents": [
        "5aad083f3de0bbcc0ffb1fecb688fbbe5abe5214"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:31:35 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:31:35 2013 -0800"
      },
      "message": "Make \u003csys/param.h\u003e more glibc-like.\n\nIn particular, add MAX and MIN, needed by elfutils.\n\nBug: 11864683\nChange-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718\n"
    },
    {
      "commit": "ed45970ac5a182e512669cfa5c15b9f4fa783ad7",
      "tree": "c8038ea495e3822f652d45eb06efe739b246268b",
      "parents": [
        "ab0b0cdf1b07eb25ad89e0de08d4b3fd453602fe"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 02 17:44:53 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 02 19:13:12 2013 -0800"
      },
      "message": "Add cfi directives to all arm assembly.\n\nSince the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the\ncustom arm assembly has no unwind information. Adding the proper cfi directives\nfor these and removing the arm directives.\n\nUpdate the gensyscalls.py script to add these cfi directives for the generated\nassembly. Also fix the references to non-uapi headers to the proper uapi\nheader.\n\nIn addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not\nneeded at all. The unwinder (libunwind) is able to properly unwind using the\nnormal abort.\n\nAfter this change, I can unwind through the system calls again.\n\nBug: 11559337\nBug: 11825869\nBug: 11321283\n\nChange-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3\n"
    },
    {
      "commit": "ab797cb4fded31cd30f4cd778f0b850c6801e7db",
      "tree": "1372663bbd473c185a53d7c2f25fbc0ff7319f3b",
      "parents": [
        "98c910fb217a5c094e3101e57c52a618beaa23db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 26 17:57:31 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 26 17:57:31 2013 -0800"
      },
      "message": "Finish \u003csys/user.h\u003e.\n\nChange-Id: I1d97d7fa3d5be2ff4728571ed5376705a27091ec\n"
    },
    {
      "commit": "e96d4bffe5eadd6f70eaefef1d6efcb00f6b23be",
      "tree": "d0fee6dbb05d6294b63ec1550f47eecbc2ae5117",
      "parents": [
        "5a52bd34f1b7e49e28b31dd2c186de8bdef47451"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 13:58:38 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 13:58:38 2013 -0800"
      },
      "message": "Make \u003csys/timerfd.h\u003e standalone.\n\nThere\u0027s no uapi timerfd.h.\n\nBug: 11559337\nChange-Id: I77a4b1365fdcf2c9f18673b11341a165e54b4bbd\n"
    },
    {
      "commit": "dd1d4f1cfd6c4c6eca27cc2f7f477e0518dc0924",
      "tree": "9f982826b48dfda34e3dfc955ff62aff614d6d35",
      "parents": [
        "038919d37c01e52f5a976247f482daacfa206393",
        "985c3fbb3b1dabfa799e2a8c102867349bcb5a76"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Nov 23 08:02:04 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 23 08:02:04 2013 -0800"
      },
      "message": "am 985c3fbb: Merge \"Move arm user.h definitions to sys/user.h.\"\n\n* commit \u0027985c3fbb3b1dabfa799e2a8c102867349bcb5a76\u0027:\n  Move arm user.h definitions to sys/user.h.\n"
    },
    {
      "commit": "363390eaffaf991b13c9666bb82af7ab793976f6",
      "tree": "6409e459d44727c844d149f5af17fcd5aab66a6e",
      "parents": [
        "26f0e54ae083727ee66ee35531ed00338570d792"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 22 18:00:09 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 22 18:00:09 2013 -0800"
      },
      "message": "Move arm user.h definitions to sys/user.h.\n\nThere is no uapi user.h file for arm, it was included by accident.\nMove the user struct definition into the file to follow the pattern\nused by the other architectures.\n\nChange-Id: Ib9cea0deca551c9268382ddd6de9202fd32ef941\n"
    },
    {
      "commit": "f00c938c7f5887981d724bf2dd9989ee0af08332",
      "tree": "215f86cc9ce1b1ed167d925419122327d3ffaa3e",
      "parents": [
        "a626e4d8bc3d59cc328942fc30ffc04981b154ed",
        "811b0cdb2d6e4a697dbc63a678712759dd0db242"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 22 11:08:12 2013 -0800"
      },
      "committer": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Fri Nov 22 13:38:33 2013 -0800"
      },
      "message": "Merge commit \u0027811b0cdb2d6e4a697dbc63a678712759dd0db242\u0027 into HEAD\n\nChange-Id: I786944f80fb1a2d502fed51dc2c391ed5db66761\n"
    },
    {
      "commit": "880d0e6c64eb49736125648d1539726629308316",
      "tree": "7a138dfc0c460c7af3a3e0f754fb042dbc8722f5",
      "parents": [
        "eec57b370642f1b83285883104f2e778f32eef73",
        "811cba00af83c72673c079cc433f72a652814bcf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 20:37:25 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 21 20:37:26 2013 +0000"
      },
      "message": "Merge \"Remove hidden __reboot from header\""
    },
    {
      "commit": "811cba00af83c72673c079cc433f72a652814bcf",
      "tree": "d2bb076c4b2735b43b79156210b3734343cc9451",
      "parents": [
        "f1258672d1eed41da30612a70690c19ff1966b73"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Thu Nov 21 23:13:08 2013 +0400"
      },
      "committer": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Fri Nov 22 00:19:34 2013 +0400"
      },
      "message": "Remove hidden __reboot from header\n\nThis change is required:\nhttps://android-review.googlesource.com/#/c/70570\n\nChange-Id: Idb991f96a424aa5b0f9e06d9fb787fe8c8530750\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "9c67d4307c6be91618a75f0255e701fc69f3b55f",
      "tree": "b236872b0e3ca0107e1e0466b5131354e2384d3a",
      "parents": [
        "ca045a19234a9323ea0e7eccbe3aefd74f9c1bab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 08:55:46 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 08:55:46 2013 -0800"
      },
      "message": "Fix useconds_t for LP64.\n\nChange-Id: I869e60484999c1feda3dcdb86bee5b5373e6b3df\n"
    },
    {
      "commit": "ab61eb366ac48addf2bca6093a34455193f5c8df",
      "tree": "335fe463aa773ac8484c40e955fec90f126c9e4f",
      "parents": [
        "39bc7ecd45700e9edac0b29d33cc211383ebb107"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 16:09:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 16:24:16 2013 -0800"
      },
      "message": "Switch to upstream sleep(3) and usleep(3).\n\nAlso fix the signature of usleep, and the definition of useconds_t which\nshould be unsigned, as the \u0027u\u0027 in its name implies.\n\nThis patch also cleans up the existing FreeBSD hacks by moving the libm\nstuff from \u003csys/cdefs.h\u003e to a libm-private header, and adding comments\nabout the hacks we use to build FreeBSD source.\n\nChange-Id: Ibe5067a380502df94a0a3a7901969b35411085b6\n"
    },
    {
      "commit": "d8482b6c7eae54c37bc769030d60c2a5af187f89",
      "tree": "4d695b20c87260f10c18b57ef033209759a5ec96",
      "parents": [
        "db1dec1ed4fac8bdb312a53e63ba8afeb3c9dea3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 12:51:52 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 12:51:52 2013 -0800"
      },
      "message": "Fix \u003csignal.h\u003e for mips uapi.\n\nBug: 11559337\nChange-Id: I4c6080f162d74ee78c81d698c7b50470b0e09586\n"
    },
    {
      "commit": "e888de81df66036903cde08402ab8e93c910e337",
      "tree": "2bf3298ace028c9430e8df26828ef3828f013527",
      "parents": [
        "1b2d214b62ad7bf46f37c79442a69d930aa29027"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 19 15:32:31 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 19 15:32:31 2013 -0800"
      },
      "message": "Provide \u003csys/user.h\u003e.\n\nstrace wants this, for example.\n\nChange-Id: Icb4d64bde392abbc091fa3375a4fa19b2707b12c\n"
    },
    {
      "commit": "2ecc164ae9b8062e29faf5eca491669e2741cab3",
      "tree": "7e439e620ea4ab1f975ffdf8e9640dc16f9b8854",
      "parents": [
        "68723453ac920004fcba2a820c2d56919a5b7081"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 08 14:38:12 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 08 14:38:12 2013 -0800"
      },
      "message": "Remove the dependency on the non-uapi __kernel_nlink_t.\n\nThe kernel doesn\u0027t have an nlink_t; it just uses the equivalent of\nuint32_t. We already had a usable __nlink_t in the C library, so\nlet\u0027s just define our nlink_t in terms of __nlink_t, which is what\n__nlink_t was meant for anyway.\n\nNote that our struct stat just follows the kernel, and doesn\u0027t refer\nto nlink_t anyway.\n\nChange-Id: I2a56e418e42404b1741b08c50554b03c11caebae\n"
    },
    {
      "commit": "61fb3fc770566c7bafe7af8fb93590bcad387fbb",
      "tree": "6ee5199c60b3105c89e8dcf01a6d065007533013",
      "parents": [
        "266eb4a44c4cdd9502980511ff2846fde5c66454"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 07 12:28:46 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 07 12:29:07 2013 -0800"
      },
      "message": "Prepare to switch to the uapi \u003clinux/signal.h\u003e.\n\n\u003ctime.h\u003e didn\u0027t need to copy the cruft from \u003csignal.h\u003e, and\n\u003csignal.h\u003e only needs the uid_t hack when it\u0027s not using\nuapi headers.\n\npthread_exit.cpp should include what it uses.\n\nChange-Id: I836c36abe0f0a781d41fc425b249d1c7686bb124\n"
    },
    {
      "commit": "40596aa0054bcfa76148f55321bf4b979e2242be",
      "tree": "5e7f3d342b548177c5fb486878477ccfe5708f03",
      "parents": [
        "f1258672d1eed41da30612a70690c19ff1966b73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 05 14:54:29 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 06 12:04:48 2013 -0800"
      },
      "message": "Make cpp.py less braindead.\n\nThe old code ignored operator precedence (!), despite having two tables\nof operator precedence. The code\u0027s still pretty awful, but I\u0027ve cleaned\nit up enough to fix this, the most important bug.\n\nThis patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,\nand also fixes the mess we were already making of various old kernel\nheader files. I\u0027ve added a bunch more tests, fixed the existing tests that\nthe existing script was already failing (!), and changed the script so that\nthe tests are run every time the script is run.\n\nWe can probably remove some of the old kernel header files that we were\nparsing incorrectly, but we can worry about that later.\n\nBug: 11253477\nChange-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5\n"
    },
    {
      "commit": "3503ce2177a56a8807887ee540abc68377483393",
      "tree": "aba3d28a4d9cb417370653427e631dd9416f1445",
      "parents": [
        "9b9f0d0cd05b5249e4b8119a8bd12ec17712b9da"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 05 13:28:36 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 05 13:28:36 2013 -0800"
      },
      "message": "Fix \u003csys/select.h\u003e for LP64, clean up \u003ctime.h\u003e.\n\nThe 64-bit uapi headers don\u0027t define FD_CLR and friends, so this\npatch updates libc/kernel/common/linux/time.h after the change\nb934bbec145e9e084bf48149a3a94ae3dd132157 in external/kernel-headers,\nthen fixes \u003csys/select.h\u003e to work in this new world, and removes\nsome now-unnecessary duplication from \u003ctime.h\u003e (with other cruft\ncleaned up while I\u0027m here).\n\nChange-Id: Ifd26f901b4d200c65065b3e6ef1b74055127e052\n"
    },
    {
      "commit": "c3f114037dbf028896310609fd28cf2b3da99c4d",
      "tree": "e463aeb3604177cd93cea8a58936a8dce4b34ee5",
      "parents": [
        "d0d0b52da375bfa85947a4257198791f615f18a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 30 14:40:09 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 31 12:31:16 2013 -0700"
      },
      "message": "\u003cpthread.h\u003e fixes and pthread cleanup.\n\n\u003cpthread.h\u003e was missing nonnull attributes, noreturn on pthread_exit,\nand had incorrect cv qualifiers for several standard functions.\n\nI\u0027ve also marked the non-standard stuff (where I count glibc rather\nthan POSIX as \"standard\") so we can revisit this cruft for LP64 and\ntry to ensure we\u0027re compatible with glibc.\n\nI\u0027ve also broken out the pthread_cond* functions into a new file.\n\nI\u0027ve made the remaining pthread files (plus ptrace) part of the bionic code\nand fixed all the warnings.\n\nI\u0027ve added a few more smoke tests for chunks of untested pthread functionality.\n\nWe no longer need the libc_static_common_src_files hack for any of the\npthread implementation because we long since stripped out the rest of\nthe armv5 support, and this hack was just to ensure that __get_tls in libc.a\nwent via the kernel if necessary.\n\nThis patch also finishes the job of breaking up the pthread.c monolith, and\nadds a handful of new tests.\n\nChange-Id: Idc0ae7f5d8aa65989598acd4c01a874fe21582c7\n"
    },
    {
      "commit": "126405039e408ac58567cff76d923c37794ea30f",
      "tree": "c0a6a9e5e929ec341c62000c7aa4d8440fffd02e",
      "parents": [
        "6e504fdaff6cb85edca312db56ce79f3477e4db1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 21:28:40 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 21:28:40 2013 -0700"
      },
      "message": "Update \u003csys/exec_elf.h\u003e to include EM_AARCH64.\n\nUpstream added the constant for us.\n\nChange-Id: I197e32d2e5b3fd499d069546ccfcc1d35d65e0a0\n"
    },
    {
      "commit": "7f8863dc07377544c1289efd0aaf787f5a4ecc04",
      "tree": "11da1e44adc234588a9926c61b54669c8319d3c7",
      "parents": [
        "93b7b8191238a8735141ed0f0b1222d8a30be3cc"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Oct 10 23:05:06 2013 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 16:18:42 2013 -0700"
      },
      "message": "AArch64: Autogenerated syscalls for AArch64\n\nThis patch adds AArch64 syscalls, autogenerated using:\n        ./libc/tools/gensyscalls.py\n\nChange-Id: I1cc60430423ecb52a35448bf2c358b82136b2f16\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "74ce45972d88604aa759040cfd2570674cfb439d",
      "tree": "375a1f8838e1f1aada4bfda687c453a4a0213658",
      "parents": [
        "486d99f050a609c16641614edc72d71746ce859a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 14:59:41 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 14:59:41 2013 -0700"
      },
      "message": "Update \u003csys/exec_elf.h\u003e to get the DF_* flags.\n\nChange-Id: Ia9e785f6b95122f94ee3b01a312db1d5bb91a72e\n"
    },
    {
      "commit": "e4d792adb8d6f9228b9ac9dc1ad7f43b271f085f",
      "tree": "2424b3c3c863e813eb56bdb2d21aac571cc7f30b",
      "parents": [
        "3ec5d8954b41f2e51d6ff7851533f1db1eba9a09"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 14:19:05 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 14:34:56 2013 -0700"
      },
      "message": "Don\u0027t allow text relocations on 64-bit.\n\nI\u0027ve also updated our \u003csys/exec_elf.h\u003e to match upstream.\n\nChange-Id: I52f9fce3167541811208d273ff23ceaa112f7135\n"
    }
  ],
  "next": "27586ebe1a7f2f45651b855a26b3203d63d015d6"
}
