)]}'
{
  "log": [
    {
      "commit": "72656157f54c47277b01ec85a6ba7c4084fea6c8",
      "tree": "971a42bacaaae0a5f48f3b72d59ad6b7aeae3666",
      "parents": [
        "a223dbd27ae36fe53f9f67f86caf685b729593fc"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Nov 18 16:51:48 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 19 01:11:08 2017"
      },
      "message": "fix fgetwc when decoding a character that crosses buffer boundary\n\nUpdate the buffer position according to the bytes consumed into st when\ndecoding an incomplete character at the end of the buffer.\n"
    },
    {
      "commit": "a223dbd27ae36fe53f9f67f86caf685b729593fc",
      "tree": "68c77c0d8c0491da9b9fa573919205a4eb5c2f47",
      "parents": [
        "105eff9dec51bc4898a74af2854ab71f927a5c3b"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Nov 15 04:47:05 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Nov 15 04:54:02 2017"
      },
      "message": "add reverse iconv mappings for JIS-based encodings\n\nthese encodings are still commonly used in messaging protocols and\nsuch. the reverse mapping is implemented as a binary search of a list\nof the jis 0208 characters in unicode order; the existing forward\ntable is used to perform the comparison in the search.\n"
    },
    {
      "commit": "105eff9dec51bc4898a74af2854ab71f927a5c3b",
      "tree": "5ee1447893b7b760c599afb19341b5f8f2eb8ee3",
      "parents": [
        "a71b46cfd289aa0ff829fc9a436c59c398f8326d"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Nov 13 23:34:27 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Nov 13 23:34:27 2017"
      },
      "message": "generalize iconv framework for 8-bit codepages\n\npreviously, 8-bit codepages could only remap the high 128 bytes; the\nlow range was assumed/forced to agree with ascii. interpretation of\ncodepage table headers has been changed so that it\u0027s possible to\nrepresent mappings for up to 256 slots (fewer if the initial portion\nof the map is elided because it coincides with unicode codepoints).\nthis requires consuming a bit more of the 10-bit space of characters\nthat can be represented in 8-bit codepages, but there\u0027s still a plenty\nleft. the size of the legacy_chars table is actually reduced now by\neliding the first 256 entries and considering them to map implicitly\nvia the identity map.\n\nbefore these changes, there seem to have been minor bugs/omissions in\ncodepage table generation, so it\u0027s likely that some actual bug fixes\nare silently included in this commit. round-trip testing of a few\ncodepages was performed on the new version of the code, but no\ndifferential testing against the old version was done.\n"
    },
    {
      "commit": "a71b46cfd289aa0ff829fc9a436c59c398f8326d",
      "tree": "d830e2f59a7d4dd89aad7288224597b80af5677e",
      "parents": [
        "d060edf6c569ba9df4b52d6bcd93edde812869c9"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Nov 13 20:27:10 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Nov 13 20:27:10 2017"
      },
      "message": "fix malloc state corruption when ldso rejects loading a second libc\n\ncommit c49d3c8adadfa24235fcf4779bb722b1aa6f480b added logic to detect\nattempts to load libc.so via another name and instead redirect to the\nexisting libc, rather than loading two and producing dangerously\ninconsistent state. however, the check for and unmapping of the\nduplicate libc happened after reclaim_gaps was already called,\ndonating the slack space around the writable segment to malloc.\nsubsequent unmapping of the library then invalidated malloc\u0027s free\nlists.\n\nfix the issue by moving the call to reclaim_gaps out of map_library\ninto load_library, after the duplicate libc check but before the first\ncall to calloc, so that the gaps can still be used to satisfy the\nallocation of struct dso. this change also eliminates the need for an\nugly hack (temporarily setting runtime\u003d1) to avoid reclaim_gaps when\nloading the main program via map_library, which happens when ldso is\ninvoked as a command.\n\nonly programs/libraries erroneously containing a DT_NEEDED reference\nto libc.so via an absolute pathname or symlink were affected by this\nissue.\n"
    },
    {
      "commit": "d060edf6c569ba9df4b52d6bcd93edde812869c9",
      "tree": "f26a23cf774dd6ce3cd05478c06645e488ae8c24",
      "parents": [
        "c21051e90cd27a0b26be0ac66950b7396a156ba1"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Nov 11 06:32:30 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Nov 11 07:04:30 2017"
      },
      "message": "reformat cjk iconv tables to be diff-friendly, match tool output\n\nthe new version of the code used to generate these tables forces a\nnewline every 256 entries, whereas at the time these files were\noriginally generated and committed, it only wrapped them at 80\ncolumns. the new behavior ensures that localized changes to the\ntables, if they are ever needed, will produce localized diffs. other\ntables including hkscs were already committed in the new format.\n\nbinary comparison of the generated object files was performed to\nconfirm that no spurious changes slipped in.\n"
    },
    {
      "commit": "c21051e90cd27a0b26be0ac66950b7396a156ba1",
      "tree": "aa4367f565765f4e8b155e19b320fac6b68eaa40",
      "parents": [
        "a39f20bf9f8e59573a479bff23df345b2b4d2345"
      ],
      "author": {
        "name": "Bobby Bingham",
        "email": "koorogi@koorogi.info",
        "time": "Sat Nov 11 00:15:43 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Nov 11 00:27:57 2017"
      },
      "message": "prevent fork\u0027s errno from being clobbered by atfork handlers\n\nIf the syscall fails, errno must be set correctly for the caller.\nThere\u0027s no guarantee that the handlers registered with pthread_atfork\nwon\u0027t clobber errno, so we need to ensure it gets set after they are\ncalled.\n"
    },
    {
      "commit": "a39f20bf9f8e59573a479bff23df345b2b4d2345",
      "tree": "e8b70165af9c19269e1ae95bcf52362ee5baa12a",
      "parents": [
        "5b546faa67544af395d6407553762b37e9711157"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 22:06:32 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 22:22:43 2017"
      },
      "message": "add iso-2022-jp support (decoding only) to iconv\n\nthis implementation aims to match the baseline defined by rfc1468 (the\noriginal mime charset definition) plus the halfwidth katakana\nextension included in the whatwg definition of the charset. rejection\nof si/so controls and newlines in doublebyte state are not currently\nenforced. the jis x 0201 mode is currently interpreted as having the\nyen sign and overline character in place of backslash and tilde; ascii\nmode has the standard ascii characters in those slots.\n"
    },
    {
      "commit": "5b546faa67544af395d6407553762b37e9711157",
      "tree": "2dea3ba8d23b5cc6c088a364945985f7b046fa75",
      "parents": [
        "0df5b39a1e9c8aaf480e3f8667d7967e08bbef2b"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 20:06:42 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 20:06:42 2017"
      },
      "message": "add iconv framework for decoding stateful encodings\n\nassuming pointers obtained from malloc have some nonzero alignment,\nrepurpose the low bit of iconv_t as an indicator that the descriptor\nis a stateless value representing the source and destination character\nencodings.\n"
    },
    {
      "commit": "0df5b39a1e9c8aaf480e3f8667d7967e08bbef2b",
      "tree": "7a6fe59c38e4b0265943178dad3518486ad9cba0",
      "parents": [
        "9eb6dd5165b803715f82b9f5d4b557878f77a580"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 18:40:12 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 18:40:12 2017"
      },
      "message": "simplify/optimize iconv utf-8 case\n\nthe special case where mbrtowc returns 0 but consumed 1 byte of input\ndoes not need to be considered, because the short-circuit for low\nbytes already covered that case.\n"
    },
    {
      "commit": "9eb6dd5165b803715f82b9f5d4b557878f77a580",
      "tree": "f126f61faa8fceb29bb98c946b1eef542e0f7302",
      "parents": [
        "bff59d13a82cd4c02792fd73da0e7c79bda022ff"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 18:34:21 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 18:34:21 2017"
      },
      "message": "handle ascii range individually in each iconv case\n\nshort-circuiting low bytes before the switch precluded support for\ncharacter encodings that don\u0027t coincide with ascii in this range. this\nlimitation affected iso-2022 encodings, which use the esc byte to\nintroduce a shift sequence, and things like ebcdic.\n"
    },
    {
      "commit": "bff59d13a82cd4c02792fd73da0e7c79bda022ff",
      "tree": "7834d132056c4b60abfe6fb96bbdb2596f8777fa",
      "parents": [
        "79f49effa0a82d88a9bb0b1992ed2e5fa807f900"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 05:27:34 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 05:27:34 2017"
      },
      "message": "move iconv_close to its own translation unit\n\nthis is in preparation to support stateful conversion descriptors,\nwhich are necessarily allocated and thus must be freed in iconv_close.\nputting it in a separate TU will avoid pulling in free if iconv_close\nis not referenced.\n"
    },
    {
      "commit": "79f49effa0a82d88a9bb0b1992ed2e5fa807f900",
      "tree": "591b8897bd5a5bc132a190d526df7dc039df9246",
      "parents": [
        "30fdda6c998d9fc87601b50c7fea4447d52f8d12"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 05:13:16 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 05:15:09 2017"
      },
      "message": "refactor iconv conversion descriptor encoding/decoding\n\nthis change is made to avoid having assumptions about the encoding\nspread out across the file, and to facilitate future change to a form\nthat can accommodate allocted, stateful descriptors when needed.\n\nthis commit should not produce any functional changes; with the\ncompiler tested the only change to code generation was minor\nreordering of local variables on stack.\n"
    },
    {
      "commit": "30fdda6c998d9fc87601b50c7fea4447d52f8d12",
      "tree": "4e8d8755e2bcd63bb3767a91fa003d7f2b249bdd",
      "parents": [
        "67b29947893cd5991a8cbab8aef4f3b2ebfa73fe"
      ],
      "author": {
        "name": "A. Wilcox",
        "email": "AWilcox@Wilcox-Tech.com",
        "time": "Thu Sep 14 20:53:21 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 01:15:02 2017"
      },
      "message": "fix getaddrinfo error code for non-numeric service with AI_NUMERICSERV\n\nIf AI_NUMERICSERV is specified and a numeric service was not provided,\nPOSIX mandates getaddrinfo return EAI_NONAME. EAI_SERVICE is only for\nservices that cannot be used on the specified socket type.\n"
    },
    {
      "commit": "67b29947893cd5991a8cbab8aef4f3b2ebfa73fe",
      "tree": "ae2a07a7cfd6f401de2dff63abc1d825a1e2fb74",
      "parents": [
        "13935337f3e9bbf9db9e6403d761bc670ea1a6d5"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 00:56:26 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Nov 10 00:56:26 2017"
      },
      "message": "fix mismatched type of __pthread_tsd_run_dtors weak definition\n\ncommit a6054e3c94aa0491d7366e4b05ae0d73f661bfe2 changed this function\nnot to take an argument, but the weak definition used by timer_create\nwas not updated to match.\n\nreported by Pascal Cuoq.\n"
    },
    {
      "commit": "13935337f3e9bbf9db9e6403d761bc670ea1a6d5",
      "tree": "23eedfd197b6f385134391d5cfee579b4c69778f",
      "parents": [
        "4dc44ce8e2948aae55bc7dd6eda517167af7da32"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Sep 11 22:45:45 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:43:51 2017"
      },
      "message": "s390x: use generic ioctl.h\n\ns390 can use the generic ioctls definitions other than FIOQSIZE (like arm).\n\nthis fixes some missing ioctls and two incorrect ones:\nTIOCTTYGSTRUCT and TIOCM_MODEM_BITS seem to be defined on frv\ntarget only in linux.\n"
    },
    {
      "commit": "4dc44ce8e2948aae55bc7dd6eda517167af7da32",
      "tree": "50b907e2dd93bcd4df17472f10989e0650a5c2dc",
      "parents": [
        "ffd048a07b4bc3bd01bef71a77b49aa9cee947cf"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Sep 12 22:37:38 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:29 2017"
      },
      "message": "microblaze: add statx syscall from linux v4.13\n\nstatx number is allocated for microblaze in linux commit\nf5ef419630e85e80284cd0256cb5a13a66bbd6c5\n"
    },
    {
      "commit": "ffd048a07b4bc3bd01bef71a77b49aa9cee947cf",
      "tree": "adbb0c92dc05633d00871d30a58512c011b70694",
      "parents": [
        "6651ef1f060738ee1f50cac1fe6d8ce64c359022"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Sep 12 22:32:11 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:27 2017"
      },
      "message": "aarch64: add extra_context struct from linux v4.13\n\nallows expanding the signal frame beyond the 4k reserved space.\nnew in linux commit 33f082614c3443d937f50fe936f284f62bbb4a1b\n"
    },
    {
      "commit": "6651ef1f060738ee1f50cac1fe6d8ce64c359022",
      "tree": "8a428351141663398394e6ac24adf1c111d891d9",
      "parents": [
        "14ced22830ef6cbf8e2526d3131c2b443c3f57dd"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Sep 12 22:14:24 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:26 2017"
      },
      "message": "add new tcp.h socket options from linux v4.13\n\nTCP_ULP is new in linux commit 734942cc4ea6478eed125af258da1bdbb4afe578\nTCP_MD5SIG_EXT is new in 8917a777be3ba566377be05117f71b93a5fd909d\n"
    },
    {
      "commit": "14ced22830ef6cbf8e2526d3131c2b443c3f57dd",
      "tree": "91808335312334ac1b4f0aa97c5e3a8f84d152ce",
      "parents": [
        "754f66afb76f59bb4c43f303fb9406a3841a448f"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Sep 12 22:04:20 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:24 2017"
      },
      "message": "add new fcntl.h macros from linux v4.13\n\nfor getting/setting write lifetime hints fcntl commands were\nadded in linux commit c75b1d9421f80f4143e389d2d50ddfc8a28c8c35\n\nadded under _GNU_SOURCE || _BSD_SOURCE, since RWH_* life time\nhints are not in the POSIX reserved namespace.\n"
    },
    {
      "commit": "754f66afb76f59bb4c43f303fb9406a3841a448f",
      "tree": "08f489821e6779761f345f74e0c8e2afd962d031",
      "parents": [
        "c35a8bf456ca6ef74e3cc7c4d8f63572bc1e1167"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Sep 11 22:38:05 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:22 2017"
      },
      "message": "ioctl TIOCGPTPEER from linux v4.13\n\nadded for safe opening of peer end of pty in a mount namespace.\nnew in linux commit c6325179238f1d4683edbec53d8322575d76d7e2\n"
    },
    {
      "commit": "c35a8bf456ca6ef74e3cc7c4d8f63572bc1e1167",
      "tree": "ac55127976e59e9ee852dd5fc09cd88f8ed93f90",
      "parents": [
        "5daaed6a0efd8a2b1410ff5395a6b3bb0e1a907e"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Sep 11 20:50:40 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:21 2017"
      },
      "message": "add SO_ getsockopt options from linux v4.13\n\nSCM_TIMESTAMPING_PKTINFO is new in aad9c8c470f2a8321a99eb053630ce0e199558d6\nSO_PEERGROUPS is new in 28b5ba2aa0f55d80adb2624564ed2b170c19519e\n"
    },
    {
      "commit": "5daaed6a0efd8a2b1410ff5395a6b3bb0e1a907e",
      "tree": "5fd0f190718534b61b998276ee9d7ca3d2bbe891",
      "parents": [
        "2dc6760f3c1013796e4d05798aff824c85bc5265"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Sep 11 19:30:08 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:19 2017"
      },
      "message": "s390x: add syscall number for s390_guarded_storage from linux v4.12\n\nnew syscall in linux commit 916cda1aa1b412d7cf2991c3af7479544942d121\n"
    },
    {
      "commit": "2dc6760f3c1013796e4d05798aff824c85bc5265",
      "tree": "ed3f24064e3021af21bbf71183388f602bbdb2e7",
      "parents": [
        "840d45bebd3558cf72ebab6368620a7919641e1d"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Sep 10 11:12:29 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:18 2017"
      },
      "message": "i386: add arch_prctl syscall number from linux v4.12\n\nsyscall for i386 compat mode on x86_64 for non-x86_64 prctls.\nnew in linux commit 79170fda313ed5be2394f87aa2a00d597f8ed4a1\n"
    },
    {
      "commit": "840d45bebd3558cf72ebab6368620a7919641e1d",
      "tree": "4f30ae1821c677f9727543f9f2603fb257ab9eb3",
      "parents": [
        "4c811227110ddeb1ccd03ce295a6e8f6ccb905ea"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Sep 09 09:13:27 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:16 2017"
      },
      "message": "aarch64: add new HWCAP_* flags from linux v4.12\n\nhwcap bits for armv8.3 extensions, added in linux commits\nc8c3798d2369e4285da44b244638eafe446a8f8a\ncb567e79fa504575cb97fb2f866d2040ed1c92e7\nc651aae5a7732287c1c9bc974ece4ed798780544\n"
    },
    {
      "commit": "4c811227110ddeb1ccd03ce295a6e8f6ccb905ea",
      "tree": "94177b080edb77a3ffb28864cdc9283ae3aec1dc",
      "parents": [
        "54f04d9991c000c7f46eed3dd85b741d840e7164"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Jul 09 18:51:36 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:14 2017"
      },
      "message": "add ARPHDR_VSOCKMON from linux v4.12\n\nnew in linux commit 531b374834c891ae2abf800693074df35a7d1a36\n"
    },
    {
      "commit": "54f04d9991c000c7f46eed3dd85b741d840e7164",
      "tree": "7c6389b57a05dce80d28c67e1d4aa4ad7d845ddf",
      "parents": [
        "9864f60e929100e253fc813bd4105d6dd7652787"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Jul 09 18:39:21 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:13 2017"
      },
      "message": "add new SO_ socket options from linux v4.12\n\nSO_MEMINFO added in linux commit a2d133b1d465016d0d97560b11f54ba0ace56d3e\nSO_INCOMING_NAPI_ID added in 6d4339028b350efbf87c61e6d9e113e5373545c9\nSO_COOKIE added in 5daab9db7b65df87da26fd8cfa695fb9546a1ddb\n"
    },
    {
      "commit": "9864f60e929100e253fc813bd4105d6dd7652787",
      "tree": "729d68673446645150e9d2cfdab28c71f8dfac14",
      "parents": [
        "c519658ceaf19e1e080ae337a79b56d37dae271c"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Jul 09 19:22:31 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:11 2017"
      },
      "message": "add statx syscall numbers from linux v4.11\n\nstatx was added in linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f\n(there is no libc wrapper yet and microblaze and sh misses the number).\n"
    },
    {
      "commit": "c519658ceaf19e1e080ae337a79b56d37dae271c",
      "tree": "e15331a96306fa4b11ada7b08fba2eb47b3b51aa",
      "parents": [
        "ee3ae7827b00c734a3c32839fb1427015900e598"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Jun 17 21:50:03 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:09 2017"
      },
      "message": "add TCP_NLA_* enums from linux v4.11\n\ntwo new stats for SCM_TIMESTAMPING_OPT_STATS, added in linux commit\n7e98102f489775d8c000884fca8a0d995ea688a9\n"
    },
    {
      "commit": "ee3ae7827b00c734a3c32839fb1427015900e598",
      "tree": "98ea923ad93ad60a546b5ac477f6efeaba0aadec",
      "parents": [
        "3eb82f7338e74a5b2f1de6a62a72927452b327a2"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Jun 17 21:45:03 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:08 2017"
      },
      "message": "add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11\n\nnew in linux commit 19f6d3f3c8422d65b5e3d2162e30ef07c6e21ea2\n"
    },
    {
      "commit": "3eb82f7338e74a5b2f1de6a62a72927452b327a2",
      "tree": "bd0d0f80a582cac0b46590c4cbca5d2063461d14",
      "parents": [
        "bd1560f6eb5127501ad6b7905479b4135c3d1a02"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Jun 17 21:40:15 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:06 2017"
      },
      "message": "add ETH_P_IBOE from linux v4.11\n\nnew in linux commit 69ae543969abeba48e04dd93277684c8c0895f3b\n"
    },
    {
      "commit": "bd1560f6eb5127501ad6b7905479b4135c3d1a02",
      "tree": "8bdfcf9a297cc1ae32596aeeb7b3c9477dd8337d",
      "parents": [
        "cee73f0c10535f87e3e108697a4af5453f5f04c0"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Jun 17 21:23:57 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:04 2017"
      },
      "message": "update aarch64 hwcap.h for linux v4.11\n\nnew hwcap bits were added in kernel commits\n77c97b4ee21290f5f083173d957843b615abbff2\nf92f5ce01ee6a6a86cbfc4e3b0d18529c302b1ea\n"
    },
    {
      "commit": "cee73f0c10535f87e3e108697a4af5453f5f04c0",
      "tree": "c11bdfa6c9d6d1da971610380d25f157fff36231",
      "parents": [
        "8f5695571322868d89620fca0dc05ffc37bbc040"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Mar 06 00:28:33 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:02 2017"
      },
      "message": "add kexec_file_load syscall number on powerpc from linux v4.10\n\nadded in linux commit 80f60e509a03ff9ff2bdbf9cd1e935c6360b8bd9\n"
    },
    {
      "commit": "8f5695571322868d89620fca0dc05ffc37bbc040",
      "tree": "fafe46341057ca5978e0beaad4252b69f395004d",
      "parents": [
        "d800403032b17b266430f0679c71f032de430197"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Mon Mar 06 00:18:37 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:41:00 2017"
      },
      "message": "add microblaze syscall numbers from linux v4.10\n\nmissing syscalls got allocated on microblaze.\n"
    },
    {
      "commit": "d800403032b17b266430f0679c71f032de430197",
      "tree": "a244ad6a83799c4a13b59167c36aef7ebf2767f7",
      "parents": [
        "f5638c22e3599a720f80da76f2827e5b0f6383ae"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Mar 05 23:54:52 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:40:58 2017"
      },
      "message": "add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missing\n\nlinux commit 575b1967e10a1f3038266244d2c7a3ca6b99fed8 moved timerfd\napis to a new uapi header which showed musl was missing this flag.\n"
    },
    {
      "commit": "f5638c22e3599a720f80da76f2827e5b0f6383ae",
      "tree": "ad9d9f6d111431f543f2f0be98fc03034001518c",
      "parents": [
        "013696918bc9e8b879ddb6f1fa7b3686eef6e702"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Mar 05 23:21:30 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:40:53 2017"
      },
      "message": "add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10\n\nmin max mtu size definitions mostly for drivers.\nnew in linux commits a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 and\nd894be57ca92c8a8819ab544d550809e8731137b\n"
    },
    {
      "commit": "013696918bc9e8b879ddb6f1fa7b3686eef6e702",
      "tree": "d0c4bfb759390ce6e79015ddf3a49ce3287217a6",
      "parents": [
        "5c596ed8673836109d5f63a9eaa35d1196b96882"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Mar 05 22:58:13 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:39:29 2017"
      },
      "message": "add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10\n\nadded in linux commit 70ecc24841326396a827deb55c3fefac582a729d\n"
    },
    {
      "commit": "5c596ed8673836109d5f63a9eaa35d1196b96882",
      "tree": "9b3d7b1f815f6eb8521652dffc3678f39328b22f",
      "parents": [
        "6fc6ca1a323bc0b6b9e9cdc8fa72221ae18fe206"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Mar 05 20:51:23 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 23:39:25 2017"
      },
      "message": "add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10\n\nfor tcp timestamp control messages, new in linux commit\n1c885808e45601b2b6f68b30ac1d999e10b6f606\nand export time measurements via tcp_info, added in linux commit\nefd90174167530c67a54273fd5d8369c87f9bd32\n"
    },
    {
      "commit": "6fc6ca1a323bc0b6b9e9cdc8fa72221ae18fe206",
      "tree": "2b523366bae1478eb28c9922331c127421e44e5f",
      "parents": [
        "eb03bde2f24582874cb72b56c7811bf51da0c817"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 22:26:48 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sun Nov 05 22:26:48 2017"
      },
      "message": "adjust posix_spawn dup2 action behavior to match future requirements\n\nthe resolution to Austin Group issue #411 defined new semantics for\nthe posix_spawn dup2 file action in the (previously useless) case\nwhere src and dest fd are equal. future issues will require the dup2\nfile action to remove the close-on-exec flag. without this change,\npassing fds to a child with posix_spawn while avoiding fd-leak races\nin a multithreaded parent required a complex dance with temporary fds.\n\nbased on patch by Petr Skocik. changes were made to preserve the\n80-column formatting of the function and to remove code that became\nunreachable as a result of the new functionality.\n"
    },
    {
      "commit": "eb03bde2f24582874cb72b56c7811bf51da0c817",
      "tree": "4fddbe212ab7a1b601adaef749356d2c086f830d",
      "parents": [
        "1b9406b03c0a94ebe2076a8fc1746a8c45e78a83"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Oct 31 19:13:58 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Oct 31 19:13:58 2017"
      },
      "message": "release 1.1.18\n"
    },
    {
      "commit": "1b9406b03c0a94ebe2076a8fc1746a8c45e78a83",
      "tree": "8d43d52b66eeffb1f2f887a06b0bb41d385c9861",
      "parents": [
        "ec04d122f1182aeb91f39b0e80ae40c68e4d9605"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Oct 25 15:54:16 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Oct 25 15:54:16 2017"
      },
      "message": "fix build regression on ARM for ISA levels less than v5\n\ncommit 06fbefd10046a0fae7e588b7c6d25fb51811b931 (first included in\nrelease 1.1.17) introduced this regression.\n\npatch by Adrian Bunk. it fixes the regression in all cases, but\nspuriously prevents use of the clz instruction on very old compiler\nversions that don\u0027t define __ARM_ARCH. this may be fixed in a more\ngeneral way at some point in the future. it also omits thumb1 logic\nsince building as thumb1 code is currently not supported.\n"
    },
    {
      "commit": "ec04d122f1182aeb91f39b0e80ae40c68e4d9605",
      "tree": "ee67bcb20b9a98cde96c8aca065313f2274597a3",
      "parents": [
        "004dc9549b8003288e635ba5aa91e3353e1974c4"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 21 16:17:49 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 21 16:32:16 2017"
      },
      "message": "fix regression in glob with literal . or .. path component\n\ncommit 8c4be3e2209d2a1d3874b8bc2b474668fcbbbac6 was written to\npreclude the GLOB_PERIOD extension from matching these directory\nentries, but also precluded literal matches.\n\nadjust the check that excludes . and .. to check whether the\nGLOB_PERIOD flag is in effect, so that it cannot alter behavior in\ncases governed by the standard, and also don\u0027t exclude . or .. in any\ncase where normal glob behavior (fnmatch\u0027s FNM_PERIOD flag) would have\nincluded one or both of them (patterns such as \".*\").\n\nit\u0027s still not clear whether this is the preferred behavior for\nGLOB_PERIOD, but at least it\u0027s clear that it can no longer break\napplications which are not relying on quirks of a nonstandard feature.\n"
    },
    {
      "commit": "004dc9549b8003288e635ba5aa91e3353e1974c4",
      "tree": "8297be6882fe4bb666067284173bc0609354263c",
      "parents": [
        "2cd663fb2d576d590a08c1e40386c07b378d5ad6"
      ],
      "author": {
        "name": "Will Dietz",
        "email": "w@wdtz.org",
        "time": "Thu Sep 14 21:32:59 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Oct 19 23:04:16 2017"
      },
      "message": "posix_spawn: use larger stack to cover worst-case in execvpe\n\nexecvpe stack-allocates a buffer used to hold the full path\n(combination of a PATH entry and the program name)\nwhile searching through $PATH, so at least\nNAME_MAX+PATH_MAX is needed.\n\nThe stack size can be made conditionally smaller\n(the current 1024 appears appropriate)\nshould this larger size be burdensome in those situations.\n"
    },
    {
      "commit": "2cd663fb2d576d590a08c1e40386c07b378d5ad6",
      "tree": "69ea7160daec2bfbe89a74db37ba9ef7e3e91f74",
      "parents": [
        "45ca5d3fcb6f874bf5ba55d0e9651cef68515395"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Oct 19 19:39:01 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Oct 19 19:39:01 2017"
      },
      "message": "release 1.1.17\n"
    },
    {
      "commit": "45ca5d3fcb6f874bf5ba55d0e9651cef68515395",
      "tree": "277fae4ad1db979b38153b3118323ffe98a0a549",
      "parents": [
        "5b5eb527c5ed5ca2786bf82892a04ca3bdf33d31"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Oct 18 18:50:03 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Oct 18 18:50:03 2017"
      },
      "message": "in dns parsing callback, enforce MAXADDRS to preclude overflow\n\nMAXADDRS was chosen not to need enforcement, but the logic used to\ncompute it assumes the answers received match the RR types of the\nqueries. specifically, it assumes that only one replu contains A\nrecord answers. if the replies to both the A and the AAAA query have\ntheir answer sections filled with A records, MAXADDRS can be exceeded\nand clobber the stack of the calling function.\n\nthis bug was found and reported by Felix Wilhelm.\n"
    },
    {
      "commit": "5b5eb527c5ed5ca2786bf82892a04ca3bdf33d31",
      "tree": "cd31c6d2edee353dc6c8f72507faf091e2566cd6",
      "parents": [
        "c1e27367a9b26b9baac0f37a12349fc36567c8b6"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 14 03:08:21 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 14 03:08:21 2017"
      },
      "message": "fix incorrect base name offset from nftw when pathname ends in slash(es)\n\nthe rightmost \u0027/\u0027 character is not necessarily the delimiter before\nthe basename; it could be a spurious trailing character on the\ndirectory name.\n\nthis change does not introduce any normalization of pathnames or\nstripping of trailing slashes, contrary to at least glibc and perhaps\nother implementations; it jusst prevents their presence from breaking\nthings. whether further changes should be made is an open question\nthat may depend on conformance and/or application compatibility\nconsiderations.\n\nbased loosely on patch by Joakim Sindholt.\n"
    },
    {
      "commit": "c1e27367a9b26b9baac0f37a12349fc36567c8b6",
      "tree": "88accade820f5d320b504b517b043b951fec583e",
      "parents": [
        "907476925fca05f24ebca5fcdc21f1e58ba7b313"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 14 03:00:34 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 14 03:00:34 2017"
      },
      "message": "fix read-after-free type error in pthread_detach\n\ncalling __unlock on t-\u003eexitlock is not valid because __unlock reads\nthe waiters count after making the atomic store that could allow\npthread_exit to continue and unmap the thread\u0027s stack and the object t\npoints to. for now, inline the __unlock logic with an unconditional\nfutex wake operation so that the waiters count is not needed.\n\nonce __lock/__unlock have been made safe for self-synchronized\ndestruction, we could switch back to using them.\n"
    },
    {
      "commit": "907476925fca05f24ebca5fcdc21f1e58ba7b313",
      "tree": "79aa3b08e17ed7e04d0ac53d612a62d43dbac3cc",
      "parents": [
        "b3516058eb9ff9e52a8720f0e5c0f6936cce6047"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Sep 17 17:31:20 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Oct 14 02:30:45 2017"
      },
      "message": "math: rewrite fma with mostly int arithmetics\n\nthe freebsd fma code failed to raise underflow exception in some\ncases in nearest rounding mode (affects fmal too) e.g.\n\n  fma(-0x1p-1000, 0x1.000001p-74, 0x1p-1022)\n\nand the inexact exception may be raised spuriously since the fenv\nis not saved/restored around the exact multiplication algorithm\n(affects x86 fma too).\n\nanother issue is that the underflow behaviour when the rounded result\nis the minimal normal number is target dependent, ieee754 allows two\nways to raise underflow for inexact results: raise if the result before\nrounding is in the subnormal range (e.g. aarch64, arm, powerpc) or if\nthe result after rounding with infinite exponent range is in the\nsubnormal range (e.g. x86, mips, sh).\n\nto avoid all these issues the algorithm was rewritten with mostly int\narithmetics and float arithmetics is only used to get correct rounding\nand raise exceptions according to the behaviour of the target without\nany fenv.h dependency. it also unifies x86 and non-x86 fma.\n\nfmaf is not affected, fmal need to be fixed too.\n\nthis algorithm depends on a_clz_64 and it required a few spurious\ninstructions to make sure underflow exception is raised in a particular\ncorner case. (normally FORCE_EVAL(tiny*tiny) would be used for this,\nbut on i386 gcc is broken if the expression is constant\nhttps://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d57245\nand there is no easy portable fix for the macro.)\n"
    },
    {
      "commit": "b3516058eb9ff9e52a8720f0e5c0f6936cce6047",
      "tree": "9503c6a8b1ed28f1dc70cf0f560283f69316eff2",
      "parents": [
        "e364774d7ca0a78db1b8457d5094b747eb2df318"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Oct 13 14:39:51 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Oct 13 14:39:51 2017"
      },
      "message": "for executing init array functions, use function type with prototype\n\nthis is for consistency with the way it\u0027s done in in the dynamic\nlinker, avoiding a deprecated C feature (non-prototype function\ntypes), and improving code generation. GCC unnecessarily uses the\nvariadic calling convention (e.g. clearing rax on x86_64) when making\na call where the argument types are not known for compatibility with\nwrong code which calls variadic functions this way. (C on the other\nhand is clear that such calls have undefined behavior.)\n"
    },
    {
      "commit": "e364774d7ca0a78db1b8457d5094b747eb2df318",
      "tree": "64b13e59d66bbb8099d8f4a5b1775ba90fbb9a09",
      "parents": [
        "48be5b6313d7b827acf555769e93b389fa9f6307"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Oct 13 14:23:48 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Oct 13 14:28:52 2017"
      },
      "message": "fix access by setjmp and longjmp to __hwcap on arm built as thumb2\n\nthis is a subtle issue with how the assembler/linker work. for the adr\npseudo-instruction used to find __hwcap, the assembler in thumb mode\ngenerates a 16-bit thumb add instruction which can only represent\nword-aligned addresses, despite not knowing the alignment of the\nlabel. if the setjmp function is assigned a non-multiple-of-4 address\nat link time, the load then loads from the wrong address (the last\ninstruction rather than the data containing the offset) and ends up\nreading nonsense instead of the value of __hwcap. this in turn causes\nthe checks for floating-point/vector register sets (e.g. IWMMX) to\nevaluate incorrectly, crashing when setjmp/longjmp try to save/restore\nthose registers.\n\nfix based on bug report by Felix Hädicke.\n"
    },
    {
      "commit": "48be5b6313d7b827acf555769e93b389fa9f6307",
      "tree": "5e522bfbabadbf7e6aa5ef4b4081eb36b4f9bce2",
      "parents": [
        "c10bc61508dc52b8315084e628f36a6c3c2dabb1"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 28 16:57:06 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 28 16:57:06 2017"
      },
      "message": "fix use of memset without declaration in sched.h cpu set macros\n\npatch by Jörg Krause.\n"
    },
    {
      "commit": "c10bc61508dc52b8315084e628f36a6c3c2dabb1",
      "tree": "e3be6dd427eaad55f24cef72102a0ede344dbc43",
      "parents": [
        "da438ee1fc516c41ba1790cef7be551a9e244397"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Sep 10 11:34:54 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Sep 11 18:06:27 2017"
      },
      "message": "powerpc{64}: fix MAP_NORESERVE and MAP_LOCKED in mman.h\n\nMAP_{NORESERVE,LOCKED} have different values on powerpc than in generic.\n"
    },
    {
      "commit": "da438ee1fc516c41ba1790cef7be551a9e244397",
      "tree": "6f0778c3e0dbca45b4bd5c19c672db995b6e3ad1",
      "parents": [
        "8c4be3e2209d2a1d3874b8bc2b474668fcbbbac6"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 02:09:28 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 02:15:14 2017"
      },
      "message": "work around incorrect EPERM from mmap syscall\n\nunder some conditions, the mmap syscall wrongly fails with EPERM\ninstead of ENOMEM when memory is exhausted; this is probably the\nresult of the kernel trying to fit the allocation somewhere that\ncrosses into the kernel range or below mmap_min_addr. in any case it\u0027s\na conformance bug, so work around it. for now, only handle the case of\nanonymous mappings with no requested address; in other cases EPERM may\nbe a legitimate error.\n\nthis indirectly fixes the possibility of malloc failing with the wrong\nerrno value.\n"
    },
    {
      "commit": "8c4be3e2209d2a1d3874b8bc2b474668fcbbbac6",
      "tree": "6b0a0cb282c6a00bf244d87277568f138f6d7164",
      "parents": [
        "565dbee24d4bf55728be1c274fca1e7f3196fd73"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 01:59:22 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 01:59:22 2017"
      },
      "message": "fix glob descent into . and .. with GLOB_PERIOD\n\nGLOB_PERIOD is a gnu extension, and GNU glob does not seem to honor it\nexcept in the last path component. it\u0027s not clear whether this a bug\nor intentional, but it seems reasonable that it should exclude the\nspecial entries . and .. when walking.\n\nchanges based on report and analysis by Julien Ramseier.\n"
    },
    {
      "commit": "565dbee24d4bf55728be1c274fca1e7f3196fd73",
      "tree": "157ebbac897879151a8c14780e682f58b241fb6d",
      "parents": [
        "9e01be6e49b9ae433072207f420ef33c8189eb78"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 01:42:15 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 01:42:15 2017"
      },
      "message": "don\u0027t treat numeric port strings as servent records in getservby*()\n\nsome applications use getservbyport to find port numbers that are not\nassigned to a service; if getservbyport always succeeds with a numeric\nstring as the result, they fail to find any available ports.\n\nPOSIX doesn\u0027t seem to mandate the behavior one way or another. it\nspecifies an abstract service database, which an implementation could\ndefine to include numeric port strings, but it makes more sense to\nalign behavior with traditional implementations.\n\nbased on patch by A. Wilcox. the original patch only changed\ngetservbyport[_r]. to maintain a consistent view of the \"service\ndatabase\", I have also modified getservbyname[_r] to exclude numeric\nport strings.\n"
    },
    {
      "commit": "9e01be6e49b9ae433072207f420ef33c8189eb78",
      "tree": "f8cf6089257a0b4252b391b8abbc9ab042458fd5",
      "parents": [
        "822dddfbf1884553341114663aff56ed87d57663"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 00:37:19 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Sep 07 00:37:19 2017"
      },
      "message": "fix signal masking race in pthread_create with priority attributes\n\nif the parent thread was able to set the new thread\u0027s priority before\nit reached the check for \u0027startlock\u0027, the new thread failed to restore\nits signal mask and thus ran with all signals blocked.\n\nconcept for patch by Sergei, who reported the issue; unnecessary\nchanges were removed and comments added since the whole \u0027startlock\u0027\nthing is non-idiomatic and confusing. eventually it should be replaced\nwith use of idiomatic synchronization primitives.\n"
    },
    {
      "commit": "822dddfbf1884553341114663aff56ed87d57663",
      "tree": "c01368ab3a64bdec81f01dbd023cf0763f19818a",
      "parents": [
        "9255dad97e7bfd4165d1aa0f93f2aae321a7a4d8"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sat Feb 18 00:50:09 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Sep 06 23:29:25 2017"
      },
      "message": "make syscall.h consistent with linux\n\nmost of the found naming differences don\u0027t matter to musl, because\ninternally it unifies the syscall names that vary across targets,\nbut for external code the names should match the kernel uapi.\n\naarch64:\n\t__NR_fstatat is called __NR_newfstatat in linux.\n\t__NR_or1k_atomic got mistakenly copied from or1k.\narm:\n\t__NR_arm_sync_file_range is an alias for __NR_sync_file_range2\n\t__NR_fadvise64_64 is called __NR_arm_fadvise64_64 in linux,\n\tthe old non-arm name is kept too, it should not cause issues.\n\t(powerpc has similar nonstandard fadvise and it uses the\n\tnormal name.)\ni386:\n\t__NR_madvise1 was removed from linux in commit\n\t303395ac3bf3e2cb488435537d416bc840438fcb 2011-11-11\nmicroblaze:\n\t__NR_fadvise, __NR_fstatat, __NR_pread, __NR_pwrite\n\thad different name in linux.\nmips:\n\t__NR_fadvise, __NR_fstatat, __NR_pread, __NR_pwrite, __NR_select\n\thad different name in linux.\nmipsn32:\n\t__NR_fstatat is called __NR_newfstatat in linux.\nor1k:\n\t__NR__llseek is called __NR_llseek in linux.\n\tthe old name is kept too because that\u0027s the name musl uses\n\tinternally.\npowerpc:\n\t__NR_{get,set}res{gid,uid}32 was never present in powerpc linux.\n\t__NR_timerfd was briefly defined in linux but then got renamed.\n"
    },
    {
      "commit": "9255dad97e7bfd4165d1aa0f93f2aae321a7a4d8",
      "tree": "c8bb838f61cc2a6141199893fe49c92103e3a81d",
      "parents": [
        "51bdcdc424bd7169c8cccdc2de7cad17f5ea0f70"
      ],
      "author": {
        "name": "Bartosz Brachaczek",
        "email": "b.brachaczek@gmail.com",
        "time": "Sun Jul 09 21:00:18 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Sep 04 20:59:38 2017"
      },
      "message": "handle whitespace before %% in scanf\n\nthis is mandated by C and POSIX standards and is in accordance with\nglibc behavior.\n"
    },
    {
      "commit": "51bdcdc424bd7169c8cccdc2de7cad17f5ea0f70",
      "tree": "9f4ac96baee6d9f0fcc3a6e245743f05232e772e",
      "parents": [
        "cc0dbd5f09337c187156fe8b697245e6ea9263d0"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Thu Jun 29 21:35:33 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Sep 04 20:38:03 2017"
      },
      "message": "fix OOB reads in Xbyte_memmem\n\nReported by Leah Neukirchen.\n"
    },
    {
      "commit": "cc0dbd5f09337c187156fe8b697245e6ea9263d0",
      "tree": "acd199bba8ec96d1a5ad250ac7211d1d8346e578",
      "parents": [
        "8e932792c917d11545c2953b35159149f7411eca"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Sun Sep 03 19:12:21 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Sep 04 19:55:21 2017"
      },
      "message": "free allocations in clearenv\n\nThis aligns clearenv with the Linux man page by setting \u0027environ\u0027\nrather than \u0027*environ\u0027 to NULL, and stops it from leaking entries\nallocated by the libc.\n"
    },
    {
      "commit": "8e932792c917d11545c2953b35159149f7411eca",
      "tree": "330b20d848bf624c9b7a00c1c0ae0181e3b85e93",
      "parents": [
        "39db00afadc9d8d0456c46eab42b8cb8ff9f375c"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Sun Sep 03 19:12:20 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Mon Sep 04 19:55:05 2017"
      },
      "message": "overhaul environment functions\n\nRewrite environment access functions to slim down code, fix bugs and\navoid invoking undefined behavior.\n\n* avoid using int-typed iterators where size_t would be correct;\n* use strncmp instead of memcmp consistently;\n* tighten prologues by invoking __strchrnul;\n* handle NULL environ.\n\nputenv:\n* handle \"\u003dvalue\" input via unsetenv too (will return -1/EINVAL);\n* rewrite and simplify __putenv; fix the leak caused by failure to\n  deallocate entry added by preceding setenv when called from putenv.\n\nsetenv:\n* move management of libc-allocated entries to this translation unit,\n  and use no-op weak symbols in putenv/unsetenv;\n\nunsetenv:\n* rewrite; this fixes UB caused by testing a free\u0027d pointer against\n  NULL on entry to subsequent loops.\n\nNot changed:\nFailure to extend allocation tracking array (previously __env_map, now\nenv_alloced) is ignored rather than causing to report -1/ENOMEM to the\ncaller; the worst-case consequence is leaking this allocation when it\nis removed or replaced in a subsequent environment access.\n\nInitially UB in unsetenv was reported by Alexander Cherepanov.\nUsing a weak alias to avoid pulling in malloc via unsetenv was\nsuggested by Rich Felker.\n"
    },
    {
      "commit": "39db00afadc9d8d0456c46eab42b8cb8ff9f375c",
      "tree": "d3320be6f357bbd69e2edbe8ad6b106af0b99476",
      "parents": [
        "11ddc314b57196519316103b02acffe10299dad3"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Sep 01 21:05:40 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Sep 01 21:05:40 2017"
      },
      "message": "fix erroneous acceptance of f4 9x xx xx code sequences by utf-8 decoder\n\nthe DFA table controlling accepted ranges for the f4 prefix used an\nincorrect upper bound of 0xa0 where it should have been 0x90, allowing\nsuch sequences to be accepted and decoded as non-Unicode-scalar values\n0x110000 through 0x11ffff.\n"
    },
    {
      "commit": "11ddc314b57196519316103b02acffe10299dad3",
      "tree": "378a974b331fad6963b364b31e33bed049c3c1cd",
      "parents": [
        "8459c6f2647a378eca2c6375210ddf29dd499043"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Aug 31 18:30:28 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Aug 31 19:48:00 2017"
      },
      "message": "fix erroneous stop before input limit in mbsnrtowcs and wcsnrtombs\n\nthe value computed as an output limit that bounds the amount of input\nconsumed below the input limit was incorrectly being used as the\nactual amount of input consumed. instead, compute the actual amount of\ninput consumed as a difference of pointers before and after the\nconversion.\n\npatch by Mikhail Kremnyov.\n"
    },
    {
      "commit": "8459c6f2647a378eca2c6375210ddf29dd499043",
      "tree": "c7afbf56244b9c6787f7358022d01724eec0d70b",
      "parents": [
        "06fbefd10046a0fae7e588b7c6d25fb51811b931"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Wed Feb 08 00:31:56 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 02:16:19 2017"
      },
      "message": "arm: add HWCAP_ARM_ hwcap macros\n\nGlibc renamed the linux uapi HWCAP_* macros to HWCAP_ARM_*\nso have both variants in case some code depends on it.\n(The HWCAP2_ macros are not defined in glibc currently so those\nonly have the linux uapi variant.)\n"
    },
    {
      "commit": "06fbefd10046a0fae7e588b7c6d25fb51811b931",
      "tree": "032c4ece67f6217ceb354ebff4c9889f2f0133eb",
      "parents": [
        "3356177979bea717451362e746252ed38de77514"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Apr 18 22:20:54 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 01:47:10 2017"
      },
      "message": "add a_clz_64 helper function\n\ncounts leading zero bits of a 64bit int, undefined on zero input.\n(has nothing to do with atomics, added to atomic.h so target specific\nhelper functions are together.)\n\nthere is a logarithmic generic implementation and another in terms of\na 32bit a_clz_32 on targets where that\u0027s available.\n"
    },
    {
      "commit": "3356177979bea717451362e746252ed38de77514",
      "tree": "ed535c0902ad3625bf87895bcde9bfb3b06cc1da",
      "parents": [
        "5f7efb87a28a311ad377dd26adf53715dedb096d"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Aug 29 17:46:46 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 01:40:35 2017"
      },
      "message": "s390x: add bits/hwcap.h\n\naligned with linux arch/s390/include/asm/elf.h\n(these macros should be exported into uapi, but they are not)\n"
    },
    {
      "commit": "5f7efb87a28a311ad377dd26adf53715dedb096d",
      "tree": "3bc66ee4c02b48ffe0372d827a7e127870e0b9a6",
      "parents": [
        "5f3b652afe423dd2bd6f266535f79f685909cf60"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 00:50:48 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 00:50:48 2017"
      },
      "message": "move IPPORT_RESERVED from netdb.h to netinet/in.h\n\nit\u0027s in the reserved namespace for the latter, where it seems it was\nhistorically defined, and some programs expect to find it there.\n"
    },
    {
      "commit": "5f3b652afe423dd2bd6f266535f79f685909cf60",
      "tree": "746e10a1183a84d7f3fa8650d4a3ba778c0a2193",
      "parents": [
        "9d4c902c42b3fda368d7ea64bb9575c46228fa7f"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 00:48:02 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Aug 30 00:48:02 2017"
      },
      "message": "add powerpc64 and s390x to list of supported archs in INSTALL file\n"
    },
    {
      "commit": "9d4c902c42b3fda368d7ea64bb9575c46228fa7f",
      "tree": "a19cede317e71619d53be75fcd05baa89fccb077",
      "parents": [
        "c7f56b4d2f58714b7286ef12fa5410213847f2fe"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:53:50 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:53:50 2017"
      },
      "message": "fix undefined behavior in memset due to missing sequence points\n\npatch by Pascal Cuoq.\n"
    },
    {
      "commit": "c7f56b4d2f58714b7286ef12fa5410213847f2fe",
      "tree": "aa6eda020bb2f17fc700ff30071d00efb3d88621",
      "parents": [
        "cc086693808c007679f02d5e0ee592446bf1b386"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Fri Jul 28 14:46:49 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:50:48 2017"
      },
      "message": "__init_libc: add fallbacks for __progname setup\n\nIt is possible for argv[0] to be a null pointer, but the __progname\nvariable is used to implement functions in src/legacy/err.c that do not\nexpect it to be null. It is also available to the user via the\nprogram_invocation_name alias as a GNU extension, and the implementation\nin Glibc initializes it to a pointer to empty string rather than NULL.\n\nSince argv[0] is usually non-null and it\u0027s preferable to keep those\nvariables in BSS, implement the fallbacks in __init_libc, which also\nallows to have an intermediate fallback to AT_EXECFN.\n"
    },
    {
      "commit": "cc086693808c007679f02d5e0ee592446bf1b386",
      "tree": "9465081b51725ed0e63352f24da4f9ec40d1f765",
      "parents": [
        "02b50c9d0a749f3e89e352a5760cc55a11977761"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Aug 13 20:47:42 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:48:37 2017"
      },
      "message": "add SIOCGSTAMPNS socket ioctl macro to ioctl.h\n\nit is defined in linux asm/sockios.h since commit\nae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23 (linux v2.6.22)\nbut was missing from musl by accident.\n\nin musl the sockios macros are exposed in sys/ioctl.h together\nwith other ioctl requests instead of in sys/socket.h because of\nnamespace rules. (glibc has them in sys/socket.h under _GNU_SOURCE.)\n"
    },
    {
      "commit": "02b50c9d0a749f3e89e352a5760cc55a11977761",
      "tree": "9dacf2d7a290f5510e3e1ab2eb844626026609d6",
      "parents": [
        "670d6d01f53b4e85be6b333bf8a137e2be6d3fc3"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Sun Aug 13 20:46:38 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:48:35 2017"
      },
      "message": "fix mips ioctl macros to match linux asm/sockios.h\n"
    },
    {
      "commit": "670d6d01f53b4e85be6b333bf8a137e2be6d3fc3",
      "tree": "f3bf02ed4ecc831b33d857bb8f9b9875f3c0f20f",
      "parents": [
        "511b7042b3844b42a940f1c31436fb04ce93ac19"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:39:03 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 29 23:39:03 2017"
      },
      "message": "fix unsynchronized access to FILE structure in fflush(0)\n\ncommit c002668eb0352e619ea7064e4940b397b4a6e68d inadvertently moved\nthe check for unflushed write buffer outside of the scope of the\nexisting lock.\n"
    },
    {
      "commit": "511b7042b3844b42a940f1c31436fb04ce93ac19",
      "tree": "268986d3beda34eb2b26e260f0d69bc6c22ea7fe",
      "parents": [
        "1698fe6cdcdeaad03aa19a85433d5396ecfc51ef"
      ],
      "author": {
        "name": "Daniel Sabogal",
        "email": "dsabogalcc@gmail.com",
        "time": "Sat Aug 12 02:55:22 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 13:09:27 2017"
      },
      "message": "fix signed overflow in ftok\n"
    },
    {
      "commit": "1698fe6cdcdeaad03aa19a85433d5396ecfc51ef",
      "tree": "bfc46f2ce6ea131f10b292f6d513452922ea9e1b",
      "parents": [
        "80bf5952551c002cf12d96deb145629765272db0"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Fri Jul 28 21:05:54 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 01:06:57 2017"
      },
      "message": "fix build failure for sh4a due to missing colon in asm statement\n\nDue to a missing \":\" in an asm() statement, the \"memory\" clobber is\nconsidered by gcc as an input operand and not a clobber, which causes a\nbuild failure.\n"
    },
    {
      "commit": "80bf5952551c002cf12d96deb145629765272db0",
      "tree": "cd5d18ba17103d6b979e521d00dc86d79d0cb749",
      "parents": [
        "e31c8c2d796e8a9596503f079dc567c45f93c2ae"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 00:42:30 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 00:42:30 2017"
      },
      "message": "trap UB from attempts to join a detached thread\n\npassing to pthread_join the id of a thread which is not joinable\nresults in undefined behavior.\n\nin principle the check to trap does not necessarily work if\npthread_detach was called after thread creation, since no effort is\nmade here to synchronize access to t-\u003edetached, but the check is\nwell-defined and harmless for callers which did not invoke UB, and\nlikely to help catch erroneous code that would otherwise mysteriously\nhang.\n\npatch by William Pitcock.\n"
    },
    {
      "commit": "e31c8c2d796e8a9596503f079dc567c45f93c2ae",
      "tree": "11d78ae147d030b5ead0e005cd470d8841b0c8fa",
      "parents": [
        "52cf5c18f4ad3a7a59fb7113cf115c6fc05c7494"
      ],
      "author": {
        "name": "Bobby Bingham",
        "email": "koorogi@koorogi.info",
        "time": "Fri Aug 04 05:12:32 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 00:31:33 2017"
      },
      "message": "ppc64: fix setjmp/longjmp handling of TOC pointer\n\nThe TOC pointer is constant within a single dso, but needs to be saved\nand restored around cross-dso calls.  The PLT stub saves it to the\ncaller\u0027s stack frame, and the linker adds code to the caller to restore\nit.\n\nWith a local call, as within a single dso or with static linking, this\ndoesn\u0027t happen and the TOC pointer is always in r2.  Therefore,\nsetjmp/longjmp need to save/restore the TOC pointer from/to different\nlocations depending on whether the call to setjmp was a local or non-local\ncall.\n\nIt is always safe for longjmp to restore to both r2 and the caller\u0027s stack.\nIf the call to setjmp was local, and only r2 matters and the stack location\nwill be ignored, but is required by the ABI to be reserved for the TOC\npointer.  If the call was non-local, then only the stack location matters,\nand whatever is restored into r2 will be clobbered anyway when the caller\nreloads r2 from the stack.\n\nA little extra care is required for sigsetjmp, because it uses setjmp\ninternally.  After the second return from this setjmp call, r2 will contain\nthe caller\u0027s TOC pointer instead of libc\u0027s TOC pointer.  We need to save\nand restore the correct libc pointer before we can tail call to\n__sigsetjmp_tail.\n"
    },
    {
      "commit": "52cf5c18f4ad3a7a59fb7113cf115c6fc05c7494",
      "tree": "8ae1ab526509c9b7f150b5e116884019373e6f8c",
      "parents": [
        "dc2f368e565c37728b0d620380b849c3a1ddd78f"
      ],
      "author": {
        "name": "Leah Neukirchen",
        "email": "leah@vuxu.org",
        "time": "Thu Aug 10 13:35:13 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Sat Aug 12 00:23:21 2017"
      },
      "message": "qsort: add a short comment about the algorithm\n"
    },
    {
      "commit": "dc2f368e565c37728b0d620380b849c3a1ddd78f",
      "tree": "670c8185a57f03ca9779ef87f3bb834f2799fcd8",
      "parents": [
        "947d330f68c49680dcc54439f56da2a297228962"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Aug 11 04:17:00 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Aug 11 04:17:00 2017"
      },
      "message": "disable global visibility override hack (vis.h) by default\n\nneither current compilers nor linkers treat protected visibility the\nway I expected, as having fixed source-level semantics rather than\nbeing dependent on target-specific ABI details, and change seems\nunlikely. while the use here does not actually depend on the specific\nsemantics, at least some versions of some linkers, especially lld,\nrefuse to allow linking to a libc.so where the symbols have protected\nvisibility. this cannot be detected at configure-time because linking\nlibc.so itself works fine, and because even if we could test linking\nan application against libc.so successfully, we could not justifiably\nassume that the same linker used to link libc.so would also be used\nlater to link applications.\n\ndisable the vis.h hack by default at the configure level, but add an\nexplicit \"auto\" option to request the old configure-time detection\nrather than just removing it. this leaves it easy to evaluate whether\nit actually resulted in significant size or performance benefits while\nensuring that out-of-the-box builds are not unlinkable for some users.\n\nfortunately, preliminary evaluation suggests that at least x86_64,\narm, and aarch64 don\u0027t suffer at all from the change, and impact on\nother archs is low. if low is not low enough, it should not be hard to\nanalyze where the significant PLT call ABI costs are present and\nmitigate them without the hack.\n"
    },
    {
      "commit": "947d330f68c49680dcc54439f56da2a297228962",
      "tree": "db501c0de78202bee078e418c5b9a9a47ece0712",
      "parents": [
        "a08910fc2cc739f631b75b2d09b8d72a0d64d285"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 01 03:08:27 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Aug 01 03:08:27 2017"
      },
      "message": "add _NL_LOCALE_NAME extension to nl_langinfo\n\nsince setlocale(cat, NULL) is required to return the setting for the\nglobal locale, there is no standard mechanism to obtain the name of\nthe currently active thread-local locale set by uselocale. this makes\nit impossible for application/library software to load appropriate\ntranslations, etc. unless using the gettext implementation provided by\nlibc, which has privileged access to libc internals.\n\nto fill this gap, glibc introduced the _NL_LOCALE_NAME macro which can\nbe used with nl_langinfo to obtain the name. GNU gettext/gnulib code\nalready use this functionality on glibc, and can easily be adapted to\nmake use of it on non-glibc systems if it\u0027s available; for other\nsystems they poke at locale implementation internals, which we want to\navoid. this patch provides a compatible interface to the one glibc\nintroduced.\n"
    },
    {
      "commit": "a08910fc2cc739f631b75b2d09b8d72a0d64d285",
      "tree": "83f213fef84071c2c9e34aec6431e31d5c7eaae4",
      "parents": [
        "2e6e08423b95b1b2bce7568f650c2b69d8d8fb8b"
      ],
      "author": {
        "name": "Jens Gustedt",
        "email": "Jens.Gustedt@inria.fr",
        "time": "Sat Jun 24 09:54:25 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 22:21:08 2017"
      },
      "message": "fix missing volatile qualifier on lock in __get_locale\n"
    },
    {
      "commit": "2e6e08423b95b1b2bce7568f650c2b69d8d8fb8b",
      "tree": "b49d8bbf91de7423ac2f305d16b1013563610d5a",
      "parents": [
        "bc42dcbfd9466c22d8ab0f8235e5091689a95aad"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Tue Jul 04 19:53:12 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 22:04:52 2017"
      },
      "message": "remove ineffective compiler assist from printf\n\nThe switch statement has no \u0027default:\u0027 case and the function ends\nimmediately following the switch, so the extra comparison did not\ncommunicate any extra information to the compiler.\n"
    },
    {
      "commit": "bc42dcbfd9466c22d8ab0f8235e5091689a95aad",
      "tree": "0d33a79c5b386f7358b7ec250d3f50a1b028efad",
      "parents": [
        "d906fa3118c888227d858b6d642a09e055eca2b4"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Tue Jul 04 21:51:05 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 21:53:58 2017"
      },
      "message": "fix undefined behavior in ptrace\n"
    },
    {
      "commit": "d906fa3118c888227d858b6d642a09e055eca2b4",
      "tree": "9448107ecf485b113c32ac676a482c2c8891d08e",
      "parents": [
        "60ab365cae24063b0f21821860ca16fb63e81f81"
      ],
      "author": {
        "name": "Jens Gustedt",
        "email": "Jens.Gustedt@inria.fr",
        "time": "Sat Jun 24 08:18:05 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 21:12:52 2017"
      },
      "message": "unify the use of FUTEX_PRIVATE\n\nThe flag 1\u003c\u003c7 is used in several places for different purposes that are\nnot always easy to distinguish. Mark those usages that correspond to the\nflag that is used by the kernel for futexes.\n"
    },
    {
      "commit": "60ab365cae24063b0f21821860ca16fb63e81f81",
      "tree": "0c6f5611824e45ae2c5e72a618703ef3c24a4957",
      "parents": [
        "f6888840613a510c99915ba7732df8ec54d52637"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Tue Jun 27 17:58:47 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 21:11:33 2017"
      },
      "message": "fix undefined behavior in free\n"
    },
    {
      "commit": "f6888840613a510c99915ba7732df8ec54d52637",
      "tree": "c8d65f0e5f150af8ba5db31b6bb91a9a5f00366b",
      "parents": [
        "bd00cc87819875882356298b6c6bdabc1700753f"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Tue Jul 04 19:59:06 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 21:04:43 2017"
      },
      "message": "reapply va_arg hacks removal to wprintf\n\ncommit 58e2396a9aa23c132faf4198ca4d779c84955b38 missed that the same\ncode was duplicated in implementation of vfwprintf.\n"
    },
    {
      "commit": "bd00cc87819875882356298b6c6bdabc1700753f",
      "tree": "c9f106917cd16bd04357208228ffbfd120118d44",
      "parents": [
        "f3055e0163aad1cebb0867078643b36643c5d95f"
      ],
      "author": {
        "name": "Alexander Monakov",
        "email": "amonakov@ispras.ru",
        "time": "Mon Jul 03 16:24:02 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 21:04:21 2017"
      },
      "message": "remove useless declarations in string.h\n\nThe two functions str{,n}casecmp_l are specified to be declared in\n\u003cstrings.h\u003e which is already included from \u003cstring.h\u003e under _GNU_SOURCE.\n"
    },
    {
      "commit": "f3055e0163aad1cebb0867078643b36643c5d95f",
      "tree": "b3ee332a4decd39b65aa930dae70e0d90b8f7036",
      "parents": [
        "43c423af5b8453afde86e4ba81e0fcc663ae7c22"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 20:58:28 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 20:58:28 2017"
      },
      "message": "allow specifying argv[0] when invoking a program via ldso command\n\npreviously, the pathname used to load the program was always used as\nargv[0]. the default remains the same, but a new --argv0 option can be\nused to provide a different value.\n"
    },
    {
      "commit": "43c423af5b8453afde86e4ba81e0fcc663ae7c22",
      "tree": "d146722cc0decbf820dda69e651c0bf0b0cf0283",
      "parents": [
        "66b53cfa8876342f7e7d7907d30c719c38cd5a1b"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 15:34:39 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 15:34:39 2017"
      },
      "message": "fix regression in dlopen promotion from RTLD_LOCAL to RTLD_GLOBAL\n\ncommit 4ff234f6cba96403b5de6d29d48a59fd73252040 inadvertently removed\nthe logic to do this when changing the representation of global\nstatus.\n"
    },
    {
      "commit": "66b53cfa8876342f7e7d7907d30c719c38cd5a1b",
      "tree": "211439c479f256f76441a8937df956d7fd00d58a",
      "parents": [
        "94f744195e17cf787a36c259254d56386b31fe20"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 14:58:13 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Tue Jul 04 15:05:05 2017"
      },
      "message": "ldso: avoid spurious \u0026 possible erroneous work for libs with no deps\n\na null pointer for a library\u0027s deps list was ambiguous: it could\nindicate either no dependencies or that the dependency list had not\nyet been populated. inability to distinguish could lead to spurious\nwork when dlopen is called multiple times on a library with no deps,\nand due to related bugs, could actually cause other libraries to\nfalsely appear as dependencies, translating into false positives for\ndlsym.\n\navoid the problem by always initializing the deps pointer, pointing to\nan empty list if there are no deps. rather than wasting memory and\nintroducing another failure path by allocating an empty list per\nlibrary, simply share a global dummy list.\n\nfurther fixes will be needed for related bugs, and much of this code\nmay end up being replaced.\n"
    },
    {
      "commit": "94f744195e17cf787a36c259254d56386b31fe20",
      "tree": "6702e9ebf15bd4db3049d769fd06bd51abe124d8",
      "parents": [
        "9d12a6a21fd146f543e8a6b8ec4cce7fd61be606"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Jun 23 20:01:00 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Jun 23 20:01:00 2017"
      },
      "message": "powerpc64: add single-instruction math functions\n\nwhile the official elfv2 abi for \"powerpc64le\" sets power8 as the\nbaseline isa, we use it for both little and big endian powerpc64\ntargets and need to maintain compatibility with pre-power8 models. the\ninstructions for sqrt, fabs, and fma are in the baseline isa; support\nfor the rest is conditional via predefined isa-level macros.\n\npatch by David Edelsohn.\n"
    },
    {
      "commit": "9d12a6a21fd146f543e8a6b8ec4cce7fd61be606",
      "tree": "28e101e07103ee371386958ffe7e102d16f4f184",
      "parents": [
        "ce385fcfb2db74b109067083db4a26ca810eaa14"
      ],
      "author": {
        "name": "Dmitry Golovin",
        "email": "dima@golovin.in",
        "time": "Fri Jun 09 14:10:47 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Jun 23 19:45:48 2017"
      },
      "message": "fix clang CFLAGS checks and silence unused argument warnings\n"
    },
    {
      "commit": "ce385fcfb2db74b109067083db4a26ca810eaa14",
      "tree": "f759439c9cf1c25ea52f1488d6441dcb30b1b28d",
      "parents": [
        "e6def544358afd5648a428d2e02c147a1f901048"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Jun 23 19:28:10 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Fri Jun 23 19:28:10 2017"
      },
      "message": "s390x: add single-instruction math functions\n\nthese were introduced in z196 and not available in the baseline (z900)\nISA level. use __HTM__ as an alternate indicator for ISA level, since\ngcc did not define __ARCH__ until 7.x.\n\npatch by David Edelsohn.\n"
    },
    {
      "commit": "e6def544358afd5648a428d2e02c147a1f901048",
      "tree": "9210513645e1a5dc230e1f128237dbe978e94ee7",
      "parents": [
        "91d34c4533e6bf6eacad7a9f001f28f9e5ebc656"
      ],
      "author": {
        "name": "Szabolcs Nagy",
        "email": "nsz@port70.net",
        "time": "Tue Feb 21 00:07:34 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 22 22:34:06 2017"
      },
      "message": "fix arm run-time abi string functions\n\nin arm rtabi these __aeabi_* functions have special abi (they are\nonly allowed to clobber r0,r1,r2,r3,ip,lr,cpsr), so they cannot\nbe simple wrappers around normal string functions (which may\nclobber other registers), the safest solution is to write them in\nasm, a minimalistic implementation works because these are not\nsupposed to be emitted by compilers or used in general.\n"
    },
    {
      "commit": "91d34c4533e6bf6eacad7a9f001f28f9e5ebc656",
      "tree": "2a62a1ab010f6b877564bb26095c0df1a68eb81b",
      "parents": [
        "5948bc1a642e6cead729602c9e1a251d5f60bddb"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 23:06:45 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 23:06:45 2017"
      },
      "message": "fix regression in getspnam[_r] error code for insufficient buffer size\n\ncommit 2d7d05f031e014068a61d3076c6178513395d2ae wrongly changed ERANGE\nto EINVAL, likely as the result of copy-and-paste error.\n"
    },
    {
      "commit": "5948bc1a642e6cead729602c9e1a251d5f60bddb",
      "tree": "5f2454ea17ee46b08761a3dc1551303fbda5c0ce",
      "parents": [
        "b7bfb5c3a8330002250f304cb5deb522fa054eae"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 16:47:15 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 16:47:15 2017"
      },
      "message": "fix omission of microblaze user.h definitions\n"
    },
    {
      "commit": "b7bfb5c3a8330002250f304cb5deb522fa054eae",
      "tree": "b22815f7d5db219a990c97e058286014dce69abf",
      "parents": [
        "64f855874c32e192382df69f4765a7e32057a005"
      ],
      "author": {
        "name": "Bartosz Brachaczek",
        "email": "b.brachaczek@gmail.com",
        "time": "Thu Jun 15 21:30:48 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 00:41:23 2017"
      },
      "message": "fix iconv conversions for iso88592-iso885916\n\ncommit 97bd6b09dbe7478d5a90a06ecd9e5b59389d8eb9 refactored the table\nlookup into a function and introduced an error in index computation.\nthe error caused garbage to be read from the table if the given charmap\nhad a non-zero number of elided entries.\n"
    },
    {
      "commit": "64f855874c32e192382df69f4765a7e32057a005",
      "tree": "06a2b8930057e9a0e52aaefa06fcd9a1dc417dc6",
      "parents": [
        "2d7d05f031e014068a61d3076c6178513395d2ae"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 00:31:35 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Wed Jun 21 00:31:35 2017"
      },
      "message": "handle errors from localtime_r in ctime_r\n\nPOSIX requires ctime_r return a null pointer on failure, which can\noccur if the input time_t value is not representable in broken down\nform.\n\nbased on patch by Alexander Monakov.\n"
    },
    {
      "commit": "2d7d05f031e014068a61d3076c6178513395d2ae",
      "tree": "533f4bd2fedea2ff59d998ebc1f6c73aabc1ac44",
      "parents": [
        "5c10c33d2a35204ee76931625a007fcc8cca3228"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 17:01:34 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 17:01:34 2017"
      },
      "message": "set errno when getpw*_r, getgr*_r, and getspnam_r fail\n\nthese functions return an error code, and are not explicitly\ndocumented to set errno, but they are nonstandard and the historical\nimplementations do set errno as well, and some applications expect\nthis behavior. do likewise for compatibility.\n\npatch by Rudolph Pereira.\n"
    },
    {
      "commit": "5c10c33d2a35204ee76931625a007fcc8cca3228",
      "tree": "8847a78536f72c9c062ad5cd2bedc6fd4ae79ee4",
      "parents": [
        "1c86c7f5c26dd0569df7afc23ee9866fb3f645dc"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 16:58:08 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 16:58:08 2017"
      },
      "message": "handle localtime errors in ctime\n\nctime passes the result from localtime directly to asctime. But in case\nof error, localtime returns 0. This causes an error (NULL pointer\ndereference) in asctime.\n\nbased on patch by Omer Anson.\n"
    },
    {
      "commit": "1c86c7f5c26dd0569df7afc23ee9866fb3f645dc",
      "tree": "0d512c978c4ced20a1dd2f00d38dd44cc65a06e9",
      "parents": [
        "10800088099ec4c27c1db6c613c8bbf9f76e4057"
      ],
      "author": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 16:54:40 2017"
      },
      "committer": {
        "name": "Rich Felker",
        "email": "dalias@aerifal.cx",
        "time": "Thu Jun 15 16:54:40 2017"
      },
      "message": "handle mremap failure in realloc of mmap-serviced allocations\n\nmremap seems to always fail on nommu, and on some non-Linux\nimplementations of the Linux syscall API, it at least fails to\nincrease allocation size, and may fail to move (i.e. defragment) the\nexisting mapping when shrinking it too. instead of failing realloc or\nleaving an over-sized allocation that may waste a large amount of\nmemory, fallback to malloc-memcpy-free if mremap fails.\n"
    }
  ],
  "next": "10800088099ec4c27c1db6c613c8bbf9f76e4057"
}
