public inbox for
help / color / mirror / Atom feed
* [SCM]  scox/globalstate: Merge remote-tracking branch 'gdb/master' into scox/globalstate
@ 2017-10-27 14:46 scox
  0 siblings, 0 replies; 3+ messages in thread
From: scox @ 2017-10-27 14:46 UTC (permalink / raw)
  To: archer-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2410851 bytes --]

The branch, scox/globalstate has been updated
       via  bafd5fd4f7aece42f52b297ab26e95ada81b9346 (commit)
       via  2739ef6db8e9a152f7b0ef8d012b394eb41a5dc5 (commit)
       via  66cae56016a12f7cbdc94be6f82c1cad1c59b521 (commit)
       via  fe4e2a3c9281851c9da99a6e36a2bc96e4279476 (commit)
       via  defc8e2b3576c28fd5651763348ae23c18a94170 (commit)
       via  ee6872beb1912af41a506c8aea34af7d2f873d04 (commit)
       via  8cfcb7659cb844dff00efbbb644c15b650fb7e8b (commit)
       via  ff1982d53a1fba573e7f9a3b455f7644440cb336 (commit)
       via  8dcf1fadf2b0763962639fc5dcedc1892e502265 (commit)
       via  48521003d5300e1390d78dbbcae83febe5808aaf (commit)
       via  53467f5707ec796c0490d55e74854258a78013f8 (commit)
       via  f6af9f3428fa86030ba8ecd2da7d11e4ee1ed989 (commit)
       via  67c04379acee0da10f148edc3d8903859d928f68 (commit)
       via  56fbd041853a4008532d20b898f5b41f594a868f (commit)
       via  a73ca552593ec2903fd5485b8c8f40a250645110 (commit)
       via  4e15b78be4bf008fb4f97bffbc0865dd0e4833ce (commit)
       via  4d3bb80e5db40cd2308157db3c446f35ae97a915 (commit)
       via  a664f67e50eff30198097d51cec0ec4690abb2a1 (commit)
       via  6e17c56511104abd605bd2d122104467fc4f0089 (commit)
       via  cfba98720f62473abc54457a376a3b7aa7ab1e40 (commit)
       via  b392b304b92ddd81ecfb4902c3fc3501ff90e999 (commit)
       via  881b33774d75e632ed9099210c41f16c33dc7db8 (commit)
       via  d63613596fa297dd19781eec61269186653f544d (commit)
       via  3b4190ccb31be262a5aac78238e6d659746f1f0f (commit)
       via  f3012016f008030b48597b578a5fb1e550907374 (commit)
       via  d5833c62d93e8176b70e8509ab36cc38801c3ebd (commit)
       via  06d5bbc8e5f7541b13509c33b8b3eb8afac27b2f (commit)
       via  2712ce2e659f82168154d4533f53d2963ae82571 (commit)
       via  15763a09d4aea85fc3153d6746c040dd48565637 (commit)
       via  fcc8fb2f3de370f2def30bb18c98243ed4f3fb8c (commit)
       via  808811a36951c6bc2ee9d56124603d7ef88a019e (commit)
       via  36862fc052b7006c78024952c4024c60b8a2733f (commit)
       via  4c2287b0bdfbed95d37d09222fc253f4c5086ada (commit)
       via  b5f6e7409243ca9b016753966a6404cdcfd41d95 (commit)
       via  3d415c26bad3a15eed00d2ddf85c4268df77a4cc (commit)
       via  395423c418da2cba1240e39ae944510fe9ffcccc (commit)
       via  54f70bc14586878ee14891ecb11efb8a90405874 (commit)
       via  49a4ce2eae231ae627ab9a312256c6e402b5a27e (commit)
       via  63929e843d54d327676bed4d86dad280f4675547 (commit)
       via  9d06997adb88a71487a2f5627de032c6fb994604 (commit)
       via  ff6f4d9b2d6c25ac144bab869df6e3d6123a6f8f (commit)
       via  95e42ad4425f0ab0ebfb90035a891be576f9fca4 (commit)
       via  a75868f50ba72e9aa906702ae038fa29feda7743 (commit)
       via  2edf834e298b15c882678db22e86745f701807fa (commit)
       via  280958942b74f3164708700f195188c4d3446f58 (commit)
       via  1ba1f393faac96f6ad80499d7133df23d6187b8c (commit)
       via  0fb7012e88683b8bd67a4fb8f782359fa0e11724 (commit)
       via  fa57faa0dad237b3f418f17e7ee2114c32da818a (commit)
       via  d7dd155841641df62761f79a35362371811d9739 (commit)
       via  8e354058532d48dce19fdf0b2e0653609a69f19e (commit)
       via  8dfa5d5a6389b7f0fdd7baaedc5f316f05debf63 (commit)
       via  c8ba13ad37c98262b94f99cc4f84ac0066c48cc2 (commit)
       via  3753468682a9c7982b6eba0fca58fbfc1cd5b9fb (commit)
       via  2a6969e1738859ea8c12837fb0cba3845bc87ceb (commit)
       via  8ef027f00ba0252e22ce548c3d270db978184b5a (commit)
       via  94ea37b3e93d4400cb0ae1e97b1241a552a4ab5e (commit)
       via  8071ec0990927fd747483ffaad3b5d3b16355643 (commit)
       via  482366c31ebf90361f0da350608887bf7b6f0f41 (commit)
       via  28c7c158766513a1c6f599c08f85851fcab855e6 (commit)
       via  5396a86e439653fb5cd714b955708250777a32e5 (commit)
       via  b7213666d6035713c3a2786ee418085e07cb3cca (commit)
       via  da15dcb0aadfcd73cd3ed3ef2e2abf1c743f8ef8 (commit)
       via  412294daf8786fd9060059b8be7fc59a35e13922 (commit)
       via  b27de576d41eed16936cf639857df4e1e27a8e9e (commit)
       via  be459434b6f98abe587f51a374abc38821be304d (commit)
       via  8484c9554519c25c73a349d0581cc269f102c5d2 (commit)
       via  30f0b1015897466fb88ed26c56a0b4f42808edbc (commit)
       via  57e12da97f8dbe2ad5b4f59bf89c709c4d66600d (commit)
       via  cf54ebff3b7361989712fd9c0128a9b255578163 (commit)
       via  7b7009999ab8daac9db776c850b7df6e1f586334 (commit)
       via  d3037ba6a398d37585b3d34ff9ed439848ba98a1 (commit)
       via  7a7cdfa04b0225dfa6879384075e08d73eaee862 (commit)
       via  e675d1703fbdec643ec42aa67b9720cb199f4375 (commit)
       via  7eb4e0f95641edebbc28a710f28111f0ecb9f0d1 (commit)
       via  60d6cfc99e67c3f94e31e26112873719b12b738f (commit)
       via  0301ce1486b1450f219202677f30d0fa97335419 (commit)
       via  e6e2dfbdc1e0df3844401f7a8be64e98823a7846 (commit)
       via  83d5a34dd4e11263f6c6dd356b410799c6cb7970 (commit)
       via  487958d1e995ab05420f9a8468535b4399602a3f (commit)
       via  c191a6875b118fce30e7dc4d9e4bd20eff850270 (commit)
       via  087ce8fa0249fa0167a73f25be51e12fb1a2b336 (commit)
       via  87028b873938aa3cc756c99e33a328640dbc30bc (commit)
       via  b7b030adc405017f01e996a90f85e40730ef8397 (commit)
       via  b80406accc70791a1789e40f24d64161bc41de34 (commit)
       via  a90ecff85af9d9275f540227825ba62bdafc976d (commit)
       via  2dc0e219715356c6acbc3bea85ddec288f752f1f (commit)
       via  b05628f0a878cdd64492bbc49d60003d699763ad (commit)
       via  739b3f1d8ff7072dcc66240c25b026c6433bda1a (commit)
       via  fe68b9530f6ec45d57838b96dbe11723b90467f4 (commit)
       via  a79b1bc6f690f3d146a3caddabd9f13a886c856a (commit)
       via  63f0e930d4667eb7dbc95c78f770cd58acd328ef (commit)
       via  5c3261b0e834647cf9eb555320e20871b7854f98 (commit)
       via  5bfda25568c34410129c91042cdfdf10c143edac (commit)
       via  c40c7bfcf12408f9f8fb1bb61882f1ffd78d4e8b (commit)
       via  df27ae6a09c6e1d3e92e67b19e43c24d5f1842b2 (commit)
       via  8676616596351876612aa84be798537625348086 (commit)
       via  86e17b6fbc9b224ecceece7a8bb4dd7989f07c7d (commit)
       via  631859b65bf9f242c1d408d54052df25d5e983e7 (commit)
       via  851b6fa13707d187e068c8773f21d376391387a9 (commit)
       via  9577f60b5a19ce93536f49cba3af4be39e39c327 (commit)
       via  5d84490bf6ac806c15781a833f0e1e7a191f334f (commit)
       via  e01c16a83893b03433c8edf4ccae536d9b9f4831 (commit)
       via  6ee6e05af482b356f9be4b0db877802fb47b2a12 (commit)
       via  b27bb18f45a99330600ab57892c3620343425910 (commit)
       via  31a53da5418528b9ba94bb80a97f0084f40e0c64 (commit)
       via  112fef4084ff0bdd6dd9aacca85f5fe62e1a5423 (commit)
       via  5056ba1d4df19006b873bc8e752f85fcc712b65b (commit)
       via  60c1b909dfcc984f3aecb70032e90a34d71b44bc (commit)
       via  db41f6eb5234ea3c74c1ce4798cf9923d4a45a98 (commit)
       via  ad9512030937e79e28d08108fde7adf18635c58b (commit)
       via  95b03e4ad68e7a90f5096b47df595636344b783a (commit)
       via  a3cd202aae50abe5a571fb8c186b6b6af68edce2 (commit)
       via  ddb7fd0f7b43e4c755c4b8c7752948e050363525 (commit)
       via  62cd30f167be56e68cb0a37789d400b47bbdbc6c (commit)
       via  824dfcc311958af08c25d29956da2bab99e240c9 (commit)
       via  9c80ecd646a604fadcc290fca23b34c9454f5feb (commit)
       via  9179355e655d78cf44ffdfb432e134eabceaebab (commit)
       via  c9cb8905b489d094c6c42e103d4bc6e231e00cf0 (commit)
       via  2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3 (commit)
       via  4cdd21a8d3fd943d6993e9d053edf09583802744 (commit)
       via  d0d292a27402ee2d3f91d541371f134f91730373 (commit)
       via  8d3c73ef6b1aff1b22296bd48ec302b4b1d4808c (commit)
       via  b129dcac882da87767cb863ad8b2572f90e9e5bc (commit)
       via  af5bf4ada48ff65b6658be1fab8f9c8f8ab5f319 (commit)
       via  3ec5942fbf8501db10784b0dff7d24222a113728 (commit)
       via  867d918419528a1bc18286f4f13ff69fcf17e0c9 (commit)
       via  300b6685f17cae131166eaf2fcafe10dab06466b (commit)
       via  50500caf810fcc6c05e3fd89bc37fe8f9e4adb07 (commit)
       via  dad0c6d2f7410d3b451800f856f3c6818303c316 (commit)
       via  8b0553c18f0dc63ab0ae930f2e8eed2bce4cd32c (commit)
       via  2399fe6ab0b6ee64c569992e4bc3bbae3b5b2193 (commit)
       via  4bf3f4a810813214213ad4f7d869eb24e79d77af (commit)
       via  354bac403e9a19bbbfb676d854db5f11f0e84c27 (commit)
       via  9e86da0760aa1e52178cc5b90cd92a7cd4a338f9 (commit)
       via  7594f6236073fcc8696c43e1f5267e61f7d5c226 (commit)
       via  ebe3b40202042fc644df5ea3bd111425ba1aeeee (commit)
       via  42f1b1617e4f8c8f485318897c5154cbff58eeb0 (commit)
       via  8d6ef72b0470dfb1133525c8c4556d3578744ac4 (commit)
       via  d7bcd5b8e55c54543389196fd18453db6961e314 (commit)
       via  df479dc6e045beb77052f96280798e48ee1feb6c (commit)
       via  23fb630af09f2601e7cb75233837399d67cfd017 (commit)
       via  cc77b1dc33790bcb852c8c72e2efebaa3b505b01 (commit)
       via  27c9e813f93974c2d1e237f3c4f25029627bcb58 (commit)
       via  5e830d9807b91f806524ff822d953443c8fb3d2f (commit)
       via  c2508e905f956c5a5e0d2a7fff58b4c746180237 (commit)
       via  3b4b0a629a972bf80fc0ac6202f89681fab1df37 (commit)
       via  d268bbaff7da90caf5fbc94456ae58315ffa1802 (commit)
       via  f5ca00321dd8da526b8a6a894465bdc7a14d30ac (commit)
       via  52a58c224d5d45cc6d7749e2d93827c218562a30 (commit)
       via  8aed1c0d04e6d0eb7d0790c4691665cffef573b7 (commit)
       via  cfa34c871c6644bd7b132b5ca7f2217880f5fa9b (commit)
       via  9192b7decc7256a41502bf68df36f429cceffc89 (commit)
       via  74ffa566739c7e98568a9aa8b5ab8d8f3730d30d (commit)
       via  a900ff724a725ea951ba8b17232577e1a4b4866e (commit)
       via  f7b7ed97a23e2bf4a2ec27bef0fe0af55a080a94 (commit)
       via  04ec7890fccfa5ddd9cc92961a4df58957ca181b (commit)
       via  466eeceef409597388dd2b4e8b907cf080bedcf1 (commit)
       via  6bf0052db8bbeed41e512d1d3ce14ba2a446723d (commit)
       via  e48ef82dd2fc85560d14a45a632c82eaaadca7ce (commit)
       via  8d7aea574a8ab3a235088866860df75b542ae4a3 (commit)
       via  30440677f3d0cdd2085bea40496774ffa24f6bb1 (commit)
       via  4e04f0450f83d8d0ad08579b5e6c8b4e8a8e693f (commit)
       via  871a186e41aeb7f966c6570b8f1659aec9d2c15d (commit)
       via  6c19b93bcd0d136f7be4d1e1e3f2e8d7b5917009 (commit)
       via  1d75a8e26e6def4f492c84a5f678e41ddebda799 (commit)
       via  9f8575350f980aa6da8c488c6aa30862620eaa1f (commit)
       via  359987e21867b730564ff46ddceaafdc93d0fb49 (commit)
       via  22b1ee183d19a92cc57859c04307d31c06792d13 (commit)
       via  559192d89d743834951fc386530c6bc7f89b358d (commit)
       via  f5233a1611d7d459a762b5fa93d7594a6965971f (commit)
       via  ff0769882d2338d334eb799179332c39bb9d8ddc (commit)
       via  f71c8822611a552e76843142a52b8197be0ea34a (commit)
       via  981a3fb3594dddae266b7a5014c3001727200d7b (commit)
       via  fdf44873ec6e37417bf8c8ce33bb9b1a6b4ddcef (commit)
       via  81b1e71c4a1370c77ad1d462e1a761402d48b1c0 (commit)
       via  4b97e3893ed2af7bdb9dcaa34fae1a207e2d7042 (commit)
       via  853ee16fcdf7e60f297b3456353b3a69f4822bec (commit)
       via  4f9d99066edcefab0e5868d20cb9ddaa7b76da52 (commit)
       via  7176dfd28d1a2a74e6d8dd698aeb857eb6edfb98 (commit)
       via  39865a7f420ab4ca4dec6ed27339618a5d5dc366 (commit)
       via  fe22022617a7122491aa83c893a10a8d861cde73 (commit)
       via  3c9a7b0d6d84425ea24d222a1a31e206e587374f (commit)
       via  a2f63b2e7a5da01ff828b45c7e0e57265ee24131 (commit)
       via  72bc1bb934ba99bc9182179a866c0d2c77d027c8 (commit)
       via  458ca1d02e47db0af0e22d524df0e4b88fc54b6e (commit)
       via  905014d7205d4f171c5cabf695fe1ec3da9b33d3 (commit)
       via  56d704daee44b036d1eff86123de6dec0c55f61b (commit)
       via  8f314ad58ec824ce6c8467af29f11583f79a80ea (commit)
       via  04914e3707e210a071b3af3c52cc5e5b2ad41a61 (commit)
       via  7fa29be949a96f68ee65dcdb4f56f132609170db (commit)
       via  d9b477e3b7388732ed5293d929ceb5fc609916fe (commit)
       via  d003af558092dc521f93d16628b9ccbf434370e3 (commit)
       via  e8b8ffd3c0676f69d1edd3859d4eebf10d1d62d7 (commit)
       via  0f09b4d8d8f7c5d249c8375c5c42d4eba3bdc858 (commit)
       via  2f20e312aad64c0f5257b9725fa5ffa3e8a93ca2 (commit)
       via  eb8c0d308be8525f7c25962a9c581f44af23a364 (commit)
       via  c85fa91b5c0dc70641d75d6ab9315ad547487c1f (commit)
       via  e4905c7464d23367248bdd5d8eccaebb495b8274 (commit)
       via  22b63797983f485041a2a424e6cd7732f4318885 (commit)
       via  65630365f7d073430e62b4fe65f34dcdc0a4b05e (commit)
       via  bf4692711232eb96cd840f96d88897a2746d8190 (commit)
       via  6c699715f68be7d8c468e965fbefce997f7ed937 (commit)
       via  ae7e78255666733d238e676a0bab14986a1483dd (commit)
       via  fc3c534364ca6d6de4f0dbcaf347ec85f5e2f8ff (commit)
       via  b9399fcf4ec90d898a610e39bd9141e85c008fbb (commit)
       via  cbd3b1c155ed4f4986bf50754b1c57ad85700f7c (commit)
       via  f8f762b2fd203755c51875e979dfdeb69b66743b (commit)
       via  1a56bfa56ed967c5f6ed98f75834408417a062ff (commit)
       via  0c478e2d060bebea341696806fed6f67122efab6 (commit)
       via  478c006f9b4a64d59c31aed081c14c1d7dd4ba68 (commit)
       via  9d45a7de8b80336b9965ee99353c34be85b1b98f (commit)
       via  777a42f1f86b60d11cfe0e5964036823e6920f79 (commit)
       via  cbd2b4e316370ab740433b06ed65786831232c8f (commit)
       via  a181c0bf7461c28cdb72a4074c6d7608119fb575 (commit)
       via  6e66f7538112d2f5fb1af17dbde33ba37a7171be (commit)
       via  8e464506d2131fc931c4f81a22cc7125b7adf434 (commit)
       via  ee6767daf13a13867f8e716c2a53b748ab0da536 (commit)
       via  890e97902a21a3b88f9b6028852736b813303029 (commit)
       via  109483d9eec3f0d0c3eaafd5d829435059167c52 (commit)
       via  c474ea1a5f1524668cb8ce91c3682cb0cb837e08 (commit)
       via  6753e38a5c71b4b4ae81bba41fb67890abfa4e0f (commit)
       via  e61933afce961c4b23c5e173b4b8f46b949bef30 (commit)
       via  5c9e4427a745e5e26fba320ecc62e4285b613e4f (commit)
       via  76f361eb4934dcda0626517c311b34fbc92d09b9 (commit)
       via  5d3b558acd329de9dcbd63d9bb04242b31fad490 (commit)
       via  4f2358bca6910cafbe9b37a713fd96e5ab84d4e8 (commit)
       via  791afaa233ca9f4baa59aa16062296a00aa2c4da (commit)
       via  30a9c02feff56bd58a276c2a7262f364baa558ac (commit)
       via  757325a3f24e01bf8e7b7214f33c546bc52d1d12 (commit)
       via  b9c04fb2681dd5706d2cafa5dcc6bdcd99016cf4 (commit)
       via  b55ec8b676ed05d93ee49d6c79ae0403616c4fb0 (commit)
       via  a72f95f7760bf85693af393c5e01dd3aedbe5bde (commit)
       via  f9799aae8e51948c1d87fbe7249b3d76dcb4585d (commit)
       via  effaa0a1e8d63a7063e8c7b42fe1f9b98a4da2fe (commit)
       via  4c7236d3cb7b971bbdc97b6aec348a4aa0594a9b (commit)
       via  70090aa5f629dcbdfa88b20c29951fa8f50f0545 (commit)
       via  f0f07ad1825e9b7f539e410562993b25f76e5627 (commit)
       via  b05c287c1820c5a86e08afec26f5f73b65b416aa (commit)
       via  2458d83bbc190f92f7718b30438dd7e5775e0d3c (commit)
       via  0ee6e554c4f8b23cdd629774ae94a74af5826976 (commit)
       via  99180bccaf09413c9ddb28e51fa30f1ca4966583 (commit)
       via  98b273dc13b1e45db8c66821efc9e514884f3c25 (commit)
       via  b3b7c423883ad8d8b81f166ad2d2d4b637086bc0 (commit)
       via  544c67cda1686c1b204cb96c0d7885b08d37b8d6 (commit)
       via  0d28b0a5caa6b04129e21a9aff371d4032c7ef17 (commit)
       via  71917808c3490b4d4df9c6e848e3c5d75f5278d2 (commit)
       via  2081b2b2ca30d7c3b6464a3e167ce2c336c0465f (commit)
       via  e0d8f43169368abf354e596c7725dee1dd609cb8 (commit)
       via  a1b85d282f408dfd18a27539874846197f7e4044 (commit)
       via  b79f7801a2c555ee4ff4bc3050141e83158f66d4 (commit)
       via  d97987e219b80c670e37eb0e25e31b36fa295509 (commit)
       via  f38307f593cb8189c82fb39e46e0cd899022e2fb (commit)
       via  2f924de654ff8f719faf60b84948397809baaac6 (commit)
       via  ff38b4cc55dade4c9970cac2149a946d5dc0adc7 (commit)
       via  f3180fa9ee8917fa9547cd5f79c822761f5d87a0 (commit)
       via  e74399c47c76b8111651f41b52a05401852cf799 (commit)
       via  aebcc8ffd201adbee973b414818b01876dabe1a0 (commit)
       via  cf1070f1a1ca1f8be1cd88aa6ece55a25e6a887b (commit)
       via  f70656b2604eff12cea2e9bef27c1e00a3077f30 (commit)
       via  1f92404c505db7ca2255dad73647889234013a0a (commit)
       via  2eba97c207399d8b541092a7b0a4428dc02f5cf1 (commit)
       via  daf1c414a48baf090f005ce4b319b6881d5d6872 (commit)
       via  51537393bd939e79f6e9291629fb65a17e6f19da (commit)
       via  e98fdf1ab07243fe467caadd0d033b44b8ca20c7 (commit)
       via  0caf6c82ab23ece570d14499ed02653968cd8abd (commit)
       via  46e31de783dd29036370f2a1a233bd0e65ab2dd0 (commit)
       via  2fd9d7ca17539ce983862b25e0abc27cfb706189 (commit)
       via  d13b8493cbd2891b5886e6176d468eb63c73606a (commit)
       via  3b4b2f160d288b85a1379d24fd0f4de19062f3fd (commit)
       via  1841ee5d0300cf00022c8aadfe16725c5e86fe1d (commit)
       via  a80a647180bf92692e0f01efe7b323afe7d317c9 (commit)
       via  6d5be5d6b8b4412e65bc037472aa2e727c25ccf5 (commit)
       via  12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963 (commit)
       via  2bfa0cdfadd313f3cc35329a17ba3c62865208a3 (commit)
       via  97953bab05cca82bd3119de4d5cf26103b649597 (commit)
       via  64f7152491727daf8d0b294aa5ddf49f08c63ca2 (commit)
       via  94750c06e89e273751d54148b649098677ecdff2 (commit)
       via  007873f54e41eaef2f7a89b8adbb63a563d98b65 (commit)
       via  ea8fae9fe75706235ac49c507f1c5e039f4b4e1e (commit)
       via  5c144731ed7b9ad39c947f8411b1dde4fbdda2e6 (commit)
       via  ef336cb09a4193b3c86284a875c7bc4c2978bfad (commit)
       via  9c0f3d3f2017829ffd908c9893b85094985c3b58 (commit)
       via  c91933e9e33654c7b8973cb449b93f5152afcbcb (commit)
       via  2ca7de3746be7484aa5affceafa1ad2e1d789381 (commit)
       via  7d36e2799141d206651410c68080f40b88809a3b (commit)
       via  8c6716e57eb991ba6ceb07011045d626652aaf01 (commit)
       via  e6fef60069f64ee19600e96dbb1f56f80b388bc8 (commit)
       via  db4677b8bd90b49f826807352c6c3c7eb0d57814 (commit)
       via  5cd63fda035d4ba949e6478406162c4673b3c9ef (commit)
       via  ed4227b7c6d62767c9c323dd95d8ead75be51a6c (commit)
       via  55b11ddf16b97b9c50ed480bc9da8b3e1c6c4198 (commit)
       via  4c71c1059f876fcca9809f7b6372b721ddb83635 (commit)
       via  73dcd72d4eeec176f769660ddcdefd1f25d0a2ec (commit)
       via  44704526e482d24baa104764495ca376561a85bf (commit)
       via  a87c142792e4dcbec2bb3825e71f3ace044c2096 (commit)
       via  bc3b087de2401c65c02730d346e8bea4dc0504ae (commit)
       via  d092c5a2465ece3435131ae6fef1ccb6e70986cb (commit)
       via  7da0a8867419fc4a2a64d49cc71a14bd145cebff (commit)
       via  a5259595e7a6faac0240d257f7e9cfa599557d2e (commit)
       via  9ba5f27cdd15d22d6c5739ff5d2b1c81d796e114 (commit)
       via  ca2a727a5b9389190ce86c52b0303ad8c3e2bcc6 (commit)
       via  db8dd1601ee4d0629957bcc8b4156d65f42a218d (commit)
       via  c0107b0f57bc958b640dabafd4c6c618ea023397 (commit)
       via  f8bfbf22251f6c2772a9a1059c3180c638ad2830 (commit)
       via  5178ed487f813639e660fba23215fa7ba69a769e (commit)
       via  8cff8730f43548d17530c9d31aac1d381351addc (commit)
       via  895b8f306b1f54d85915ca0d24368f40b2e42554 (commit)
       via  0efef6405493c0bf438486819bec70b304276e16 (commit)
       via  245ad7d373aef22013b347504d30d2306da1bdbf (commit)
       via  e05550d7a409a0637d87bef377e5d4b9a4b379ac (commit)
       via  b95de2b7aeb30081345954cb15970a582b49a866 (commit)
       via  070365117b5727394e271399c5738a27bf9716d5 (commit)
       via  9194f82dc372d5045ae06c617a49a5a9b17c1d24 (commit)
       via  40c0777b1709480526429f90eaa354c8e0da2dc8 (commit)
       via  def5c83c02fcc1c91d3f0da21005e0503b8ec881 (commit)
       via  45320ffa0450b27e232d933d2a1c6a09d94ac18b (commit)
       via  b3e3859bc577db5b79bb3d39048fd46c0a0420ef (commit)
       via  01af5e0d09ac9c621e7b280f44a2c7ef55784493 (commit)
       via  888e3ddb20f541220f18709fce832ad0163c3e71 (commit)
       via  cc536b21677586455973f81ee05257ada8efdcb8 (commit)
       via  289a6840c1ed80f71d58632bb6d702d97d114387 (commit)
       via  dcd2b8a0144f4f5f81887861542609ef858a28c9 (commit)
       via  7a0c60fea0f237b9de95e47a0f75200ac9ebaa28 (commit)
       via  bfec0f11eadd7ed3597bc9b550a5595421a4cb31 (commit)
       via  8cb1232a8cc0d1a6db2de51398acfe978a5c7e68 (commit)
       via  20230942fe3674150ab661738d72f1618b3d4b1b (commit)
       via  d2e6c9a3682f0ac811ac1676d221c55162938b61 (commit)
       via  4b04bba2eb6b646e11a2c38c77667875b3db6828 (commit)
       via  4f1881b94473f1034f950feb863b464435a8fb5f (commit)
       via  3678b25d0c5fee04a91ad90ed2965513ba0ca11f (commit)
       via  2715765b0fd357b4b58166850a23f509aacde161 (commit)
       via  386c8614d5e65431e977b1b20cc4642f944faca1 (commit)
       via  789c4b5ea14b0c441e6021f07503e61ccfacb427 (commit)
       via  ab816a274505933da2f854014b54901c3c3db9d2 (commit)
       via  52f9abe4c739f42cc5f80b2629276493ac6306f9 (commit)
       via  dcd5ddccd7d7917caf42b8d429a7535857c6e9b2 (commit)
       via  45d288cc64e08dd68938f1d9bcc70906b5343652 (commit)
       via  6afe2f4a39badf0ea1ccf9fd34417e729577c6e6 (commit)
       via  9813429a729dbcd761dfbb02d2d7a3449af0881d (commit)
       via  2d6960b4568869baaa3cb40f75caed4021938e1c (commit)
       via  784c453a4f1aeee237203dd6257a6ed24bee28c3 (commit)
       via  a9bc57b97840a874ad2802e29a44fbf557668808 (commit)
       via  9754d8c4c48209eaefb044d03dc25f14dca8a263 (commit)
       via  99ef965c6e812cc73691873c965cff0d2d5b89a0 (commit)
       via  42518ba746b5b6cb7c169a55430e73551be345f5 (commit)
       via  726b2169b4cda6a0267cb2986ada758270cff093 (commit)
       via  55b064321eed6cccf511fd698c732890e3ba4c6b (commit)
       via  8abcee91738bf0be98e949049c559839ef811ae4 (commit)
       via  6ad94bc76615933a234a219368f1b9af2a64d746 (commit)
       via  2003f3d839fa887811ff65380191e0beaeff719e (commit)
       via  8f8accb58078b1f249dc6865b8784a0a8e8881dd (commit)
       via  200aa7b154b25423eb72ceecade0fcd76edc4686 (commit)
       via  606aae8a73177dde47ff01a6eb7ec883309bdfa6 (commit)
       via  bd413795d364d3bed8dbb8c596cb45c82ed31041 (commit)
       via  8b5b25295998e10723bd51d127c87249a779f628 (commit)
       via  1755697b1df1286cbee20dc487d656025964a7a9 (commit)
       via  256642e857886f1e3da86ce2484f9df5a5a6b904 (commit)
       via  b6bb34680b9c99961b6cd635853552ec6569a2a4 (commit)
       via  5b9ca4d43ba0313612e8ad6e50221e8f20ebd129 (commit)
       via  94c207e097a3a30ce71fc8f700325113968c276b (commit)
       via  f6ac8c52c955b487dcb56d05fc93fced7b203294 (commit)
       via  1b8f6c7f827726b5f91745149f7d4329f10de7fd (commit)
       via  b2f8eb7a30dcf7c33ea26dfca31401a6786dcd99 (commit)
       via  08302ed2cb8b175e3bbd4308879154baf64e6d98 (commit)
       via  231ca753239211b72eb761593083a0ee859274e7 (commit)
       via  1a3b5c34fe371f618402f811a981839c9191ff9f (commit)
       via  50300765aa46894d9347f760fd10dab829d564f7 (commit)
       via  96a5a1d3780a46b578842d9aeea3e98211dc20ec (commit)
       via  0db7851f9f490f0b60689df5a218ccce60896e3d (commit)
       via  77b7c781e9f03cdd903dad76f47ea0bb25277b06 (commit)
       via  8e43602e34ba404d82f7c74f6629f01e40c740e0 (commit)
       via  f21b4d5c59136c38bb6d94eb6a29ad80d02043f4 (commit)
       via  643c2ffafea7397461daea339bb8f0ef2f23b31f (commit)
       via  510e5e562796a5d2bbd4c7208155bd8a3c03b50d (commit)
       via  e503b1919bc5d06684ba6b1d09a6ccdf0a50b879 (commit)
       via  4e00131263d4de2e8b7a1d0da7e27e423d94fb52 (commit)
       via  7776370010db4d85a89a0dfde391aa9170ac1bbe (commit)
       via  4495129abde9922d77215233837fb47738722de9 (commit)
       via  3088cf40a57ec7b5276f192238603684b4608a90 (commit)
       via  69f476a36f475210807cb70d10183df9b838a9eb (commit)
       via  c4a3e68e33b78c68d63c35bbed01782ff9eff4d1 (commit)
       via  c9d31bd6579d5bbd672937a76258031675d40f34 (commit)
       via  1f3f85eba696bfff4fea5e66167ee001c07c4b0b (commit)
       via  9c504b5d34803ca2520e554aceaa2e69c141dc89 (commit)
       via  6663cf9161f7ed9cbd1ac1c0afba36c952d84140 (commit)
       via  34e5fa26b758250fca879799375f27c1fd8ed36d (commit)
       via  8384c35618fdfa66ea3ec6e84072cccc6192dd48 (commit)
       via  884beb0c41d8479e3c05f3492cb65da05ed882d1 (commit)
       via  e0b2930cdc0153d871f80ad728d6e3fa90324b5e (commit)
       via  f938677d425cd0453e26f7f51d9e94c87c92a25d (commit)
       via  8949cb878d5daae969db6326e1e1323bfa3ad9d4 (commit)
       via  ac88e2de8314efd9aaa9132c5643ecbf715de508 (commit)
       via  bd4c9dfe673d8af39cf400ba0118ffadb0e6111a (commit)
       via  5e93d4c64bbc3b4fb306e54cdcd79bc8ff86b2f0 (commit)
       via  fc41a75bee01fbd0883e6df1e031d4d9e998c437 (commit)
       via  67810076681180b74d92f98d11c4a3d94885c9e5 (commit)
       via  1d8b34a7a233d89938fd173389f7884aa7d105b3 (commit)
       via  442019e118afb6bdbae490c0b072e8f024f2d9a2 (commit)
       via  2983f7cbdb245e516799f1a5b8ddc0450bce98c9 (commit)
       via  4fd41b2486e0c3407d39a6a4c0bbeedd057eb20e (commit)
       via  f2fc30156cb71a3e616186f09f0ffa0da26780fa (commit)
       via  8c2f95f4346a4ed6593b1e0cb60d1839176e42c2 (commit)
       via  a0d65762f11272996095870affe18f4c2cf354dc (commit)
       via  58971144622629bd11acc82b61140f8c47f0e306 (commit)
       via  c482f52ccfbd5609aef5482fb0872545bdcabaf2 (commit)
       via  e100df1a2ea356a8a311114bc2927215a33eefcb (commit)
       via  31d56ade0e943aca57acbc030334d65ae0b6f866 (commit)
       via  b961da0bb033e0058059695fdc28c5fbe0057c1a (commit)
       via  e2d8ae16c0c9a4f6c61ddb9af3d6ec8b2b71db2a (commit)
       via  863779b0c64917a1580a9e505762642ef5833575 (commit)
       via  cdb34d4a1cf2553a58dc993bfb6f78716e0d1c43 (commit)
       via  e99c83e741949cb7ae9f4ed449768e8f89ae02bf (commit)
       via  32faf971cd86d0a13c6b3db4626d4c8bd119e6c5 (commit)
       via  2cf311ebadb5058afb983c61363fc2595c01b9e4 (commit)
       via  e6738699f704ae1ece43e9758f60d084b45e5308 (commit)
       via  aa360cd5dd21a527f67f93ef75db92bac6cf02d5 (commit)
       via  898241a5ba617eb3e0bad4eb0bafaa9320320178 (commit)
       via  2d0ac1068babfe8800607b17ddb2f31189bdb334 (commit)
       via  dede02ce4d2267d044db41a0896af4d670647a04 (commit)
       via  d3cb6b99c5127911f94c782be8214e2093fbe82c (commit)
       via  1970a12f32f788f22b641737e846350e1ff9dd04 (commit)
       via  41243651350688a9a0f3a3542871d37e7f3c5f20 (commit)
       via  4465d9db2f8962640f3799a17851bef3b1be1a33 (commit)
       via  ad25e4234a3f370a693b9c392c5b54216aab4592 (commit)
       via  d64097b17c88ae18781ecce59d1b265b41e9551a (commit)
       via  4d4589ef76b975eead8da6bfa65db4a9dc85089a (commit)
       via  32a7bf17c94a81c08535ea045f43fe8c8271d3fd (commit)
       via  4a47555179bfcfd3c9e4ad2752e38ae398fc7dcd (commit)
       via  990b9f9f5a301cef9c16035c341a7b0b7ccc983d (commit)
       via  c281872eec33c92db0565afdbfdee91558e5d8e0 (commit)
       via  5b64bf744c04f550a9d15b49a8cb0245904afb13 (commit)
       via  4ada038f6a8330b27769ad0227c7f716aa29b649 (commit)
       via  57f5a81bd240459edbdac1628800291e7535ed02 (commit)
       via  b0a8e6c4431a2e762dac88f3d73efca4bc47c90a (commit)
       via  8d97dc1cea4d1dafff2ce2f55e0b84cfe444e6cf (commit)
       via  eb7c454d737322be2d810e1a5a2dc7b88fd636e6 (commit)
       via  e4e3333549c96d2915bb888b7b347566c938e75a (commit)
       via  0450cc4ce8b4775c47e9aaa1c5a34e181b10ae98 (commit)
       via  a9bbfbd85fddfea2db30810c33c4bb130a2ef773 (commit)
       via  19485196044b2521af979f1e5c4a89bfb90fba0b (commit)
       via  6bd6a03d6975a96802b37741a99644570e52a72b (commit)
       via  cd28e7aaf35f7de5033ecd619b56064136bb190b (commit)
       via  25c7861f70b2fcde6c4e3454c269da20ff141883 (commit)
       via  ac69a0d75bf472a140e5405c8a90420d5f63a998 (commit)
       via  5230b05a94b964da335a0758686b92a8efcc823d (commit)
       via  b32b108aba2c0119d0e231d203d3284539da2379 (commit)
       via  75352e283fb2b265d14c750859156943f6eb2693 (commit)
       via  5007d765ae09c10c7f3b18bb16841b9d2d59e181 (commit)
       via  262c0a877f91b9102fd42523598b46ea79a8970e (commit)
       via  00956d3a8ab1b56fcdf63aee4ed5c5a1d46a7a48 (commit)
       via  33e0a9a056bd23e923b929a4f2ab049ade0b1c32 (commit)
       via  30d0157a2ad64e64e5ff9fcc0dbe78a3e682f573 (commit)
       via  281c4447738409888d9659924937da182a65b4e1 (commit)
       via  39b06c208fb7b7edb98866252cbd05ba0918f666 (commit)
       via  1b86808a86077722ee4f42ff97f836b12420bb2a (commit)
       via  5c1c468d0eddd0fda1ec8c5f33888657f94e3266 (commit)
       via  28d810f7ffd7fefd88117e9d830e7588591fd35c (commit)
       via  58a0b827444d0d6baad47f5fd010f33e541ed16e (commit)
       via  78b2179a8e085b34ad7872450e5fadff4f7e5eb0 (commit)
       via  df8899e5c8b60ffbbe93e35315ebb76a9c80ee37 (commit)
       via  66cfc0fd0d9daadc2dac5a783b69b4050c0b1722 (commit)
       via  6c3e20f177102519cf4f8b3c7e7e17996ed7cd7f (commit)
       via  b292235f666ff2123e26794db73d5a27a685e7be (commit)
       via  9ac86b52da268147b2565e4920357432bb7a34c3 (commit)
       via  c0e383c63818baee1daf51b8fb1bae34d1e0597f (commit)
       via  791199cc75fd294a4f5a228f83abdcbfb4c64c7e (commit)
       via  a54018b72d75abf2e74bf36016702da06399c1d9 (commit)
       via  e338894dc2e603683bed2172e8e9f25b29051005 (commit)
       via  898f57a89f3f75d542892c891e0736a8d91f42d3 (commit)
       via  8dba52b60488265e66073130ef77c03f05dcaabc (commit)
       via  289e23aa03084b22c73ebdcf18371f1e6666ead0 (commit)
       via  ad3396348e0ebb61fdf71cff307bac08175ed366 (commit)
       via  1b63490c9173f8c9770b7885def720516aa9b9f8 (commit)
       via  96235dc1ac3730c4e490d19db2e8287c0a40f307 (commit)
       via  1da5c9a485f3dcac4c45e96ef4b7dae5948314b5 (commit)
       via  11855d8a1f11b102a702ab76e95b22082cccf2f8 (commit)
       via  c361faae8d964db951b7100cada4dcdc983df1bf (commit)
       via  57a024f4650d7562e963efb6b00c4a4cd74185c4 (commit)
       via  5b3fd0aac2b70d860ba34f0e290d87773b09bd11 (commit)
       via  52b36c51e5bf6d7600fdc6ba115b170b0e78e31d (commit)
       via  a26a013f22a19e2c16729e64f40ef8a7dfcc086e (commit)
       via  52a93b95ec0771c97e26f0bb28630a271a667bd2 (commit)
       via  d8010d3e75ec7194a4703774090b27486b742d48 (commit)
       via  515f23e63c0074ab531bc954f84ca40c6281a724 (commit)
       via  0d76029f92182c3682d8be2c833d45bc9a2068fe (commit)
       via  bd61e135492ecf624880e6b78e5fcde3c9716df6 (commit)
       via  8d296e2d4d8ed6ffbe29bb8cc6548a3871de6ad1 (commit)
       via  b4a7c699688bd88313893cbb59ee0df5b8cd009b (commit)
       via  4102159923c90abd636d73e78777b98b1c680e53 (commit)
       via  c2f97536b77f9d9531a1a2c37008b454eb67a82e (commit)
       via  61e3bf5f83f7e505b6bc51ef65426e5b31e6e360 (commit)
       via  59ca4c1bbd48a47073eed2c4b933045674cafe41 (commit)
       via  9f272209118972864b2c3799ddf2b39683c1a7b7 (commit)
       via  43573013c9836f2b91b74b9b29dac35fdb41e06b (commit)
       via  6ec2e0f5bddc69d55e09fe56792edf7a109ff8ae (commit)
       via  0cf44ec826eab1f149285b8919aa9dc4140d8d78 (commit)
       via  cc4d742f4ce05bf933397a513b953c0feeae0663 (commit)
       via  b69e9267d15a09ce3f3d4599eae2952dfc6df502 (commit)
       via  be2b629f6427812a24f38802ba1c472a2cbfab7d (commit)
       via  b877d21f34211915953487d68a07697f4cb4f771 (commit)
       via  432ae719d35c81324e01ae6bd9970cc43e69fa5e (commit)
       via  4fa7574eecb9a92ef40f77de572541e402a2749e (commit)
       via  7790bd6c748fc8e46c621b065562729735114f6b (commit)
       via  ec76901011c5af6a565936d4ad87247c51901b58 (commit)
       via  11bb0c7abcb26fcc4ce75c66c38eca1f7b3e3480 (commit)
       via  df52f331ed2dd79fc8461784abfaf3c1a9c827dc (commit)
       via  ef272caa7482bd9031e82a2e6f1b81870fe2129e (commit)
       via  42c0794e961fd7922ad1358bd7221a8c85278ccc (commit)
       via  757bf54bb48a8417154cfdd7128c1775d43478d8 (commit)
       via  f2ff95c5837bd41848e7156aa2677498518d0d18 (commit)
       via  f6327dcbf0bc91bb9d99e12232d2b1a2f959fce6 (commit)
       via  8629910955a751a93f2f12389ff1f497556cc260 (commit)
       via  da2c323bff3405add97c37333668de3aad36ec70 (commit)
       via  fbbe5337a6d839309c0415765803a19f3e38f6e4 (commit)
       via  e04ee09e24563f013c35cdebd7e9de3092b99b83 (commit)
       via  f557a88ab120b75ddcc507c03d565c28e5f88c16 (commit)
       via  8fe09d7421db51bc13c9228547d63e6315bd6bd0 (commit)
       via  ba52cbb9d024f2e51bd50fac36a18a15ab88344c (commit)
       via  1e5b66ed4285ecf063e7801a46178ebb0ce5be41 (commit)
       via  ebe48ba0856dcccaa7a60d873c61e6f1f96f5887 (commit)
       via  0a0bf5dc149ad79b325cdffb6b4e57be6c5ecbc2 (commit)
       via  ea5cf0fe291966845fb62f173d407a0dad69819b (commit)
       via  88240b186d224d634633d9996832f1235364b6d4 (commit)
       via  d1b0a7bfd3df05fd2009b62b19b7535bbc6555c0 (commit)
       via  48649e1bfe2ef4cceff15a34e5a9e37201894ecd (commit)
       via  04afa70c8e1c931dd44db76eb9f0ddd4949ed00c (commit)
       via  f5b358c8aa564c58b0a3201b82cc782124d80bb9 (commit)
       via  c83833f49353e1fe7fa727291210be751161ade1 (commit)
       via  ca464aac1b0a444f7debb8fc1e5e8b3f30602a35 (commit)
       via  223ffa714ce1cf1dc6e0c361189fa80417ff90d9 (commit)
       via  013af3fc8eba48d081f0e83303cd800097e5b7a8 (commit)
       via  06871ae84096ed1672eb76f44cea4d5dbe79ae24 (commit)
       via  e5f25bc5d6dba5a5c4dd36e08afd57e918c63dea (commit)
       via  1b7fa39ed9678fded7264636c1e5cc14c6d6ebc6 (commit)
       via  37dd0825964048f8cb2b1ec0e5e43ab73b8bb69c (commit)
       via  6470a84860b11ba6e7258604ae78f047a1af2f5d (commit)
       via  64b5d6d785eb4c337b7c071ab9607186541a8b14 (commit)
       via  dba74cb2b725ee8857dee865fb7f49c86aad1aed (commit)
       via  4e5a4f5850487740eb7549f1d0b8625ce577faab (commit)
       via  b7f54058d9cd409ada192bfefd4c99c98caaef2e (commit)
       via  aa70c9f1950b25b48f8fd6770f5d38a8252c24a4 (commit)
       via  d6541620447f43985b34e9a39488bafb38158221 (commit)
       via  25516cc573ff3551a7ac0538e1d3de5811c7199e (commit)
       via  3d13f3e9bda5aada68915f5d958f731ae79ed41d (commit)
       via  ab502e635e78a6c6c9c8abf3072bfeedaca9c26f (commit)
       via  ced154d810b8e6ef10449030ba94fc8e66add468 (commit)
       via  94670f6cf11fc29cc6db6814b38c4305d9bcac96 (commit)
       via  0615127c587253a6386fe49468fd64abf827273e (commit)
       via  e4114cb89e65c53839d5beb80cec956476ecb5dc (commit)
       via  35d3b1d74fd5e17174c97dac422f8c8d4ca0d8b8 (commit)
       via  d9d0d1bc3f90ce4c1a86070a9832f706f2fb9200 (commit)
       via  04fd3ba9b63936653fff2b1657b3824c94a8efd6 (commit)
       via  5e1875543df7413d3cbc3831390445e347064b75 (commit)
       via  c3d7b541fa920e6ecb0f06ffe1e0e3f070fa295d (commit)
       via  1526853e34c063bef25bd7d0eb15c1449c28e999 (commit)
       via  5846367a24e24f334077ceb7f7389acbd072b11a (commit)
       via  bd77e8ff276864d6622f2433b8a499bf4332fa65 (commit)
       via  c4dfafabc575f4995a5aa18241adc275e63c846c (commit)
       via  ebee3285b3a44ef2854e9ec84a0c92f5cca4da68 (commit)
       via  26a67918a501370a8fe62db18a74761a0073016f (commit)
       via  124aceb46dfd1f836f35d6075ead4e00e705f6f3 (commit)
       via  96cde54f0adf2315404f3eba35dc3dfbc57f98c8 (commit)
       via  e8ca139ed036e6da8adf42fc6fbd93973b724d3c (commit)
       via  f8a4e1192032044cdae544848865636f6e07a925 (commit)
       via  ef87240fd95c5f29a697eccf20b2f1f6dc3593a6 (commit)
       via  0eb0a40713c6479e782e5a257793d28f647e38bd (commit)
       via  3f8a7804287d3153fb4a8676b7304e67cca32be4 (commit)
       via  785922a559529420ce9b11342d7abe6ad32b3595 (commit)
       via  8d20070632b608587f372cf2d36ead339487e49c (commit)
       via  8fd138c43b3a820e1d7deec80c9290b458f09d63 (commit)
       via  817b77113459d8b66a75f4fdbba0a3f5f6936c9b (commit)
       via  21d0a60620b306d6471ddedff04ac23912596cc6 (commit)
       via  cc3e190059e6c817203049a52c8bc4b37b58ce74 (commit)
       via  d185219da329805075ba5e0e72ec4c89c925cff2 (commit)
       via  79254a5260cf49887b4017700bd75b27f483b322 (commit)
       via  5e5e02aeca4a6edccbf11b5f900d95bba59b9932 (commit)
       via  26e53f3eace35cabeec4559d417df99a48f6477a (commit)
       via  eccd80d69487586578b7e085d8bd48657a4d7322 (commit)
       via  690098826e36cbadf618e15eed5f6ebf606cbf74 (commit)
       via  1e467161932b6385b51d0bd365a91cf205b399b9 (commit)
       via  4d465c689a8fb27212ef358d0aee89d60dee69a6 (commit)
       via  255300f5a96079a9860934c44bb9521e7aca45de (commit)
       via  2578f2f307f7e80caa0bce32c7fa880d579e736b (commit)
       via  0952b7101e85b205f93389216a7733caccb8f267 (commit)
       via  f47432d4b99a453f9107b7fd5e173384f983e679 (commit)
       via  9f2815a079efa19ae520293c455ec2910a9879ac (commit)
       via  0782db848b52ecaf29e13d9f12a2c7cfabec2bdb (commit)
       via  1eac6bea98f41ee12ba9e750a9578bd8585011c9 (commit)
       via  aaa63a31909946c4f68da64a93662147d67630bd (commit)
       via  331f81b22cb6b2a8dec2acc0a728c4159c1c7b5e (commit)
       via  cb85b21ba1c0014787129d3f53cb8755aba64930 (commit)
       via  8fbc99ef16dfb49981e275f735cb591e68983d08 (commit)
       via  50feb4bd435b86c73ea55049b7cf87cc709c1388 (commit)
       via  c6dc63a16299e22fcb5bc13b34cb402a1bfcf6b9 (commit)
       via  d6b9b80f9483b6c1a3a018c0fcaf813ca098d8af (commit)
       via  a9921622de0a7332a333c5206ce8cd632803df97 (commit)
       via  be0d7abb5e3b0be4cb928845e70a9134f1b19700 (commit)
       via  00f675ff65ff6f78712a46e9699856e935d86d86 (commit)
       via  cb791d59489576280e416262eb61ab59765a0baf (commit)
       via  2039bd9f0ce667f3f0ee99c18e25de1ea18a2288 (commit)
       via  f1735a53a63040cc4b4a735bf18a3f20d308e519 (commit)
       via  7d221d749c0239f06ca571be6c9452cd22b5d582 (commit)
       via  35c61a1dd5462ceab42618c48c9a60238245761b (commit)
       via  7c96f8c1dae023c7d0b1cabc5e50c4d18fd06960 (commit)
       via  4ec521f238627f7682306d699c8826390a2cc9e7 (commit)
       via  555cb1688148f41582b1e7e9af57e2fc3fbf21bf (commit)
       via  a059f00c857d088a7fe55d2dbded9d3210af4989 (commit)
       via  cc397f3a236509257acfd5cd17c2f15f87a482d7 (commit)
       via  72542b8ee6558677bed21dd880b68dc2e541c9c7 (commit)
       via  502b834c1a6712d9bbe0beba98727c8365429cd2 (commit)
       via  0d64823e51de0b0e0a94bdf88940310342a6e6fa (commit)
       via  eb1e02fd05688c28686a02f197c5e7cb0a5d6a27 (commit)
       via  0fc21fd8cf92de78c3c383378e70a2955e2631c3 (commit)
       via  49663d051c70e1366f9b94f586459a329e9b7053 (commit)
       via  0b868b60c97b13566cefc8c8f1984225b0165eec (commit)
       via  c0470d489b47f0bbe57893b31d56d2d4ef945f4c (commit)
       via  ca5909c7de7353d8005bf8fdcc020b8f14cc1603 (commit)
       via  e6a2252ac3e3dc748df33b38ac66cd78c80be5ad (commit)
       via  393702cd59d21237c7db99c26dd8c4737a3ae303 (commit)
       via  76f9c9cfd42eb8df90ce8455a92109c0f71b41e1 (commit)
       via  dc9fe180a4437b437015a8b835d05e32d64dff3d (commit)
       via  f8cc3da6e4548529eabb1ff4e9693261aae1cfee (commit)
       via  481695ed5f6e0a8a9c9c50bfac1cdd2b3151e6c9 (commit)
       via  2420fff633eff03ec1f85eba82a926cd0ecf4229 (commit)
       via  c5bce5c69721af8dae5c607e085e545cdba33ab1 (commit)
       via  8fbf0ba18c8a63bd4974086f6709b2bf050b0b0b (commit)
       via  4e9ac44a8925c7da81735ef24beb5456a0c0fa24 (commit)
       via  0a27fed72d4190cc70025c671b5133e6c58d9c09 (commit)
       via  90d499086b5d35ac5b58c925f23513f6af2c3639 (commit)
       via  a611b5cb00f47a47426bf1d4fdca9cf3b7eadb53 (commit)
       via  c7df954fc4be9eea78a812d04beb6a5534d9a5e7 (commit)
       via  469412dd9ccc4de5874fd3299b105833f36b34cd (commit)
       via  e0f86435f8b3c61e21070a232a07c03928c2d544 (commit)
       via  9e9af4be9f656f82922e6aaeb3b6421508403ea4 (commit)
       via  a5ad232b3e6f39cf2955a8ec3aa4355359a9f72e (commit)
       via  1de031c80b121db6f59d189d150ab2b69f6ede21 (commit)
       via  7a382c1c50fca0d4bc4c2e618ff6ac222c4e2137 (commit)
       via  bd757a5bf293aaed6c6aa79776bbef13ca2da92b (commit)
       via  ed0816bd936492aa7dc00e4fbbf8ff8de1253854 (commit)
       via  9eb7b0acb54e18e7cbca196a8bdb320844a858b3 (commit)
       via  b1308d2c3749cc454f00b70768ee33724d919527 (commit)
       via  e50142270b699c4960e56824a0300865589dc292 (commit)
       via  63c99141deff52f22aa36b9d6cb02e7331aedd1c (commit)
       via  6999821f8b1e898f02d0c1196c4c83337c3b565e (commit)
       via  639257e981e61472e5fc215eb60c5d545ac5e2ab (commit)
       via  69c1e056df50e931ca9cbb4b5881e574583cf9ab (commit)
       via  fef704bfec3fdec29b08fca2bd0a5226a04c3113 (commit)
       via  5613c5857a020ca5189a73df7b58a234d0311bfb (commit)
       via  eae49211e13efa075d57ab354ea4207666eadc96 (commit)
       via  73b9be8b5301c4ac056e10c38a47414867ee892a (commit)
       via  5c887dd5f699f953e274ba5981fe331eec8e224d (commit)
       via  5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10 (commit)
       via  a102602bc56e418f9794d653ef103a65f08a5a49 (commit)
       via  8f8f815255bf36800cdfff93fd88a62aaa39ce16 (commit)
       via  28ad437d7af2fe5bf83dafb4e733978d0b142edb (commit)
       via  351787dd4cb8439c0b49472648dd97ebedb5f575 (commit)
       via  c0f84956d0df0f004e31a987ecc77ea0d293e62c (commit)
       via  7610297ab578854a5e9ff1247a77398a60d70f91 (commit)
       via  78984959cb385388e29dcc88dc169449344f22d7 (commit)
       via  419414eafcee7cd749ee4622ef25020e48b52cc4 (commit)
       via  fbd1b77155bd8139033b72871dbe7bf5be6031b1 (commit)
       via  39250b0a1c788215a39aea51dee9ba4f9937d404 (commit)
       via  dc089072135ec2e30337879b1f6147b77c77b341 (commit)
       via  5ca79eae06a692cca5bb795045ffb8961e2b8ae8 (commit)
       via  8b43e456886c5b3aaba1ef93195ed888b15de242 (commit)
       via  5eb5f85062a3d43bf449ded1b256d761d487f0d6 (commit)
       via  ae780a21f25455e4ca4b2fa7e350e7f994e0f198 (commit)
       via  bf93d7ba99319c4ff5f23f35d9645dc9c3d391c2 (commit)
       via  1bb7c059779218d2db7dc4668f998617603e86df (commit)
       via  fc8098275751f48404a547fd027b2671c5350302 (commit)
       via  d2fcdd85466668c06dda0fa02ac8c1f4cef3910d (commit)
       via  e69570ee1886d64fb60c5d9d31f2e6ed76ab2dfc (commit)
       via  f17e9d8ab58474cfa24910f9066f3b9823e190e7 (commit)
       via  22916b0786336394bf84f68ba71875ac3cd48fea (commit)
       via  0854b7b1878dc9f8b8519e2efed605acecc14745 (commit)
       via  38602d55e09bc9a28b5476ec3614a2483153ccaa (commit)
       via  44b886ff15eccb555dda65f93c269ac9d8dd793b (commit)
       via  b4570e4b3032f9f4a508dbacd8136f79cf42c249 (commit)
       via  6c73f67f9c545425befde590f06d690a068a69e2 (commit)
       via  9d3d478be5e21151d3755d7b2e6f1cd8ff92d726 (commit)
       via  b9f1d50ffcac4c4b65cb05c2971106cb06e8774c (commit)
       via  d1f28ea24a5232d3ea690de9bc8abfb77837f2c7 (commit)
       via  25a93583f34f5abfe9c1b24393738547a8de657c (commit)
       via  188c9e6dcb2f1342f1ca51e8f68c22852522277e (commit)
       via  5f035c0716c3b6b310a736841b16088d984be917 (commit)
       via  0abe8a8992948559d225ff120095e42a1a6a36f4 (commit)
       via  0a188386c032126045979b7fb7c238d715c81eb5 (commit)
       via  f49ff00066929bf7c38f9c89ad640561bbb331f6 (commit)
       via  2b68ef2f11daef3ab3c6941ebf53dfcd0fb79fbf (commit)
       via  f7000548a2b79d7e5cb924468117ca4245e6b820 (commit)
       via  c9a5e2a5b2b20d83f60026459d3a6b68481566c9 (commit)
       via  d6b687ac7a2bfd0c3962f45ea5e1a72310f4e07e (commit)
       via  625ce09c1cfb557725310f602ee66ac1475d780e (commit)
       via  a379bfd00effbbb0fb4df02dc686c2c110023cea (commit)
       via  f7efc967ba45350b688e0f661a31eecc15d5e052 (commit)
       via  c49fbc6c79e0c479371e0ba7be0c8d1137016864 (commit)
       via  26562e73d8eb20c9b8289911cee557de8e5272c3 (commit)
       via  0097251b8a2fcee7f536807328ea2b73a2f7c41c (commit)
       via  83eef883581525d04df3a8e53a82c01d0d12b56a (commit)
       via  31cf148787509fcf33bc6adb05bbf16bee48835d (commit)
       via  5b9f8a7c6e3873f97365569f50883a866b0a984a (commit)
       via  d69cf9b2076d63bad3842bc6406a679598851727 (commit)
       via  3693fdb3c8ec14bd8ecb4ebb39e4384b330a2999 (commit)
       via  e68cb8e00166d2f8a9e23c60f68bec04ef0a90f0 (commit)
       via  858be34c5a03bb8973679ebf00d360182434dc00 (commit)
       via  dd5901a6a5bba75f3dee49f9a27640eedad90afe (commit)
       via  46a4882b3c7d9ec981568b8b13a3c9c39c8f8e61 (commit)
       via  fe13dfecbf7d5a9ba3a5d9f52e33e0ddacb39bcc (commit)
       via  d008ee21562d9f823b3d081b9b60e86509a5e85a (commit)
       via  827d0c517e2000102ac7d457109baa63e085c435 (commit)
       via  2c5a2be1902b50e34411baa57ff0b747e8e20e8b (commit)
       via  74ea4be48e1247b8f7c50fd3578c468f2ff1ae25 (commit)
       via  7022349d5c86bae74b49225515f42d2e221bd368 (commit)
       via  54990598c4c74b6af113baf801064d3b1837973f (commit)
       via  34d16ea2a144cdac8a89050d9aab723fb675cb45 (commit)
       via  9a24775b97646827396073d0d7e510b9694331ab (commit)
       via  9521ecda6835b338d61b1b06e1a91706711b1d0b (commit)
       via  80a65e9b8fbc93d4a7548ac17b8094ced23f66a7 (commit)
       via  6b66338c70422d670637623cea8dc3b62e05e7de (commit)
       via  50a421ac3ad82886afb0916b112ddeac4f9f73dc (commit)
       via  51abb421302bdd86946827727aebc878b5c756e3 (commit)
       via  6c5b2ebeacc2538cf342cfd13c4c98ff018e6c9a (commit)
       via  7c44b49cb63662b76c6301fdc8e022d7aca655bf (commit)
       via  e439fa140afdaedb28a97acaa2b0432b884d8a91 (commit)
       via  7525b645dfaa302091591d0f87d9682ce988ed13 (commit)
       via  6c869779dad0cf028bd787e6ebbc0780ee4afe13 (commit)
       via  badc00202024619e1c868b8cf70fe6351fc028c3 (commit)
       via  d78bdb54ac94e1c38dc4b8f0d50b5fd202890887 (commit)
       via  ca1fa5eef2912262a0a33875e9a23f2e79a72328 (commit)
       via  2434b0199ddcd9419c55742552953b0a79d00ebc (commit)
       via  0860c437cbe4efd8752531d0464007f448fc8274 (commit)
       via  a826403eb6f0ad2fb8c88b45ea3cf5ba39cdaa75 (commit)
       via  0638b7f90293ac01233dc6406e4c9d5da0ed9e24 (commit)
       via  8f84fb0ee87e8f149523e13815c58e1b664d184f (commit)
       via  18e9961f02b326923553f34682f4dcca0f25702e (commit)
       via  453437863c82afc8ed5bfcb937a2e297957fc212 (commit)
       via  b57af50345945f32e6615391ac62a4f589c0fada (commit)
       via  6eecf35f97e1d37e49e385ba599797dd1c8afd1f (commit)
       via  56496dd4d6519c26bb375a78588bf56b28b13512 (commit)
       via  e91a1fa7d49482565b5f96a2ca9e51ce6327c4ae (commit)
       via  7ffd83d70f2792a8a538e8599959a6ed7f5b751d (commit)
       via  1ccbe9985f607b291bb6fc920beda60225f1bf83 (commit)
       via  0e30d991804de9dfd368653d6a88bf3766a27ffc (commit)
       via  1cf58434bf9d90ea0669f97514c63dc1ccf38f7c (commit)
       via  23fdd69e42180578b3e15ba8f053fadde965bfe8 (commit)
       via  f04bdfa7b261402bfa9dbdde58b2feb14becd8a3 (commit)
       via  d47a80260cd52e800ffea7eaea366c34a31e663c (commit)
       via  2ac3a7f5ce10dfdbda70a7d16414ba780677fe38 (commit)
       via  aed02419fb32cdf3153e81aa3474ef41248f34b0 (commit)
       via  5e2ac45d561dffec63af4c83a545b46db032c70c (commit)
       via  2926eb2c326c625f54db61796fbe034b31f0958f (commit)
       via  92c10f5f61e8342eda76fb6927dcc1c885eda96a (commit)
       via  aa595247af472bb95bcd36c166335c851e3e752d (commit)
       via  b9ce864ca8dcd0e52e2b7c655603b181fa19cfbf (commit)
       via  fe53b4a4c47df9c0bb2fa7f0de5a241f21cf352c (commit)
       via  9ff114ca5d2c2753f1ac110f8586d0040c27a7a3 (commit)
       via  503294e755498eb6545ca72b338c5037facab7f7 (commit)
       via  9a742a902f48369144cdbf5333392f128c74ab7b (commit)
       via  6b9553e2a5d2ba0e43d0bdf382bbc6b5011032a1 (commit)
       via  1fa4ec6ae707402c6b61cde33cfe4bdeafd53f82 (commit)
       via  ad71ce8de7dba823f5fc478e6d5eba03f1a2e822 (commit)
       via  96d01d93c4025cddeff197c98c7947e2b8f427bd (commit)
       via  96fbe52eaafef0e7abffc3e4d25fd89ae8464c88 (commit)
       via  4f501a245f67d0b43f245b09515c87bfeec983ec (commit)
       via  eeb2f20a764bee3a6a1edb9872467d044aaad848 (commit)
       via  18da07cd128d8d33bb6d01b2c59f12bd7f77324a (commit)
       via  c6295c2290d4dd89e588e26f6772c023ab154858 (commit)
       via  39946cc227a1bfbae6d6a2a968f4935d9f8b92a7 (commit)
       via  a6798baba212170e427d2f9bd99af12f1078b162 (commit)
       via  376dc015f275575e0aa7be9c46476db5506ff836 (commit)
       via  e10c9c620c3335731bb0052987affdc40942fd71 (commit)
       via  1c5c938ad860811644774ecea66e044110967cf2 (commit)
       via  7e8b60085eb3e6f2c41bc0c00c0d759fa7f72780 (commit)
       via  f8ad2513754f5a53fecb407cf64fcb586836b60c (commit)
       via  2a143b99fc4a5094a9cf128f3184d8e6818c8229 (commit)
       via  5c811d30d12b6f7c6c6f4ce6d03408d987154548 (commit)
       via  1f0c13579f6833edc85b5399486edf95b4b9630e (commit)
       via  0a2dde4a321d2f7bd2ded9a558b9ae92892de0e2 (commit)
       via  e4f2723003859dc6b33ca0dadbc4a7659ebf1643 (commit)
       via  b55f3386e45d8ba4af1a70f0684bc0089060d600 (commit)
       via  d7de64088c7ce0d642c73feb66f408c601cffb0d (commit)
       via  686335cd3c7d4eef6ce4e3e54ef0e75929b5e4fb (commit)
       via  9866ffe25a0fe73f5153f2720650baf0dd9cc828 (commit)
       via  654670a4f0928e3eddc6395d6804deb2e61a0614 (commit)
       via  af471f828cc74d65b50a7531ba2c69522266cfe9 (commit)
       via  3321e42bf2b5819b76ca36e8964fe7cf9a8ae9a2 (commit)
       via  59e8523bf8f92db8371d3a10bd7e4d7fe03d417d (commit)
       via  ef32532f22be7e98c25480449fbc7a80d1030e1e (commit)
       via  e234de6be5cc96286e0efb90e8d9fce51239e901 (commit)
       via  e69f32654ac724c46c0f4f645c8a49189c7b43e4 (commit)
       via  5dda32094f668a3e9738ea9b3aaea530d2bba7cb (commit)
       via  f493882dab762fb49ecb8685c18a85edfab5e6d3 (commit)
       via  5b86dbf4549af98c4428da4764182e03f22c58ab (commit)
       via  765e526c75506a7d9644bc7c137ac1923fdb1369 (commit)
       via  70e65ca8e5d1fc984d58f6137c290e807fe772a5 (commit)
       via  37b2d327512baf2f39020e44958fd1f11db46a91 (commit)
       via  7c0ed39626e3193adb70aeb98d3633787579d6ec (commit)
       via  0f2425c4c8fdaa7822555bbb61468b46d4e4af20 (commit)
       via  443701f5098e8c069d5858ca597bf7a8ba4a8006 (commit)
       via  e491e58adce317f8ed46aa7a15dc563131996c50 (commit)
       via  9a23f96e919ba91587d077b1d399246dde4002dd (commit)
       via  b9f04fe0dfe64bc6224e7bb96378607f17da7446 (commit)
       via  c7dffc390cf861b313001fd08049a5fd8d758d0d (commit)
       via  22e5c8027aef0cef99f7e215046e2f72eeda0347 (commit)
       via  7755ddb77d227d1d5c1b211e989fafb17e26765d (commit)
       via  5f0f0847e23a57d4e95c2c639e803e6f51914efc (commit)
       via  0afcef5384c656b69706fed61d91f6d886c4c0f1 (commit)
       via  823cb06774ad6a2aee0afcf6f011c3a134f25747 (commit)
       via  37c0b6ee65941d54fa8064c21b39f97fdc318156 (commit)
       via  7ef3addbe195b6283d0baf59e081146dfb211c97 (commit)
       via  3819af136deb7ba6bc2058d7848cf80b33dbe51c (commit)
       via  34e0882b83aedc6fb9c7532c89afaf8e0043b7ce (commit)
       via  34ca2bd7ace5e208d46fea6e7a56a5376de0abfe (commit)
       via  f2d394fce1f37a07148719c4bc919ca7b7a0b025 (commit)
       via  972d8a18db78974f59e1a6b1dc02f7e5b7d226d2 (commit)
       via  0fb0a7677827aea3e7ca1fdb2dfd1ccbdf6c2f71 (commit)
       via  5e89eb3ab04a378133ff3da1ed23d4bd89a56b5e (commit)
       via  3804a3431ae02bfedfa1347864444d9520161604 (commit)
       via  fd437cbc432d5421492a5b0e371750de104cce93 (commit)
       via  90efb6422939ca031804266fba669f77c22a274a (commit)
       via  cefdd1cd64f3b67aba1b219547b8f895c22d48ed (commit)
       via  565ed01a4e0e3584f24580177822a5271b1c0c8b (commit)
       via  41e52377486950e32a1bc121e4c42abc8561aee5 (commit)
       via  596dc58f33e20bd2784459dc0931e92922465444 (commit)
       via  a5b4ee9451dc9ffb6aa29376fc03943c53c6da0d (commit)
       via  aecbb010f9d74b574ba89a64f45cde2407e53dab (commit)
       via  7c8bbca5e670b5ea44b61ff30c5c7fcec47ee405 (commit)
       via  988f6b3dc615173d6d78a76ac26c109b4582da74 (commit)
       via  5fdda9d6a4c3520f4787d96c4ae293783fe6262a (commit)
       via  7d5b8b81d33e3cda028d814737015a7efa6b5035 (commit)
       via  6afd337d1a1a789b71d77b157529c08250eb9093 (commit)
       via  1445030f313d9b251a6a27c8bdf52197520396e2 (commit)
       via  176047c9f2ec8ccb4e0b6bfade4f21cb25d986e9 (commit)
       via  a2d64ef20ba133be3bff20d45494a65dec6503be (commit)
       via  a160cc4628aa125959dc65983d805500fc58512c (commit)
       via  074f6066845cb564751d4fa604e5f591c8265b41 (commit)
       via  28e6a46bcb00e9972540e4d12a98cc3f6fbb9d87 (commit)
       via  663c44ac4d4336e99c282705b1d289b365b273d3 (commit)
       via  7073b5b9edc9e06974bd733b7e4b3845d6d6f690 (commit)
       via  5b5f4e6f8cd250e07ec98278f7223e57b3d3bb0c (commit)
       via  34bb2571d40e1ca323a1b60e0827a25047890faa (commit)
       via  f1902523c9b7941775a2c64af89de0f111b8924c (commit)
       via  74081948353b117fcbe870fc3cc9ebe0f18fdcf8 (commit)
       via  647d4de92e061a3a2be83740d7f1bf63e5669630 (commit)
       via  f8d31560e1f64ea35a4e6b67c2834c5f89ffef20 (commit)
       via  49263c56bbc622d5a42cfd37b4f5fb6863cd7d24 (commit)
       via  87215ad1651ca3094d813eae06233fd7259b37e5 (commit)
       via  aab921adcb656e4eefcc7d0f14241f3d7504400e (commit)
       via  b1bb697ea1259c0977c38f1ec5f2239cbe669869 (commit)
       via  73784fa565bd66f1ac165816c03e5217b7d67bbc (commit)
       via  6e41ddec97d402c6c150701da0f70d40bd6ed5ca (commit)
       via  e68c32d53e44ac0fe9f48637c0113da42b62644a (commit)
       via  f6a36b0c9e537e4525f3b0687a4f76b4f77bf173 (commit)
       via  b80c727008fc32d5271f3966be4e2a43badf8055 (commit)
       via  452bf675ea772002aa86fb1d28f3474da70ee1de (commit)
       via  58afddc6c7c5eaacdb68cdc3cacd0f76a3d01490 (commit)
       via  98973784dc4775dbce3470b0933d1cb13f8c5a87 (commit)
       via  9d3420f5df5e14aa6ad43299d20b60652f0ed7cc (commit)
       via  46434633f9cee98afac1cf945ad00c9d4fdf5a4d (commit)
       via  bb4b64b0dbe015a4b3fb3993273f8b9b0f8cb421 (commit)
       via  11db943032396e1fee31440b0a331511dc0f4c00 (commit)
       via  8dfb7cbf8401be97077f5919ac7473bdbfa8b692 (commit)
       via  67d888f5c801eeda240508c567775fc1d66ae178 (commit)
       via  5277199aeb328247d5d37ad6f34e4cf200fe42fa (commit)
       via  b270e6f9e09814c82e198859f218b37118eaf098 (commit)
       via  36bd8eaaa0afe3ff8e8b1b1b9edc9686f5c159e6 (commit)
       via  56f37645249752378520a1c2430225c9cee09161 (commit)
       via  0b581c69fe7186d7d0ea1283c7ecf9839a8827cc (commit)
       via  14278e1fdbe045df184d6dd546ff6a1e9e3c3797 (commit)
       via  4971c9a74b47103582834e46d0185390379e60b3 (commit)
       via  e3e41d588adbe26a6ca54338dd4915382d981a3e (commit)
       via  0d999a6ef0f98b22430d70951408869864c979e0 (commit)
       via  329d5e7e56f852dcf9956683be4345c165d277db (commit)
       via  af3881e612908b6c0b1283c67d18312cd219ca13 (commit)
       via  487b6440dad57440939fab7afdd84a218b612796 (commit)
       via  e3c2f928b8f9afce6fdedaa1ddedfaa1d305aa9d (commit)
       via  bf223d3e808e6fec9ee165d3d48beb74837796de (commit)
       via  c973d0aa4a2c737ab527ae44a617f1c357e07364 (commit)
       via  284d826d9f57e3ff47e41f61f3250c8d029baaa3 (commit)
       via  454c9bb956abd5451b6a46c96327c5ec0884eaed (commit)
       via  7f3d21db922ae120961f4e8e2cba7b8a919817c9 (commit)
       via  45aee2da6b48c72c55e40ed36fc089b7e29617b3 (commit)
       via  d7dec582d122314fd496c862e23e16bc7d52b2dd (commit)
       via  2989a3651d3f6ad8c7cffb225f77f4fca8868890 (commit)
       via  e60eb2880368b4e4752577c626ab0dadf0499cb5 (commit)
       via  6d580b635f8963183540b816b20bb9c240154497 (commit)
       via  86dcbf50fe5f59fbc35f38f02ab6c1803c29f383 (commit)
       via  7649770c8e52afe2696a70bb50ac3039c844d381 (commit)
       via  de25939739ffe9a9ad7cec07a35bb2a1e430fe39 (commit)
       via  dd66b39984d2b8a24b97638d65eef5cfd7dcbc5a (commit)
       via  b0cba12e07cc17683b13c6275f58a6a829f96d06 (commit)
       via  4c8aa72d0eb714a91ca2e47b816d0b4a0cb27843 (commit)
       via  714da62f64ef5527a22a3e897f7e21f69e442ade (commit)
       via  545bc2b377db80aa6edd0cf00cde6f963735f8d1 (commit)
       via  12601963cf4de26be1db45ee58ac3e282936aca5 (commit)
       via  ba7139188c75a9c620cadea59158c5ffcab28acf (commit)
       via  44d0fb3a0a47c00a296f52a045a47dd0f1ccb810 (commit)
       via  8c1d4b8799912076b2db1edb1ae65a5d62a11723 (commit)
       via  a5afdb1665ab0e030034d40f871b5cc17cda3969 (commit)
       via  1a457753cfad05989574c671a221ffce2d5df703 (commit)
       via  66c3b5f87cd9a12be6734587720bde4040819369 (commit)
       via  47613aeb8a42e89e21e63e1dcedfa2cde6791e53 (commit)
       via  9c3cc99930a08934e16b630e92a0d285a434f228 (commit)
       via  206726fbfdd521fbb184daedb71b85030453bf0b (commit)
       via  0335ac6d12906bfb4b48410d8a7229c21c727cf2 (commit)
       via  8975f864092f0a1ba561622ba137b305da4a362f (commit)
       via  bf0ec4c2769236d9c471685409605f50b01479e5 (commit)
       via  d3abe1c8ef1ec9a90932b801138a144dcae95100 (commit)
       via  d6382fffde99214ce4aee99a208ddb703c647008 (commit)
       via  f978cb06dbfbd93dbd52bd39d992f8644b0c639e (commit)
       via  2f5404b3581d125a96f14d92c4a7985e8156d1d6 (commit)
       via  0c54f69295208331faab9bc5e995111a35672f9b (commit)
       via  d7f00f429aa525816cb3895462113326b6cb2fe2 (commit)
       via  79a94a2ad1e6e2f227de07427481e4bb8be84504 (commit)
       via  34c4758cc210e2ca042b0373938e57fd6844f89d (commit)
       via  6d545e31f520d42d921c6164ec592e8d7614d315 (commit)
       via  9ba349b5449bca9678c1f0840074761d1d3c5261 (commit)
       via  ca145713f354ebd5e45ddf393ead46782d1f8b1e (commit)
       via  c2c2dd9f09130fcdfc6bee999705206644f1f17f (commit)
       via  483767a333faed7ac25783459c0c9b0be4800932 (commit)
       via  1a682d061c5afe8ffdf3a594730693fb7d447848 (commit)
       via  98c5dfc99444094652c2f2259126f70e5cacf56f (commit)
       via  93ab9c0de7ba4a477720622c7e772d76f646e3f5 (commit)
       via  9593aade74f0da0c08a4ab55e4c59173b07b1f63 (commit)
       via  76db0a2e171d2c6780e0388840e3a10ffe7e9ee2 (commit)
       via  de7985c3cca1358b21b49a9872455e2032f48ee3 (commit)
       via  be7d3cd5f13196dd070978aa48c2832c351c25b6 (commit)
       via  1c90d9f022469629c255d44664b4452998168359 (commit)
       via  afe37d6be57a505e6abd01778474a2b73dff52c4 (commit)
       via  b348037fd8c0de5c39cc43970697c51048a8ec9c (commit)
       via  5af3691c758717e295ba4d03b800f3462a404056 (commit)
       via  e7c9de26788dee7a620ea9cdabd7466fb07639c4 (commit)
       via  ca6f2be7f6bc638fd4fad48def1fae4ae4d7906e (commit)
       via  4c2da80c2bdff7761eb5b3d9c03ffa0c9958b6b9 (commit)
       via  957e1fc1c5d0262e4b2f764cf031ad1458446498 (commit)
       via  3ecaa9fd728f6dd23de85efa0ceacf40da444c86 (commit)
       via  7ed1dab994fa1c0cf49d10608b8e77271c9804b4 (commit)
       via  e8c6b620f70d8cced4a93d8857ad2a57f08a361a (commit)
       via  e4a26669b914a1a1d519325b3bddf4bfe5078ea8 (commit)
       via  142311d325b962730f7d0247cc456f06e5c7b62b (commit)
       via  978c05401b0f0ac7a94cca7db19b1dec0c5bd698 (commit)
       via  0968fbae6b16ced72c356c14aaadfe366280a464 (commit)
       via  42fa2e0e1b7b135ab30f2f78074c3bfffa04d0cc (commit)
       via  cc4a945a2687184c7cd4a0572e02965829517408 (commit)
       via  cd3af38d7b3e66117e7964b6fea45e57d47169ff (commit)
       via  0f76ffafce1e93156094b393cd79489f4fd8de3f (commit)
       via  b1a6c1cea365f80b90c0bca795c8d16fa0681560 (commit)
       via  29592bde87d250ea56e8431053918899d3d0c16b (commit)
       via  b33404388e5bbd8a1fddfde73cd4593ae2b557e8 (commit)
       via  e88e8651cf3415ba440ee17eb1b22b7d2e8368be (commit)
       via  f5a29eb0a6637abcafb1e54d53fae9bcaa6fbbd8 (commit)
       via  57757c2f092ae7fb384e64df66c9921ac30957bb (commit)
       via  25d28c91b89d8f4a7e78b98b01e2c2382cea3e60 (commit)
       via  9165f4548be8612161fb90cfad9bd0cc6a752c90 (commit)
       via  a26c49b78ac3cac3ac812304bc06cf2beb1379aa (commit)
       via  fe22cbc418b35ed6ea3252a204bd351f8c201e0b (commit)
       via  24d3e51bf0612c6cf5e9a824b982e7ed38e741c8 (commit)
       via  1fea592a7dc4c6639ad21321a2cf7b1f0bb55592 (commit)
       via  cea7a285058bcba5a54d6493d6914c720f5c40a8 (commit)
       via  206c9c79ee24759c0e0af96e6722298b413f2716 (commit)
       via  5d1ceb0b871a78601bbd4789ce137ff39c934a6f (commit)
       via  2760f24c4942853eac7b921e4b8843d57a602654 (commit)
       via  8f5e83fb735af978b99ea6e22574560bf667d1d6 (commit)
       via  7b005726f910af908f0b5ba48b3466d119453b06 (commit)
       via  ba7b109b296feac8cf8cab74db5f824dfa631610 (commit)
       via  b28b8b5e31903f59b00a4664b8204409e1e5bb91 (commit)
       via  2980ccad5958af178f80fd2a2a0fa781bf91b0aa (commit)
       via  e347efc38b8b1eb6561248875c4bb2f9b074894b (commit)
       via  0dba2a6c09c4010dfb2eb5abdd991208374947c4 (commit)
       via  16eb6b2db49e6cf2fdca56efd37689fcc170cd37 (commit)
       via  bab55c0522f47e692e367bfa341f4e19495cd8ad (commit)
       via  b3293efaf8ddef1eba52de14be47e3d33bbce35a (commit)
       via  74cbb09e74dda17fc79e2ce709116780a90310ef (commit)
       via  b7a18930e3925c4092bd975e95bc3603aa1418d9 (commit)
       via  2010d1a3f87927c3f41b3a2509dec13f4f72ef19 (commit)
       via  1d4af308ae58f459a2bfc50de70832284f1d3d2a (commit)
       via  a4819f54c0006554179631189131080be859eefb (commit)
       via  e2a084f2c152f6358ba926df22a313d3ef8d8509 (commit)
       via  ee0c32930c355b73172b2bef987e2a48ea909b12 (commit)
       via  fdffd6f4118652bdfdff383943f13664af4b9a45 (commit)
       via  3232fabd2d0094d74bd942a1f2c5c284b0cd9260 (commit)
       via  55ef6584ca8466e293e9f1b310c0bf44500c11b6 (commit)
       via  a66930b357fee4ae716bfc8816e78c0f9c024005 (commit)
       via  f02fd7745d003d65fd3b981618e07b874b721d79 (commit)
       via  91975afd35bb0c6c0fc5ce0794ec0ae8ebe2f805 (commit)
       via  9f06dab1e3acfb675669348a3ff331580d4eaf1e (commit)
       via  223b97ba9d9d1aa61bf22058f637c779c7621e6f (commit)
       via  a30d3a7990e73c54e0bab9933e48989376770162 (commit)
       via  2331fa3af560ee880d50e28bf841e1bc05b0c3de (commit)
       via  744e4fe1db7099d91f71c50c83708cfef5d3d0c8 (commit)
       via  1c034b67a03ed928eb3916034eb1e782a8188520 (commit)
       via  773a1edcd1086fc76a91055bec67e2d14d76940d (commit)
       via  0d50bde32b92821c9f1f660d273e6c996d26dc9f (commit)
       via  7f968c899f21643322dcfaf807ec7d7bee7c9974 (commit)
       via  3c9ebddd93ffb8b44b8cc69f3be9db08c861368e (commit)
       via  b51b225eb9b03b627967108ee3de38ada5de219d (commit)
       via  ac991630ca57ba6a00d0d1358786164248d140fc (commit)
       via  898e0c8e879394ce0fb8a08fe85929a29f3ce55b (commit)
       via  26fcd5d7572ea1bf0cc697158969749420900e0b (commit)
       via  7c218e6c9c88cb8120adf1a7a530cfdec23aaf81 (commit)
       via  31b68d4ad72ebb153e48e16c8d9edf3676a8af38 (commit)
       via  2ec845e758762030f2333c21fa532fc57fe3762f (commit)
       via  b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6 (commit)
       via  e3ad2841b1c75837a901618651fed23013643e3f (commit)
       via  b80cf838447322778f04059a1f58b78ffbbeb597 (commit)
       via  fad0444a57f4715c1afc9b0331014374e6faccb6 (commit)
       via  6e7bc05c53fe65089f290757a72508356b491a6f (commit)
       via  4a45905b825ef230a3fbf6bb7857339b39e5af16 (commit)
       via  7cd06d6e89c9c17d358d8edf0b7faa9dd87edc3e (commit)
       via  ed1669453be56d71351c77377acee097aefe83b1 (commit)
       via  d419f42dd3f3635fc036413258ed530676998191 (commit)
       via  4a2b031d5452226cf7894f313b3aac603f7ec5fb (commit)
       via  fd9770d81fba7ad860e8bcfbc13c77f21041f1f3 (commit)
       via  2e9246e077cdbbff0a56a810c5750cc895382ba3 (commit)
       via  5f66bad45bdf1c9a9806ed27e64b724d6ba50b16 (commit)
       via  a4f320fd1b535bb80dc9a3ba7c50ee0061ec0c6f (commit)
       via  db99ecc08f5b66fbe9cb72e90352c7f77ec71a6e (commit)
       via  b8f4abd342cc54bc2b90c796a2aae93e6c3bda6b (commit)
       via  70b0cf90bc6c071895b989666bcf3e6eca7b99ce (commit)
       via  73d5923e480944e2d66bde8c59f4dff298ec57e3 (commit)
       via  ddff3d84be42fa80c2c9aaa635f2b9269e74e4f9 (commit)
       via  d84ed528d4817b0ff854006b65a9f6ec75f0407a (commit)
       via  75800d2cd6a6cea6071dcf8f0c2ea871abeeaf99 (commit)
       via  262cdac76d010307e601d1a7da49a0cc1a53be05 (commit)
       via  a5be90a4d95b535a67e4e249e733b208d36c1e56 (commit)
       via  a2f1f308535745e1e8b1896945cfe4ce0aae59e7 (commit)
       via  1ef692ea23714876cc30b1a3ab3ef33a1369f17a (commit)
       via  4d36230d59903b92fbe2b53b31ed64a884860f0e (commit)
       via  60c4393c5085dcae64c84a51590f8a98199f9221 (commit)
       via  be897fb774abfb0a44b3b87fe77bccafa336e638 (commit)
       via  51b69c74c6464c59a5621d6f3d3967a576043fa8 (commit)
       via  2141b1100568d4b10d6f22e6cf1741f1816dc348 (commit)
       via  2e957b16d45b8fe4396b16775f0b3fa77f71f0a0 (commit)
       via  575934368531e7592a7576a39a4320d88007ce88 (commit)
       via  c48a4d983400ade9cfba0531905245eb454afe08 (commit)
       via  7e5ed83b229681f57d807f79fbea3703c8121afa (commit)
       via  aacb3b6dfc7a9162a049dada22f1079809188f02 (commit)
       via  54387c7fe27848e41a51c1eccc6a24b3d6d3441f (commit)
       via  791fb3d7a58b86e5f30229625dfd33659f33fd6e (commit)
       via  4bbd4ef219c5b4c7d437618ba8937af86dd1032e (commit)
       via  d44c746aedeb31aacd867edc2da30dedc1e63e15 (commit)
       via  93e0a1eab1c7963d77513aa503b129ea03cd6d39 (commit)
       via  10683b8d116a6b6c8063dd2e10263b3639816c6e (commit)
       via  8b5f1ed8777df405f3c7b87472b1506f5125aebe (commit)
       via  ef080e7ed4a373037231e709bfa1a909f4eae0f9 (commit)
       via  49ba15a23a9d3d8a109ce2fd5053822eee7f1fdf (commit)
       via  894dde0ba7eb0789fbc1009c9541ac6d68389968 (commit)
       via  79c12faeea57e61364b6a7a3e411b096edce989c (commit)
       via  2b94abd48aef2d91bae1c35c8c10ebfb8757247d (commit)
       via  a808670465869100d4178a572da8a1503d727f3b (commit)
       via  242f30e67cbc2aba8314ba3bf702efb1aaceaad6 (commit)
       via  4c9dc8114942ec02e1adacf9aea6d65dc5849e9c (commit)
       via  f726cc1cb69ab0e0303209d08effb10b99007080 (commit)
       via  8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc (commit)
       via  63d4980d60dd137996fa282ae1df2e3fcb4519ee (commit)
       via  104f0515d038716599728f8e2b58aefe3fc188aa (commit)
       via  27d41eac62a6a1aa803dfcfba2be61431e7b3d13 (commit)
       via  ea03d0d3c32b22aeddfeb139a4a515f7e5961347 (commit)
       via  25aa13e522c595cbdbb3868f1daa434a17ba2ab2 (commit)
       via  6eb1e6a8c1c83d0fb5b06192d1ec218d3a358f23 (commit)
       via  35b4818d03e8d63a926afb235a21c2cb64b14b23 (commit)
       via  8e2141c6fba6daea1555e042da9de49ec8b1977d (commit)
       via  b468ff4cbf14744d512e464b4be9681d3e0302ad (commit)
       via  229d26fc9ebca61b8d899cf8fe4342a6cc9795ff (commit)
       via  11f10936902160e9b1474fd0a06ea44a5a6445ee (commit)
       via  b9c0e1b40ee4e7eeb3e2850720bf30f28e2e17b1 (commit)
       via  a04b53379a18c66376b4130dc3b4936e6433a0e5 (commit)
       via  133193b8aef9f74abce69ec84beca227dbd7f9a4 (commit)
       via  7cbc739c71fcd82fbfbf180ff636e3fbee4f30a1 (commit)
       via  46a62268b87bd5e8215636b695380bca9a9f3b63 (commit)
       via  02ad7fc29f824a9742f8386bcf5793b81ff798f5 (commit)
       via  c26bb06769ba85818bcf61126c94c2d517182fd9 (commit)
       via  cfe7b9bd58c634bda974e291ce95030b1e42a690 (commit)
       via  ec06425629516e11f3106d51fa85f49da147765f (commit)
       via  c6b78c965a96fb152fbd58926edccb5dee2707a5 (commit)
       via  d4aaa2a0744a28143f0b923802b6d1fa8db15887 (commit)
       via  aafd38357af0c9c225f56afcb93cc3a4da763ccd (commit)
       via  031ed05dd2756557c3f5cda6690a9f3220918ffb (commit)
       via  7684e58062af4886aceb05ecd83a956bfcd14aaf (commit)
       via  8a2df5e2df374289e00ecd8f099eb46d76ef982e (commit)
       via  ca4cf9b9c622a5695e01f7f5815a7382a31fcf51 (commit)
       via  e8d84ca1b46f899b0b140fdd146fc7b14515267b (commit)
       via  47aeb64c10ec9c9f06d2d2f4451f417d63b023e1 (commit)
       via  645b28002711eba22e8a4df3733a01206ab7d36d (commit)
       via  8ca02f6a216eec3ada5936f189947c424d83d766 (commit)
       via  723dfee7b84099118e849c90e4e95dc275cb9d97 (commit)
       via  15a3a14fdd725c049d6b2aadbaf66c9be5ed36a8 (commit)
       via  5c2c0020fbe7110e6780ec1ee85ff11833779f8c (commit)
       via  b6f48cb022118f838357c07d32d122e9434c0209 (commit)
       via  e12c9b7a0cda47a87b8203ee9906fd12f68e3666 (commit)
       via  4fa8aeac1972ed07261919ce652c886160d8cf2f (commit)
       via  f746a1544499acc20aa28dcdbcd2ea6df5548889 (commit)
       via  dbdda973f31f275e514c311362a98b5f0f3480b8 (commit)
       via  dcd27ddf875d6b913f1ddb0573c22b0931e36061 (commit)
       via  82c780662512c53c3a2c7f1e1f66474ea6bc04bd (commit)
       via  13bace4ab963a56102d8646cb16a8ec505536107 (commit)
       via  b57e815ca1e75b7897caa99c2d351f11a543c4fe (commit)
       via  ba8826a82a29a19b78c18ce4f44fe313de279af7 (commit)
       via  47826cdbec2548cd1d25acf4cfaf908ae88f3325 (commit)
       via  33d69f87279fd33a951eafd025b4d188bc71d97c (commit)
       via  47e77640be31fc1a4eb3718f594ed5fd0faff065 (commit)
       via  edb0c9cb22e5be90a76b8698b45e9eaee596f315 (commit)
       via  a778f165ad24111597fa48beb4a62359501e0076 (commit)
       via  42edd901a220d9d963d2121d7014b81d43c1ac66 (commit)
       via  cf3252992378872212eeaaca090fe3b1491bcd3f (commit)
       via  62d2a18a2e4bdb3c278ecda54c8317f179375d28 (commit)
       via  2d2dbad0605c85bb75662d2f219b1b886d5ab4cb (commit)
       via  8e8f892f7033096576777216f37f922364bfe24e (commit)
       via  2018ef80ae7ebbe410aed0e30367fca27e3eb2d8 (commit)
       via  f2e6a8430e72d58e70aaaaefbb32dc3953d5cf33 (commit)
       via  6c4e7b6bfbc4679f695106de2817ecf02b27c8be (commit)
       via  909e4e716c4d77e33357bbe9bc902bfaf2e1af24 (commit)
       via  62a5222fdab2acdc129b7c7d3713e7f349e26029 (commit)
       via  29866fa186ee3ebda5242221607dba360b2e541e (commit)
       via  70b448ba7c521d6e0881f38aaf20d330fe510716 (commit)
       via  7179e0e6b2e0ed7b220af8836a88ef308faf5898 (commit)
       via  684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16 (commit)
       via  e4943f2c7569a829eb6129f10f7c5401a96aaa08 (commit)
       via  804a4093182a4bdbc30abfd3081a3f58c3bd2329 (commit)
       via  801f648cfc26f588aee8fc37ddc4ac959f331bd0 (commit)
       via  927960f053ec6e361236964c3780d2acd5de4084 (commit)
       via  9a0f1d5099fa375299115afaa1ef3acbddc47f51 (commit)
       via  de194d8575765da6c7905d09b8675c59fad035e9 (commit)
       via  c5ed057625f886b14d9def3fa7488fd8bbbf7dd3 (commit)
       via  e4e21d9ed14c74304bc060a9d892c0edfc4c8ab4 (commit)
       via  27841e762c975f6b1ffa0adbffc22405241262df (commit)
       via  cfb7e58b483faa7ca4a3a8bb0030ed3e990b2c5c (commit)
       via  c646b4e87f4b3445f83d48fa7d85999dd702c50f (commit)
       via  b6a577132682c291255f91a6bb56a3817048e905 (commit)
       via  386535dd91432b784f6a46f8a92c6a599ba30174 (commit)
       via  0a79bef4f206d89214c48454a4302d6b6f8f68c0 (commit)
       via  25bda061bfe001db0b10a99e289293cadad5a0c9 (commit)
       via  89d249d2f26884b5e62301541aa9ab43bcaecb67 (commit)
       via  8e85f840e1870b17dce6a5bdb330c5bcd85a022a (commit)
       via  c45ec17c07d8aa4554b0b2ca67a5f4dc2c87acc4 (commit)
       via  be966d4207ff8df6572a23b911e5a69a2ab9370f (commit)
       via  a245927022bc4351fafd9e6275e217021ec93e08 (commit)
       via  c6756f62e04846d68c24ee922ddb0377d4bd17f2 (commit)
       via  c5bb8910e80c6cd80c63541f86471c18375c8198 (commit)
       via  1d550c828c00978860de9ba35b9ab5b182b968bc (commit)
       via  dd57c19c1abd19c71538631cd9e5b0f70eff5a5c (commit)
       via  8090b426b57bd9ebfa4c593ba3e6f939b2911739 (commit)
       via  6a2c1b8790e58ce0688507b5b1f8369aa621a665 (commit)
       via  eb3ff9a55175dcdac8328b558d54951a14d719b1 (commit)
       via  6e1dbf8cda1c66256179d0b15c96bc97ea5cf7b3 (commit)
       via  78b13106edcd14d87b4cc0b7f8dce8db8c2be489 (commit)
       via  bbf2f4dfaec5cf2e21b0935300b4921f0b5a8eb7 (commit)
       via  330cdd98910dbd34e969f60d48688fb81c2b374a (commit)
       via  2a925816fc3848f1d48c4783df3dd54116907a57 (commit)
       via  f27dadca0ad18d5a0ba032c3d3f6a60ea55d887b (commit)
       via  caa74962b638d9d468e77dca3e410b061af9aa43 (commit)
       via  676ee2b5fa6ae41342a9fcd2b7ca18693fa0535b (commit)
       via  046c08c44b786410bc743963578ce90b5c21e468 (commit)
       via  5bd68487223b73dd5f929878654f0e3e2c66c89c (commit)
       via  71d01ca93b880d4fef93f52062c674ed62768e45 (commit)
       via  8880f2a9cb5151ce1c2714a75d123ba0f63668ac (commit)
       via  65547233e04b32e087f74f8f5e9d3ffb6fe2c198 (commit)
       via  8f14146e1317b7b416ce298fad1a4f3d1ccbeb2b (commit)
       via  0f6329bd7fcc8952aed5a386617d12529771415d (commit)
       via  86038de0d810f8639d22573921d2589a99829b36 (commit)
       via  211b0bed95b3f6b177a541ec52302b8febd6b49c (commit)
       via  2347965cd99810f5ff6f638880e4eb498a8ffa82 (commit)
       via  40f4af2873b0631bc5f1d4ded2070abe2de2217c (commit)
       via  053f805718fb3a77169afebba83cc665e9509e7b (commit)
       via  6661ad487334212e043ab584030f533da358ecf2 (commit)
       via  ee77ed019f9993ed50613a687bd2a19241c98aeb (commit)
       via  e58ff055fa744a16d8e854d2fda9cebce164b600 (commit)
       via  b4365d025e0b5c025658c7ffc4108502d56030f9 (commit)
       via  c55a47e7237ebac17df73183d214d90400a49455 (commit)
       via  5d2cbaa526279a02cb1b70e29246099f0b8287d0 (commit)
       via  55efceabc6149e96134c10676adb2b1e79e0ae13 (commit)
       via  a502b0bbb8f3fb7dca4f2a12aa04afa28173f0c2 (commit)
       via  bbe7ef6699236cf94d0f4e597bdce99158905edc (commit)
       via  b7d7d4598c7c7fff209a1055cbbd829a0a68d7e4 (commit)
       via  429d795d5074db648fe07dfd811c1c150b78066e (commit)
       via  0bae9e9ec550c940e263b37f577bf11b2dabf934 (commit)
       via  2fe40b6792e98dfe27e4521b2b33fe0f335ea1f0 (commit)
       via  d42c267e9b129279994dc623c0bdd698a2b67286 (commit)
       via  bd6a8c1905edff5e8fbfc94272240574ac9af231 (commit)
       via  df2f63a6a0fc19c54e58aab8afe262baf3cb1a3c (commit)
       via  0aa37b654c0f31e446ab47826f0bcbec15d0112f (commit)
       via  48aeef91c248291dd03583798904612426b1f40a (commit)
       via  61a0857c0fb512ce6a2ba4315a37fcce744f6045 (commit)
       via  04ac15ab07e6360320a1c8fab82d25340c22a21f (commit)
       via  e3fbc3da1342714b4943300a5a590b73f00acf08 (commit)
       via  70391b29cfc701f99b21b76100dc69531bf9eeec (commit)
       via  2c4d9cbe519e4050d067069e2d8910c42dab0157 (commit)
       via  4162bb66c684478bfd0f6f0e121c25b6830d8191 (commit)
       via  11cb57160f4053e9dce292b461c035dcc563fdb7 (commit)
       via  36cebdda8069aa04272e8fe6b5ec751a4ed55c68 (commit)
       via  6dc8d7579d1857460a4d0575660ade2e0462b08d (commit)
       via  adce5b398df497da54e67772233be1b4849666ed (commit)
       via  77c501bcea87d4606367ddd87affddf9aed1aa57 (commit)
       via  2e1e43e14021573158dfd170f8e67e02a4c6b4b4 (commit)
       via  3d99e817a90b2a37860d527f2fb5643e7b861e7d (commit)
       via  a074796714dcf281f5305540e3c5293d94f653f8 (commit)
       via  14357de15f6594468950d17dbaac8da0ab05063c (commit)
       via  266934d1ad029100f4073f9e351f8685ea175b83 (commit)
       via  0327869232a2f447474306a4d88214324d8abd40 (commit)
       via  f4db828807aa2ad2279b6afa582c64bb5e3153d5 (commit)
       via  12c1f20d6fba9dce0011f3ad11a7de60f7df4a7f (commit)
       via  4b654465bfc3034c969d2d942c14b2cedfd3e3b6 (commit)
       via  e6f3b9c3194c0d89efffd6e5b59471950f979e5a (commit)
       via  0b9305edf1d0b15913643b132dad02d4ca4fbb43 (commit)
       via  2af9fc4432bbda5ebd805bf5b56d81cd80d0cbf5 (commit)
       via  382b69bbb7a4fec5213d2382fe70a68d7a46b3e7 (commit)
       via  6e5eab33abe09041b29e0ce484f684ad0ffe80a5 (commit)
       via  929edea98d27cf9d72305c1584ee77627da7fa96 (commit)
       via  762c974a09746bda8a5d64ed3ee887adeae742b9 (commit)
       via  e54cb31aa33a124f746ff40c134e20e6d2bc6c34 (commit)
       via  c620a2b5471b9158e9e0da176e098ce3f4335b1f (commit)
       via  7639175c9add472d9271318996547a57acbcc062 (commit)
       via  532cc31305f46a979ddc4f98866b67e4d3a9d45c (commit)
       via  aff6079bc770cb97f29f0bf15467f8c04bd1383c (commit)
       via  1cf9552bf1c77df8850de01d48e1057a27415314 (commit)
       via  9691e722c654054cbf2a6992097c730b8cc50435 (commit)
       via  33c5cd75874c36374c0966c59feeaf6f17512499 (commit)
       via  a0b7b105236d5bc65e8d3a35f1b4f34bcc5e3705 (commit)
       via  4b617f5235fb680563571cecfdb03e3b3493444b (commit)
       via  8455d26243aef72f7b827ec0d8367b6b7816de07 (commit)
       via  1d827a720c9659cc8d54059ccc3efae24b875c03 (commit)
       via  15a7695fdce108548169ca265cc440b049d63951 (commit)
       via  e4bdd679556e4e4ba71bcd066cc98ee7c2f4fca2 (commit)
       via  60c96dbf02fcdb30942b9db7a138afcfc2b7220e (commit)
       via  033ea118c0f5b33bd4d9af541e5c503119aad37a (commit)
       via  4da3eb35ef0545aac35dbd09070e5bf925f947d3 (commit)
       via  40c7d50720e04c3d1ef1695a8097f735bafbe54f (commit)
       via  0d702cfe5d9195f2ba8d110120374a8da6d20c73 (commit)
       via  55a09eb6df557934bcb7e96d8ab4e9e7ca0670be (commit)
       via  564e46b795ea9ef95ec662f01139a97717de1603 (commit)
       via  0041f7df741692954ebc112c69e5326afb0115ba (commit)
       via  568fc4f4f857d1a06d06ef5d74f8deaa0c8ae182 (commit)
       via  d8cd8c1f482018acd16cab1f1f2a081786a04c6f (commit)
       via  15e6ed8cbf65f0b7cc7e384d78a56802d8d0244b (commit)
       via  19871f45ddfa7681f8f7585e73409f4fe5b51258 (commit)
       via  76cfced5addbd827652688a13f9cfa02afce51a5 (commit)
       via  ce9116fdbfba8926a7bc25613d39bc3b2ed942fc (commit)
       via  cd9af601e60240bb38dc58ce7e69abd5f2972ec7 (commit)
       via  33c734b2f860f77badb1e25d16e144e9db77d1bf (commit)
       via  8d219acda1f7bc5f7adcecf479c9017196cf2c70 (commit)
       via  c8cf1feee1bcb793d919b14853355a7ba09ab836 (commit)
       via  7e70564caed5f56b4937ef3f5a51ae2159cabef4 (commit)
       via  5bfd255c414e89f23342f38975d09b18f2c1b2b7 (commit)
       via  2040444f336594dd2dabb35388b6fa97785754ab (commit)
       via  613643582c4f6145063fe1522d57bd01fe7bba02 (commit)
       via  de837d77bca30483e8e926044fa497e3d49f7972 (commit)
       via  c6eb149dfacbd7a5fc22d7cf7fa8df6bf1d6a637 (commit)
       via  bae7501e87ab614115d9d3213b4dd18d96e604db (commit)
       via  25c5412713badef8cf779186174200ecd880b329 (commit)
       via  3c465ea0ffd372bfc7f07eccef4c0b1bd22efc71 (commit)
       via  834a65aadfda9755d8bd6ec76ba8b3a6d20a1beb (commit)
       via  bbd27b7684baf424bdaa7f0a1d39a2cd5b0d6134 (commit)
       via  9f00292e69635d48623372c7a3e390dc5d159a8f (commit)
       via  32f76c677333510350f21a40db062a8d17995c53 (commit)
       via  33f466961ce01a7db6dbec6b39aafb7af1855645 (commit)
       via  b1d3c886aa30083236bf60c50d519bcc978139fb (commit)
       via  dc4bde35d16df749e529229657b3468417937cfc (commit)
       via  51ed89aa0dce3db46561235efdc4bbc0661bcf37 (commit)
       via  60a02042bacf8d25814430080adda61ed086bca6 (commit)
       via  4151f6842850876e93c8e5d870d7c9147065788d (commit)
       via  909b4e3d5fb8579b3721651c9e64a11e7ec27e5f (commit)
       via  f5b2fd523f8f180e11f77b84a107279c562672cd (commit)
       via  9785fc2a4d220322ce6cd1d79e768345ea5234d2 (commit)
       via  8d011e87dfa4e1719bd909b9adcbd1a0f5a75228 (commit)
       via  60804c53a0c365f0802e90c12dfcbe6696b861fe (commit)
       via  92cebb3dbea282bbf7357ed2f3f03bc92fee8c7b (commit)
       via  3df5cd139455a1448de00e1e173f3ce566a25a48 (commit)
       via  eb17d4137dc83a373b8968cd20b256fa8073a4ca (commit)
       via  195bcdd5183f2c137399db23a68a26a4e4193f8f (commit)
       via  2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15 (commit)
       via  e1e94c4994151ebe0e3a103fd0d27f60bd806bbe (commit)
       via  adc764e7d217d3e56af988ce20cedc98d8c4cc73 (commit)
       via  ec1acaba1381d0196c45965a7db9942b67fbd88d (commit)
       via  ff07562f1e369b6e37eafb2a888dc48fa2453e86 (commit)
       via  2aff25ba76035d2f1f48ea8a6c4b7e498ee31790 (commit)
       via  88ab90e860a46a1123fcfd13bfe51cd360e9c3f7 (commit)
       via  1b19ec971047a074486e6b775dc1969aa13f30fb (commit)
       via  328ce951b2513a102711bb640496a2f1b5f8d3dd (commit)
       via  47fdcf63c04b5c220974affc8ff1d9ef8a041919 (commit)
       via  6e75794e9da0e12b44c36272e16d18449d25a03d (commit)
       via  bc491f2e76df1f2cec877eb07e88209b609ddecf (commit)
       via  88305e1b9f4592a2ab129015ce409fcc16613ebb (commit)
       via  65a55fbbd949868f7df3c65d39eb8d4455515132 (commit)
       via  c604a79ad4d47070bbcc0bc082188fb16892ceef (commit)
       via  41664b45ab6387184bd0e7512fcf7a72c58744e7 (commit)
       via  819e1f86976dbbd13e0de004cdd3e3089e4c3fc0 (commit)
       via  c7d289d129cde92c0d351446c5072c5f744040fe (commit)
       via  38bf472a15210c222bb3885820e763c47760a704 (commit)
       via  9991e9d77fe04c4fde9b88964c6f25119a781e0d (commit)
       via  6da67eb10df978c1237ca863990f38cdd4ca2e95 (commit)
       via  23732b1e32dd58f7c731d9aee56ff0b22a645d53 (commit)
       via  a4d1e79aaa4b9d994cd9790fc3b756748dc5571c (commit)
       via  2d68166e8704569eeceb76ac743ea1e7cca2af26 (commit)
       via  8268c77870de3c27ef598348f3023ba159fd0fca (commit)
       via  6806377956c76c23ae96a3844e29412ae117e07a (commit)
       via  db665f427ca781d631d9e29b1bb744fb11ffcbba (commit)
       via  ea9aafc41a764e4e2dbb88a7b031e886b481b99a (commit)
       via  79cb3f75debfeb1355f8883143f0f6dc98f70080 (commit)
       via  b0bd097ef63edac71b6720e850b9a04605a87f7f (commit)
       via  2438385a4dea36eba111ee931a2fe2d159c676c8 (commit)
       via  daba08c913105615c5e57dddcfcfa5d8c4237eb9 (commit)
       via  7575e6a752ecfa66a41a5d4636ed79524cb50ccb (commit)
       via  1284e99a6ce362d342d6468e5caa39ddab574721 (commit)
       via  b1a2d7a0e57abc06e6ec99c88ca9992780f45f71 (commit)
       via  a6cbf936e3dce68114d28cdf60d510a3f78a6d40 (commit)
       via  7211ae501eb0de1044983f2dfb00091a58fbd66c (commit)
       via  dc819143fe1d44970a3da4b9ebc7828fa2337115 (commit)
       via  ab27f80c5dceaa23c4ba7f62c0d5d22a5d5dd7a1 (commit)
       via  1f473e3d0ad285195934e6a077c7ed32afe66437 (commit)
       via  b417536f2350881ad28952b3906a025a54d241bd (commit)
       via  0630b49c470ca2e3c3f74da4c7e4ff63440dd71f (commit)
       via  515a4464176efc6ac31c83bd40b5c67f61c3b044 (commit)
       via  873c08142c4c377d2d3ed0b1b1b9e262ddc06c61 (commit)
       via  8b5a7a6e8ceb34f8e82aa361ee91ec25e0049774 (commit)
       via  d1435379df189d1c358ebd9776af8824a9158533 (commit)
       via  04e15b4a9462cb1ae819e878a6009829aab8020b (commit)
       via  cfd14a500e0485374596234de4db10e88ebc7618 (commit)
       via  0602cdad745472ed2561d8096a4bb021c8d0301d (commit)
       via  a3aea05a66ec325ddd19b0c8dbe504958a295cd3 (commit)
       via  fd52715cfa77b7e06f4ab5eadfe7946d22180adc (commit)
       via  93ec5e23766a9f75aa4950748cf73964028a8d1b (commit)
       via  49fa50ef9c59aa6d03bc2e33a25b2d832a9e692b (commit)
       via  cf9bdae906f897ae13563c03c65f325cad05bf1c (commit)
       via  46adbd17408fda28aca5320e2247ede30b7e9649 (commit)
       via  57963c05b9911c3555add356a7cd9952d391dfe4 (commit)
       via  cc75e0fdaeb179efc66ddd1cb1b6da40e6adacc1 (commit)
       via  07809eafc959a0c588663c0c949eaf8044a1b40a (commit)
       via  f076f0349cb958b451872ce4a7987821533c2f49 (commit)
       via  d7e2ebe7e73105766a854f4f0e3a5c509fd0e82a (commit)
       via  2d3392bd42e16b5c8894c357f250dbde245e96fe (commit)
       via  5cc4ca837deac7dc962d8a3741aa120c50ab41da (commit)
       via  b21351faa29dfa6deab3afcb5a2ee78548239274 (commit)
       via  0cda1e190dffc804d1f1ffc4bd849ffdca694914 (commit)
       via  bff0500d7abc215bbc6d4e9332047c023f4ce2cb (commit)
       via  ced40572e478927f43a849d5c39f794868da8d38 (commit)
       via  173205ca3356cab0590c2debaac97107fb9a7fcd (commit)
       via  926770baf44bb47c41e85486957f4ae70b694837 (commit)
       via  9bdfdbf929d581cf845ffc815ae94a39d9f7b032 (commit)
       via  94f78a777c396fa1ce2f40d34afed1b6b5012196 (commit)
       via  4aa57d6a2bfc4e48fa6a685bfa164db5ae2e1c1c (commit)
       via  7ee7ff7015840f2d0156bf386a050bd728d22fc4 (commit)
       via  7e57d19e48f94ff9a19a9413cf25d1887e3a7f52 (commit)
       via  0e158763b0c5671cd40cdd2faee48d6659489ddd (commit)
       via  0dd5cbc56307afaf6a366a8e78ef25cf9cefe514 (commit)
       via  b4cbbe8f7294070cc93a71ace78f134965ddad82 (commit)
       via  790ba5c89893f31dabb6d8e85c8d4be61c52ad99 (commit)
       via  0056441823b1b1b2488dcf069b4feb55b00137ba (commit)
       via  5d8763a38211dd79459485ba0be4f76849ef8200 (commit)
       via  922109c7182858b005f55f6ac69bb6af145fc710 (commit)
       via  84da4cf89efed1df483914d06210daae79ce3eb8 (commit)
       via  d4c6ce5b011b03c7e4a84b530cba1f9b56441131 (commit)
       via  e652757bad63e4cf8c0c72df6e95c0c826f8e29d (commit)
       via  329b5ba137687c4cf00413534a08ec33c8acb556 (commit)
       via  9d1c54ed7f3a4a70f35f85658c311697c17a95f5 (commit)
       via  16892a0323ce6cf41ca80e384dfba12524247902 (commit)
       via  d7dcbefc724e59aa49e4ac2ac2337c8e1b8c367a (commit)
       via  b30ff123fbff63d6c8be1115320efd0158e49a7f (commit)
       via  4fa847d78edd4a3901414655bd4b31234b91ba2a (commit)
       via  48580982ef41907a45cda259a63d9e6878cbbea3 (commit)
       via  ee2fdd6f36c10ceb84e05c7234983bcfbe6146d5 (commit)
       via  f4906a9a7441ef9c2758513420568994a1e7fed3 (commit)
       via  d269dfc64fb5307dbbaecbc5d55861a705b729ab (commit)
       via  b45a120833d862aeeba6803b2cc131724ef89dda (commit)
       via  d19237d98d5c227bc33693057eb466702386cdfb (commit)
       via  e7d39ed3e0ca36d0dbd6ddd4cb955aa73b0974e6 (commit)
       via  a765d0724259ec77ab69c3dbb1cc2e16e2e038e1 (commit)
       via  194747873fbe037e923eac3a61481ba16e50e322 (commit)
       via  6b7373708821500a7388a8248b6c19fa1826c514 (commit)
       via  e5c89b096d9cb9e5956e98cd5863519c87c6890b (commit)
       via  127d08c03f8bdb515389359ab605b6ee548996fd (commit)
       via  68193357e8d0fb53a229114713db9f0385f60ed8 (commit)
       via  75312ae3ab577c3a72ada54512533fec8bfae7bb (commit)
       via  7f2c8a1d37af46c46828909b7b748c79aa4b7ff0 (commit)
       via  2c6b98ea6fcc1358639253d4e96c9b55a672fb0c (commit)
       via  6879f5a99e25c068fec34126b6b0fe4325223aa0 (commit)
       via  2234eee61c42ad3f4d17894236873e04b633e969 (commit)
       via  c2f7640243bdab93cafb3bf516e17a72fcc2f051 (commit)
       via  9fef80d683d79934bacd3221f5252ce8c14ff5c0 (commit)
       via  7adc0a8174f1233f6d92edd0671c18c9870e64e7 (commit)
       via  3d030cdb4a8d338c87e48b249338a4870fdcd322 (commit)
       via  54bab2816dfd025fc53618e46be140573d5bc02e (commit)
       via  bdab445c82ba93bc9aaad1ae974a3cf5c4aa8a26 (commit)
       via  6e1816be66892d06e1a983f08407135fa7f7fc17 (commit)
       via  81209eff905bf76a01bbc3dc07b8973d1d0cdaad (commit)
       via  6c290d5387f770a6b098162f0a0f9ea420de540d (commit)
       via  c168ce07e5b4a2a0258c796748899e1ba2e6dc7c (commit)
       via  996b5569bf24fe29dcd832a068d9f42b2903f48b (commit)
       via  20bd1b6ba53491e4979c03a4f679d0d17b9b9046 (commit)
       via  e4da2c61669d199c75b96a1be25e13e3b8254e89 (commit)
       via  3de58d950c984bce176d883a8e7bcf3415be8c84 (commit)
       via  cb06d03ad92ffcfaa09c3f065837cb39e9e1486d (commit)
       via  c458d0079cc5e8ff29256355e6532ad2f96a8aa6 (commit)
       via  ce49701009db42a9a53e5dcf172a6a211b1025b3 (commit)
       via  1e29262747bed568c673b8765d214a4a16772da1 (commit)
       via  eb83230b4d5c0129174937846ded9eaa9f78ff28 (commit)
       via  eceb74ca646e78adab1fa9f5c3b7cce51e894bc3 (commit)
       via  69431babfb54b26000fdcc016323cf811d48e862 (commit)
       via  a206891ad10040bdee41999019af3cbf45abb5d6 (commit)
       via  96160d605128658378af73bb62732d1cbfa73d8a (commit)
       via  9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e (commit)
       via  75c554cf9c375432af6e93653880d5498cd5f918 (commit)
       via  72ddacb77e3301a0481003a23b2d8dced7116de5 (commit)
       via  94de2a2c57b7f6b2870f72ecdcacc6d909c6421a (commit)
       via  abfa390dac6ffcfc6de9659c0b78cfe524347450 (commit)
       via  a6cab9afd2c81465265c8d09569e3e6ef43d2954 (commit)
       via  325c9fd4aa054118b80c621262f10fc6ffe98e25 (commit)
       via  66953522c9061874047d2e9832c206af783c971c (commit)
       via  d16fdddb4e96e9e7bcfce6fe487b321c54b2c7c7 (commit)
       via  bc21b167eb0106eb31d946a0eb5acfb7e4d5d8a1 (commit)
       via  0f6d864de2469af4223391993b430b0d45573dcb (commit)
       via  acb56a83016611bcb5f0a32368fddc8c213f7dd0 (commit)
       via  80053e466b3a8055334b9be9bac7d99e0d617cbe (commit)
       via  16b7a7199881fa26fc863279bbf08741e5674b5d (commit)
       via  72e84f969481f52daf6741c6bb4d0e92f9668389 (commit)
       via  875ffa3edc5f27f0ad5e3d95d96782832edad00e (commit)
       via  1c8e01c96054973c50ec1dec2f220af4734e1de5 (commit)
       via  65ce7763dfbca7f74c951767050ad2da0739869b (commit)
       via  ffce45d2243e5f52f411e314fc4e1a69f431a81f (commit)
       via  bdd32e03c5e87bd38e63e9cc3fd35375241db58f (commit)
       via  99149362b110c0b243eecff05cdbda0d7260b412 (commit)
       via  1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7 (commit)
       via  ae3e2ccfe75e5c62749c15ead5c95e052aad21ca (commit)
       via  8465943af6a6f756c3d4b077eb1081ade927b26b (commit)
       via  3e019bdc20eb81b91ab5bc774386201b874c0bac (commit)
       via  cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0 (commit)
       via  291e62953900e0f4998224127bc56239e421cda9 (commit)
       via  6f98355cda4ac718855d247fd942553b1706549b (commit)
       via  e197589b72e7b7b2db95c63acd58abb574b4249c (commit)
       via  4b48e2f6a50e85e5acc316289c4a6af693ad98f0 (commit)
       via  7dba9362c172f1073487536eb137feb2da30b0ff (commit)
       via  d68f19767dfbb33c1813563d5a4af0731a1855c5 (commit)
       via  a87dc45adc983a8e6ec3db8d18cd31c35abd2048 (commit)
       via  c092b67bf0adb0fc1e179612b161e19938929e66 (commit)
       via  00fd923b247530bd30f695b5bd899467536ad4f8 (commit)
       via  75e06f9753af16bd8a4d864431ceb1a4cdd13f58 (commit)
       via  6353d82b8fa825c2143f41e84b0d5d4446c6e99a (commit)
       via  8cac017d35ef374e65acc98818a17cf8a652cbd0 (commit)
       via  0d96e4df4812c3bad77c229dfef47a9bc115ac12 (commit)
       via  cd3ea7c69acc5045eb28f9bf80d923116e15e4f5 (commit)
       via  62b76e4b6e0b4cb5b3e0053d1de4097b32577049 (commit)
       via  63634bb4a107877dd08b6282e28e11cfd1a1649e (commit)
       via  63323b5b23bd83fa7b04ea00dff593c933e9b0e3 (commit)
       via  76800cba595efc3fe95a446c2d664e42ae4ee869 (commit)
       via  08c7881b814c546efc3996fd1decdf0877f7a779 (commit)
       via  37de058ab2e9619fbb6dea52ec2773a5d65619c4 (commit)
       via  45159d6ad394fe7db840b2b92eaa69508b8a8fe7 (commit)
       via  6e89f899896fd596527d24de6a8a98bc633805fb (commit)
       via  f7e16c2a9cc405707e646e951397938d2b4eea48 (commit)
       via  b46c4cf0908b05ab493d4f30e9a52a887ee118fd (commit)
       via  e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e (commit)
       via  f461bbd847f15657f3dd2f317c30c75a7520da1f (commit)
       via  ae87f7e73eba29bd38b3a9684a10b948ed715612 (commit)
       via  6394c606997f88acfc80de4dff33a4ae2de987b4 (commit)
       via  99031bafd6e81a41553803886c6b245cb0ab89d9 (commit)
       via  8eca1095d96c215409371c5687573aac89a0a980 (commit)
       via  f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1 (commit)
       via  b6947a7f08011375120186688bf2efd866f7d148 (commit)
       via  db5fa770268baf8cc82cf9b141d69799fd485fe2 (commit)
       via  5524b5250e319f41933605420e9526fb74cfb9ae (commit)
       via  4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 (commit)
       via  c53d2e6d744da000aaafe0237bced090aab62818 (commit)
       via  d5722aa2fe9e1d76d98865a9ab77a7b9388743c9 (commit)
       via  05c966f3c98d6126404f1cd7f233148a89810b5d (commit)
       via  04f963fd489cae724a60140e13984415c205f4ac (commit)
       via  319c2dbe240a797c6f9436bfd64f5c16045ad5a1 (commit)
       via  f9a36b297d470a72ead64ed07cd5f313d9d7a502 (commit)
       via  b27685f2016c510d03ac9a64f7b04ce8efcf95c4 (commit)
       via  01ec7a272201de84be1ca2c557e58d97891f288c (commit)
       via  848d907446d738604d11ab4061f3b0a8b23d4504 (commit)
       via  3b912944f4257dd935c91b77a51bc2e4baa1018e (commit)
       via  da614360f520b84a9c87506eb0c880f7a056468b (commit)
       via  cbd0eecf261c2447781f8c89b0d955ee66fae7e9 (commit)
       via  6490dc678bc35f2204afb38449de5127ef8bcca0 (commit)
       via  dc74becf498f60c842d81eb6e98cfcbc3f167c22 (commit)
       via  8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51 (commit)
       via  55acdf2242372ae52abb25c80db8e75df5578b23 (commit)
       via  f65e204425b5b46a5927d9501c42f25d98a866ce (commit)
       via  23f945bf8cebf348154aff43782de2e1977e9230 (commit)
       via  f236533e3c6a2693bea879b2a4d24d1229864ac9 (commit)
       via  65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e (commit)
       via  242d31ab7c3901e02bd68c1824d1d3610e02562b (commit)
       via  03c8af18d1a8f359fd023696848bda488119da60 (commit)
       via  840989c113433c069f54872d7e051e1572202326 (commit)
       via  3bf310110722b03d9ff9c4f34f5920a9be2878d0 (commit)
       via  359b19bb24d048750aa5367ad56a33267300d1a8 (commit)
       via  07c9ca3bd8e6f83bcec49c922b52422c538f60f7 (commit)
       via  f1cc987420d9d2489eb453bd1c87139666cbe7fd (commit)
       via  cdaac320fd62bff75562aaa3e466494dc72dd175 (commit)
       via  af547a9614969e1d1ea6fcec6b59cd77a606380f (commit)
       via  805acca042afed8e8431c92ab031167b03475676 (commit)
       via  ddd7882a582637d86a321c1ab835f6cdbeb6d017 (commit)
       via  e93523245b704bc126705620969b4736b00350c5 (commit)
       via  d5d1163eff2415a01895f1cff8bbee32b3f0ab66 (commit)
       via  0567c9861e113a573cc905002a59cb1bc3d78450 (commit)
       via  10bbbc1d790836122c417fe4fef7233604bb3982 (commit)
       via  032bb6eae8a0166f9b5d2eac6960383c532ef6d1 (commit)
       via  a0688fac4b1662e34a9a08e233112beb7403f642 (commit)
       via  973e9aab63a70311dffa2993dac52bd63ea461ec (commit)
       via  f12f6bad7d4e8de1d1f4c9c1811757571149c8f1 (commit)
       via  d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8 (commit)
       via  4ac0cb1cf04f105586746a6cce5b0f93d76f2b33 (commit)
       via  30a254669b16b86166fed1f9a4c4f9cc55a07fdc (commit)
       via  b3464d0316235899d9facf81896d7a427d5cd6d0 (commit)
       via  4b76cda9938e4cb200bccffb6e020268c6a51b89 (commit)
       via  e8f8bcb35f22965c8e4309c4aa4227241c485fe7 (commit)
       via  70a1152bee7cb959ab0c6c13bada03190125022f (commit)
       via  c2f134ac418eafca850e7095d789a01ec1142fc4 (commit)
       via  a81e6d4d261b7471428408f4ebba1b8113c16ccf (commit)
       via  6fd931f2d66af8398b2fae3ab5f5afe091b8362f (commit)
       via  bc8f2430e08cc2a520db49a42686e0529be4a3bc (commit)
       via  5c3ce2bc8adea307917d3bfeef53114795764db6 (commit)
       via  3704e3589d3d187fbf76e688388b1a92fd627c8d (commit)
       via  fd0219988dada5b4ddb04b691f71c9acdd87b739 (commit)
       via  c4dcb155c446cee135101d72172b47e3fc99caf9 (commit)
       via  9b97dfbf8049bed3b2f79c6c785afaf18206dad3 (commit)
       via  c7198f97e026f2a2d53de8dda090c04619355a36 (commit)
       via  561bf3e950e410fbcac06523d43039f1f58150ca (commit)
       via  6d45d4b42b5b360c0b80259e101c01d650d0be23 (commit)
       via  9845682bda4149b5b3648f2d49a041aef5bc1af5 (commit)
       via  654f3b6a2af84ba0f9c6a4c011364b8f650d66a6 (commit)
       via  dbb2bcd0059f8d91de5a792f8684c8908c316720 (commit)
       via  fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44 (commit)
       via  2f91880f3afb3cc521111dfcc99b214c77aa97a1 (commit)
       via  e3d1d4088ad3b4d0fed39df62ad295ed60707807 (commit)
       via  64aa8e030360ba68e32ca15fa5aa426160a2efb1 (commit)
       via  a0abe74332bd25aeb68acfadd74280c0f117c493 (commit)
       via  f4e6805f98d2b3eae305f66ba26ab25aae1485f2 (commit)
       via  cd6402916febae6d8a4e62c572ea6fd487eebb61 (commit)
       via  7ef0acc15ec011371a3901a997c867165bf7a733 (commit)
       via  cc89d0b3344614ae97456df84034096b698e5790 (commit)
       via  9d5c718b7a9c46132940f899f40556a77ca462a0 (commit)
       via  be9e3704f91190c1e1c5d253494423b13c982d93 (commit)
       via  b8b6e72f3db1f798680742c02f3dc220175d0757 (commit)
       via  5369082e7b786dee2c185f768b126a9a18cb2915 (commit)
       via  4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3 (commit)
       via  ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5 (commit)
       via  6322e5c5cb7ffe1c26c50f117765503717b0431c (commit)
       via  51fa2693add9ead8288f475d380f4aec7372fe5a (commit)
       via  bc327528fd2ccdc6c29ab6ae608085dddbad5cc8 (commit)
       via  81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760 (commit)
       via  3030551ec55042d7c87bd55fd29db2b06fe06df9 (commit)
       via  aefd8b33d97bded58e51d75271f99e1eaec9fb28 (commit)
       via  2090129c36c7e582943b7d300968d19b46160d84 (commit)
       via  043a49349c713dc329a2dfc413b082c3826ecdb8 (commit)
       via  156525114c1cbbace0dec223494b842ffc60d52e (commit)
       via  2d7cc5c7973b6d1bdd9205288863bedadeaf8b41 (commit)
       via  62e20ed45e3da5f3ba695e4ee109317668180fe6 (commit)
       via  50d6adef3b8509c4e7e37b4b708e0593d43ed347 (commit)
       via  4a8a33c843681410eeba4e05aa749abda8a8341b (commit)
       via  d1be909e7fbf753fd3aa18681089e3bcacbcf51c (commit)
       via  4936f23592b910d65cc9f077115559366f9c4662 (commit)
       via  58f59b7616851b2f3737e385ec9095765eeeffa3 (commit)
       via  78e8a2ff5f01799874be41fdc919d34c670496c6 (commit)
       via  f4a6504277d861057aedd2b88369493d644935c6 (commit)
       via  9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e (commit)
       via  e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3 (commit)
       via  fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac (commit)
       via  9949827bea788753c29b7bb503d6d5dda6ea21ff (commit)
       via  5c8ed6a4a1d197658086e9175f820227ebffebec (commit)
       via  d24b756188bd63a422671a73e31af718007264ca (commit)
       via  0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b (commit)
       via  ae0d01d663a2bac65afb8b94bbf1a91d95298f68 (commit)
       via  670b1a13351f34c38ea1abb6cb20e247fb002015 (commit)
       via  7bdf4127c38081c7764c0bf1db55d0b2e56391dc (commit)
       via  458ad2b83ecf4d764703767bccf19723ca741f00 (commit)
       via  fbebaf4a56dd03251bc2e12fa6834d90555aa82a (commit)
       via  056bafd472efccfb2d7f44f6469dfa08cdf7414b (commit)
       via  61756f84eedc470c975f8bafe6ddf10acaca6942 (commit)
       via  a6ba6751c9cf5ef909e47d09609c28ad1509dfa9 (commit)
       via  d9409498813c75c1a9e9287ac6e5100ed3130390 (commit)
       via  af54f0eb968ba8cb3862fd3cad097a3f3363467b (commit)
       via  91001320a22466d1580e169bcb023d3b822226b4 (commit)
       via  6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (commit)
       via  3ea0007c8ca3ec851df6ab5391a98467b4021f92 (commit)
       via  49cf576c221b1d45d222f8cddaddbddf29336461 (commit)
       via  923ca33982401c5700421a592d2b0ee083cbefa1 (commit)
       via  26b6a6aba5567143ed0f59388663b8f50e5cfcab (commit)
       via  22827c51338ce25574ed7b204a2e5bd40f45bdad (commit)
       via  0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc (commit)
       via  4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5 (commit)
       via  0e05cf3a61e1996829359e1c32eedb6820930331 (commit)
       via  c1fc2657206188767cb66813d07b9ecbb5e9ec51 (commit)
       via  3b0871f44a3402f4e1e811ae81c8ba1293c1c7be (commit)
       via  a5e364af4a3d745bb79cfc9a1d533632d4d04b57 (commit)
       via  e7cd2680e089327e7fefaf1cf5a58ec09e379f0d (commit)
       via  0efdc7237e8eb2c75b9c74bc60175ef50719b8b8 (commit)
       via  6cf3bf8875d84aff854fe5fe5a04141033d5ee6f (commit)
       via  b5430a3ced5fe5ba484bd9b3215b9ae19ced0160 (commit)
       via  f378ab099d535f5540f292fed07fcf4b1fabd314 (commit)
       via  19fb31c0060f646a9f84be1a84ed1bea04e7ed57 (commit)
       via  580dfe9d4cb936535927fb954bdc96a2320c6244 (commit)
       via  ae3b3f34ed96f121af37018b8ff3a78810881ad8 (commit)
       via  ab12fca3906c9c76ec25a9de52f5142f5736413f (commit)
       via  13ace07792fa75aa276e2d7c3cb03cec117d63a4 (commit)
       via  c56ccc05b2c98510f360d7f454f38169eb3bdb06 (commit)
       via  5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185 (commit)
       via  90b4491842980d57a0e572167a168e04a476bca5 (commit)
       via  b9c6833008dfb3c45354f4e810e631a77f3c9cb3 (commit)
       via  1b1810b5e01968cdfc16d537b4d5c27adab8a173 (commit)
       via  8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7 (commit)
       via  10045478d984f9924cb945423388ba25b7dd3ffe (commit)
       via  940171d08654a9ff5bf9b8886f76e8189a02cf09 (commit)
       via  64984c22f7045d53590f816e7ba0b9b9fa1dbbe7 (commit)
       via  37cd38778dfb73d28e533fd1ddabb88b4b3a5771 (commit)
       via  8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d (commit)
       via  08c3f6d234761d92b50d3c56d3cb4b82fdd58c77 (commit)
       via  8ffd39f2e42151b383616923ae922e697273ec8e (commit)
       via  4aeb0dfcc42acfc108d3f870384d1719adc9569b (commit)
       via  eb8f2b9c44619eecdb3b77da01da910fcf05abed (commit)
       via  42bfe59e3a3fef26be6809168756f40740fac1d0 (commit)
       via  b54b03bd874936ab3c91f23e5dff3a87153c4e36 (commit)
       via  8286623c113daf97a45cde5fc8ef9587b85c898b (commit)
       via  a0f1b963327b9cc349a1e6b4c543a29fbee68fba (commit)
       via  f158f208759703b94dbfc6de2222ae7740420faf (commit)
       via  521103fd00e593c08a6bedb619c5a9f8f7cc5a91 (commit)
       via  17b89b34b8d7a5a8b713c92a9ebe689c6edd6798 (commit)
       via  2b51eddc5503ea84d48c5b3b3ec3388eba440451 (commit)
       via  70c16c04ac76a90f18e920aaea1026bde90c493c (commit)
       via  db6be0d5e31f11c10004f1f2ef2de05d213da1f4 (commit)
       via  8e86a419d7f8753f4e77cf23aa53bc02ac6febf1 (commit)
       via  ca87ae741fe9c8aad9db1afbf109dc070d0168cf (commit)
       via  67aa8be4cb43cd94bc322fed8bdba48b3c8719c4 (commit)
       via  ffc61c5de1a5a89e3e37fb9376725c32a839c34d (commit)
       via  a09f2586017aeed82fa07c8bfea6c75859295bd9 (commit)
       via  bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7 (commit)
       via  6813cafe52236a95289accb138032c1d6dd3272e (commit)
       via  146c3d9d5993289ae0af7c1c872eebaa8662d2fc (commit)
       via  b40889f2c860d768fa72662d8a3ce7e81ea79aac (commit)
       via  2153e1dc0512822ed070de220e33a1a03ea7a4eb (commit)
       via  b057297ab63a9124aae1773566815cd8c4bde8e9 (commit)
       via  22e7d2933103f1384c1d54dff6188cd57cbe171a (commit)
       via  64aaf98419a0485fe3490dfb53417ac9958c7327 (commit)
       via  b77b02a5ca5a021ee8b5e5453e8843447d1132b2 (commit)
       via  e521e87e8514b9d3497208b70bcd067f132c58ed (commit)
       via  d8e07dda92366be0f6fc2e7128620d3dd53494e3 (commit)
       via  8c8f9122ce6e6c00f72914479af57a7b87244554 (commit)
       via  68fce50f04f495980f4ea81746339a9de5b52ebb (commit)
       via  88954b49e47574cdd048a23ca391a85fb6f77f47 (commit)
       via  e3ec9b69cde4e07d95eaadee75566fd4a8091df5 (commit)
       via  cdd238daf949385bd6ef188e24b40d9fcb83a0e8 (commit)
       via  7a3929c417b1388c689a0cd6b0b2f6579d85ec78 (commit)
       via  88c1242dc0a1e1ab582a65ea8bd05eb5f244c59b (commit)
       via  f4985dba0f53b38efcca4eef42cfbfca5ef44ee2 (commit)
       via  ab20fa4ae95212c58e369916de347f3d518530c2 (commit)
       via  f532ab94387d1bc47de619ae08ead522753d89fa (commit)
       via  39503f82427e22ed8e04d986ccdc8562091ec62e (commit)
       via  003ca0fd22863aaf1a9811c8a35a0133a2d27fb1 (commit)
       via  60fd657792228e3eb59e87c26fcdeccbfe94d224 (commit)
       via  f7241d4f27cd59357a75bf802e9ffa7d95036deb (commit)
       via  d489d81d0934c4fda8c8aa68fbec1b1315cf8df0 (commit)
       via  6e92fed5946111a76064feb8a2a184d224deae1a (commit)
       via  590b87ffa386ea403e2cb61525c6aafef77097a2 (commit)
       via  6e3f3473e2136e77d6346d5bca894c38e5389116 (commit)
       via  8e7f04f17c60069143078dafd3d3eb8cd15f10fb (commit)
       via  575dcd27f8be6ecd3f89539a8210a8d3f0a271b1 (commit)
       via  903b2a564d78b8e47f2460a2a452f442e6e5e979 (commit)
       via  176efed15cabb932a7e9fb2c5e6ef0753e8351a0 (commit)
       via  04ef582ace91cad765d056cc95624478e0421144 (commit)
       via  25f94347373b1b6f4bfc79eeb38e79d383195779 (commit)
       via  9a6465c207ed4e34be92741316d78fc00f0836e4 (commit)
       via  3c0367d0e2df21717b7345a1ccadef39183457ab (commit)
       via  e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (commit)
       via  0f068fb5e5b65038c3ded3cfd2a4b8805196956c (commit)
       via  ca49a96781f723d43ec49471cbbb50aa511d063e (commit)
       via  e6cf65f283b8be44014fad0ad0aebfbcc71fceac (commit)
       via  56298620acb02ab589ce3ddf398788227ab20211 (commit)
       via  b4f5b984e5e771e75cee43942e56455531a02e68 (commit)
       via  43cc5389bc4662b31cad02a9f13358bd367d0ab3 (commit)
       via  a9dba87af1aeabffb01769004ab893173f3ef472 (commit)
       via  e5713223cbc1025f484fa2548d58f74173646b8a (commit)
       via  f0681695daa9d4fd493f3ca88f194675c9affbff (commit)
       via  64517994807b0d6bb3c6fd106f117c03242fac72 (commit)
       via  92f7d783c1038841beacaba28a5f5d740a5ccad6 (commit)
       via  ae0264a6474d777650d65da261732748126f0190 (commit)
       via  f4203b2b8830e66e5229b7f9d30cd29b088566b5 (commit)
       via  6e7e1744e96abbf1a4229d5f269caf2cc921ec58 (commit)
       via  7a6e7fcc77997bf7679cce4f1cfebcd57ba8af70 (commit)
       via  1933fd8ee01ad2e74a9c6341bc40f54962a8f889 (commit)
       via  eb026f09eb6fcb96a5de1e655cdde041ba44affb (commit)
       via  50e1d299ef1d21b0833c2fe1484d3cc374e6486f (commit)
       via  dd47d677f0164800ceba1ab67f6cd2add0021101 (commit)
       via  8038128b23576f93a56caf7779a4406a84716727 (commit)
       via  ec8df23454873916c6b6b918967af631b268acd8 (commit)
       via  3e3e7faebe89bfab0d245040b19fd7347d186065 (commit)
       via  3aa2d05a728216bbb99dbb5718be9bb36429cf41 (commit)
       via  59cc050d893d1e8c75547de950a35e809588f12f (commit)
       via  c8f6abd10d62f82874e31959bf986606bd919d39 (commit)
       via  d2a03b77450dce58f6b4f9f7fdd3c346a555bcf7 (commit)
       via  9d43118ee54de3fbffea27a5a10ae11ba5ee00d0 (commit)
       via  535b785fb0c97220dea23a18f07baad6b5d77ae5 (commit)
       via  087ea22225435ab5800e6c29671acab40dc6ca82 (commit)
       via  a406db9163e45ab55c3addff2ce1e61796f1bddc (commit)
       via  b7c871edcd83ccdc5fcd8148a7f433efd6b52255 (commit)
       via  0d5c69990c1992289f7b286600a43de4d5d44062 (commit)
       via  21873064e835ffb16e92048482e34f19e6a415da (commit)
       via  2b351b19efc8dd36ac8a8bda005c7411536b93ec (commit)
       via  a0a110b0dd5077373c4102d1502130eb159c366b (commit)
       via  4ebcabb38ef8acfb6e26d2b40e00abfe10aea895 (commit)
       via  854062337d056ffc8b805e0d5a8c1a66b99a4076 (commit)
       via  0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac (commit)
       via  91cb9803fcf6d1c7001395d80f79120ae8e6338a (commit)
       via  bc4e12ded1d4c8d589d82b2a10ade6b47f219db3 (commit)
       via  4070765b1a1640ff8f43483cd9ee06727f658dfe (commit)
       via  8cc2a9796024f2dd472985cc8ed1c65a85ec9a35 (commit)
       via  0c38a3d1942067100580e9673bcf0cbe27f3d6e8 (commit)
       via  d8cbc93b65ace8a36002839d5ee944efff59d643 (commit)
       via  52a86f843b6dee1de9977293da9786649b146b05 (commit)
       via  b32465c97c12cc6049cefcde1beb3e2bfbfa232c (commit)
       via  3f3467ffc4b0a397a7017b8ab729e4c0060b25f0 (commit)
       via  70ab592fbae1725ac576012dd1242328e20e664a (commit)
       via  25499ac7ee92bca177c9436383ee167d6a220066 (commit)
       via  20c59b843a90300e5f9e07add83f5c72c8f994a6 (commit)
       via  602b88e3ab372729b53d130068f069dd363032db (commit)
       via  c96425c560d640df9c416ff4e6a8c49c1f3b1119 (commit)
       via  1a7bf198b67c4b99e9adeaeba38c6874ec354c12 (commit)
       via  e295202f606accec7623c961997a295a8e680247 (commit)
       via  c76081bc874d7d41eb6f41ea79a4ac0f906467d0 (commit)
       via  fdfb475260daf591d05407ea7affa39122a5b7f6 (commit)
       via  a54d5f8bb3eb4772a94779a5d37b644aeee72bca (commit)
       via  32035f5151b6ec76af0b62d9db8774b76eddc091 (commit)
       via  5f2ad7a3c73fcec0a7891794eb5aade73bac8523 (commit)
       via  786e3eba7915df35df1d98a300e06f757336c75b (commit)
       via  fba2af917d78bb1d8ef0d508b9246ad32fed1afd (commit)
       via  cd85e51ad3921eabd7030974ce375123a0848cce (commit)
       via  097eb00398891370779bb6562965bcdf357a292f (commit)
       via  67f46fed806465c005b15c97d33947f4c0abb25c (commit)
       via  adf3dde510088ef8dc46d04df05baf36adb0ed1e (commit)
       via  c0c05aad81ef32899e809570c18932bcfb588009 (commit)
       via  6bf56e7482e220ff98655b5285736a37dd602c17 (commit)
       via  73caa85d4a97eb991e581ccba3ff4eccce5e2e1d (commit)
       via  6830f270e7b6676e7a77c1b8080941e35003d918 (commit)
       via  68f2f2e308a8585c39ddb2f391a9ae8d779c5029 (commit)
       via  256afbc259c1e22fafba601a27cf3c8d7bdde417 (commit)
       via  be3f1006743f04f0b133de7fa8085a3e4c49b193 (commit)
       via  a4f89915135f6760917c01dc783de5b674234d84 (commit)
       via  de428bc53335d88c21eda38a823d5a4008468e52 (commit)
       via  99e2d67a0edd1a8feca82036feb93709fee488fa (commit)
       via  f2c29a169242d0c564afb46ecaf160422b28bfbb (commit)
       via  dc2be3d2f6de530aac40983e79e29e050f40e759 (commit)
       via  f96f371cbb33454544a9f1827c239c4375f0b60e (commit)
       via  7f401e8417160ba5cdad60a38c8a3cbce395a5c5 (commit)
       via  40e5240e1f32b1cc36c45551eb3f59253c40f317 (commit)
       via  5d69120bfff3e532242083acd636dc68f23ea831 (commit)
       via  9fc1813479e1518197949105c3f34da8c2e30984 (commit)
       via  db84b98a160d20f30dbdae3e3405cfb0fa680fbd (commit)
       via  2318686590bd252a47f494554dfc11bc18a3e58b (commit)
       via  aab82f4c201a2612c0fb6d5b66d8e4ce2f036f1c (commit)
       via  f78c0b915888ab388f9bdac826d7ac18dc944c28 (commit)
       via  58667758b1f907f8983d8a065333e3c38e311e88 (commit)
       via  53a346d8236aec06f1d3c767716d3340fb0aa013 (commit)
       via  21d1fbeed4b7c4d006e399437445519e6505088f (commit)
       via  8010f3ed8d459f98b8ff8b8577a0ed422c836e0d (commit)
       via  a6da46304894741d50a6f4ca2263b5cc158740e4 (commit)
       via  94bb8dfe28219e4b747cb874aae401d18df91c9b (commit)
       via  8248946cc5fd4522de630b9d86627af6e8fe0097 (commit)
       via  e645cf40b111daef4518a58547de577eb9379ccb (commit)
       via  d2732b697fe56ff4274a4bc45add9386c17f8a07 (commit)
       via  56eeb7f2cbdb16f513b825af426ee38d8f7efe3a (commit)
       via  dd9e66ee9549c872fad36a21d521b68b14429f38 (commit)
       via  38b123494b38ae09168387c0502acd1f23c1b601 (commit)
       via  d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10 (commit)
       via  f604c2a2a54ebf88e4a51986c7cdedffe7b3313a (commit)
       via  046734ff424bc5a4c1b6a69630d5bb31aa67165c (commit)
       via  313c59612298b022a408ca390bd5f73f28708015 (commit)
       via  27bfc1d1c2cbcafccddef51ef82b309ef147c4a8 (commit)
       via  146e6c5cc7b19ea56a033415511e38a2d0656e42 (commit)
       via  b48e3ca69abef81d729d01d7c720fb23697c3590 (commit)
       via  618a737b59008a0153f6454ae9a6d42814384828 (commit)
       via  e50f25ecdb24505bccb695e6c63add45f0032b9a (commit)
       via  21ea5acdd1bcfe89984b16b5bac730050c5cf05e (commit)
       via  7b937cba77df45962ced7e0e03802561beab549f (commit)
       via  7ed1acafa0b5d135342f9dcc0eb0387dff95005a (commit)
       via  e13cb306f099a8cd450c9fba0dfa22521aaa3c95 (commit)
       via  323449189c3474d1ab352b49172f4f59670ea73e (commit)
       via  d512d31c395e3c45f83778e01b9824efe45cac5f (commit)
       via  5ed8105e02d0c6648b7faea9f4e941237b932717 (commit)
       via  f6223dbb50b5d8780df633633adf0742c662173d (commit)
       via  3c3ae77e68a9032ef9f174bf6b1cc992b6a4cb35 (commit)
       via  f91d48deb29d9e6f4b530f586db0140943ed0d83 (commit)
       via  45eba0ab7d26435121facb68847fbd0cd4a313c1 (commit)
       via  b660e9eb7a45cfe99e719c5d16af35913a2fdc96 (commit)
       via  8293e73636484b403150ae94a93619779bcbae96 (commit)
       via  8507b6e79772ffeb83a0142d12a63e02dcc44562 (commit)
       via  90cef2edd256c48d2ff9a03d4a6c1bcb575db07c (commit)
       via  b22908217d8593185af3f76fab6f0f01457b0600 (commit)
       via  f81fdd350e688bd0216486b30884a52ebc4f32b8 (commit)
       via  35837774a77d641ba3ae75930a7b08ed853759ad (commit)
       via  c94fee56f5f8e5e26a115a1ca155ddada9d43b31 (commit)
       via  e78bb25cb636a331f27e9cc4cba5522939567695 (commit)
       via  35387fdec5e10b281c218c9dc4f3dc33c3fcc522 (commit)
       via  82d808edbc7a06f706b82064cec6c3ed88f0c4be (commit)
       via  3d8505928a06e00b05bb162c1ad0dd612c1c16af (commit)
       via  43e379d74c994fe431368b5f25f778bf601a2981 (commit)
       via  763a5fa4f330d6d3859c94a69ba1fcab09330cf9 (commit)
       via  640226f048b67d79da85742728e40114c9ee5da0 (commit)
       via  2ecf0cc317d065cfeb960c61688897351521bce0 (commit)
       via  d17f7b365cf3896b3129b9077d55b3154fc43131 (commit)
       via  b560ebd6605503276e09b2ef75c94e1d10f176f2 (commit)
       via  f2f46dfcdafe6bd32152d80b5e832d2fab4e6900 (commit)
       via  a0ff9e1ad221c11f58a9d8d12a84c21579132d85 (commit)
       via  ea480a306d46efe3dd1839618137f0e73a80e9b3 (commit)
       via  1395c6ce47510babad3dcb9892f6f2517a3f2b59 (commit)
       via  73ec947d59c511411377ad51ef792a5fcdd3f0cc (commit)
       via  a4ddc54ec1cd187c844ca631fe0315bf1d78e96f (commit)
       via  39ff1b79f687b65f4144ddb379f22587003443fb (commit)
       via  d050f7d7f474c7e3ba26902a9cbb185910921a11 (commit)
       via  14f819c8c5f7d080e5eea9256f0ec7453aac750e (commit)
       via  0ed5da759e34c6e85cb2a9ea0fdc7b680f897a81 (commit)
       via  913aeadd9d6b8bdea5131b16dc7ede395097656d (commit)
       via  a3be24ad59d683d1b08df28e093739743a7cf256 (commit)
       via  ae20e79ae852fee8f7d42701a54a95de3b79ecea (commit)
       via  8d0050ea192c41349c1f2b000866c1bdb761abeb (commit)
       via  fe50e98c9a22a89ca2e032b17aa7162452c3ad3b (commit)
       via  122a483d4f19c8b0a7f3d265dad882bd4f2c868a (commit)
       via  0aae7e72a2a11ef1fd2a3b4fd18c8d8d49e0c21b (commit)
       via  3f380b502769e55bbcdf7b9587c62344913c6ee8 (commit)
       via  ee7e95efb98186c09dc2c39b32263aa15b147bb0 (commit)
       via  6224c858130fe5c5e5d8b2abdec1cea35986d9e7 (commit)
       via  020bf56c8e55bfbe5a53989eac0c72b8d2416feb (commit)
       via  a941291cab71b9ac356e1c03968c177c03e602ab (commit)
       via  45ce1b47e4490993b5c1a04f4a8acb62d9ec5039 (commit)
       via  a93866c8bfd4ad4b32c81e73e6a73aa9d831d350 (commit)
       via  0749542484129e77a30f1089d6d671197be5035f (commit)
       via  deb1fa3edaf10c65d1f39951779927da955e3a57 (commit)
       via  b421c83cb866120ab347d60fda20fb0e2011be8c (commit)
       via  ef79d9a3c6ed1e3ccd466bae76956019a7c5d376 (commit)
       via  f8fdb78eafb3f70661f6e4a43beb004dde9e0921 (commit)
       via  9ccbfd7bc1b7228d67f2d4ca878224d493918264 (commit)
       via  76e75227c37bc058449a09fe5017eeb40cda0781 (commit)
       via  51046d9e60727cd6a4cfeae29a05ce2e1e394dc9 (commit)
       via  4023ae762ed9b52e4925242b705d0b3a50f6ed13 (commit)
       via  af43057bafa7260dbcc453d2acc47eb63b974c50 (commit)
       via  b091120773f8a740065b6449617cfbf1e0e789f4 (commit)
       via  6c401f72e979ddd7e2f890dcc88f93f683233d74 (commit)
       via  d0e449a1865c741c5e0c9d43a7d61a0621163aa7 (commit)
       via  434a40239548115cf04a80410e4f570f35c361c1 (commit)
       via  1670f9c1546818c4ffe02e8f460df1c1c4b1601d (commit)
       via  d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c (commit)
       via  428544e8ae6252a615a3100889f3df7d2c5483c4 (commit)
       via  750eaa47f10f48d19aacbec74ab6867da0164677 (commit)
       via  4621115fe529869e938dca605bb90190ea52316a (commit)
       via  b06b2c92c06cf100f259f218337d007ee0b1c884 (commit)
       via  4e3afec278d1fb55b983751d02119f65566bd094 (commit)
       via  d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34 (commit)
       via  339053c29abac25e5f86a1ccccd4e8e3b2d362df (commit)
       via  7974a6050b6e2c44722a533e2d5d9131e7db00ff (commit)
       via  343b374c61f793f745b820c3cf61f69186566b18 (commit)
       via  e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f (commit)
       via  5b66fac4bad619766fb1a5f5179c08b67d48a8c5 (commit)
       via  72bc1d246686ff38ef01f5a35769ebdbe39f023c (commit)
       via  de9a3c4285fad1914929ee304ddaa26e76af8031 (commit)
       via  da3d25afa26476bf24247b8696fd00ab31f39db9 (commit)
       via  fba37edd96c8dc65a63bd5b4fef5366de45b165a (commit)
       via  1f78f649e868979d36490d7c2ea0b3d41abc5ec6 (commit)
       via  55bcecda5703eb4647165cb3ddb86aed63fd44d2 (commit)
       via  14f72d45a22f25f6d00a62fc03bcf9827df226f5 (commit)
       via  1425c41dcd68350d9be9670910c547cc7ab91e0e (commit)
       via  5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a (commit)
       via  f2d830a50def7a00a911620a3e9c7d920e5ef0f0 (commit)
       via  76c20d54ca5042e11af9ddf5723cc24cf47736ec (commit)
       via  d7153c4ac333c9127c18efcf184607d368bb142d (commit)
       via  641338d8e9b62bde9672f13f0dca2324b61e46e2 (commit)
       via  21d68fcd0c2f9113369d860ee1e5841bfacc35ff (commit)
       via  a61d92b7bd4da998dd5d73e9205b4871f7c4825d (commit)
       via  7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7 (commit)
       via  ce8ad8721313d288a05a95b62d95ca43db584ebb (commit)
       via  97d343d40012b1030f1fd219f91efcab180fb3ef (commit)
       via  04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2 (commit)
       via  d21f3ddb0d5f95aff5c769ae283ce5522262f48d (commit)
       via  740a463062bd5d1641bdfb639295dafe89341b9b (commit)
       via  3e6b644558f941d3fe482e15efbc53d8f39ef8b7 (commit)
       via  b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11 (commit)
       via  23ec1e32b1ab714649a7c25e49b5d721fe3bd3db (commit)
       via  c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659 (commit)
       via  bbdd9a6894d7875407da59d490faf5588163d21c (commit)
       via  e63d123268f23a4cbc45ee55fb6dbc7d84729da3 (commit)
       via  c185f580b2b3baf7cee762c8ab31ab6925b9534a (commit)
       via  19c4559475791cd70e319eaf5c1e23d23d9ae81e (commit)
       via  03def0812a9ee962d9dcfe9b0ba37783e58acfb8 (commit)
       via  4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d (commit)
       via  c4ab9505b53cdc899506ed421fddb7e1f8faf7a3 (commit)
       via  919383ac718c2a3187ee2a9ad659daa22da26258 (commit)
       via  126124cc0f3f0417913bfd84d83e4e525b6facf9 (commit)
       via  be6a24d8eabdbeef32a9d79e81307af4491fcf56 (commit)
       via  d581dda88162831ebbd0757312fa93681d945327 (commit)
       via  0348fd79d4c32243d91e8a55f20f408a9b4ec20d (commit)
       via  6e3d1f0728d980a384c5aa63ce7f2ff3919c5024 (commit)
       via  adc1273cb27286452ed8b32c5ca3ea263b4854f0 (commit)
       via  debed3db4887483552103da36d180967ef0dca5f (commit)
       via  d28b6364b1fba1c0270c001f0d82a69e351e1922 (commit)
       via  b0b92aeb3828219075fce23543fb39fee8608e99 (commit)
       via  16c4d54a71d8052988ed9c8005a03a7f934245f4 (commit)
       via  b5c3668253b909fd1f5b011893a35bb8dfd3be9b (commit)
       via  5625a2864147f4d92b22edfeeab7600818988be2 (commit)
       via  23bcc18f470ee4364bd362a8b78c6c1415a9dadb (commit)
       via  a49abe0bb18e04d3a4b692995fcfae70cd470775 (commit)
       via  9e9821ddd80c0d0b3dda54d34cc8867f256d4583 (commit)
       via  0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed (commit)
       via  e1ba30532c6de26a14404ab4919bb591e8da3eab (commit)
       via  e662f84f5d6d014746550ce3d3f623583c043ff0 (commit)
       via  1587442d37ee4266e54d59bfdc783574f0587aff (commit)
       via  534455547021f3262fa60d32cabb626af01692a3 (commit)
       via  8b353c47b70568ab9f0cfd619b7a19e931c2b0c8 (commit)
       via  957f6b39cab6cac0e4c54e650c7f75109544ac1d (commit)
       via  9ad8982091eeb76b380e459fe721aaeacf7b8f24 (commit)
       via  42354845ae5e00ec1c3519e1f2166b79a9533401 (commit)
       via  7034215fd6d99f275998f7f0f8a346ab35fcbee6 (commit)
       via  b02cd3e978e9273074f7cbe2ca1d5b372225a56d (commit)
       via  7eacd66b086cabb1daab20890d5481894d4f56b2 (commit)
       via  bce964aa6c777d236fbd641f2bc7bb931cfe4bf3 (commit)
       via  97e83a100aa8250be783304bfe0429761c6e6b6b (commit)
       via  f082820db966c79e47a143da774700055a1fad41 (commit)
       via  b43eea27e99f5fd270b3bec455054ea53ac700bb (commit)
       via  bf1554384b186b448904dbc13ee5374239c88520 (commit)
       via  10f489e57677e670bf980e93896762594e9ad908 (commit)
       via  0092b74da6d86185c4d0c0fa0f540b97647bf44a (commit)
       via  a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a (commit)
       via  46b9c12945629fffb61001a8f13a37c96675c0b7 (commit)
       via  2e78302469502f4f8a98144b60c09d4d9b6438fd (commit)
       via  a8cc8a548eccdfd78ad76c826339f56db815bdb8 (commit)
       via  ebe553db6c639d7533650f8482d611109c2f98a9 (commit)
       via  9be21bb4d4f30975766dfaa7d40b53ba10dcc3a0 (commit)
       via  b8ac4fa43d5d37e4028ba2a7cc2d9b100ee85418 (commit)
       via  e133d00576f3da89e7772149e8d2b6a059d26919 (commit)
       via  3c5fce9bc29b216af7d10f8d6e4d8c3f11a48359 (commit)
       via  0d4c07afb1e5e37e8e296858f8b14a3b4adf950b (commit)
       via  4daf993d4d4686f2707810af3725038d2f289bbb (commit)
       via  3ab87b688320e02db1bb7ed4bd45323d57737c77 (commit)
       via  ddef72cdc10d82ba011a7ff81cafbbd3466acf54 (commit)
       via  792f174f8af4291c222d0a6de919118e488258bc (commit)
       via  73b58fda3b5976ad1a60feb43695eaf61cdf62b9 (commit)
       via  afe9edbf486c4b27cceb258c11e104377512ec24 (commit)
       via  0fad29560ee055f1253a8e40bfc09b413117480d (commit)
       via  31321c8031315c8b5f7c6b73e464f14ad90310b6 (commit)
       via  64575f782b79e310852e43947bc1b06f24af388e (commit)
       via  59fa66c53823dc695f78669f40ec2eebab3aec42 (commit)
       via  c76886885987e543f9162809ad86a0a37b394e82 (commit)
       via  e492d2f8ac653b050019865ba1418fc5b057c00b (commit)
       via  a6c21d4a553de184562fd8409a5bcd3f2cc2561a (commit)
       via  3a3fd0fd2c4c87fdd588c51d879961a49e38f0c1 (commit)
       via  9bcb1f1630b05594fa86bfd017639cfcc966b11c (commit)
       via  26fcd539dd38a27259d8179152d617118f016706 (commit)
       via  101691343ce5f815dc70f6cfd083393e259a18d8 (commit)
       via  954b63d4c8645f86e40c7ef6c6d60acd2bf019de (commit)
       via  951787ed6d13f8f441d93fc3f6fb870c234774af (commit)
       via  fdd243b001585c5ca078342608332af77050c867 (commit)
       via  4895cde29761f6c39fdb6c319ff4666ee39f5d28 (commit)
       via  bd8a901f9e34191e0645a5527556d124ba5c345a (commit)
       via  d35d19584cf56a50b4833ff9c003597e01022f27 (commit)
       via  22796e972f18c5601cecb0251222411a352836b6 (commit)
       via  a7fc9b6193f830293066479aa439cea924418393 (commit)
       via  010151c9146eb2a299686e41c714e57c344be8e8 (commit)
       via  d56060f08aa4ed5786042a066f62aa8e474cc0fd (commit)
       via  6631d36456babbaf4c78b955165c3344f95ac5dd (commit)
       via  e6699019c4f363f804f9646974ab1d5e78785ffc (commit)
       via  305d16a9beff2a817ee03b3881da68eb3a29edec (commit)
       via  8bb5723165d4e7308fb69b21a95f396f9e61caaf (commit)
       via  c5d37467b152fe98f02ac1ff8188e32ecd0def95 (commit)
       via  c661778cb6b406d5b55fbf22ff88fbc85ee3f4c2 (commit)
       via  94522e5f36e542a7f7eccc4e2fa31682e58f812c (commit)
       via  725bf5cf125783c2a7ca4ab63d3768e220bab2db (commit)
       via  096c92ddb3a5a959bc638cff3c4ffa0f48a737d7 (commit)
       via  5dc74d659d1c84b8ffdb4fcbf2ef73dc974d8a5b (commit)
       via  0550c9559522c84341edcb334af30bc9bf2df9fb (commit)
       via  e3d60dfc000a29959c78bd69b85100aab33f7ab5 (commit)
       via  5fd69d0ab2c42d2be0781bf3a5d60e1d5b8d05dc (commit)
       via  c6609450b33960a0e9f8c1df045b02f0677e866a (commit)
       via  2a00d7ce26a6ee15e3712b045c8b7932278ea23b (commit)
       via  441d7c93782a1b1877bfa903dc8da56a6041bfb4 (commit)
       via  7296a62a2a237f6b1ad8db8c38b090e9f592c8cf (commit)
       via  1d15e434f43bc41a07bc7b0648fcb7e6ccbe8dcc (commit)
       via  4274208406762da7af6dd697f44d8e6895061530 (commit)
       via  808480f667e41e2fdb66bfdc9d5e047f1aa34a68 (commit)
       via  8f0dd45fde9de100160f45cad3e537e4e01a5493 (commit)
       via  b1b45502bdef95b57125b56287b45c2eb26707d3 (commit)
       via  63a5468afa8e2cf8843d87b99e780e9266b31014 (commit)
       via  dae82561a286618acf097ad9894eafba98377f66 (commit)
       via  c08bb8dd9bd9fd101018b287726187d7ed6a0035 (commit)
       via  10463f39c79843c2c141481a0781091870695b17 (commit)
       via  4af8774e1559b2a4e098ca0e4fc5daf857c633c1 (commit)
       via  ad3d022a77afdbaba4bb36ff4aa99be52892de42 (commit)
       via  e6ddc3bfedb4665c9d4baa2c85037af25167cdf3 (commit)
       via  bfb8cf9091a174b42beeff3d014173084413af4d (commit)
       via  f5336ca55ca0aca2507ac8c0f1d573d7f6b877ab (commit)
       via  4f70a994900c2f7b235add7d4131cc069c181cea (commit)
       via  be628ab814f1c90e185d7482d27aa8a991ab5837 (commit)
       via  8e9e35b1808481735e2d1efbf70ed7396a845d8e (commit)
       via  16e802b9c085ce354b1ab9e2fd25d00bf7626fa8 (commit)
       via  d28cd78ad820e3a40ac5064b6a30f3a12ce70bf0 (commit)
       via  711799d513206f6d8fc3dbfa81dcdecdb2ce6ece (commit)
       via  52d214d3e1b2f6a1382feafbf2984acdb24c0c95 (commit)
       via  4c404b8be6b1d8759eed50366207fc0e2e47d2b1 (commit)
       via  156d9eab863f40fc812245cf1213abbe12d192b3 (commit)
       via  4d89769a7b4e38e94a6e027281b36eff71fc8214 (commit)
       via  4b217cc72b7ab04e2bea519f9fbd47d8952e08f5 (commit)
       via  59d3651be7419fafa959f75a3fd46914f5ce395a (commit)
       via  b24b0d6c3be6b95d4b5e8da901e1ef315bd458b4 (commit)
       via  80a3b8c578e93119183db5f5e34248f843e410a7 (commit)
       via  c83dd8672698bcdf48d27e267e481230075f5900 (commit)
       via  0e8621a0bec2d0840b853c4104614f345f0569ca (commit)
       via  67d89901506da74d00a482b7560237dce404b41c (commit)
       via  93921405a46c0a58eae19fffb92e02416082801a (commit)
       via  ffc2605c41d026cf5710704848b7c3b1cdbdcf49 (commit)
       via  8f10c9323357ad190c0383f2fc9d394316447905 (commit)
       via  0a31ccfbd84660a91b133a9915e6f63c30033189 (commit)
       via  e9bb3fbbe81115b196b436cf513f0fd7b41d6a4a (commit)
       via  53375380e934928af133bca69c1e1912c35e9c73 (commit)
       via  53e710acd249e1861029b19b7a3d8195e7f28929 (commit)
       via  5e0e0422137063ff3846886c8eeb64e98e7669d6 (commit)
       via  ab0538b875c054468aa205d8d36550d1223a3bfd (commit)
       via  5430098f1807e084fe4ff5057040d68435f3d8a2 (commit)
       via  7c5ded6a00c4817d56cdf04fbc1969bc33b2a930 (commit)
       via  ef6a5ae7bd1dd7b528f5cf368d98056603003c35 (commit)
       via  e4097f5ee55a0d14a6213bccb9da39d4878714c8 (commit)
       via  537616aaeb44bc698af9848987e7c8e96d550595 (commit)
       via  ae0eee42821865ead8d391bb4f92bd2c136c6d43 (commit)
       via  a6acac06113f4b04fa0333ee2a3ab3025b43ee7c (commit)
       via  64403bd1832e10aa8324194968f72bdc5feb5aeb (commit)
       via  fbea15088db59186960134d11b8bf98070224d6c (commit)
       via  b43c520dba2f909c9bbb3ff5f2657c1c9010939b (commit)
       via  c03dc33b606c17231e47f37ae0f00d1c9a6c0506 (commit)
       via  ef85eab0ec3d7c88ea05047538d11fe704806cd8 (commit)
       via  9570835e5597037bee5042edf822675e715b3caf (commit)
       via  9a85b496ac4e6488d427155c24f87367ab1f6b1b (commit)
       via  a5bef50fdbfadbc6b8911b458580ee91cbfcdafd (commit)
       via  28d909e539567ab5ecd2bc20680e933869fdf889 (commit)
       via  a70f34c01c7f250858bd62df245c241263200f63 (commit)
       via  9295a5a95da871bfdeec225a6fc2f52f7655bd1c (commit)
       via  996812e3d43f78b17b6454d2948cd825ec98c63b (commit)
       via  845b344fd54ba381a826b271dd33682d1f148438 (commit)
       via  803bdfe43083475c7df3db38dc96f4e20d05457d (commit)
       via  8c25b49760b854d0b8451e8ecffeb9860fc41158 (commit)
       via  947fa9141488c1d39303fcdaa056332d2d0b2599 (commit)
       via  bb1dd176fb6f38ae3cc30dc61ce55a7fbf9d0d7b (commit)
       via  d236cfd444630bd9ddb63edca54c056d5825e673 (commit)
       via  62adc51030ad83d09e6d20c455616fd9216e4783 (commit)
       via  6f9dbcd42f2cf034a9a21f46842c08d2e88449db (commit)
       via  37095d07b470ea94d578cd5ca2da032617200c52 (commit)
       via  aa808707033a46ee063263f4bc1bd06449851621 (commit)
       via  8473b4472dce9ce87aaad35ff8e975e1487f914e (commit)
       via  4a44171e07147c6b943412c90184736ca5dbfb4c (commit)
       via  5e8bf44f4c94d430ac21257a1a953cfccd2ce79b (commit)
       via  b630840c9c22a877b2c6270880a214f7b451f546 (commit)
       via  ae27d3fe76ffb54e7d413a67d8c8d76ca78a9681 (commit)
       via  aebcde5eb475befba571ca9ae7b6c58126d41160 (commit)
       via  a7eaf017f95932eb2d654bd61f4c4a873ba71f77 (commit)
       via  8170f7693bc0a9442c0aa280197925db92d48ca6 (commit)
       via  6670ec13726c3afca789672f6235378a5e1f7d71 (commit)
       via  49f4617bf4b86a0b057f3477d57ffbf7c998b229 (commit)
       via  ae3f8c28134b52414a4c31df2e156615087c46e5 (commit)
       via  ac8f0f721bf0db9ffd0c6602744f1859cb4dd8d2 (commit)
       via  5c1f54ce0b21b19ac0b2a2c921c9ea2f33bbf5fd (commit)
       via  498e34425b38f69ceba28707962e3593c281261a (commit)
       via  ba2f91bb5d69127da41b368c7226f596ee449eca (commit)
       via  1fd6d111905e76dfa7af9fbee5229f3f1d360b4c (commit)
       via  436252de3e9de546001c4312d0863ce7e10aa200 (commit)
       via  1379e3aaea5e9454d7e75f293c3fe24c0d11c688 (commit)
       via  62ecb94c4a2929c1aace3fb5470d2a5100255811 (commit)
       via  0dedf3777db42712f460123ac0c63c49de5456f5 (commit)
       via  3944e22b463a62bfc4f6f0a892c6b0ac705e3c43 (commit)
       via  86abf93a3a56ccdf1c5f15b841ee9d6a0516a2cf (commit)
       via  0f65a5d84d0a83e5594cf17d04e9f98ab66652a4 (commit)
       via  9014582538e38055e438b6cce28d165a73abcc60 (commit)
       via  6ca30fa5613cfa935834f27114d6db4f3854a13e (commit)
       via  4e9868d4e0c8e45505876901d22c021dd36972a8 (commit)
       via  9bf2a700667c53003ece783c05e8b355801105f2 (commit)
       via  a121b7c1ac76833018f4fc3adaeddc3147272dd0 (commit)
       via  995816ba55d952b2823d2ead66495c5cad6dfe58 (commit)
       via  3e83a920090130052a407621b94b94513f539fda (commit)
       via  63160a43508fb50d9013df061b2191de71f67b50 (commit)
       via  9b2eba3dcc6b41f17180e1aee29ed133f942c733 (commit)
       via  2adadf517063fb1c3b9240bf99ad339968c12f15 (commit)
       via  0d1f4ceb3904c4c82231adf98f0e84f37bc8d4ea (commit)
       via  4d75997912d77497fd395fde222513436a7df046 (commit)
       via  21c8a587ab81a58d3e067551d5503a765f00ec6e (commit)
       via  fb32b4f7005ef8f1bde02394b58b5c5eda9cbf10 (commit)
       via  fdf9e36fa2ed39f0da0dfa5dfdbd8e2452c6cb45 (commit)
       via  9f33b8b7c19413efbb37638bdba54706e4da8573 (commit)
       via  67cb5b2da285175d37782f3606992b8052234b00 (commit)
       via  7a1149643d8621541025e2c70e6391e901c8c7ef (commit)
       via  69bbf465237819bd7bf2a21a682d695273b3c8cb (commit)
       via  be47f9e8180d7275b0e2b26998472e99be9a2d7b (commit)
       via  bde6261aed330cd8d108c387bfe659a6171525dd (commit)
       via  b38ef47f47bda5509babd768092ceb09ab98828d (commit)
       via  f995bbe8e62fdb5607acb1ee127240cfe50d2b8f (commit)
       via  0ad9d8c73486e60c5a4963c1b7a0ea7063d69cd2 (commit)
       via  4a596fe20e93109300e841a3d0ee5f198146ab6d (commit)
       via  2cad08ea7dbc96103da9957da6973f9d0dbc33a8 (commit)
       via  55a98976756cb2df83ac8f8e9799331fbcc4f669 (commit)
       via  8dea77f0254d6a76d71092c922e9409ef1b67df4 (commit)
       via  4ac40124eef08045bf99ad9f4fcc277961953109 (commit)
       via  4d5efb852be6554305dfaf17c1e4f07bb9514273 (commit)
       via  c053b65441eb70ac78a514fabc3431b857a30d2e (commit)
       via  f3b8f8ee35bd62a2ae7d21561f5d23f00dad004f (commit)
       via  80070c0d3491347f11283c5791b9dd040fedbd4f (commit)
       via  4c7bf4f91b7dd3ccbd12be55316fca8817059a24 (commit)
       via  1e1a8bef60db2f524c5eb1d27be22cfa9ff82a84 (commit)
       via  499079343549348e270047ffa2687a8a76523700 (commit)
       via  6f77053d2ae56f16c10a8817732ed9fb43893507 (commit)
       via  9c5417255690af00751c7d506172459afe856894 (commit)
       via  ecfb656c37b982479d8eb07f240b434772d98fd6 (commit)
       via  d194f1fe51cb85b8a919b7ee9e3a7715b0ec9744 (commit)
       via  fff8551cf549f4047c9276a836408d802db6ce6d (commit)
       via  477bdd393c8145ad44899cb4681d57a61c82aad3 (commit)
       via  a91e1603afb6704545793e967a1a3dfe96b389de (commit)
       via  b52920324fabbcad93042f2e17de52696d0dab42 (commit)
       via  65dd1e590e519eba10bc29fb6e952271e0604c9b (commit)
       via  d62a8ae2dd0fbb6235f4e8f2fb61b83fe4ba1d90 (commit)
       via  ad32986fdf9da1c8748e47b8b45100398223dba8 (commit)
       via  db3a1dc7c9404e203c54576db3335e69d995e83e (commit)
       via  4c220b4625df0b08cbb22e5c7ca04dc7a629de1b (commit)
       via  c41cf6fdf514fce6b69f8f875b6903b2a3910f89 (commit)
       via  2f5f29cada3c06c9c26f4da5994951effee7d6f7 (commit)
       via  2514e33e01890ad28023359b110d1c9c1ad201d4 (commit)
       via  46bed6796d5821832e8ba373ddb2e7fdc45a109d (commit)
       via  82156ab704b08b124d319c0decdbd48b3ca2dac5 (commit)
       via  75ec1fdbb797a389e4fe4aaf2e15358a070dcc19 (commit)
       via  f32ba72991d2406b21ab17edc234a2f3fa7fb23d (commit)
       via  12bfb8fec326e847f6300874ca656e47ee027f5d (commit)
       via  450b68da0169dcfa1c36987ec80e2655abb3f8e6 (commit)
       via  5e6a0e73317915b0685249606538ea739acc3a23 (commit)
       via  fecb9c46659c576e9e2c790eff2a25df8203a97f (commit)
       via  858f82bf7e6531f4ad821285359c759c835f9dce (commit)
       via  8fa5b777488105287e56937365523d01e51c2eb3 (commit)
       via  efdf7a02db60e7371ba6372e47b510aadecbae28 (commit)
       via  dc1e4d6dedcb8ee3bb195f0db711f6aa164b8ab4 (commit)
       via  938ec663b8ec03336bd0387ee8f8d6f18f199025 (commit)
       via  f96bd6c2d7a3801fabbf9d834f7a29b752aa7532 (commit)
       via  662659a1a582af14aa45a458005e2a4df514b6d7 (commit)
       via  a62b75569b0e8038cf7c61350bf6fd5d0d6b64f8 (commit)
       via  ec13808ef07550f8a5f87fad1945739da1f10c81 (commit)
       via  f7c514a3784384215692c43d66f013d7640db277 (commit)
       via  1231656410996d2cc271486adc743a0fafe2ab4d (commit)
       via  52be03fd13a26ecda4f27c451a434f19eded0ca6 (commit)
       via  e643cb45bf85fa5c8c49a89ff177de246af4212e (commit)
       via  7cc0cd2903612a0730de6ba00181b9016e77ea3d (commit)
       via  086554e8e6b222518f12acab34e6cc7b5af7fde7 (commit)
       via  fe5f7374bef8f23ffa0fe0dee0f9b05e0a218a29 (commit)
       via  eea787570f708e51048f812808e6cbd76fde6919 (commit)
       via  3be78afdeddd3ebf57eb0df8b029cf596f468c7a (commit)
       via  296ec4fa2afb14abc400fa0109d7288eb958c544 (commit)
       via  081c108e3688d67f257d4b98c9012ef2677b3b18 (commit)
       via  a12e714b775ce025444af15dcfbd5a420363ad53 (commit)
       via  f74f865e5030057deb8a6a56af4a9e003d82cdcd (commit)
       via  0d0bf81a6729478563c3851ccfca435222ddfa25 (commit)
       via  1a09b50a463ad005946849540da136b5cbe6237b (commit)
       via  0ce4291e3ffd90d2b94e02b4557d716c043bf02e (commit)
       via  c56054f9a80e157e3d2d5109821abd191b68f0ea (commit)
       via  a43986283d61ffd4d7dc9b20c0ecb73cd345206c (commit)
       via  8c43009f48a0d4be497cf7c1285784aa70fc5abd (commit)
       via  a7e80b9e21eb907ac5c90de7452588c059db0cec (commit)
       via  b1a42fdfa31937d7e05df34afee970ac0ad239e1 (commit)
       via  a6be053897be3786ceda9a59d17befe11454f6d2 (commit)
       via  210477268d4ac5cad937e811888a5c932206794c (commit)
       via  9b7539374617a94c2d646f49e1bbfc954b11891d (commit)
       via  d721ba37d8995b9c11a0b8eef0f4d2dc022f85aa (commit)
       via  79b1d3cb362385c38af9cfb44c0c87b939711fbc (commit)
       via  8fb740dd3032543b833b141011aa2005c035d024 (commit)
       via  c0c31e91adc6aabe7c96f02dd51a0f6200a982da (commit)
       via  cf31b44f3c4d839db0dcce10e0c4cc47d3be4ff1 (commit)
       via  f124168208a5927e9f1b9843094ec2bf2aad2edf (commit)
       via  7ed687b257a4182771079c582887498d0a98810c (commit)
       via  275c67ffb452f21f5c002cd0c7bbfd244848111d (commit)
       via  ed771251e16c8c66cbdd03738135e76caef6937e (commit)
       via  568c1b9f503649d19ed1d17e6970f212e6b6317d (commit)
       via  62785b09987359ede74a98fac11343827f7181af (commit)
       via  c72cea5aec39df2d7a105755691a61460ee64f59 (commit)
       via  cad1105d6a28e1199e82653619fbd63c2b9d4fa6 (commit)
       via  3e00d44febb8093d8dc0e6842b975afb194c4fd1 (commit)
       via  077ae656a69fcf144f68848a3f6f2cb559b62987 (commit)
       via  1e2b521d987a34898ca959a33972be8912511ba0 (commit)
       via  338771252e913f82df8a445cb3e748a791b1cba8 (commit)
       via  a0eef9404b0fcfc8b0fbe7511d094a419ac631e9 (commit)
       via  1a5e158b68d0fb3b1ba3d038e87c841239572a35 (commit)
       via  3f2a3564b1c3872e4a380f2484d40ce2495a4835 (commit)
       via  ad36c6ce7c176a0bade3b3f09b801e65ab5ef93f (commit)
       via  19683c0408d66d9e48085fd5af009ad7d83aa3cd (commit)
       via  24e5b4e682a92788ffa676e963b7f1dec2101333 (commit)
       via  b67aeab02c05fdd654f132a550dd4f196cb1f6d3 (commit)
       via  11997a83a040245406b6e2e9978c6720f17e80c4 (commit)
       via  79778b30dc5881a8d88b55744cab53d95fa6fda2 (commit)
       via  ffdbe8642e74527795b695988a176f0920d58f96 (commit)
       via  9d736fbf01d20bc03804fa0cb49d99fdf6628fab (commit)
       via  3e6c75670009a5e9eaa72eb456b296451b3c46fe (commit)
       via  4c8798c9923de48c71430ce262d83042179232c6 (commit)
       via  3de88e9afbf0d8d10a8c4ce1415c219120e0a0c1 (commit)
       via  0e7b8f61069f1219ca53a9dd927ba55c9a7eefd4 (commit)
       via  2253c8f089193b90141e08436417bc8ea1dd6015 (commit)
       via  4a14e306468af630a27302d68b8d4c59733141b4 (commit)
       via  645d3342ba2b920722991255513030bb903b794e (commit)
       via  75d7d2986cf896fac8f0690db68ebc552e0b0339 (commit)
       via  5badf10a18af78c57dd4ce8e6a6ead7f46e1a878 (commit)
       via  21701718895d186285e6daf04cc7342c6c88fb03 (commit)
       via  cee59b3feac9a8f6300a5b788e3db4e15af2a894 (commit)
       via  09220eae9df07c40d206a35e6caaecba92ab8f46 (commit)
       via  639a9038c9f4fc50b6a57c18fe84db4559367a96 (commit)
       via  bcc0c096d5b0f77482cdb3154acd2515a0ca832f (commit)
       via  c0f55cc689a57deb342b988b8f0ecb908f0a76e1 (commit)
       via  15c0a2a9305648095f5586a02b5a5017e1643e99 (commit)
       via  aa0061181ab00081e9907447561e589d6edee9f2 (commit)
       via  3fcf899da106890f3948093c2424f9dff67d6fe0 (commit)
       via  4297a3f0029974c62628d69b6f3f9ef25f01ea7d (commit)
       via  e1cb3213476485a01aa11ecedfa186e386cb4bdb (commit)
       via  e4347c89f3a14b480fc88581d1363835f7b99b68 (commit)
       via  53cc15f5fe1f5e2358994d4f60f1c2aa9115004d (commit)
       via  a65cfae5f8b268158c23a862e7a996d15bbcef0e (commit)
       via  3b22433085e4cfee83f5c52f3baa8fb9bc67f8dd (commit)
       via  f9aeb8d499fa12610610dc19618230304c698f6c (commit)
       via  51457a05780da82b5321a1574caed95ac0e6923e (commit)
       via  5b291c049658614196197e4ea4bb42bcc176b876 (commit)
       via  e696b3ad342dde596dcdad4cff6b875c361ed6d0 (commit)
       via  59a561480d547d041127630b1ba17a284eef8225 (commit)
       via  39e224f6f9ee3f6123d4c9ddb7c0955e0604c1b4 (commit)
       via  e406e428dfe9d64e3be0b7a3c1c97c09edc5bdba (commit)
       via  dcb84eda0c5f25835251a311c4d6704e70cfa498 (commit)
       via  4ea0266c22eccf6e7719469a981267659e47ef3a (commit)
       via  d5e0ba9cdb0d002b97bab722cce673ce86cf7b11 (commit)
       via  d3375ddde4011242ef576083459fc51d0ddc53c8 (commit)
       via  5c62b69b91e13c6b9c126480680cff836c0b282d (commit)
       via  aaed6f5be3a41a88cc13c744e88af78f5a42dd5b (commit)
       via  84e8538ee3c8139a99e75e661fff500bb93c8cd5 (commit)
       via  bbdf9b697fc0652379794267b23f597e15c7db57 (commit)
       via  82e66161e649e5e801c40a52cba759292a76a59a (commit)
       via  d9cb6cdcfa12368f2f639f8cd06d18b94bd98a39 (commit)
       via  1afaf9f42fe201872d758214beceff85325a988a (commit)
       via  aac12e2497a42b47223680ab1b5924137de77c9a (commit)
       via  bbe1eef1e585e19d5493882e55f2b7902df9827a (commit)
       via  10799020a9336b6a88c1ace53c601960b840d580 (commit)
       via  00204cf7da01d99205aacc994e5c594ed12bba64 (commit)
       via  11a3371447f15af26def26646ad2eb7a4386462d (commit)
       via  317cd4925a9d6ef6f8752a771cb56e85ddfb30f0 (commit)
       via  9ac8a7c281aa949cf588cccb9977ea51eaff8130 (commit)
       via  4ac4bb6ad5ead16be5ca6996a3e325c26ddf71da (commit)
       via  0dd6ae21da832f351a3722d2f8bac187fc3bdfef (commit)
       via  9bcbdca808b5f9fec6217d20bd4b48a56008c460 (commit)
       via  7503099f3e29739d34cb1224d54fba96404e6e61 (commit)
       via  4b94dd2de12dd0389615700b13b63260e162ccf0 (commit)
       via  1d3fa25f5802fe2250f32f335ad57897a62e0fe2 (commit)
       via  b4fcfd3b4d173129207f804f5eee4557c788d66b (commit)
       via  7942e96e435d1cf4d4dbf58c47bb28d9f628c9e6 (commit)
       via  6ebac3fbacebaebd9e2c9393da3b612342d953a9 (commit)
       via  2cc36e25db366d70a975702b61c7700ae934d4d0 (commit)
       via  a8be5506b626a57f84771c5ddfaefabf2d61c017 (commit)
       via  ba14f3792fe007bedd88b62e554c79258adc53d9 (commit)
       via  b121eeb9971ebfceffc38e6131fdc15ec4188599 (commit)
       via  728a79135f51a1c20719ebaf3c98446d9ee248db (commit)
       via  a7c0469f992721b30665ba92f4f2f74d29032a84 (commit)
       via  34b433203b5f56149c27a8dfea21a921392cb158 (commit)
       via  a3a5feccd26be653efbdf1408874b98962baaa50 (commit)
       via  f8d995870f957d5fd32fb21fb4afe76a754ddf31 (commit)
       via  28f1c60507ad4ca2252cebada30d2f63ec3b772f (commit)
       via  ec3b243d4308ee56c9e3c62470b10ed2a822eb51 (commit)
       via  2c52e2e8c9e8f733cc0772d1400b0f4d3eb7379c (commit)
       via  e189bfe660d335f3b7c61446c9b5d3b0f0701606 (commit)
       via  aab2c17756ee5bef0ea5783a460a0990450b3bd5 (commit)
       via  4d78db49e6eee097365e31f9b5b47e5391243979 (commit)
       via  152c92b261fd9e4655688bef746ca32352f56bc4 (commit)
       via  1e1247c89ca2ce10dbf2c3ed61fba942f9c536ca (commit)
       via  1728969e93010862fe0ef7985cabe03a4494a63e (commit)
       via  c3847462f86778e97222a72378a84182f92c644a (commit)
       via  453018bf4490421a995cd76b3d2a3f322359c6a5 (commit)
       via  b416fe873ef44b2a613c9266c6462a481926d986 (commit)
       via  03b039a518fa0f89a9900a44a8b874cc91061305 (commit)
       via  9494d9636612cd9bd22e38625fbc89147beafea7 (commit)
       via  7cb7b948ce62831a999f88054a6b2d39afbe926e (commit)
       via  cc7e96c25d59db0a5279da0a0ff36d61151f3021 (commit)
       via  c98763221af696a9e0c6686da7d65881bfd6bdd0 (commit)
       via  87c336f60eccc6506ff19369c29575f43fea02ea (commit)
       via  d47c3ff7d55122befac848fe64b7445789c78787 (commit)
       via  2aece2ba02457e83fd2a780a8ac596b6a90adf29 (commit)
       via  c1b465c94e26be629315bf28e3763dea9dea8336 (commit)
       via  2c232b8361a044d689d12161b7a645d238586f5e (commit)
       via  9216a6f33592c350ad50696d5571c82e47b71a5e (commit)
       via  cf81cf6081d1a8c15c477f903d15d7b88f31b686 (commit)
       via  c799a79d66d09c442d85467986c2e8873f09297c (commit)
       via  0efcde634d45f4cda03fd18c43ff449103559d7a (commit)
       via  a379284af268ed768674e7f452ca78dad2aaaf55 (commit)
       via  8a6200ba863f207d93467312431d107f50f0e2ab (commit)
       via  9c7272f0833da2bfdf513d41bc41cdbc5f4fc5f7 (commit)
       via  f79ec2066662b2c32c9e62ee372c9c230d206b89 (commit)
       via  edb5fb00a6865884f99be01a9e97f44243a9deb9 (commit)
       via  551196862e4e9dfda510f59c53b0a3ff3153e4ed (commit)
       via  6a06fbb7b73fe55d6b9057f8154652e1ae8f883c (commit)
       via  c6386875ba57a806c896ba097afef525671de4a0 (commit)
       via  ddaaf0fb8605fced72e84410fc7ac834e529eb53 (commit)
       via  1a01e7c6b0eaed1bfe70d48692e1103c6e9ee2d9 (commit)
       via  36bc18a810a13f884d826842abbdd6d744ff6481 (commit)
       via  a8ebe3d5f17f12490012a1a3c69d17b6e9362805 (commit)
       via  50cfacb78f3998e5ecc653090e4f1a11dfb3d8dd (commit)
       via  c5a22423d09e3bf670fb0de0a98e6feb6176eb3f (commit)
       via  6bda016bec556855c6d4e191f360f921faa40ded (commit)
       via  21122961ecea30b3be7c788e09179d297e3233f0 (commit)
       via  c362e6217b556ce932250c340218f1ca16391070 (commit)
       via  7978d7c385b072a344d969f71cdc68e1a1171ec2 (commit)
       via  896c0c1edee117ea333c66b1adac8c6f4def3f2b (commit)
       via  b9da89d161e3903faa335f444af2bf05e40f926e (commit)
       via  c793cac124dd2eb34042f2e43abb099a26e34cb0 (commit)
       via  5ef2d51bd6ae49b28282835156d1d6622beac4a6 (commit)
       via  f955cccff399ccc4e16b8e90f140f2e9a785a07b (commit)
       via  d40e34db392f834793fb9af487121776b4cec6e7 (commit)
       via  4b5900d8b81522bd6ebe4d94d45dfb54d1982c62 (commit)
       via  b9d62f893fcc0b4c36aad0552810dcde304979d0 (commit)
       via  d5bb792ca130aac17e080325e4005ef417ceabd5 (commit)
       via  118aa6cf395aec093fe12d7fb2d05441791a93fa (commit)
       via  316a1245fe31e327223ca66797b789eaf9544c2c (commit)
       via  4aef764338ed40a7fa9573b0e6e2ade817acd688 (commit)
       via  bb4287c562027eafe63ddac9fd4c7e1730335795 (commit)
       via  e299b3551edbe81be2062fcaef9319d681d0d15b (commit)
       via  a08f8d99b87b0b0f681a27eba8e25e2fb0abd034 (commit)
       via  5f4d10850850cd95af5e95a16848c8c07a273d88 (commit)
       via  7b5d48229b7faa16f69e87fb269f17db0291d89f (commit)
       via  8b1e5da10ab58d2aa5eb84bf27de511294f061ef (commit)
       via  55e22ca83ae50d6fe422cd0542f2a1a5934b2dd2 (commit)
       via  f9f791a1b147c404a489485dba5eca49f8dbcbb9 (commit)
       via  14ea2c1b230a62f312346fb16716b3dd4850815b (commit)
       via  77f5e65ecfb669ea1d2fd74b74fbbf0d0c20daf8 (commit)
       via  a87ded7b88a85b40f2aec5e5b6c972dd7b74b3a9 (commit)
       via  86fa6981e7487e2c2df4337aa75ed2d93c32eaf2 (commit)
       via  f03265d9cda1f5f8df238efa9b7a20330e5711f1 (commit)
       via  c1fe188b154a4e81372629316be3d3a7820efdac (commit)
       via  4b8b687e885287ed85dafffcebbb8d03d7ea2c38 (commit)
       via  c7341d5a6b334464d84672229d9912d99347db34 (commit)
       via  1de05205afe1ecd1f1fa2befc6843d0dc70adefc (commit)
       via  1437d0631b209500db8371c425e896deb66ec9f9 (commit)
       via  c65d6b55b3a592906c470c566f57ad8ceacc1605 (commit)
       via  15c22686d0e33d87262bc9075296eeddd7d955f7 (commit)
       via  1fc87489b40b3100badf184a7c266387bae47def (commit)
       via  2e86a2830cfef688a27e17353b84f59f8147ab23 (commit)
       via  25dcbff6ef0088e080d92b3cbc346ae0b5071d9d (commit)
       via  dc9366eb0592157e2125967690f0aed61b17bcf7 (commit)
       via  6e5d74e74756fafe59e8198c4cc462cf7c57e12c (commit)
       via  5cf70512f835032c413f2554af07814e1dc05cd6 (commit)
       via  9753a2f6d74dc92d2ad94993a5479ee0edbc6887 (commit)
       via  1a4dd9ddae4ce51724b4e08c6304e7c64f8f916f (commit)
       via  7cbbff33a502dcba0264a1935840345274b8aee2 (commit)
       via  50dbe6e1bc8589db8e900299ef03ce9ead4ef3d7 (commit)
       via  1672e0d98d88d11b5c7d5793bd2cf29cbb56696f (commit)
       via  f7bb4e3a0d3738e8cce3dcded6ef12c9949cb85f (commit)
       via  e45ced6c5e06b0092ac9f5497aa580cfad0c953c (commit)
       via  5f6fd321915fae0194e01322d22cad4e451e8d20 (commit)
       via  44959fa81858df7d06fd83b0595b66709e344074 (commit)
       via  f8c4e718c26a0181821398e09d96113c0ff49c15 (commit)
       via  6dbb839a78d343b0a7435ec7db46ee359b1f62ec (commit)
       via  4a612d6f67d605f480ce7eec7fd9ca1cd1087b35 (commit)
       via  ea86f5344298e24801c262d9b52afcc9cb692959 (commit)
       via  2b841ec2066db4870beaa5298feb02f5e20faf7b (commit)
       via  d933941d6c5ce5b2dcaaa869919b6f3de06b725d (commit)
       via  b1b07054c08eea65ba8d1a9f771796d686f337e5 (commit)
       via  bb98f85480da563f4f6438abdabb68a69bc746b8 (commit)
       via  603555e563725616246912711419637add54c961 (commit)
       via  1cccfb31f5ba0dbc1cd3c679daf2f5b40252c6e0 (commit)
       via  d274ecf4ddf76768af57e27f654b9ce6784b391c (commit)
       via  79a964dca572024447adf92e50959dc88aa4f27a (commit)
       via  73f07bffaf8d423295a38dde51dfe6ec7b273280 (commit)
       via  ea0de82ec2d7f109ba179d8d55130805e680f02d (commit)
       via  9e1a8675d49a5bbb881f664f8b7a1081432c994d (commit)
       via  1f5345a614203185f7fdacbf4b000d2676de26dd (commit)
       via  62e755d208d7359e722a248df3e74278779272c8 (commit)
       via  49fced1206db40c71208c201165d65f92c69cebe (commit)
       via  2e0ce1c84d328bde4dca24b7cfc8b9c033ed271c (commit)
       via  0792e0e1199e76dce19a0f9fbdb29c75b8be8a9b (commit)
       via  921ea8830c62bf4a60af1783bdd443fd43286359 (commit)
       via  8ecbe595e69a84a0e3053884832d63af37113680 (commit)
       via  df97be551faa262732128493c8ac159ae4b7f6d3 (commit)
       via  7d45f3df96ca108f6d7d0c5e4279e22b820145fa (commit)
       via  611a3ca929d6529f4e7576b0e2ffb588839c1b21 (commit)
       via  d20928fac9ab65449db910bd99a0f48ad29fb22b (commit)
       via  b565cf21c80945d5e9baa6871653aae5add2d493 (commit)
       via  05ed43104ef2c3f75779438111e2913dbd4555a6 (commit)
       via  f98450c6eee6878ebf5b052d231758026d250427 (commit)
       via  c871dadee1817d4b9f3ba6ee792730c9eccf88e0 (commit)
       via  b451e98a909e1a6afa71c4a4655adc4cfeea5249 (commit)
       via  d4620bee57be53f7a6b14c01b2ea22d22a61bef0 (commit)
       via  9875b36538d35f2292ddc3bb5e7c60e1582aa087 (commit)
       via  673cff9b8b3105f74ce97c202a0727f9e83e56e6 (commit)
       via  199add01b6704e1cd8a48945bd775fbe8524fa75 (commit)
       via  ecd78df2707734ccb2d0f6e5426321fa399befaa (commit)
       via  134e805d3e18cf700a5046912b8dca9301fe6f2e (commit)
       via  01cca2f95e4a448cbfb7dc940cc38fe89300b15f (commit)
       via  9ef920e933bf2ea228c909cf81636e6d9577e51e (commit)
       via  a7e8b06b8901309632fad842ffd7d90a81447c80 (commit)
       via  65b48a81404cb058c75c562f7dfdeb74f07eba72 (commit)
       via  2979a883540d9ce6e41dd0509ea2a345de9cf050 (commit)
       via  3de43e7beb9839fa268a73be77de73a7b7cd97db (commit)
       via  15c7c1d8a535000e94ed36f4259d0ede32001408 (commit)
       via  4ef97a1b459849ad190244c36b36d45bdd078030 (commit)
       via  7ba71655a425ac44721f97cc0ad7922ca15bce43 (commit)
       via  afbf7e8e3aa24152ad58e430c8d37d82e5751f1c (commit)
       via  0e39210161e7c547ab53afb86997303e24a42c0c (commit)
       via  279a558a4d0fad268738ec916628c9c12cfcaf5b (commit)
       via  9dfd0db952fc07dccebbc244df2a20a6eda14b2c (commit)
       via  d538e36decd5628c084dbd5a7de13719b8b92121 (commit)
       via  8362122330c97c8c4a15da4e7ba8aa29f0c11157 (commit)
       via  2123df0ebfc7ade46784ef412226490d59f8ce05 (commit)
       via  fbf25dfdfdba2c057e7ccdae4e0d6a2139c66dd5 (commit)
       via  47612ae91c5f2de8960df1d96adf225d2455123f (commit)
       via  bd757ca7bf5886a4025ca02093fca1b8c5ce11a2 (commit)
       via  8e3681243c642d667164bd23ae9a376620da0780 (commit)
       via  a0aa382843fc5ccbeebf99d8d3c3075ca13e8125 (commit)
       via  a49dd8dd482da6a8131752f8312a06aa6599063c (commit)
       via  152e1e1bc90030cec9ce8318ab982675b1e90a00 (commit)
       via  ac189e7bf8865d61b4f5e89a530476f9e4c5c70b (commit)
       via  a8a0c9384831bc03b43e60b8d7896a403807335a (commit)
       via  dd803a2430a33ca5f306d717a7c242d2e907ae43 (commit)
       via  3b83ea38cfbc408da9c4a85a8db9a836fa098e93 (commit)
       via  034fed0bbc3541d2a11a839faf4be521843ad954 (commit)
       via  7cc14406548d299c1371ecdc2d43592c98567a0b (commit)
       via  582e12bf7602bb62ecc234402eb54044e83065e2 (commit)
       via  f482d3044722558c3b16f54b33b0855bfbae36b1 (commit)
       via  6b4bf3bc355bea57be3c0f6f61008a23b9067a11 (commit)
       via  34e4bae972e66c0bcbd382478bbcaffc9b45ac05 (commit)
       via  d0f744f970225f68460eb36a4975ae92a2e9495a (commit)
       via  742d14b39b384e822fd2218cf1803aef68a95d99 (commit)
       via  b0e4b369d519f9c604bddd6305e64dbb9f794256 (commit)
       via  975c21ab6d2f6e94fcd4723bcaada4015ce7b0cf (commit)
       via  32ec889602502348b704cfb16e65c83dc3eec095 (commit)
       via  7bb1ad1738d3ff45452b136fdfc3fc19195ae55f (commit)
       via  5235cd686141bb5adb57dbbf302a168e9693672b (commit)
       via  c9f02c3e29498fd9ecb1a9719c317c305fe509ae (commit)
       via  7db2c58848ca683f3b09e687a9b012dbb49316af (commit)
       via  1b3cee563cafa73340314bbf32e4218dead72718 (commit)
       via  e091dff9db792607a0a85bace8e426447ae99f12 (commit)
       via  5d58c7337972bb24caea7598d0ae4d461b0fc22b (commit)
       via  c1556ecd7843912269aba283a0fd307729fa0c3a (commit)
       via  a567769b813b2538bebc97d689fc0739f172028e (commit)
       via  2f6cd5918e58572e118b59a26062724404fb4042 (commit)
       via  7a7e1061d483f68df1c1369fc49ffadb4ea6f840 (commit)
       via  bc0a77d2b1a29222dacab21a0572322e39fb0c70 (commit)
       via  77145576fadc4dd2879adf5242b610ebbe30ec30 (commit)
       via  ef0b5f1c694601782db9aa90cf0ed7f3f3513c53 (commit)
       via  17cd494709a60750234c7dbe4f1db2932f8a71c4 (commit)
       via  359ca075e7fe20a5106d5c068193dad0c53af480 (commit)
       via  64025b4ec97fe8e932c367c6cb719e5fcf2448e8 (commit)
       via  14bc53a81471e0b550de1c24d4d5266f676aacc3 (commit)
       via  07e253aa3b7a530f22b84053e661842ccd9da2ea (commit)
       via  1e9d41d49f7f0b9e7381e8bf8ce848f8a33b8fde (commit)
       via  8eaf53202ea60191162d5f1069cd08ebd9f38f6c (commit)
       via  60abdbedb2b36bcae7abee2747ec027f5f2c9b91 (commit)
       via  387687511347d5e978bb47d193fe67c25e0e10a6 (commit)
       via  0a8beaba19a991bbfcf03756c4a150bf9512a164 (commit)
       via  946416fc5a466321581407a5b28989e194bd5acb (commit)
       via  53c4d625d70138fb5b75f0e2ebae8ff363ed3d46 (commit)
       via  4c5b8d1e01195f5c11048d99d71f39ddb5449f12 (commit)
       via  5499c7c71cc403a1deff90b79ab41d17efc5c4cc (commit)
       via  d8260425e6a8ef78cf47324f6f68d7978ac701ba (commit)
       via  0502a2b49c5a5c1f6de203c08e4d45509cd6a9fa (commit)
       via  233f82cfb4c3f496712648c20994e0dbabe8aa79 (commit)
       via  902e9fc76a0ec9f642cefa71ef88cca1c675ad54 (commit)
       via  5ff6a06c215a5288787decfb933591afb5aa434d (commit)
       via  758d96d834ba725461abf4be36df9f13e0815054 (commit)
       via  25890fc2395cf91526d3d2ba29578ac750e1b006 (commit)
       via  5ffbd927b9187ef5d719b83b1df3182a5fc10958 (commit)
       via  b0c53498a383cd5915786b0c321da48054e122ef (commit)
       via  11648de5a91658326748dea1e4965559e9bd7a0f (commit)
       via  e025ae68802a7cf217254c13e314f01247f74404 (commit)
       via  58fdfd2c4a0d2a68c3c3cbe3a83a0386526a2b72 (commit)
       via  6528b6eba85f044667876a2ad77d4612a9e5fc65 (commit)
       via  1b90b1390679473dd84416e462afa1587769ceec (commit)
       via  2039d74e780db6659c87cd3c426d526615cfe703 (commit)
       via  a51d7ecf3ddd64e0aec68e3c30913faba680b2cb (commit)
       via  465197842a6ff829eea88b3b96b05c433a797aae (commit)
       via  7814882a6534c100d8eba1a41588611a8b38c429 (commit)
       via  24f1a75169e554d418be009d803a02e441584ea7 (commit)
       via  262062fffd192fe76a6c59741bbbb1c5ae0bae53 (commit)
       via  0ae60b631e1648880d326c4a9986d5d522b6ae8a (commit)
       via  0224619f6085908935f689b87e1ac4e460bb1e71 (commit)
       via  0af92d6069f5c43f0090b78d4cb8fda7d9861b22 (commit)
       via  216f72a1ed20a8c9cdaea74e03be24601a1ed974 (commit)
       via  43988095a5a4c53e6d5b00a6335454919c4fac55 (commit)
       via  22d2f3ab926890490deed2888f6f013031fa6a6e (commit)
       via  5f46c5a54825aabb3f30095c84ac30aff7400ac5 (commit)
       via  78d4d2c538dd7975f0f130b2df842c4858c01fd3 (commit)
       via  43a444f9c5bfd44b4304eafd78338e21d54bea14 (commit)
       via  c48cfeddf730d181648182097dbb179dc82c5b58 (commit)
       via  1b076f2540e51055a7c6a4ee8fdfc604b54fb70a (commit)
       via  9c7e3b0e6b5234c39d1269fdf1a1413e2a734a79 (commit)
       via  0db8980cc0ee05727c11f8b7c6674137a4d5de4e (commit)
       via  246b91226bbc60bf3b2a4e1a65edc0c577e487c0 (commit)
       via  644877806ec0024d1df1dc29249b8e610202147b (commit)
       via  74dc9032e79b7950095ee5f94f5517209ef4747e (commit)
       via  ece5dcc1c00a48ecf63eae71983d04270cef4280 (commit)
       via  99de87c36ad0b224618c7ff2b9d13180af6c8776 (commit)
       via  2e7e5e28909bcffe2267b417f9cff0441b576fba (commit)
       via  ceae703d41819c1f03e3250b6e6df64dc6e7d3ff (commit)
       via  99d89562ada61193aaca6ba93cdba610dafd372c (commit)
       via  37f9ec62dbead711fe795cff2a95862ea8283c2f (commit)
       via  67cecaba5f70e540ad2f4bde21c323c0bde0f2d9 (commit)
       via  b814a36d3440de95f2ac6eaa4fc7935c322ea456 (commit)
       via  1b4b80bf3771dfb886687a61c541d12bfa1f1f51 (commit)
       via  6438d1be9e9b6802a465c70c76b9cec7e23270f3 (commit)
       via  51547df62c155231530ca502c485659f3d2b66cb (commit)
       via  a1fa17ee1556b0175afb081a7b8a13710246307a (commit)
       via  22049425ce40324139be82d9a6ec518c46b65815 (commit)
       via  ff6527bb52e2938b53687a42d1bcda09300e9390 (commit)
       via  1f85ef5042f0e021fb56b1364dddd92177073bf4 (commit)
       via  262a40a5406f0159353e04980bcaf8b26351afd2 (commit)
       via  002a5d4e5881ea0fbcd7f9382b20b833ad6bf9d5 (commit)
       via  4bc26c69597fea658dc9ce020b27e8d2ecdbe1a3 (commit)
       via  7ec22e0f1e08e96718ac27ea57a1dca0707a8b02 (commit)
       via  8c8402ccf1e69a4b8971994deb19f9d88e665925 (commit)
       via  c7c3d11bead272b718bade379e3441ff239bbd16 (commit)
       via  4265548c65907f095e887148f61af4813b106737 (commit)
       via  2f0d09c823521a0ca734a818c1a71836302c169d (commit)
       via  3239a4231ff79bf8b67b8faaf414b1667486167c (commit)
       via  90ed9b8bc136c80116273d1aae5a31fbd415af27 (commit)
       via  2bd7f877afeadd6da4c6b1dfc4d0489e9c0efb55 (commit)
       via  37d7d56caea508e836bc0d4f0fef0cb520f3ba22 (commit)
       via  a8c75b765e57aaebb99d4e32e0f228835cff2737 (commit)
       via  247d6c4c14769b7576d810a381a68e35388ee874 (commit)
       via  a48cda7f860584f98825ee6715b0da2adf65bb1a (commit)
       via  905712060597d0c7a13ffccbca40330c7ad3e3a8 (commit)
       via  99e8a4f9f8832da0f37c6f35b11629b01897800d (commit)
       via  eb721b5a6b458efe68cb56c75945f0f6e79b1cf6 (commit)
       via  2a5684011edabf5804abb9e11253a9747587b284 (commit)
       via  a5def14f1ca70e14d9433cb229c9369fa3051598 (commit)
       via  f98d33be3af3a8d788aaef37e8fef167b59c81b2 (commit)
       via  773fb663445646ebe45298e255d263f9520b2e2e (commit)
       via  7a2114e7a4ee1fbb5a0611733c72a2a7acc733c7 (commit)
       via  ebf0b03c706b28c990f5f3c6713dacd23f58341e (commit)
       via  174d0a74a2e631d7303fe00b517bcee75003a4a6 (commit)
       via  befe814dd9ac6489c84ecd5c839b3b48aca95280 (commit)
       via  b58a8c0c83d58c8f4be67dc1d7a1d9a5e1edba82 (commit)
       via  cc07cda69e26ef28895086e1f214ddd1d3cb939d (commit)
       via  7c723eecec713e1de9a95017aac29a40f3b9853a (commit)
       via  defe6f56b7c6ff106829ad3271ab9f1d501f4708 (commit)
       via  f9029569740a8ef2a66b3578fa6c89c0ab62be52 (commit)
       via  e242ece1e890b66d226b38b489a7edd79b3656d5 (commit)
       via  66a5a74065ac79b90618b02f4c550904b50a59f5 (commit)
       via  4aebb6312eb5dcd12f2f8420028547584b708907 (commit)
       via  4e746bb68947abd2f64ced0dcf5a00021571e45d (commit)
       via  186907941a65e5654883175c04f4e4f0bf662456 (commit)
       via  742e3a7781c7f29136ccc36673ef2c887ba2860d (commit)
       via  bf25e9a0f1315829defcb6ef36d8fef9d370e822 (commit)
       via  e8f42b5e36b2083e36855007442aff110291b6aa (commit)
       via  3f77c7691fc5ff92eef90f39bb972f25c7422fb0 (commit)
       via  075beec08ae857d918890c30d290863abb3f7f57 (commit)
       via  bc303e5d6c2dd33086478f80fd1d3096d4e1bc01 (commit)
       via  92134dc19b4bf6407a88a306b771c9c6c88658d6 (commit)
       via  a2dea0b20bc66a4c287c3c50002b8c3b3e9d953a (commit)
       via  b32e566ba6ee02687c6def22ade0899076adf7dd (commit)
       via  7e0de605cbacbbbb2531bb70506c0843aea13111 (commit)
       via  606a935e3a9066ab11308b8c934c9bdec7f128d3 (commit)
       via  e278ae05839ccffa234e0bfb4286b9f9a9dfbd28 (commit)
       via  0a0faf9fc652903d6467fc2bc8609891be730bdb (commit)
       via  714aa61c16ec17d75931ae2566acef61981b93ca (commit)
       via  75c0bdf484b7a949a53b04edd95edca5f4662184 (commit)
       via  4726b2d82c89fe6f8e769d1ae9f9e5e528f91156 (commit)
       via  b158a20f26f1d226088122e8c4fa5a23bb893a48 (commit)
       via  45b196c59065cd2c5b750b78a0329d42f6e924b1 (commit)
       via  fdd2bd920bd67e6a1e877baf52b9c138c00da13f (commit)
       via  508352a9bf3f84f2d731397bb0d9382c84f27f25 (commit)
       via  69090ceead6fa841669eea0c81b3e8e9695def5f (commit)
       via  4c2c7ac69d7318d61a5c0e4f5ddcee1c1597f4e0 (commit)
       via  61697d017e114d7667fbb340fb73f8184d48ee5a (commit)
       via  10ddfe62f8979cfe380b07c4f827e72681cc612a (commit)
       via  d11135f55294d75099ad03f81bacbe8ae93a6b28 (commit)
       via  3c6452ae8df5a4707c77aacc514a3a95bf3f24b7 (commit)
       via  c12214021dedefcc2320827bcc1751f2d94ca2c6 (commit)
       via  1835f746a7c7fff70a2cc03a051b14fdc6b3f73f (commit)
       via  f055032e4e922f1e1a5e11026c7c2669fa2a7d19 (commit)
       via  ebdf1ebfa551fd4624c3cd05401aa3c01ea2ebbe (commit)
       via  4aeb00ad3cc6a29b32f0a4e42c2f64d55e25b76d (commit)
       via  0ee3043f58aae078a1ecc54b7be2810cae39a718 (commit)
       via  f84ce13b6708801ca1d6289b7c4003e2f5a6d7f9 (commit)
       via  5cf30ebf64d3c6da961094c615a94d2f1682a478 (commit)
       via  bf5f525c8908b03f4892433baa707310b0b9959d (commit)
       via  13a66184d0cb485907bfcad15aac0622fd86d25f (commit)
       via  03f7786e2f440b9892b1c34a58fb26222ce1b493 (commit)
       via  13a590ca65f744c8fa55d6e0748cb12f443493f0 (commit)
       via  b1499fc214c2877ba76d7dffd4c41e33f3ec37f6 (commit)
       via  61351dd701023dcae180c1735c85740c8af3a85d (commit)
       via  54064fdb792313355c92d9880680fad825d71ebd (commit)
       via  09ec4d3122e69d1ff040e59394879b4d8d154605 (commit)
       via  26a06916b684ceda25c2edb43141e1101bf337c6 (commit)
       via  b761ca9e3d6e9c0f1762e0994dfdf2b989e3fc21 (commit)
       via  0b145e37a29cd96e567293dc69c0fd4f8af243b9 (commit)
       via  b964bee0f058b8e63c9206a8862b2fc1253f1bbd (commit)
       via  2d8365c48f797c7b947623eed8b1285d98323b68 (commit)
       via  2bb8f231957e2beecfb689a896252b8d9fb67e23 (commit)
       via  1bdfaf42ac152bb30e2b3ae3ab67b241835bba44 (commit)
       via  88b6faea9953505e9e8a7a77995c7db5dfb6ac19 (commit)
       via  7780f18678aeb553778633aeb50f41694f55bf27 (commit)
       via  d4b0bb186e204f77ed70bc719d16c6ca302094fd (commit)
       via  f67f945cf2f6361d4c4997c487b174e396d23cd9 (commit)
       via  18da0c51da58527152e019924cc5105cd89765d6 (commit)
       via  dce75bf9848c88583377c608e9734a2f8616d12b (commit)
       via  53f7e8ea7fad1fcff1b58f4cbd74e192e0bcbc1d (commit)
       via  62c14536e4df4c84d3ab72e5516c0189c32eb62f (commit)
       via  ff6fa24786eb2c03c1af95e2559fa3fd0b2f3893 (commit)
       via  9d5c5dd77bf91cbeb0ddfd1346bddaee549f9fb3 (commit)
       via  d7488716eef3747cc99b0e2b50743a48f59389ee (commit)
       via  a474bd8eeea16b2b6aa7089dedb142d86c22a4d7 (commit)
       via  604c4576fdcfc4e7c28f569b3748a1b6b4e0dbd4 (commit)
       via  3d7b173c29900879c9a5958dd6029fd36666e57c (commit)
       via  cc16242794b13a5f942badcfffb03be5d81f14f7 (commit)
       via  b2680bc51cf0f30c0222972170c42c8dce1ba444 (commit)
       via  1291063deab60b735429411b29eea9d7fd68d50e (commit)
       via  3d044c0c78c11968b4fe3c5c019523e3177b1710 (commit)
       via  8a78ba5cf798d878b6551ae6986a648d19570a91 (commit)
       via  65f90e82590c34d4211ca3c984ef8caaf1808819 (commit)
       via  6ec7c1ae19e9e1bf2edad5125941a2fd5fdfde0b (commit)
       via  20b477a75c00de06a92b9577fd74416699d2c37f (commit)
       via  3f7b46f2daa6c396564d786bda9c81e66d4b9278 (commit)
       via  de32a80f8f48896d4d07babd8c998789dd07c73d (commit)
       via  5d3debca762a4e23cb868a9e1411fb50f12db8c3 (commit)
       via  f0fd41c1926984fd1a524ff551286cba694539a0 (commit)
       via  e25dae2ce112305078ae7593da30ababfff53612 (commit)
       via  d6f9b0fbc7998909712cbc1b194f1cbd4ae8b6fa (commit)
       via  e666304ec603bb3249f80bac97200f2b4520ab0f (commit)
       via  1b7e3d2fb7036ce6f9d74e32dc052518f5cd45b6 (commit)
       via  65c40c956fcd9443a5390d6cc36f84bd1bf77df4 (commit)
       via  b50f188dfa065c9edfe82c874e2f8c179eb6d697 (commit)
       via  03c85b11b07452f2d7341b405a7fe70c74226505 (commit)
       via  73dceb99fa57b79e83a6ed80aaad49d0e3e7da66 (commit)
       via  9b6da501bff22325867d8afe42fa01d4704e72f8 (commit)
       via  b1ace6bdc2063f3dcf46172db98bb3474b6e1121 (commit)
       via  ec4cb20ba971232450f3420d3c7c0c8bbecc1ace (commit)
       via  e17b0c351f0b22fb42edf34e5a6e486d72e9ee05 (commit)
       via  55f8b9d243dbd879ffa585f7e0c7d8b6b819302d (commit)
       via  0f8c4b60ef3953a2373992e468106ae833049fff (commit)
       via  17a80fa80adbe79df39ba1fc70e611dff92df197 (commit)
       via  fa93e3d3471aab48ae273437c3159ebb0205a592 (commit)
       via  2e9af2d0de9534765e7394d10b2d307c4259de31 (commit)
       via  8f56d4fd28b887cc709524b1993c9da4c64b0696 (commit)
       via  7320133163c796d187350013ddf65fcb5752da9e (commit)
       via  616268b639780e0819b51053c794037bcde3de16 (commit)
       via  5be5dbf0ce3d2eb20003fea3691eaa6bfa5710d2 (commit)
       via  c99cc448c805b6bd481603155078881a503cd64a (commit)
       via  8b172ce7c9435095d14e0bd98cd431bb9584e95e (commit)
       via  d7e747318f4d04af033f16325f9b6d74f67079ec (commit)
       via  187808b04f61df1c38fda0921e2d9eeb53e332ee (commit)
       via  fd121c5c45bd2652a78c62812737874e36259e2a (commit)
       via  7a8eb317c5bce0f1ff290a9343777db74adec663 (commit)
       via  981d5de71da556bc3b43adbec2d12b1736628b5d (commit)
       via  c0c237fcdd133e84e67657cc6b7e4678f106bdcb (commit)
       via  5139cfdb5515407900d0c3934c13712a5819456c (commit)
       via  7346ef59bb33e28161d78ab478c3476b3dab2e8e (commit)
       via  787f00256b3eabe34b8599fca4df0243df80d5ca (commit)
       via  68777c298919d6dbdb9537c92a64ed9440ef6f3c (commit)
       via  0a1c7e2881226bb9734d7c31c9415c636f35921d (commit)
       via  b5ac99b0828d4e1dfa33540b428c0fc6c32eda67 (commit)
       via  cd4007e43421a2f974f51574b6e2b52b9b1a7a50 (commit)
       via  cf77c34ea71c27c3cb6dd31c9448249276e8a8a6 (commit)
       via  ce7903706d30e5fa335dd96eaaab3ae914ff8e64 (commit)
       via  067869b677a9f167e13a7bdb5f5a4d408df9006a (commit)
       via  ed35cc4a1cb76fd9ac53ad19efb97ee2caffbae9 (commit)
       via  15a00b13aedc6300732d0b3b6b9daefa361ced6f (commit)
       via  be85ce7dcbe99a8e7cd847a0c5b449a0b18a8ce7 (commit)
       via  a8128fa6a75e2d3da7d446bec9b8fa36573296cf (commit)
       via  29b0b2512ff436c46a77db39317ff50c4bc93601 (commit)
       via  289b5b2421ca79324b7374492ea652aceb869a1d (commit)
       via  b47413b47e103677fedb7cd1301c62fee01ac4ba (commit)
       via  60adb36c08942fd4a2f8bf598864254c043668a1 (commit)
       via  1273da0414a2f2a31288749a17fe44cbef615ab5 (commit)
       via  07fbc63d1e282aa2e8b37cbdc343e0f0171e4ea9 (commit)
       via  8b10b0b3e100c25322a083248c7a18bf5a1f3527 (commit)
       via  7795a8f8bdde2fa5c0e0639b92280314b32ec78d (commit)
       via  17e9c56297339ab6b0da4fdc189e090425ae6db9 (commit)
       via  ce6366f9aba4fe6534a2f514e46611acab62bab9 (commit)
       via  8dcdd12d21bc281870077f0c81b8cd1b88afd865 (commit)
       via  c1d4523838b6ec9bcd827bdebab25ac8444dba70 (commit)
       via  bf382b306a8db84b450aa1dc96ab686fb189a31c (commit)
       via  520306539a9a4eddb23677359c74b36192eb2209 (commit)
       via  6a849af808c1a9c5838b3d91af701c8d2a1bc480 (commit)
       via  4471a46f6f4b552b97bb546a85bf04c48faf64b4 (commit)
       via  2735833d5fb220983d09770087b573fed5bf93cd (commit)
       via  8884e97e78f337bccb50df7682333db4e7ee1542 (commit)
       via  7005d26ac72abbf12e02947ab87dbb3804f326a8 (commit)
       via  239b6d10954b18ce089e9c3a667e7f2df3655476 (commit)
       via  387dd77738619d7e898f063bbeb1b8b6faf6cad5 (commit)
       via  8ec5cf65a8213988a9f861e6a94d12311e9b04c3 (commit)
       via  0348d4be1676171b00c3609bea1e01c18af4ea98 (commit)
       via  4bd2e1b2aee122b46e335d932f7833f9c86610d0 (commit)
       via  22d9a0dee3a69973858000b326cf8eaa14ce7180 (commit)
       via  1fbd05e16ebde966e44c1108dc77871f3fba329a (commit)
       via  b51e1e94d66af7f63cd9052a16881087da111ef1 (commit)
       via  03bc0a24dc1e1a29b972103c207153f91d0313a9 (commit)
       via  72ca04104418e4926790872a203f404af9453024 (commit)
       via  e3ceef3544fb2178cef284b5fb8b267bf0ab4397 (commit)
       via  e309aa6524f8becadf6f1b75060a74be4c221899 (commit)
       via  7cf1de6cf421f52b145b88055cc89fc666343fba (commit)
       via  515aff23b43756082fbe357eb9685b401c7aacac (commit)
       via  8b00c176168dc7b0d78d0dc1f7d42f915375dc4a (commit)
       via  874a1c8c32036f790fa527acfab3f6f18740f089 (commit)
       via  d8b49cf0c891d09dd58de05ad5cfe396b612cf3b (commit)
       via  658ca58c4d41c7512dcabcbc4a5ea2109045c363 (commit)
       via  79843d45f7633f33dca8b0a9999a1b0795b6b459 (commit)
       via  8cafda321ca8588a9e42d78d8713b031696405bc (commit)
       via  e47ad6c0bd7aa388b1bd488f6ef522c20c0b94ed (commit)
       via  80d758749a7a679288e6e72b2e849b814413b719 (commit)
       via  8e87a59348adb7e4c31c8f4faf86df8b17ffb54a (commit)
       via  f13a9a0cf7d13b9ea51b0df4b9fa469652f92338 (commit)
       via  5ac95241162bf4729ecaf3c880cdaa846a3aded4 (commit)
       via  a1aa5e81de977805b16f2b1b9a12027a7f61c20c (commit)
       via  82f252717eef101fb3d105aa2d5b5e3944df6123 (commit)
       via  4a7324e1bcb525a0a89b08aabf598009c59bdcec (commit)
       via  c75b4ebd4f91f6884f046fa61f43e4cd88733290 (commit)
       via  de514cf3db76d0298b94121c35aafcd927fa483d (commit)
       via  3e97ba8a528154c6c9698bb87d0a1d3ea21b3ff3 (commit)
       via  850d84f6a414660406d359ffcef6b7b763d3ac16 (commit)
       via  3fe6a8e6476556cd6a16f4c3915a7a918803de42 (commit)
       via  373832b6db219ee80cb0263c8b3788954f4e3a8b (commit)
       via  666c6aff6beaea9a5724ccc8079559a2c67a5113 (commit)
       via  b531344c34b05fcd55ce65776ff50b9a752d60c1 (commit)
       via  1a792e1c00e07a1e644145a9f71446cf2e75e9ab (commit)
       via  fae1616f5f1357ae8b8e98241657088248178ced (commit)
       via  077c11e8679ea7fb4fae977327786fea8353132f (commit)
       via  f0158f44168c29338e0b4424c69589f79bf58b19 (commit)
       via  741bcbe94d7811caa1efa500dacd047c428cce61 (commit)
       via  fbf32f638c7e2a80542cb90626a22a6b5bb3e580 (commit)
       via  04bc2a285435a82c45e3417906374307eafacd90 (commit)
       via  c1f59f8ff9462ce45a3287ea06382a97e561fed3 (commit)
       via  c780b47c74872da62b5b5dfcbfe8c3db1631f981 (commit)
       via  60685cd0b99c575a32c3d004b4af568dd0309bcb (commit)
       via  2d0ca824112f269a883cd04d344614ccab3baaf4 (commit)
       via  c49f9d0fdaea8c2e5f78e20bec113fe3cf1b79f0 (commit)
       via  71d01c691ed49d72f8d0893a354be5260fd052a2 (commit)
       via  cf581a9b94fb480491198be8fbe7da13c86d858e (commit)
       via  93df7317eebbd081e8025545233ca3220bbd23d3 (commit)
       via  33eaf5de31b248f84ae108cf0cf4e1664db9ee51 (commit)
       via  715e99a4980aeeb6511eded2e9d5ffe1b063f21e (commit)
       via  8069955ee0dbcf6813218a968828afb838c676d9 (commit)
       via  05a1325405543281f5529720bdcae4bc9f2d1b83 (commit)
       via  1e5f45bb15d287ed763b7b638254424149040f7a (commit)
       via  fda46c417ff8324960ca305141df5fc6c2f580af (commit)
       via  adcbdc63e5ccf663dacc8493cec63a95b653285e (commit)
       via  9966f7eece39ced8a09c190616b5b328bf97bfe5 (commit)
       via  dcd310a08c9ab601b9dc883e706371f1232cdfef (commit)
       via  54f1917fb153898b9c2d2c0dd29c1719347bae52 (commit)
       via  eb1cdb627c94164063e675d33361adcf509e8327 (commit)
       via  b1ce65684d5f92f281d678581f0569cb16fa58e3 (commit)
       via  fec93fb13d2cc088ba3e1aa944f3c2c02616edf1 (commit)
       via  6f8b04077b0c3dc697b1c2bb042c69413d9813b8 (commit)
       via  6dd1c25a5a34a7e3d270f1817aee7e4003c88ade (commit)
       via  23e829301bd42b3964f457d50e462195d4343590 (commit)
       via  d334ae250a3ec888f0603cf8e909d0f425aeb30f (commit)
       via  78cbbba8e0bc8b0288f5ce4360b4689ab893aa13 (commit)
       via  7f784814df7067396e9c00b5cdc0eff9cd5c68de (commit)
       via  add3afb219e755e13f4ec1c91aa59223df31a965 (commit)
       via  9d46ce346fe3028d3d57332f286f3895c0724876 (commit)
       via  a24df3057179f81a2624bf3bd3d78113cb2fcc8e (commit)
       via  de1ab01e8ebf04a3503d8450e6b924c7bb160853 (commit)
       via  1737c64030af533c520dd1ed1ec2787302cdf830 (commit)
       via  2132fe850322e10313d94d505f7ea268f9524ba0 (commit)
       via  8b5a555d0948f0f1f38742c51ac8e53f8e79ba29 (commit)
       via  530d10ca18259a9893230afb2fa561e0871f833a (commit)
       via  6984613a53528c818482c3a531e17a86bac6e7dc (commit)
       via  81ff47b3a54633819fac4d973e34f1ff0c65606e (commit)
       via  9e009953a54bfbf79d83f37797f846c923aeea43 (commit)
       via  c13a63b04677906020ee72a28d5869d979e36a6f (commit)
       via  d1dff2266d29c4739aee6f68c8c587d44b03a717 (commit)
       via  9890e4338dcabf4512b4856b09511f25c81d10f1 (commit)
       via  2cedb9ebf8254a23d1fbd4f76a85e5f08dc3aaf5 (commit)
       via  1ec4b9f28bab4400c882a0f3e966eb12b73cee1a (commit)
       via  319b82e47dd12d6554e17a2ceedd3139b88ba55f (commit)
       via  6bb21700abb61cdb62a3d9fdf417971d528d5a37 (commit)
       via  01fabda4d46b34b2b02fb5a447943ab281c8ac8c (commit)
       via  05b3d79d265aa9de2a81ac2d0f5e6f5821161f34 (commit)
       via  11741d50eff1424bb1f628ede3dfe42a74343b52 (commit)
       via  640d6bfddb82560687d8796aa7f0675c93bb062f (commit)
       via  f964e51d907b008bfdddd0824a56e420737212a3 (commit)
       via  7a36499abc7d110e83cb60f4895d0fcfbab43bf4 (commit)
       via  6aa1df2d44358bc3f098af76b0825dacc0a68bb6 (commit)
       via  17a3046bfd9c1ebb65d5ee029a05024c4089192e (commit)
       via  e707b49e73ffd45b7a1f16c570e51927037dfef5 (commit)
       via  545e07dffdaf1b79497a866772caf0dd6e0a243f (commit)
       via  857e829e3a0b681c3cd807a307f53f466a332204 (commit)
       via  6f8976bfd6d7848268849b88e95917217ee31d3e (commit)
       via  e4241ace685d9886c14f1362e1e1783129774b7c (commit)
       via  9608051a0eba6303adcadff7d09b70a36067fba3 (commit)
       via  f622ea96de49d77646f52501ef00d03132fcb2df (commit)
       via  404c84343097091e21090727948d1461bf316118 (commit)
       via  aca5eec611b4e30c745b9c9e7283d57255505471 (commit)
       via  8361ed4d6b7049264153434e8dc15e6dc2200ebf (commit)
       via  2425a30e406a0523020b7e70abb864a06a45bb97 (commit)
       via  620214f742f7816e2844e1bb7f78a7a684431927 (commit)
       via  3015c06465584a437261c65a397fbd8f1a71aae7 (commit)
       via  fde1b17d37fd5557a22948d500bb5f4b6ef5d089 (commit)
       via  ca1ca08b0893eb6ec530db0cc7e12537417244fa (commit)
       via  1181551ef0a9a7f611a3d1130d2b284280882870 (commit)
       via  d95014a2ef6e9aee927c13960fa37e509d46eb32 (commit)
       via  eed0b5b26320bfcdb858a6b889dffe4f037f814d (commit)
       via  6624f3a142811450fab7eed1f406c4a030c3c9be (commit)
       via  976e204b369fd01f9d35d87ea2cd07707c3a40cf (commit)
       via  1fa5f68bf38fc29f173990614db70fed1b66c0e0 (commit)
       via  9e65917652e994b0864b344bfa47014155d93100 (commit)
       via  4ad2da7317c11fbf09e8feb9948b446d30ba9ec2 (commit)
       via  f2e2d2f54b462db40efac449f4d7724ae4728fe5 (commit)
       via  c8b23b3f89fbb0ed28d6b78f775b0038d8604798 (commit)
       via  1ac32117f7224620f44ac966b5ca53df6e4fc5bd (commit)
       via  0cf082277804ba3747be70a4013019f68b92bb84 (commit)
       via  eb115069323087e15210c09e3b581be0f6fb5852 (commit)
       via  906768f970826102252e8cfd30ee72da71de29f7 (commit)
       via  bef155c3e8a995fcdb1c2ba5aba012eb653d9f30 (commit)
       via  192b62ce0b4bb5c61188f570e127a26d2c32f716 (commit)
       via  50315b21779d71c172eb98a786a9b8281622e407 (commit)
       via  fc4007c969ec4208fb7c7cee2f50211a9aa0f40f (commit)
       via  8dbcee674ea4a8daa55f880ad7ade96efca96951 (commit)
       via  13df46cc0f340253e8a7bd984d1e4f38f29eec2d (commit)
       via  06fc9bf7d92d0bc857f3e8c109686f36aea5509c (commit)
       via  830a493402da4a055bf2d34ab300a83305391095 (commit)
       via  4586d54305ed275bb909f3373a7372c02d7e579e (commit)
       via  59876f8f9f32081b2831aed83a03a815e8d85a97 (commit)
       via  97d83487d5fbffd04d68a049f97009e1df2562a3 (commit)
       via  9205649a38c609a42ba52680a316fceaa08c1543 (commit)
       via  74c49d454b81c84fcffbc090466e241bdefd2f3a (commit)
       via  16361ffbd145c877952f3c124c247460a6005d26 (commit)
       via  905f2ccab1b7070c7953e9f12de638e2dc147a9a (commit)
       via  64081434cce13f38288d82d3d31b6199e9deff4a (commit)
       via  59e9e83119a528f17afea89ee22195a95322c6d6 (commit)
       via  9de10f6d53dffbec12cec9843662d5764526983d (commit)
       via  2bd5759dcb71adfb26b1c7cf20b3b032af29b845 (commit)
       via  3b4e0e01f8b19269d720948ee2350cb753f8ede4 (commit)
       via  17a22718b113a220de121ef4211fc3990d9b1745 (commit)
       via  68cdc55720bbe34d9d844ef2a0c4d75fcab4bc99 (commit)
       via  1eba63835ea23cbae6059c076db985a47e39ce24 (commit)
       via  bde7b3e3a0d5e1f0b66730d692b21c98a8686f75 (commit)
       via  a7785f8c797183eb363e95c201343df67d8536c6 (commit)
       via  2865bfce3875fa16046b0a987d98ab19fc8bbb9a (commit)
       via  0e9dcc758786feaaaf5026c6e59af42b30a35d36 (commit)
       via  12a5cedd4f2c5b1f4e303efda6f8ac3e06eec944 (commit)
       via  788f258604773ccbe9ccba71f9b1725930324275 (commit)
       via  6cd67beaae58c9e870b79feea3cf74ffdf7a9b33 (commit)
       via  14b122bf1ce59f5f1b82f6e2a347f4ad89801f45 (commit)
       via  bf1ca3b9476185fb6e301d85e646f5d2af95e257 (commit)
       via  572a5524c1eb50d8064a44108fd0ef22a0e63bf8 (commit)
       via  396a78b6271c45410fc22c4bc7f8cff75da3d153 (commit)
       via  a88b13c7e36e8eb0a3bf772d508380682536c0da (commit)
       via  e9f0c3639f33dc76fcab1b9299209c29ef2ee26e (commit)
       via  6349f452e01ddb7a1e64b8a63c93a9c9abc95725 (commit)
       via  c0171de646ddd85bac9d4bb1ebdf601f7ba7eeab (commit)
       via  f18e226ff84f7fba9ce7197ed7a2969eba231b4d (commit)
       via  c57af3f12b91ca49adc2e06056f794cb09514897 (commit)
       via  60e600ec691255536ae53e365d0410ecf79bdea2 (commit)
       via  bf7da5b06ffbbaa40c8a2900727a791265f897ea (commit)
       via  2d38bcedc2f91692857d257e106dafc9269d8f1a (commit)
       via  07bc7329128028e6d3e2733c6d2ebd874367bcee (commit)
       via  6e7c365ee0ea2551f9f840b71081fdf759088b5e (commit)
       via  6ba0cd406511d3edbe643f5e599d79538febedc5 (commit)
       via  de2dc875c2ddb731741f3c326545ff91fd587dd5 (commit)
       via  4ecee2c47da3e91c0571683acb5cfb8400402663 (commit)
       via  37fce74fb42f45ec340962170a4b297beede733a (commit)
       via  53a0cca3bd0f6ae80b2d6fc34b2873046965c7f0 (commit)
       via  ff3724f5123b9d9c52a07f7c1a5d85852e666c48 (commit)
       via  0700aea50c7a77d7908868373d0f9644b0ece29c (commit)
       via  1bb44c9f567c75355c1b4417d88cda959e82a3a3 (commit)
       via  87ce03fdc5a94f48fe62580410a099c0a0f68ee0 (commit)
       via  ee0a3fb85b33b172f704796612c4487ea368d675 (commit)
       via  bf2a52fa2ac2c4486653993a765fd922b3cd64a6 (commit)
       via  f59fe7f8e3e55472e6fcfb06677ff4925dad1f64 (commit)
       via  80bd970a4b1388fc4373b3e087006e6c93d71f60 (commit)
       via  d1b3de2e43380a0c51772a40315cd2268573d985 (commit)
       via  3bb4338431288002c2225ff660e1500818684c16 (commit)
       via  abf5651e47c0396df58a37951bc03a349169c5f2 (commit)
       via  a68ff33e0dcb4733584265088030d12a31e740e4 (commit)
       via  0b67023188fef926357f0fd27e600195ab35727e (commit)
       via  52b232b366355b1d0a9d2721e55a6b2b96789b00 (commit)
       via  59a1e29d9e1fc7ed31e66d51899ada46e5dd9a56 (commit)
       via  fff53daefb7838b5718422c87946330e4a8288ce (commit)
       via  5edad15d7c1e6a2409102b3426b444d6ea98bdfc (commit)
       via  f129e49f4d07f4d36319ac757fdcf3a8ce7d605b (commit)
       via  e92372274e77fc0ce87f35a833de8a60d733580a (commit)
       via  7becfd03bad526c02216eeb5ec2bebae694b1af1 (commit)
       via  98461510d3a8cefa6603980294bfc647cddcab97 (commit)
       via  df2946549f60624503663cc6c28cd5a6ef0ab434 (commit)
       via  1a94eb29d0dd72e6c34bb2d32927c510d16e4c00 (commit)
       via  b972a0d61a8b6e1dc3f9baf93ef3e57c7bfb9715 (commit)
       via  07e8e62387eb914b29cbf79f468db89fa4e57b3f (commit)
       via  07ccf83cf5424d019ab091a7bac0fee26564e420 (commit)
       via  74def31dcd248441a49755721da81ca73d99c4fb (commit)
       via  f7fd19e2b83c06cf1590d2ac8d0e9fc1ea4739c2 (commit)
       via  f159cdb61155d699f5aff2a9fbad8b787a7fe10c (commit)
       via  eaa38cfd42fe323fb7868e676ced7419bc5eec12 (commit)
       via  a4fb5981b7ec3d4006e93141afb1d0da566bb97b (commit)
       via  694b382c67a4fc656f30acbc74776c5e9cb53622 (commit)
       via  a5ec5e3fe1b8fe1395c79ff29052edad91266a76 (commit)
       via  e294484ee7e8dea53d091443a0f24c7939ac15ed (commit)
       via  6ec11ab97ab47ec4a22118e5b1c77df567796002 (commit)
       via  cd6581da62c32a391f9a4c2c5d248a11aa6fa8f7 (commit)
       via  20b52c88ea31f8a0af60d6172ab0da5f2ad616ee (commit)
       via  98f02962fefbacf1b805e93fb7bddeb58ec6ff70 (commit)
       via  011561117eeaff00862eb5f465c3470f29e8a9a9 (commit)
       via  3254d32c4b47f17a7d609f25394fbfb2313f09ff (commit)
       via  4d74727a4a41e811950dcd0bed7bc6747a068886 (commit)
       via  a631dd7b79e7dd670995d2c9b58577b1d1a29795 (commit)
       via  f5e6296e2194add209b546ad49039753a10242f5 (commit)
       via  2efa21564b81bd6d8a7ee23c2868a4bd6749b11c (commit)
       via  431e5de3f224e94fb0d061edb3a56d8e3c3f4403 (commit)
       via  0e123f69da7567042903c8e6e2ad0b03b0a66e55 (commit)
       via  a6eb589ffec8e6a3ae83ad6e5f36af31e958ffec (commit)
       via  0e2d6fa6a38ae2b80a56d786a41d905c9541906f (commit)
       via  44d6d3f93341387bd2c95ea4c941bf99127e7389 (commit)
       via  656731fe0f5bae5bb788b0688cc36900128fcc2f (commit)
       via  1ca8f924a46c620c7a7ddbd156c3a623a5a6d1fb (commit)
       via  bc3008c48f17aa67d39e539737a999737cd697a7 (commit)
       via  66c80d03078b71470c66b8f00cab82d89daeea08 (commit)
       via  051d2ddae5a2289d1f253b563e57a8e8496a06bb (commit)
       via  8018d34f1e5d94ffe1f12ac2455429c6f713c518 (commit)
       via  c0b8369c8aa4e05bf8f1b2ce4a79133cf1192a16 (commit)
       via  ad5cba2adbdb8ec216d44515468bde8d96892c3d (commit)
       via  fd13a84bb0f4e5eccd495d5538ef4aca7f341528 (commit)
       via  ac10a93e27993cf25cd2116227b12735d6481797 (commit)
       via  1c33cd7f00c7b2d195cdb004559332c397663bae (commit)
       via  0ae60c3ef45d41b34d40ed5c7b4fdfea289530de (commit)
       via  c0386d4d54d2cc33d6efc0b998fe6396bf92be15 (commit)
       via  6ed0191f6582a3b008277f0d2dc18d6764313ac5 (commit)
       via  c988ac1de5bc0efec2022fc6ce7d13b24e540099 (commit)
       via  b268007c68ec2d4ebd7e1fa239f0444ff59620e2 (commit)
       via  387360daf92ec2e4e02ace51f44400c167bb5c79 (commit)
       via  b055631694967585d0c898ac493e1faa3d5e8ee6 (commit)
       via  8cf50cb070642d73acc537010d71c912f921861c (commit)
       via  7c2a23b23e9ca7015acadbbc7a12c665791c8337 (commit)
       via  e495212d229d58eb4d70c94d7f828a04c386c3b2 (commit)
       via  0913ae5ad7ad465e36784ed7fcc8676f3e0e23b7 (commit)
       via  d74d4880e23263bac3690bcb641af56bd13036e6 (commit)
       via  10ab38d930db6159b93082dfe5e41761bdc0d70b (commit)
       via  2aaaf250e80afb4a5c66fb0b7801e24cc5c4e680 (commit)
       via  c27e4edb52011c9f4bbdb141fb360c708a879f87 (commit)
       via  47523653a331d0a04470701338a6ed269cc758f4 (commit)
       via  ae4fda663812129df67e3a70691787060242c0f9 (commit)
       via  cc917fd93d2a836adfd61b91df021cf835e88fd1 (commit)
       via  de1010f40884537cf0905ad134162cd2db71dc2a (commit)
       via  b52d3cfcfb472263eca181da37dfc0377978acba (commit)
       via  f90c58d59339ae3e0593cd6e464775973b7c259c (commit)
       via  09fe2662a708aa4da665bcaf942b5529e6809220 (commit)
       via  fb9b4b7e534c4df7e8e0cb60c180e61f27617f0a (commit)
       via  a44d0bd787e4fdf2424583508f407bafa139ed8a (commit)
       via  ddb2c6fdfc79e83af07ebdc93bdd17fe1eede8e7 (commit)
       via  27c3ce29f8920270ca2ed9b533ead5c8ebff215e (commit)
       via  8cfc7cf8c273677b5c83290cd1b143f18eeeb9c4 (commit)
       via  4ce6ca2c78c12931c31f46b9390e00a012eaa466 (commit)
       via  052d038860998099a4cfdc9fe6825307be7453be (commit)
       via  f47b0d4a49facbfa5c2f0971474593df0a854547 (commit)
       via  d98164028637041c5de99af0d057bde3f168a8a8 (commit)
       via  64859e1487e0ce1e5c430238dd731123371e7a15 (commit)
       via  f5657270bd9353db74ba802ebed62b7133f7c2a0 (commit)
       via  595e0a47f57b414843261303b8aa5036fd1fa1e3 (commit)
       via  7bd9df3bcdb1f736b696566b6142cb94d6b9b0d9 (commit)
       via  5b86074c4a84e32ca55a6c72c5fca45d97dc9374 (commit)
       via  2571583aed598dd3f9651b53434e5f177a0e3cf7 (commit)
       via  5c1ad6b5bb2602a0c590f2e49316ccc9fb30e1a9 (commit)
       via  cb868fd926f3b7201eb97c5b3bab0ce6c2450304 (commit)
       via  61baf725eca99af2569262d10aca03dcde2698f6 (commit)
       via  c113e7ff6176890ef6d73a23f0918aca98b8619f (commit)
       via  66abb8241494cae2bce9ca4bcd8e095e3bcfba06 (commit)
       via  ae4c0df4b6a76db172cc4d4c3f34fdd8064c80ed (commit)
       via  b7aba156196caf59117741eae5e93b578d0b59f4 (commit)
       via  0220170b4d87ce940d40ac98387ff2d7fbed3ab2 (commit)
       via  93f11b16ec1f5775c7f6c32b4a39d6dd0fb0c92a (commit)
       via  2b100bb5cf206f9254453a00e4b48e32d3584625 (commit)
       via  111468496477e97c9414d2d54f97bfdaa380f794 (commit)
       via  889294f6ffb380eb37b1f1f3bd22807fa9204c14 (commit)
       via  4244d58a4080d057bb9b17554734192821493cb6 (commit)
       via  517c4166988047036a57f4bb36e00458b51ade62 (commit)
       via  3f66c01be30edcfaedd11d475078f78e464ca4a0 (commit)
       via  d6deafd0bb04f728d403bee2e07d17ec9ac1353e (commit)
       via  fa62ef05fc91c19932ded7ccfd1fd0811c7f7e6f (commit)
       via  0a7e10188e3c08403fb00b728644d7a95092c732 (commit)
       via  e81830c5c61a8665c098189d069cc68b0df113d3 (commit)
       via  ffdc5f48ee608b4750df5e34c10598f0f2c158d3 (commit)
       via  913e12d44dc7fc09f965e4b660f437e7e0303c64 (commit)
       via  265d97f743a4ba78bcffd7ae8d0ea02668a58df3 (commit)
       via  6142c999f2a9700d568eb25462a5d622d220b4cb (commit)
       via  0fa6f7cee7dedb600799234b1e2d52c5b0da8f96 (commit)
       via  9acc85a62eb76c270724bba15c889d2d05567b6a (commit)
       via  b733bcb7f58c42e0e0d94a3f266a4193030e5f3a (commit)
       via  7ff34266fd831f828286e556f9cd681c42c0412c (commit)
       via  28985b6ba2fa968058429b767dc727d254c6ad13 (commit)
       via  5474d94f03aedba2f832006dc7d680cc15792a7b (commit)
       via  9d19e4fdb7c684329c8b1b72796a0071708dabc7 (commit)
       via  09a1b0e9437f4e6c868b47322a84193a5ae3a391 (commit)
       via  3bdb50600c3d20e355637b48fc317e8ad70ba93d (commit)
       via  4e008fde3ab059a011ec487686b7f3e5324c0a44 (commit)
       via  65ac99a581582031008a48b70fcf6952dee26af2 (commit)
       via  4d4f40e041ce7c8c7c8e50f957e0440b64ab7e95 (commit)
       via  5284e471d53ccb7c7a1d140bd83098607ccf4b8a (commit)
       via  bdd152861ce75c36828904cf3d10f8ce14da6cf5 (commit)
       via  1da43accb4f8e2a19dc033b617982e3c2dc83a08 (commit)
       via  d8722d7641d234dcd3d1f2254fbc5d9cf234e4e6 (commit)
       via  0674ee5dada21c8deec690ca66d5b2870f13ea49 (commit)
       via  b2805ed55456cea2694d31fc8627cca17120267b (commit)
       via  3fb49709438e204177373646585a76116caf23fb (commit)
       via  645c455650ed35460afdacb078c7c58308607fbe (commit)
       via  9e76c212e6311abaee4d02473473f7d6dcad972f (commit)
       via  5b362f04b2a56d446b024027963be52d61f939cb (commit)
       via  7dc53023ec5d000b3b8d287720ed8d04d91e02ec (commit)
       via  d81c735641cf6245c837a0203e9efaf21e63c27e (commit)
       via  6eda96bcf3a53843feb5d6d4441f0d9da7bc8a75 (commit)
       via  b9fc2576a13367070c741c7ea1d364a483eed0e4 (commit)
       via  865422fafaf387745b2979d47b6f448d28e0edb8 (commit)
       via  6096dda15babc5307b1a0e9624d4e0028fd429e1 (commit)
       via  4eabf3446367832693a1baf145f6ff02baae197b (commit)
       via  99b5dbf2e78a63ba4be067bfabb3bec1a6406f1c (commit)
       via  9703a4ef4d020991873bb4464f4800fe0547263c (commit)
       via  e0e7a9d436cb3c97ae89c9b0d2750a006746b233 (commit)
       via  7a0c0a1475bf41913c7f25a9e363df26c8f772a1 (commit)
       via  c4d5a76223f74930add9014f2a77339eb80b737c (commit)
       via  40d7d93ff412f4c34cde3daa04890d5cd2e0d9c9 (commit)
       via  ce0db13751aed2782c417bc4cf715313f9273e94 (commit)
       via  34c41c681f4a0a0dfe0405c7d2aecf458520557a (commit)
       via  112e8700a6fd2fed65ca70132c9cbed4132e8bd4 (commit)
       via  ab55d1a098571a559bf75031e1c3e7c914afadd7 (commit)
       via  eb3908448bfe295e49bc7bd8a88b90deaa1ba95f (commit)
       via  514b85276b5521256e1688005e94f1d69fc10c27 (commit)
       via  87903eafb083abbf330c22fbf941fcbad700c098 (commit)
       via  f0d19df99dfe1c63842206d15ae41dfd33d25bf0 (commit)
       via  b2c6190bfc280f834c8aaefe8074c3a2ea6d61ad (commit)
       via  e5b737de4a22c3099345f2613c106623d7f8d7e7 (commit)
       via  ad5bc88245bd8416fd16a2384eb00ec501bcc5e4 (commit)
       via  58a6d3c9d8d4d4be8f1dfc1a49fed264dceddaba (commit)
       via  9ef7906f20e81faa4498761002e6376f4d35c865 (commit)
       via  3145b997151d2815065b5c880c1b0d63905d7630 (commit)
       via  4e25adb3956f880efc28bfebabe79be7338b413f (commit)
       via  9962fe293d16e1e1e4d05154e751fc7576226954 (commit)
       via  7e66a1a05d3fc6cd72e3960608f86962efcaeb9d (commit)
       via  992f1ddc3be1f5195f18beaa801ac50f284b10c5 (commit)
       via  2693a26216c329bd7ec2aae7743409f572de4fa5 (commit)
       via  ff71884063d048e8f8c03de27d2bac343df4f77a (commit)
       via  11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6 (commit)
       via  853faf5cc34cfac362f33939543ce569c8ba6341 (commit)
       via  c60aaac10f9a185541b7f51a3353b95a6c764a4b (commit)
       via  6b4382006bd5e766581d3357bbc0cff58345d04d (commit)
       via  23c212516e3a91c74548ceccb597bdeaeb111e26 (commit)
       via  7fd5392005624f8b0522d881aa94bbb470d68cd7 (commit)
       via  4ebce1a0a5911e71aa2d00932ffb2126ff1f3633 (commit)
       via  c97dda72b905d5ba9b82004bf4e57dd4cf343147 (commit)
       via  95f6ac8822ecbad5530c4488ac54fd46b4c658a2 (commit)
       via  78d9f182f5cf4bc0d892af59030b85351b0ceab5 (commit)
       via  092e01962dfbe7db9f5e57ca365b8ca56b4aa96a (commit)
       via  3e67a37820a2838cdbd50f3f697ddc929443ceaa (commit)
       via  04386d9ed5f068b74757bfac01670576e4e59b8a (commit)
       via  755c5297bdbca564e97040ce7f036ed02dc7fa4a (commit)
       via  d115ab8eee9bb3e13aae86698a4fd91e0ed284e9 (commit)
       via  2922d21da14b4711872371abacb16e8ab7c70894 (commit)
       via  1d61f7949f77796ee407466f3ca7f42dcde9251b (commit)
       via  45f764234a71431b581340957a3c8338e0593fdb (commit)
       via  1d65abb5e2cb1624b358dda27a53a070bec685cc (commit)
       via  96b0927de3ebdb302d8d571c43da3db5ec23847e (commit)
       via  dd1d944e2321de26f75a21f42750dd38ed964714 (commit)
       via  412ffd830b94a860e81e8515140ba5ebc5aa82be (commit)
       via  ec5882fbd19a80299e7ae738fca016ef27830ad4 (commit)
       via  ee7ef219cbfbcf9217b50c4d30e719e2a6182a71 (commit)
       via  89ede9f53b74f84febcd1c2a6db8b03f390b62ec (commit)
       via  16e69324ec7fbe4ea12f2a0a069ad207ac8e3f97 (commit)
       via  b25e998d0be7d7ec2a14bfdca03370155355d215 (commit)
       via  91068ec6ae02e85c5ca4fbe3c6e214bd87bb872f (commit)
       via  4df995c77118d07c12fb260dbba0ca2b281324f1 (commit)
       via  602a81860a9a64c6a4bf1e338698118b35518b93 (commit)
       via  53eab0d3fa9e47acccf6073172663112a1471dad (commit)
       via  ddb9ad345c9b4a8cfe2c9a71190ecf408454e745 (commit)
       via  97f00e367c8222cda51bc7c0e9d3073a487a5976 (commit)
       via  db7b55faa1a11e632ddf57505c9bb64bc783471a (commit)
       via  221855059a11ab76aa909a5df4104354f9384139 (commit)
       via  4c4067e410581fe5c6190407b4fd410e7b71f9e4 (commit)
       via  a961cdd5f139d3c3e09170db52bd8df7dafae13f (commit)
       via  02aa377fbdd17b763b1e32ad72ccfd1c617ce463 (commit)
       via  cadf97cf20cf76af35e41075dff81197fbec0e51 (commit)
       via  5e7fc731f80e0d08385a05ad47dda332a49d9341 (commit)
       via  8184783a4069e04deb2e43b4ad0d66d80f1ad2df (commit)
       via  eefc3365838ed15c02bd7da39fbc31c00d07b398 (commit)
       via  353abf7c10561aab3e8e7ffce6e270c3743376f0 (commit)
       via  63e014fccdd91a89873554f6b33d7128d7112813 (commit)
       via  c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b (commit)
       via  7acd51d6971f12b832cd7281f669a7ae7feddf45 (commit)
       via  98fa61facff8fb041205950d642f5403372bfd96 (commit)
       via  a02c3512655cc2c8ad68e4b656959b7d284acc7d (commit)
       via  6650f7bd18f8161b9f666d3e65a6346e23a9d85f (commit)
       via  fc8e0108db6c60f2ecefb4004cddb94e8824fd42 (commit)
       via  591be3e4a841ac56bb3ee094447b708d58a6d4b8 (commit)
       via  03fb64f837bd8466ba6e7b7cb8880f5c6c87daab (commit)
       via  a6a51754740513db76fdee3aa153cdd51e87a24a (commit)
       via  aa785360cfa271505394080c8e367017782ca57a (commit)
       via  963201cf5d29c4dc718b5fb3507e085b302ff896 (commit)
       via  9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925 (commit)
       via  971f1d27d2ee2732f9ab2fa75923007b40e2bbec (commit)
       via  1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0 (commit)
       via  1336427510a5ffe7ed8f0c402cc9d315cc679952 (commit)
       via  bfbf34de2f27672282d4fa4c0916cc41890dcc6c (commit)
       via  d81222d3863037a90e0402cf438f7e45600feea2 (commit)
       via  75c6202b1d13b892581e8dd56b8e0664815390c1 (commit)
       via  22b05d33b4c870d65972ff8aefdd297ddc66d139 (commit)
       via  6392030005291f7c783da2247b63ae31dc8352e0 (commit)
       via  ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7 (commit)
       via  d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838 (commit)
       via  88acc2e16743fc1e6384758c9a68cd6d2a8bbd46 (commit)
       via  d36cab83a963f5bb3773e0218cc02f63b0851d0b (commit)
       via  029e9d52de3ac7fe984dc079ebd24506fd1eace7 (commit)
       via  3a0b8f7ddb874283879baaf8af6d11094f4c4999 (commit)
       via  cc90de49738ad220bd1d3d001b492679fc488fe1 (commit)
       via  5d9f66cb84b9f228c1082d3a1037355edceddded (commit)
       via  e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5 (commit)
       via  98fdf25a43abdad5784e762466fdd7bd59b0899e (commit)
       via  ec6f610ffcc411237e9f8955dd2227cefd255af2 (commit)
       via  4783ebbcfa35032ac2742f403258a14b647d9ba6 (commit)
       via  64c111834081a117f902cffc15dadbc535f1c65e (commit)
       via  f17ecb4baca990b57cc57e8337c4e03ecee02742 (commit)
       via  55af478400524cba7994e353fd9a98ef1543df2f (commit)
       via  1736a7bd96e8927c3f889a35f9153df4fd19d833 (commit)
       via  f94f411b8308674eb4f790a9fcad0ffa30b568e5 (commit)
       via  a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72 (commit)
       via  1a31b34a18d61dee55042f2ab23c8fa9203fe6ef (commit)
       via  f1b5deee16144a75aa605bf37ed38d461587d399 (commit)
       via  fc2f703edb656c69b0026a006c6063cdb255e06a (commit)
       via  198cd59d289209ad63cdd6da45e02a1c12b423a7 (commit)
       via  364ca42e71dfdce3f34e97ef028f7e3d5b5d880e (commit)
       via  c752a4cccb99ba73f51eff74b394dcdcd26d4c59 (commit)
       via  53488a6e194af11c2528e5e284facb8a6171b695 (commit)
       via  cfccf141f0db8de28ba21a8920939c30e123d73e (commit)
       via  39f66f3ae25ebd3a065218ce880280fd5b4b861c (commit)
       via  860b03a8f357d1565bd9d79ae25121059b2d28ae (commit)
       via  731f7c4ea30cc409c45412eec15e3d66afe051f5 (commit)
       via  bf355b690f07315bf2704e349c4f1c9ca611f031 (commit)
       via  329d01f70ea6367a9593c9b31e268c06dd729ec9 (commit)
       via  3a2488dd21a895df3ffb49048f5de1a83ce2ddd4 (commit)
       via  1d262527cf7ef3cdd2c015dc3540b47996e94d37 (commit)
       via  980d0cdd2fc40c30f3ddef644659d7d0dc00ed40 (commit)
       via  69a2af1016e03239f7af4e55268bd27fc500f800 (commit)
       via  da17fe9de923fcee29e6f809693eb7e590966575 (commit)
       via  8e2a4f11d477986aa360a3b588d35a194efe58f8 (commit)
       via  c3187fa5cc72734e6fc766a85d657018c0516bad (commit)
       via  21389b7f3451a482e14fef9bd32257c4c87f4317 (commit)
       via  0947023d1d4b5d8803a1065d622f707010b2bcdc (commit)
       via  785102a7d34f2d48f9a1616bf931fea6de2385fb (commit)
       via  a9617a426d001a748168fbc399fcc77e6d8d3cac (commit)
       via  e9e431d19426a6dd6b8923850398b847af0a1532 (commit)
       via  e2f9914792465953ca945333d0cbedf0b2d7b3d6 (commit)
       via  14f6890677849172a4b13779acd9089c9baa3a81 (commit)
       via  4b0781150f69b6ff251dac447c77e4d4f6598da8 (commit)
       via  5f5c6e032e8d5303e9903c0538f84f76bb4d8733 (commit)
       via  343fa6906329eb5ec070cf2c05884e49a1cb9d46 (commit)
       via  6725647ca2a0adc9206059814725102b53ea6478 (commit)
       via  b8760d2cb51517789110c7b2dbd8f61dce08291d (commit)
       via  be0fcbee1d47558af13288c6aece922dd4be6df5 (commit)
       via  c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1 (commit)
       via  1c3a5fbe155614a0f87079b953df0d7618e0ab50 (commit)
       via  a5018ae555cdf491005907c03f997558ba15fc47 (commit)
       via  dc60b26d983494a3cdec0d4f167ed98fde1a832a (commit)
       via  86a6934561f0048624f3ff83f5d3c2565514f0aa (commit)
       via  5590c2bae0fb41e90bc9698e55d8ec1fe22a9173 (commit)
       via  4f3ca05b487e9755018b4c9a053a2e6c35d8a7df (commit)
       via  8b929e420a810afe23d5ba57a98109c74d1d5816 (commit)
       via  92744f058094edd0b29bf9762f4ac26e4c6743c2 (commit)
       via  5eecd8621b955fb99860fc1b0d87074071f42f72 (commit)
       via  005304aae36522a90bbe169faea36db559d0f3d6 (commit)
       via  7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc (commit)
       via  5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7 (commit)
       via  39eeab253474493bc9477dbb2bd9c8041f05764b (commit)
       via  fc72affa6875e81fc9d495a216a8bcb34045ffcd (commit)
       via  e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e (commit)
       via  efe4db3f06b77934bd81f393194e0fdcfeecf811 (commit)
       via  82d93790a85300d8452450b6d43efb6b15b53788 (commit)
       via  f49547a604b4dd2c75e3636d4a422d52edc4fa6c (commit)
       via  14c1428b29fff12d8119ce6f4703be0de08197af (commit)
       via  fa6631b4eecfcca00c13b9594e6336dffd40982f (commit)
       via  406bd128dba2a59d0736839fc87a59bce319076c (commit)
       via  9b5481c63ab5e1e66e8f23681741039754eabcce (commit)
       via  52c4f3bdd5957a31b671a9791f462be5e8eadd85 (commit)
       via  e2996cc315d6ea242e1a954dc20246485ccc8512 (commit)
       via  c28eeff2eabbba2246799470f3713716fa629680 (commit)
       via  0691188992efa4afab80bfdf966479bc331ce0a4 (commit)
       via  49e8a725825c77aacc7458b9d7771cb2fa2f64c7 (commit)
       via  a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587 (commit)
       via  597e138ca0cf96889a1965d06d28552c1d1174d2 (commit)
       via  a55c9876bb111fd301b4762cf501de0040b8f9db (commit)
       via  88add6d8e794073758b5398c52bbb76ab40a2923 (commit)
       via  daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d (commit)
       via  39d4daf68e696bbf2db417abe677b2e68f3aace9 (commit)
       via  e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027 (commit)
       via  df9236f89620c3897b2257854b9a4eedc89217ba (commit)
       via  668650d58d61d9d170f3e5b5c1657ed1c3e2b34b (commit)
       via  4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af (commit)
       via  8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2 (commit)
       via  4e95fbcd79b84308417fc25ce12cacdb2a61c0d0 (commit)
       via  ca16c5b392b1c78019fea1710c4f4433161626c5 (commit)
       via  f522190fa7f04a8d9a1dfc51d0cf69973c08afb5 (commit)
       via  b8ac28419be22fe0cc72f6eaaba1ab029610fc71 (commit)
       via  35dc6e06960790cd60b890c14e45f82f110b898f (commit)
       via  8400d40d954ec3b4a3fe9200645a1b6e90ba46f4 (commit)
       via  474436e67c72d2426e79e600d725812514db0dbe (commit)
       via  4193bc588b4e66da0ed502eaef6e7ce85272fb42 (commit)
       via  10c56208ee8ce4d51de64277207b84a5d1be8c95 (commit)
       via  bef721e278d9ba3178e679eda38ac86ef2dc0d5d (commit)
       via  107c2d628b924de1854d6d254d60e97e1887ce4a (commit)
       via  df3ee9ca894f7e831713c332aa7820a6463c2435 (commit)
       via  ec835369f121c11d6e9484ed8c6c11097ad545c5 (commit)
       via  01770bbde902e075e524b518ac6c1087a4cc1cfb (commit)
       via  7ed7e438bf8a21983eeaeec0617868f8bab06197 (commit)
       via  d7f399a8de4c55eb841db6493597a587fac002de (commit)
       via  008459ea88ad4fdcb7da37dad7f68888ef6ecc47 (commit)
       via  531336e3a0b79ed60cfc36ad2d6579b6a71175da (commit)
       via  0c1b455e294c6debb4efedc7f1346f3c43249f15 (commit)
       via  f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4 (commit)
       via  a9752fdf83985f62a0c343311a9cb42ad13f9876 (commit)
       via  e5a873b7071d74320d4e0cbbc2f358dcf2322557 (commit)
       via  fe6fae079099c0eeb3186086d6b150800c0e8770 (commit)
       via  233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3 (commit)
       via  68c638d6e655a937a48770a5df765e6ebbc5b890 (commit)
       via  08698b7b46c9c932530dcbcd7e851d27a7d2c503 (commit)
       via  d5451cd45325d12b2cc3d10ffe67f09b0e26b967 (commit)
       via  432ec0814b01a93b88eddf13092ea6abef34652d (commit)
       via  4d9a9006139d1ceea787cdda871dff8943e493f0 (commit)
       via  018572b88885ae67d22612937fa1e4fd98d5f5ad (commit)
       via  397b8d2a9fb6651924c311f41b90cabeb3fc3ae9 (commit)
       via  be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a (commit)
       via  376c3ecd17d0636bcf4e527c2e2ca2f94822fe64 (commit)
       via  6a67d49e559b432ead2859e9bb327852adb53112 (commit)
       via  36d18bc526b055be896d8dc319cb3ade42238534 (commit)
       via  77a179e77b38161e461f5e37512f0b3fc3582181 (commit)
       via  33b2fac610fff1255a24763277a4bf77f1b59ef1 (commit)
       via  909c0aa5824080c287b390f82726cf5bfb7011e3 (commit)
       via  37e20dd6599203c4e261fc3a2e86711c90cbbed9 (commit)
       via  c5209615263fd0444da28cdfb6661ad287909a70 (commit)
       via  78afa7f8599e46eb94a93510b383dfb35e549f7e (commit)
       via  0f1254327820d7b3f67f873aa40e76679f067288 (commit)
       via  84c93cd5f1ff869eb8c04314738eaa2cddb3c29e (commit)
       via  fb9feb35913d4cf26baf01e1638b18af301f5387 (commit)
       via  cd2ddb6cde55a20d191e1002dbe1977df695cda9 (commit)
       via  bb95117e107fe58ecd35683bf0e8da3b414378ff (commit)
       via  de97fdd4a05cd7ad0b05444f1721f26c1ad9322f (commit)
       via  9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11 (commit)
       via  cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c (commit)
       via  bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69 (commit)
       via  88256e713c707aeb850688071150d32f9cca5a91 (commit)
       via  88ddd4a1ef8818984f87f574b424ccdc7db19660 (commit)
       via  69ace2200106348a1b00d509a6a234337c104c17 (commit)
       via  4cbd84083ea89e870526ed0c80d462084887ba6e (commit)
       via  4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c (commit)
       via  cec4b2e3fee8ae2c41089fc7454da56f676f653c (commit)
       via  5cd1d8bcc24e948e86a636161e6d72f6316545a7 (commit)
       via  40a0bfddf07620f5321927b3231502debb3b73bc (commit)
       via  e82ab856bb4689330c29fb9f1c57a8555b26380e (commit)
       via  6d6ad65b43efa17a825702297331fcb290445a18 (commit)
       via  a37a2806e3289294ed214aed3c8a45db46026b39 (commit)
       via  50455f1ab2935f7321215dfa681745c9b1cb5b19 (commit)
       via  95a23284a3db0ec85bb0b11c70e6b5acf00563f6 (commit)
       via  b9b118c3bb29052ee76c6bf32b99962cda5113ba (commit)
       via  4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277 (commit)
       via  56df3084847984aeddd8c24ca997242ec8c5a369 (commit)
       via  5486f16481dffa1c1a0d1fd9e38b97e3678078ed (commit)
       via  5084b13657023904cb60737abdf4cefb539a5fc4 (commit)
       via  ad02e4fe877f3a874145dd045626501245e65624 (commit)
       via  7913a64cab3930fe524f0e38f85cfca11bd52dcb (commit)
       via  e9a38e0f5287ce7b4629f5f923191e38dd7355c0 (commit)
       via  502d895cd1ca5d4abf4ef55984cbf5239aeaef0c (commit)
       via  ea3d7d1cab4221ab729327bb4d957352c79d05f0 (commit)
       via  f0e9390be5bbfa3ee777d81dacfccd713ebddb68 (commit)
       via  abe7c33b45288b407e6d001aad713183d4bab5c6 (commit)
       via  ee881e5d3312ea5396bddc37e8673b77bf549b4b (commit)
       via  0a0640e3ba9a668c4c317520c48246e1cc8d75ca (commit)
       via  aec6cd371d194f93cb7651c219b75eed05bdda98 (commit)
       via  268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e (commit)
       via  157686a88644b111658c661fc225881e75f3b0db (commit)
       via  cd58485720b47d80fed0b281d15a9198f43eaf0c (commit)
       via  abfcb414b9900ef996b1665323a950610dbdca43 (commit)
       via  1a0884415891b197972f8acf59131c3c9376807f (commit)
       via  7dc54575d91a2b41f6c3e838eec44a7017a24436 (commit)
       via  ee40d8d45213caf0cfb63e603f0fd5a58532e751 (commit)
       via  4deb8f714d555a2f530e37c3e7af32bc42fdda58 (commit)
       via  9e27646a6dedd071bdc8a7ba75eca1faaf500366 (commit)
       via  ae9a1986c8b1e38342a6fe674f7ad1758d8b06f5 (commit)
       via  cb55e96bf79ead88469bb859f9c858f62df2e562 (commit)
       via  a582903f51b536bf0de128ef288bafd39caade0a (commit)
       via  b81c93c854e4674c8ff85ac745613cf7b616dad1 (commit)
       via  8f02b5ad62823c1c02bf9b60d71d027805b4e17a (commit)
       via  839b0b3f8dff2d7a43f110b8f07b05c8a1004111 (commit)
       via  6223ef94973400bbe2d98885b2a4e36cdb47c800 (commit)
       via  d14a6a9e17f28437a231e17734bfdaf557de0a13 (commit)
       via  c29ae970e781780026c45ec7ffeed68ac87524d6 (commit)
       via  15a086bed79aff51c9ace7d3b5f389e8cd38399b (commit)
       via  a40d0312ad50263a4437c01311a3bf1f268576a6 (commit)
       via  370dfff4c4b46fc194cf1ab2b0762c2a9deae7ba (commit)
       via  576a6e4d1d1ac2c5b7e44830d3328ae8723fcb06 (commit)
       via  5c3024d2c1d4c4f141d8364d487604f70678792a (commit)
       via  2b0f37619f797bf640b2d45acb615817dd202954 (commit)
       via  222c2bf0a293fab3d08c22359d64433faea7bb89 (commit)
       via  7fb048a2ee38bbc85ba0e96e2932cb0cb1f7381e (commit)
       via  d2c0eef48a1bb331ca08f8f26ff82c5d4086ba0c (commit)
       via  82bbe65a43015a753bec8c64869679a699331a5b (commit)
       via  e4975d6a9cd8aaf3fb14135b36850964def131d7 (commit)
       via  0abe66b59fda0689c32fe9d96b3690b4d49a3027 (commit)
       via  7f904c28f5cd2dc91a118ae6169d6993aaf71f63 (commit)
       via  058467371921957ac532ffe0905ffa477f47018e (commit)
       via  59b21252a88aa6ba488cfb19686d9cbad2577e76 (commit)
       via  cf6451802f5d3f161d992ea39fac139273926773 (commit)
       via  8227ffad95fcd835dd5fcb3e4915159e4552b397 (commit)
       via  50cc587fe49621a87283f06655fe922d45095076 (commit)
       via  8ce9efb079b6e7b3ab2e795db9477656375d7204 (commit)
       via  17e5269b995b0560dc74af78ba134cf1fcd9d56a (commit)
       via  65d1cff97c066e4399a175ef7294a5343c0b94d1 (commit)
       via  ec8f76882145c71bef81a9cadf0bf51ff9fa5b35 (commit)
       via  0e722c919075fbf8a2d8a05b91443432daedf332 (commit)
       via  036e657b48144d7449ddfcfcf9214bcd7bcf268b (commit)
       via  bbe910e6e1140cb484a74911f3cea854cf9e7e2a (commit)
       via  793c128d03113816db85e8d1fa0bcd4982e246ee (commit)
       via  ad06383f106ccfa299a6c7ac9720178d2d3d583f (commit)
       via  22347e554cd7ba2a0bf36dc81ebfcbe2e2fd74af (commit)
       via  da5b30da2d1167591aa8d71b543f97bfdc2ec2a2 (commit)
       via  1dcb9720d62cd053a72c31881b7724ce9f74332c (commit)
       via  51750acd087cc20ae3f72393fa897d9e3059c65d (commit)
       via  0b14696aedc2b56291bc98d62fe232c8dceb1385 (commit)
       via  8bc2611fd97a94e3927ba22fab79624dd6647368 (commit)
       via  dcb07cfa156a8e9f768c7f2b5d32f27b6dfe939f (commit)
       via  7836e407c65761b003bfbcb7ce89947736330a15 (commit)
       via  8629c02c0db6ff3f7444397567a57dd36a3eed41 (commit)
       via  03b62bbbce3dc5f15131d9e78f77d035cd1cffb3 (commit)
       via  b593ecca856860a8b38deb808493bba4beef3aee (commit)
       via  1a9ccd70f9a75dc6b48d340059f28ef3550c107b (commit)
       via  128e85e3ab36b8e30f6612fb50de3cbb4ede6824 (commit)
       via  073808edb771952247c6fe634b863986b7627150 (commit)
       via  64f52338e924cce3a205527136e145da660a4686 (commit)
       via  ce558b89b15a18fd67fdc02a4d410a6d92d2ba63 (commit)
       via  3ae0486cdce5d2ed4c922c598a3258fcbd9c8f29 (commit)
       via  9986ba08876f86f7d36d230afc11b60a34287da8 (commit)
       via  4eefa7bcf286b879f61b9e1ec1c97230f5345104 (commit)
       via  400b2f29938dab7d9c4f46c9d1b0dc23dab0518b (commit)
       via  358a971863e93cbafa9e864b4db4d5448b960304 (commit)
       via  ca3cbe5cd7715d1559d55f8e71be1dd7340f13b1 (commit)
       via  96fe45624e51f1bb747e36cf8bdaab216f31c5ec (commit)
       via  f5ea389ac78ccd7c426a93f43e6117dad9ce0878 (commit)
       via  b2260160f8cde8de118914ddeaf797bea42e65ce (commit)
       via  fb090cfa157e35fac1c10c062fd005e38b894ea4 (commit)
       via  41e26ad32d17ee35f79f629654811f5e8656cab8 (commit)
       via  ad76968956f30bed6d120e0dfd247034e0855fea (commit)
       via  cd76b525eda02c30c4412698a2ff309b975d417a (commit)
       via  3889f4909e0db5f5ca8ca043ef9825f0ad971fd6 (commit)
       via  a8f341826d63a5c216c41e10bf1e4e6c3db3ce65 (commit)
       via  7113a196bac7f1134bcdd79ad3e6badcb5d77f95 (commit)
       via  5b6e2eee087cf206d5c2bf1f9523217aaf5938aa (commit)
       via  7ab2d0874025af6ee858b32c576f2461c0a1df3d (commit)
       via  0187a92f57b516f7171e70bec46701cfdaa6c6bd (commit)
       via  9fd15b2e80452f03edb3fb36c2b4c36d05f4ef4e (commit)
       via  6884417a0ff3555b192d4aceeacc5e7232cad207 (commit)
       via  c4b943d7aed5edbfc31aa1e9dc9e7bcf108d76a0 (commit)
       via  08dc996fedde9143cda25720961684087b133640 (commit)
       via  95f0d0d2338f8eba18d2b3c8cbe15b1d584b885c (commit)
       via  c5acd8159633cfde315b01431099e1ce5b23dcf7 (commit)
       via  3063babf7c559f04203ad7fdfcd8fc12a302ee7a (commit)
       via  c13b08dbbcf752480a7621aa1f89bc5440c74c25 (commit)
       via  d0de53e251ce60057d91536a4c71740b047be040 (commit)
       via  b32e1756d9932eebcca5f276290841a859ef2d6d (commit)
       via  b6ddcd85e3c0ae1f12af60efd6d1b97ac4bfa771 (commit)
       via  3fff9862d5229def9318912c2de64a03dab74532 (commit)
       via  5689c9424b33aac68c4762ce0bda09ca7e3affe0 (commit)
       via  2d7f2507d4d26430da7e32e8fc75f045f634fced (commit)
       via  081f6b931dbc4a1f27ac003e2f75a389444ce9e9 (commit)
       via  b5fbed8982b47d1ea5a0435c156e488e24e9d67c (commit)
       via  cc188e5fd6d4f8d3061ed6c58c432a150f7966e9 (commit)
       via  0fc9967d0b28a1e037233d49cec479d3ab1e9e59 (commit)
       via  ef787763b9495913d5be90bcdedcecb553cbf308 (commit)
       via  3d6d882e29fb2b8f2451405c37fd6fd9b92fcdaa (commit)
       via  8504e0974cf4b67680a11208b16caa2d3c77b838 (commit)
       via  bb050a6932c4b0ea86202fe62bed2d94999f77ad (commit)
       via  cc133f9f118ef4afd93da0ecba48151488c41c74 (commit)
       via  a85db0a6188b89ef49a1bd0f0ed435adc133b3ae (commit)
       via  535aade664ac4170fe82e52c9addd686156220a1 (commit)
       via  ddc5804ebd4b2be29ad4e3e259f5c6e907f34f26 (commit)
       via  1706852c3c6c1d39f949c933d37647d02509b9cb (commit)
       via  59d2699cfd30f9defc454be17415c0a518ece32b (commit)
       via  a4ddf8dc72f0ac10c3459a91949eb1bdb07ed10d (commit)
       via  4d17eaece8b31e642acaf4d77fe961ad8e3aaf50 (commit)
       via  ef0f5d7cc3b2082c94beffa7c9c1a8acd8eaa427 (commit)
       via  aba19b625f34fb3d61263fe8044cf0c6d8804570 (commit)
       via  9d2cdc86574bda0f1013be8cdc166d86b6d032bc (commit)
       via  c2c4ff8d52a2cd3263a547b0384692498714aa1b (commit)
       via  28617675c264213180a599bb4327bf162029636a (commit)
       via  ccfc90a39b78b7bc4173cd9ead49d2aa59695378 (commit)
       via  3f06e55061d0d8f72dfd11f6c432c23f45d9b597 (commit)
       via  6ec49e7c0aeb6d98e379319b565aee2c89388615 (commit)
       via  cd42d70b4d7e92dcc6c533e012ab8af122de7b9e (commit)
       via  470dd0a647c95a2e88c5b0f8df538826b08959a8 (commit)
       via  5443506ee45cb94769db7e76dd2021a96f2f0680 (commit)
       via  3b165252e882c05c8217f888194877224295592d (commit)
       via  f2ff9acd32b4667ee16a03ca8d10fd8b99e22f46 (commit)
       via  66be918f5f9f78d74c70aa332756286ff9d0ccf2 (commit)
       via  7c2683c40f745397e80b6df4edf8265ecb6fd194 (commit)
       via  200069c74f42ffcc726b9995a46971a86286a256 (commit)
       via  19f1935d91bfabbe4176ffdaca95bc789b593153 (commit)
       via  fa98319231a95aca0313878443143d3f92aca5e1 (commit)
       via  256ae5dbc73d1348850f86ee77a0dc3b04bc7cc0 (commit)
       via  33cc7d368f420326606695daafd6292e2779c6af (commit)
       via  41b56feb5063aee4fefb4a991eb796d1e8a7475e (commit)
       via  df433d316277ff5293832d3cd6cbc30b5c38dec0 (commit)
       via  1a2f3d7ff1d79b1290704e48c71e905b987393a6 (commit)
       via  4cb771f214ed6a2102e37bce255c6be5d0642f3a (commit)
       via  ff7ba33e8aae2ee8ec607d3f1f4b96f7cb1a92b9 (commit)
       via  4c62b19fd2e6b81ce7cbb7d01e84c09352ccf224 (commit)
       via  5cc8c7310338224d65aa14c4256d4d7539e0dd45 (commit)
       via  b22e99fdaf2efe58161c382bbd55f4572ba49eef (commit)
       via  b7f38fdae7c75e1d13abd455b3931950db28d22b (commit)
       via  93ca393659ef6714724749950301757f47e5e9fd (commit)
       via  32ce946fd83f08a4f1486de02d3f83870b36b28e (commit)
       via  9d734efa1034d266249751978f95a686ec9d19c6 (commit)
       via  35fd2ddeb1d90f1750401cfb6d01fe055656b88d (commit)
       via  db58b3735f45345c06cb9a14d0f83f5b26c1ebf3 (commit)
       via  80bb3407f6891aff5dbed5b2fd5c3dae8f227319 (commit)
       via  63f2433dbccc7ddf8812fefd6eed0e6dd2f88955 (commit)
       via  29df15201399610c3887382f004af337e3fe5601 (commit)
       via  b612f4193c6119fb06933b0dabcc84a2b952d57e (commit)
       via  3f47df7fb3fb46566bb68dd638a61cef87dd14e9 (commit)
       via  75d6c74e79ded209b1f0959b1780ab5b8885b9c2 (commit)
       via  8001f1183f32d674fa3e9af1cca16856afdffc3e (commit)
       via  d93f4d96bb0fb307db9e2dade38ddb3c6bc469ca (commit)
       via  6cb2202baaf482a8c7d54e5ec93af2f057e7ce28 (commit)
       via  8a19d84c2ba3ff1273ae1583681a0c428cf4425e (commit)
       via  7d15592e06e4abccc97cb8c5670f564327f747e9 (commit)
       via  1f8db343049c3e06483a278e14b7e140ec55c8b3 (commit)
       via  86b80085c889cd388fa677a5ae9053fd4be3776c (commit)
       via  2f7d995359c7f280431f015726485ca421b0a65a (commit)
       via  df2c87b5803750d21f03b7d36f8d1abace3e1e14 (commit)
       via  74f5402d08b857d60499b27851c204954ce6c42c (commit)
       via  c84364ece4faa7b3eb0f60f4dc301282e9693e1e (commit)
       via  a2cfc830e715142a0dd28496feaedf569b116b0e (commit)
       via  b0bfa7b5b884f78b798ab8d34d2a50bc63f558df (commit)
       via  8787d804e1cbbd1946239d6c5e560c87d38bac06 (commit)
       via  3d731f6949e2b0099cfbe0cf608d60a52a66d354 (commit)
       via  1924ff7567abf9e1341ae135fb5097bc5f7b76f4 (commit)
       via  fa09f4ea584e1bc33036e9ef82142db92b31da7c (commit)
       via  7103ad7639b7ed80bec170404185a8e39079446b (commit)
       via  668e167446b2777869f413841ec05aed59473d9f (commit)
       via  65408fa680538f997cdd4b6fb9d74f043a060801 (commit)
       via  91588b3af8e026ba11c7368476cc1f3fa8c2e2b1 (commit)
       via  e04659e8607bfed6995fd2ced9aaab55e2143302 (commit)
       via  a6bbedbad370ad895a6c559a60efe27a5a7838e6 (commit)
       via  a18590c38657a982f8d544f2f54f39ba9abe9fca (commit)
       via  ac33b731d214d79738ca04d27f7464d4482f6a01 (commit)
       via  9b9720149dfee4a9a961c29d0382fc5bdf9c975b (commit)
       via  4e9d2153228d95c972907a8b13237218d380c5d3 (commit)
       via  60227d64dd9228be1a07fc7122894fc2875b1a70 (commit)
       via  1032d6ebdcd53b8c09c76a1c3b932065d84b0b20 (commit)
       via  7766fd10024dc0587838fbc4608f3f8e30e17a26 (commit)
       via  fad0c9fb7dd362bdb5a3e4f89fb7f6e6789f5beb (commit)
       via  7efeed176a291c15c74e80aee5d7f906e28081cf (commit)
       via  8354c62cd144964fce17e11ce035c0c2c0635cbf (commit)
       via  64f367a201565d5c7d1e03da072db51123ac2174 (commit)
       via  2806dc7eec04db49fca03e04827e3dff7f6704e0 (commit)
       via  6c73cd95f96d37dbf6092a87c8ba0f35277223a5 (commit)
       via  7a63494a0df60cf71b9cf03c4eb8f24719d03e66 (commit)
       via  8c84bffb45ac63b98fffc5c1a492c2eb7e4f27e2 (commit)
       via  7bc2c8b83ea82b4315c67e7658af815aed062e73 (commit)
       via  f5396833d35a257902409493a63f777dcd771868 (commit)
       via  0bb65f1e7c9eed7338ef2e4a2f5b42d010409c39 (commit)
       via  82b19a4d2f9c9e8d56fdffdd702f7db4af486386 (commit)
       via  4c1d4908aa9e61a35a2555e5529997d7f996a516 (commit)
       via  1f334aeb2268db153f01143e9b0ac01448ecaa56 (commit)
       via  7353f2470c2eda19c31c9fa44c315c7c69dea7c4 (commit)
       via  30a7bb833cbd848b1814f18b91dfdafba4e86839 (commit)
       via  e8b24d9ff5b9419fc079f5fe975fac6f499f8bfb (commit)
       via  cc977dc7d53ef4546592a4f02a2e06a621beae6f (commit)
       via  3cde5c42d1c1ddcf8bbde5c47233c644370c959c (commit)
       via  833177a4a5c1a2a6cabe70bfe35ecf241b68d169 (commit)
       via  2f408ecb929bd56613e94cf1e84ace4692c78257 (commit)
       via  d2af8993a7cac29eaa5a4efd47c9117bbd175068 (commit)
       via  5698084a7303c45fdc94fb44c47355413b271562 (commit)
       via  af1fe7b3b87de27d84a82d4f44b937c2800205ff (commit)
       via  3b4de39c9d9ff014ae90e2bafbf7ce1f42c2198e (commit)
       via  6f0302493af0ace93943041c3374069c15c363f7 (commit)
       via  66bbce5bda870c49a68f2b77a29fb96eca72632f (commit)
       via  aaee65aea29ac8f7317e866d5dbef9f96cfdb253 (commit)
       via  3d8b0d9483f6eabc2c1739ac3dd64c30061a6a72 (commit)
       via  b3ced9bad2d8d5eb9ebabc5f8f7c6ab871f63748 (commit)
       via  c92aed165e8af79f51c5165f98f12389bb59a121 (commit)
       via  02030646c2a799614d31e52008403d8be067ac5d (commit)
       via  7b01d34b2a62fb8cda96fe40c755f99e63b8ba4f (commit)
       via  db1ec11fff1a46f7046bcbd971a42632d2ea795c (commit)
       via  3ab692db7f4d96022a132379614031a852de6f35 (commit)
       via  09b0e4b047b44063cf4c8c00527886743619c24e (commit)
       via  d16c5475b560adbad2d9bc78ec3718658f4090e3 (commit)
       via  56dbf31760f721893a44d3da26adfccf548995c7 (commit)
       via  77e1c7426aad05b20f48762234c02139e9c02f8e (commit)
       via  a0f86e735886f3d373507fa9cfc0cf2a2f32eabc (commit)
       via  322a851675234b3c16be6dd5035b07f5e3410ec7 (commit)
       via  1f45808ead357e8a81dec16b9802a6c369e08426 (commit)
       via  8de00631b8bd1c328f1916b1fd95bd0d9ff2017e (commit)
       via  4d01a485d29732b19743e8b138897f3509e071b0 (commit)
       via  b064640146bb6908a0ccca27ca8ee2b06b668137 (commit)
       via  896b6bda6904765f36692d76a37b99c0412ca9ae (commit)
       via  4f8ad951f662864884d4b11315c940c5239a4a89 (commit)
       via  d4081a383e28db26c65298f7405554d4312b1342 (commit)
       via  cb64e50d42a49bce61050c79c5ab0846905b6a82 (commit)
       via  93f9a11fbdb8f09428b17180d51a09a1bda39a52 (commit)
       via  0bc5d801ec836cd4b7d1ab7d05658e7a1d05df22 (commit)
       via  771da62d67a9f27c1e706610efe51b13c3f9fd60 (commit)
       via  53c3572a9f5b03a92292cb6d24bf69b52c95500e (commit)
       via  3b0d929dd61fcd55b4ef320a2033c731443b394f (commit)
       via  089e3718bd8de11fc4d6bbc8d32701033d467960 (commit)
       via  20955dbf718992e83b7c971344931934b62a784f (commit)
       via  9dc193c3be85aafa60ceff57d3b0430af607b4ce (commit)
       via  ec7b600bf1410f6bda239666fac258a605dc3f43 (commit)
       via  48c97fa1ba7d6628352fc2433abd91a41f6c8171 (commit)
       via  5996220cfa24ef6fddb782617720cd56913b1bb7 (commit)
       via  ad9eb1fdda263cd91ee8fb36292fb29d546b0076 (commit)
       via  bc71081e53e3c0a52a28d5874e65a54194e2205f (commit)
       via  a57160325ef479bd7181a4319126b1177c4a5cbb (commit)
       via  5ada5c6fca335963b0b9fb9e91c999fcdaab2f89 (commit)
       via  7a34932bce1342c970a03128bbccc5a81ae3da6b (commit)
       via  e680a6b69b4bd173a180419e973a9bf18a000151 (commit)
       via  9af89fbaecca21b2ca34c142584165066807fb10 (commit)
       via  b93bfa1980fa4d1229874067dd36acd9ac5685cd (commit)
       via  62e34765c9b25094e6a7b460c3a1632efe51e03e (commit)
       via  9cee1c1eb3d7a39279f7a0dae94bb38ab1106d1b (commit)
       via  26c4b26f0cc51f04cdaba3c9e6ff09032bd10d8b (commit)
       via  7989954c57444ef2a5963bb2bb0fae4652b846a6 (commit)
       via  b437d035ddf4e4c0c566c577ee059790ed28ad9b (commit)
       via  848ac659685fba46ce8816400db705f60c8040f7 (commit)
       via  c42608e136ef1eb52f65002d5e7efe6d62b7f285 (commit)
       via  feb4bea70a297eb6316d1b0685bbbb8095b7fb29 (commit)
       via  d46a21655318492db1e6113972fb02ab49eae75f (commit)
       via  b19ea8d28b1c06c2973738c1cda076f895ac3ad0 (commit)
       via  ce1b0a458aed5fea182c8eb4a8cf1161d1c0a20f (commit)
       via  13be4805fe268e9ac61e6a6b22d19b8e6e7738bb (commit)
       via  4f7eddc4d1a03c982a4f0361879bc5347b921b10 (commit)
       via  88ba72a2dfae2e71e3b0798ac74c6853749fd502 (commit)
       via  1b7a12f2d68f2f334fbe78cc2db76982ba6d4ef1 (commit)
       via  8f1732fc2a11dc2dbece0800d4ed6f011590d3ad (commit)
       via  88bd15396002102beedf49c87adee7b16c2bb409 (commit)
       via  b709ef7ca12d963678c6f73b10a20bea60cfb0df (commit)
       via  6b211b9cc3c61f514423869af51a17e4c2bc7531 (commit)
       via  aed6eddb24be670fa619b844c651095bb65396d1 (commit)
       via  cdf5a07c75b47481da1e99ee91ee860c2a6bb5f6 (commit)
       via  b96645f1a1e6084ed6a20ddf615bdc4d2487a9c9 (commit)
       via  51a789c3bf3d9b04d3d81493fda7f2514ae43add (commit)
       via  98d0e90ccafe18d0b6392fa891e4b3d77299ae95 (commit)
       via  5a736821eff3aa4a8da237778526f9f700759c7a (commit)
       via  bdfe53e3cfebb392b1a0ef50fdd02faafec6dc63 (commit)
       via  90f61cceac73fe40dcd21b3590c247bfa624ac00 (commit)
       via  2e27220211249bfeb38b10e630b33fbd170fce6c (commit)
       via  06fe285fd293e999481ec8f5c619658aa5e3b48b (commit)
       via  91fdca6f26cf33573364b5bd313ed4bed6a547cc (commit)
       via  ecf64ec654afe916099f0fe482c2dae417913905 (commit)
       via  2fe9c2a0c9fe3ca2f0fa94ea7219a8a4a299ac6a (commit)
       via  d039fef395c1b5fd781acaf1c611f96f654f5f91 (commit)
       via  8b89fe14b522cd6e5d160ff17defa8ecec243b11 (commit)
       via  722bcb33bf0383487c1af0e7d401e30301e94e2b (commit)
       via  034b77cf7875c4ea5aaf3d06dfea2e422abc47db (commit)
       via  7148c36989ee64f15ac9618543309cd7311b6015 (commit)
       via  04180708eff91ddd3a9572bd4b517ccce5850db0 (commit)
       via  a97c97e8d7c818886f0f7beb3fd5dee0042b4a07 (commit)
       via  833b7ab5008b769dca6db6d5ee1d21d33e730132 (commit)
       via  22f13eb869197fc45a0da2a8a96b03d39809862e (commit)
       via  c0f4a997c26760d2584946196ee5c411d1a632a6 (commit)
       via  579c6ad9830058ccebf9c592d692c25fac6285c7 (commit)
       via  cd6c3b4ffc4ea6f56f12581419e2eed885441beb (commit)
       via  d19280adb5b2d1470dc39756ccac8a8fa2af8321 (commit)
       via  44f1c4d7b0160a51ecf7fe1af42416f1d2a71356 (commit)
       via  598cc9dc84aeaa66e4a77efa9dc8ff03d5532620 (commit)
       via  8b55a7e4e5b30877e924e4b0ed0437d16ccdcedf (commit)
       via  bada43421274615d0d5f629a61a60b7daa71bc15 (commit)
       via  225b362d1036121a611f3dd17fdb6780070ba51f (commit)
       via  c8c064b0dc4ef58b47151e1dfb207262a24ff2d1 (commit)
       via  7d5697f9e27f79e1decc1215f33088cee9f7d863 (commit)
       via  47acf0bd9faef8634d242e19ec3b7f784d10ba76 (commit)
       via  920d2ddccb72a366140ed28283165b274f7a9045 (commit)
       via  95dc74aa02352505785bb70ba60b706e70c74584 (commit)
       via  af955fe696088e69b436947b4a6f134567d31793 (commit)
       via  e23eba971dd409b999dd83d8df0f842680c1c642 (commit)
       via  4e56efac8b4d5e251e8edc13febec93992bd6eb4 (commit)
       via  c50730217d606814cda69a2bb6975730c0f1ee63 (commit)
       via  7e3d947dd6ae45d71aa175b96fbd42a51e93b3f8 (commit)
       via  de4bfa865e5ea54f2ab5b7af53e4abe825da699e (commit)
       via  fb47deda560b754008c35b5ec13fe02ef0593019 (commit)
       via  c646b02fdcae5f37bd88f33a0c4683ef13ad5c82 (commit)
       via  1964088538cbf9483a1c9f411ad9d9054ea7be90 (commit)
       via  690035b1471a58db62ec27d739f124f0f58f6af2 (commit)
       via  e6485aafde098bf182b46cb187d8fd049f309e29 (commit)
       via  d29469235333ac99df5476499a59998ce49b39fa (commit)
       via  8ba42bc5da8015fd0bd9e7f021af9cb0ef252005 (commit)
       via  39402e6c64121bdae146e82f6c48f0c0e0d9d26b (commit)
       via  6bcbbf52b2fe930f1ab1588611c84f052b6385cf (commit)
       via  0bcda68539948828795564b35a497dc69c27f768 (commit)
       via  87106a7b0a3c403832f15aa316d5d6d2434e323f (commit)
       via  f610ab6d3cbab5d8b8ef3f3a93dd81a800ec5725 (commit)
       via  b129b0cacd4c8e982605b7c8d99e96c74155882a (commit)
       via  44d83468ec8e5fccf904d66b752ac36e07d66c56 (commit)
       via  d87fdac3591d57c1a667b9d2dfeb05e3198b0b53 (commit)
       via  259ba1e8acfd5ade4b6fa81e68a5e694e438fa28 (commit)
       via  2dfdb47abd418aac05380482093a87e763ab0a05 (commit)
       via  b61ce85cc54bf4acc86714cacd10d6f9f7e89d1b (commit)
       via  63ab433e29b2715f429551cdbec72dab0d752c20 (commit)
       via  2fc9bcf136a72ecc56a333cb658a8eaac8c9fec7 (commit)
       via  c38058942ececeb32c381a838a10277ba43be94c (commit)
       via  89342618773b64db3e67701c0cd9dd89cdbbc18a (commit)
       via  e3652c8460a6247f50e24deaca1c1c1c0e2a2573 (commit)
       via  bb65a718b601ecfebd1ebe5be71728d5c359c31f (commit)
       via  2e492780e8c4736b456448369ccdf4460f6e2675 (commit)
       via  ecf45d2cc7667ed4692d07e52fc77a2c9a8adf1c (commit)
       via  b15cc25cbe7c13e450f77b4a309223b9b3da3936 (commit)
       via  85ad3aaf403d2104c82010494d3d4a93a36e2e6f (commit)
       via  5a04c4cf5df6d13596e79e7b84520cbe245a5a4d (commit)
       via  ca6eff59089ff1a1772ac95d4890f94b3eef2796 (commit)
       via  ef4a339527a41802fbab70af25d6e4788f35dcc8 (commit)
       via  7b68ffbb32645c5383e74f27248a1c1c7ecd241a (commit)
       via  2a3a7490761797388aae10da3c4b2fba6b876007 (commit)
       via  21280c0ae32e182a4401d18664c3da89a7da17fd (commit)
       via  beb18c865c42ab57176099eecb65bb52e71def85 (commit)
       via  b196bc4cb45969ade48efcba6c31b1de0acf24d0 (commit)
       via  b30f354acb39f63bf3213673a0584119e63538b9 (commit)
       via  e4426cb42f082b0dc1298a173014f18ff0ff7ea7 (commit)
       via  28fe4f87e0b815f4c0d9b80e0a9f3e6a53c649b3 (commit)
       via  3ef9d661f45abfaca5d0c0bb2ea9ab60470f1bb7 (commit)
       via  a18a2a347dd85e93d1083c984deffdc0dacf1bd6 (commit)
       via  73b088be7219eaa2fa73374006da9665d8cc5028 (commit)
       via  b5e1db87897cabfd9beb8b1bd49f7d965c0f2607 (commit)
       via  010ece9c47f1ac08c9436b133a74472713dd709b (commit)
       via  b8d38ee4250fb6ad001c2f03fa2cef8c2bc06b57 (commit)
       via  cb93dc7f262978bafe36397a41a56e409a302042 (commit)
       via  638101973de1d316fcb7d4b6a37fa194b61bfaad (commit)
       via  243050da090159b12177e00248bd3a06100d7415 (commit)
       via  dcf293fda811c2fa956423fd14be343c68c1984d (commit)
       via  befbff861e07212f4073e4ce72e4b45cca3e0f8d (commit)
       via  ce6c454e5acbaec4e0c22e9c8af0fe7686a53baa (commit)
       via  f60ee22ea1d62f7004511ec65a3ad76890032d88 (commit)
       via  192ca6d8eac4a5538036ef200b95d6ef3dbe9511 (commit)
       via  595d2e303c0ef1a5cd5af8868c1d41db0050eb29 (commit)
       via  718b962660007c529f4ff4c5e940119da21e05a7 (commit)
       via  5841433461e2ce9da41292a49af4cc3c6b1e1f2d (commit)
       via  67ad9399e2a69757f06886ee61ce7f36d15e768a (commit)
       via  d1e4a624699fd734b3b6e87fb79a4da71c182dfd (commit)
       via  cd9da5b077c21f0984cfbdac060ced6f4945ce06 (commit)
       via  1e3b796d58ac3c4396e1739f44a0a41de6335eef (commit)
       via  6fc31fc73b577fce960730d87ead9a25df6c2653 (commit)
       via  0e454242cc1527e49ad0ea795614ac94a083b68a (commit)
       via  8dddcb8f005e8470312bf33041bb6ddaa5084e32 (commit)
       via  d25e87199327846e42b5a23f4365d75e75517ab3 (commit)
       via  873a915e0ad44cb303b071638536f27569491030 (commit)
       via  4b6749b9a4680e79affdb9c02ea2f5ba39a54587 (commit)
       via  9746809447893fd4672ea6babf4e961157cb541d (commit)
       via  b7b633e9b13fc5697af035f4504c9790c612a8c7 (commit)
       via  9a1e3f003122c97d6e1822c472bcd37f59fb1a74 (commit)
       via  b5cefccad8bdeecaa3d0c548e32881466e021cb4 (commit)
       via  ac423761af22f7858a1413cda5df3e1d5e88d4e4 (commit)
       via  d11261fc63ecbf9f3487be906a4e720b4b20fb42 (commit)
       via  4db41a0a1097860d1e0d3b8ecf6c01dbbb65ba5a (commit)
       via  16017f1915d15d0ec8a6fae02b137a6b50d96e63 (commit)
       via  9889cbb14ebea4b281408afcfd94ad6646ab370a (commit)
       via  f90fd8c2f17c7631915103ce5b760830a156ee93 (commit)
       via  789b4e00353f554c69ded290564276742ee290db (commit)
       via  78836e904d99c7e167d19d1d5421e9c6fe07f18b (commit)
       via  c62fbd56c831623cf8906696267b7dd1abca048d (commit)
       via  2d2476aac71fcafad6d1524733f0d88f2b53753b (commit)
       via  695344c018c8e462280c47a644df02ea472b0a4e (commit)
       via  15f205b11547e7ec0ce42a9b49e78229a2d569e1 (commit)
       via  f77a9b48608c64dac2c9c59db681d0168acf69e9 (commit)
       via  008a97eff0cabd416d18239eccd5267af6e965f3 (commit)
       via  bbb76b184f645ffc466baa1e5b3164d1e3febd93 (commit)
       via  f6abaf7a4088dc9a5d73ee2233246347af9181d5 (commit)
       via  49e4877c5487dc34edf414bb0f1125ce1b71e08b (commit)
       via  285963233bc7509edb07c035426ee0096650b0af (commit)
       via  da8d7d665521e5b3f67f87341400441a5d0643d5 (commit)
       via  da804164742b83965b487bbff5b6334f2e63fe91 (commit)
       via  b928b56ea67da30216b79abd6a87ffda99fc911d (commit)
       via  333ec25d7e514be4851d94ec0652f571bcfd9c5e (commit)
       via  ae71e7b59836219c617193a263b17041d765a031 (commit)
       via  b348d11b70068e7eabba6d8f99d4ad371c3f6253 (commit)
       via  eaf0270367cea4695d461261eb7fbd16caaeacf1 (commit)
       via  61034b0b6acc6ff72def5f5ecdbe628edc5d67ea (commit)
       via  c48182bfe408e06e3301ee887fd9a7b06bedff37 (commit)
       via  b252dcee39143928a8a1cbb37f770b9266e2c143 (commit)
       via  e42b25a0407fbbf3529815f69bd56a61b1821295 (commit)
       via  3ccdb4324b0dc9fa46ee7cad9b370f8c7c370c3b (commit)
       via  5bad3170301060ee0801a739ffc213abae664973 (commit)
       via  5562a44eb490b5777c9e786971907c0727d88495 (commit)
       via  8cae7a47b12ff6a5de72f6cc62b42d056f63bef0 (commit)
       via  1449284bd80db7bb4cbe7fef21e1e8b753135af6 (commit)
       via  decf5bd1570be3de10aeab99869a9548d17b1354 (commit)
       via  6d91379408b87b6d0c1cd4bc2880b530cc4ec721 (commit)
       via  41f225defe891ff71d3c8a149cdc1ed8f3a64c5c (commit)
       via  b89bd142d2271fb9aeacb4d9e6fbabd842755039 (commit)
       via  e601a8aec5fe30049b0e5f6169891fa26776dcd6 (commit)
       via  e4ce4d9479145adb03eb978bf699d894a77582d0 (commit)
       via  6578011c4c858c09a7027fbcfa7ae81870cd91dc (commit)
       via  b4f6af8ee2ea97b8c6f2bca1c2fd728683e68ef5 (commit)
       via  d118ee3761bcf0c861a75e454d0c2b741fccb956 (commit)
       via  be06ba8ceb2197b6771f8e47dc7b8df316e1da75 (commit)
       via  99e61edafe27b4949f9d6c49a016d9a18bc5d917 (commit)
       via  e913b9cb939c45ce9cbf0f224da6466cd3094c3a (commit)
       via  754c39c2f32a796ad9983836deb7c4429c808e48 (commit)
       via  ab2c2251daf50e5ce733d33b803eb469b3ba1d80 (commit)
       via  e5b06ef06b062f0626462abb182ee5470cf798bc (commit)
       via  afb1110bfa4fe150cb2f2c58329551bd82cb3627 (commit)
       via  8ffc1bb12a22e548835c9291871ad0eb68b7f6f0 (commit)
       via  64a0223474d767f07aecc1a8ce56d9fde12dfbfa (commit)
       via  1f2e9c5e3b0ef55cb0ab180dd0c82c7954a73e1a (commit)
       via  5ad9dba7519caa3e6193c87699ae37e24d0fe05c (commit)
       via  62df7e210ebf096dc09ad14d9316fcda0f6217f7 (commit)
       via  af533a5f8b149bfa1394ab04c3947e97dd507a33 (commit)
       via  d1a760cbb796b62f18ff6b81a189fd261809ef74 (commit)
       via  cda6c55bd399a8892d62178d4daeb074def909e0 (commit)
       via  816d7b53047bca81c226990bc9248d59d80d4b8b (commit)
       via  bfd282882d534cd4f48e2fc29d4ce0923c52352b (commit)
       via  b44fae2f56b0edbecff68c597f7b5718ca3f9f90 (commit)
       via  4dac951e11030b43b17f52df8bdfa7432e4bf73c (commit)
       via  4a2f4826907de97b089295000a67d2497aa94c99 (commit)
       via  aaf43c4882f827d9f778b40dcdb93566f765f5f9 (commit)
       via  b845c31ecc4fe2677f1d938b0d8a3dc98397158e (commit)
       via  187f5d00acf0ffe5390f282fd4d6285bcd6fccb9 (commit)
       via  b43fbca8c2cd2d40fb61dc667afbfc66a4441b58 (commit)
       via  4d483590c65d9967da12ff316b2693cce05b0810 (commit)
       via  821e6ff6299aa39e841ca50e1ae8a98e3554fd5f (commit)
       via  56fdab47732aa0e051d3442fdedbe602ce367cf9 (commit)
       via  8f1a8fc4df2244f548d55fbecce20b7cd6f90e16 (commit)
       via  16c85b5d14a04c275d3cb39b2029f3dc0f708531 (commit)
       via  a24bb4f0cce83eea8b2ad1542316651143af6f90 (commit)
       via  199fa1b7089d7f7438b087fa30504ea5a590f561 (commit)
       via  93562a343c26f67d2bd0e93cceb18a0a793087c2 (commit)
       via  f02cb058822459ea29a9fdaa928c2623df435908 (commit)
       via  3b202c10808fa17200aaeb8eb9935d94e622e671 (commit)
       via  82057c771e4338fd47d1ce570f29040186c51f9b (commit)
       via  668df12dd33d946d2c8dc2084e8a928d1184b2cb (commit)
       via  969b385b5f7fddb1785b1f5d90de290aa264b1ee (commit)
       via  a1078bea751d48e8846b91542d91647f1e0aed8d (commit)
       via  97ce08cb8071bf9a8df6c99cdf8e9fbf1911f3f5 (commit)
       via  ff12a6593a1675aa9ba5340aa2984af19cf8966c (commit)
       via  7b3860278cb1543774294cb07c38c15b813bc70a (commit)
       via  43b831cb453921462b3a296e9796837cd71c1cde (commit)
       via  49d06418ada11004ca1cdc0ec5847358e83fc67a (commit)
       via  b6f80bb873981d21a00960ea372046b0424a553a (commit)
       via  9722da93c589ee627e8d4388943717cbe4ba00ca (commit)
       via  1a30700100988c8322e43209c8c853a371c24403 (commit)
       via  769553e65f6ea5829edab1e70fd54b058435d85f (commit)
       via  362c0c4d9cc9f320d1e85755404879a13ebed91a (commit)
       via  1d0e042a8321cca82cce521afd276a8494385ae3 (commit)
       via  68dadef54c216f7ec75c27d74193897b18c5f9ab (commit)
       via  50e03d47b77d5730f96f6b6bb66187654e66c797 (commit)
       via  1047201fd0f402428bb3331638a198413f97f476 (commit)
       via  b62b1f7143c70caf5a14bd9684bbe50f51db706f (commit)
       via  fa549b9484c9ce54fd7528bbf8db5e4b0a94510a (commit)
       via  1fb77080fd74d11c0dbccf812ed98ffa0b3edc4e (commit)
       via  ddb6d633875b76f9d772af901118233fc498253a (commit)
       via  33fa2c6e1b1e63599156f7d79de8c0a6ea69c8af (commit)
       via  d73f9c4bab1a0ec82007f9d36b8a7bf5d34f7bf6 (commit)
       via  9c37b5aed98e5996a9777a366bfcc371c0e1a92d (commit)
       via  78b86327b5301231005b08a7c589b2b58e6b4322 (commit)
       via  a6912260f813b1493efefd27cbcb6a73d933accc (commit)
       via  08ec958fe088c7a226bb35bd2993254ff21228a3 (commit)
       via  7470adbb872d5363580eb5e0a8dbb231c286ee4c (commit)
       via  249471c08ad2ba2c325d691753b327a108138c89 (commit)
       via  c620c3e48d01e70c435c146905cab1a50382ce89 (commit)
       via  fcddde94ee566423cacf455a86e2e797b11d1cee (commit)
       via  b781683b71a1fc70c4d925ebe1bc943203dd7419 (commit)
       via  c25aa1e114af2be29bb8b69641673ec2baa8c6bd (commit)
       via  4a556533cf0256613c412b9627fa8b8edfa7674a (commit)
       via  5a122fbc307f35093b8fe038a8e6caa51b4d0dae (commit)
       via  6bd7996d3d45d9dfcbf695ec680fb43b5275ee89 (commit)
       via  3d3424e9a8d6ad56160b98bf6e223c0346164468 (commit)
       via  ee8da4b8396d9a74d27cb9bb0f3aa43d6d23b8ea (commit)
       via  3ac6b810d1e58fe10ee496fdb1ebd4ce050dc91c (commit)
       via  1a0670f37442b7ae904932b347353046126b990c (commit)
       via  1e0f0b4d0191263e35d81a3670d56bf639be274a (commit)
       via  2b804145796e948fa4c025c07eb201e700281e6b (commit)
       via  d8e9025191bc7b8ac1ffe28612a9015cd238f5b2 (commit)
       via  95e61695c199a07c832153cea25ae9c331d16a3c (commit)
       via  616ec3583b7b6ba0a4e581c426b700b0664a3027 (commit)
       via  f389f6fef76d7cf8e8beb7061edff2155c284898 (commit)
       via  39b5a3b9b3aadac723de719f3c27f8462ed49af7 (commit)
       via  e742d386c480efa5229bc8b1887a7718f840a457 (commit)
       via  3e611445bf05fa20e0befa41afa42651d1983734 (commit)
       via  fdebf1a415f565fc4606f9139d10d1e9393999c0 (commit)
       via  dba484926919ac02d1577f22fd47a5d99df99d8d (commit)
       via  f206f69cb43e420f92a63464036b342386963261 (commit)
       via  ed2f09e183df513e9616c53cdace32cf8b824b98 (commit)
       via  c1d0b70ae517512a77eed778c6dd7d8a941962fc (commit)
       via  5878efd48016e091cb19dc09345cd7f73d791c6f (commit)
       via  defaaad59909ead1722f978463fc2e4bdeb0629c (commit)
       via  414c838a722efedb0f787b64629db13d88c9ef7c (commit)
       via  0a69eedb6d7c1c90ec7888a857c4d7c0a1fd1b31 (commit)
       via  825be1e5eb004d3816490b492291f121c83ebf11 (commit)
       via  94b41882b09a0b61c27cb0220ac31d9f5496e13c (commit)
       via  9ad39107ca6e4efcda0f48a6abf528844a2f11aa (commit)
       via  128d08b1587e537667c3079cc01915a94964e5a0 (commit)
       via  9c36d9544f0987cbd840a19552af3343252d28a0 (commit)
       via  4034d0ff52b0f346efedd2d335ccbc672466da45 (commit)
       via  0ee0f92162cec2de93c26f2d587f67026f559522 (commit)
       via  e7847a2b370770c8f712bf9beb8db482bdd5551d (commit)
       via  fe61e2596da5633b0fdd100e9da0069efe6e40ae (commit)
       via  17e16485989c7e91ba1ec5abf397f7f91a299eec (commit)
       via  72da393d4131836933f104abf0f605e09970f134 (commit)
       via  92c6e4fe5d6f30a24fe15795a6a3b25afd0b24c9 (commit)
       via  744ce3025e82a59c13642c57e38febd8ff531f9b (commit)
       via  76276ff673e9d6855d721e4caf19a244c8b7363d (commit)
       via  80169c8a23d9bd3f213028e3d44239b03d0aedf7 (commit)
       via  4eca02287cf48e60ee89338ddd35f8d0d8257a51 (commit)
       via  4519d071387f374932616b588ddb4ec8cabe2a52 (commit)
       via  52d45da3f275b5d1c8ef2e96a7760585c736133b (commit)
       via  1fcf3da985a9f4436674816046cf5a308eae74f3 (commit)
       via  a4297203ea1a1e4664b6f2b05efecd60f6437f46 (commit)
       via  93dc595d7659a8cf224a9fc33aa9071f38328334 (commit)
       via  bb805577d2b212411fb7b0a2d01644567fac4e8d (commit)
       via  50751e18f3f2fc47959a577a5754f1a2d80baf18 (commit)
       via  084303b8c636944564d7be3b85dde55e8c371e91 (commit)
       via  a5721ba270ddf860e0e5a45bba456214e8eac2be (commit)
       via  b82317dd347991288e4cca4772e951c672fca8cc (commit)
       via  b1f5b0a43579d199715fa3db620ddd54c10341ce (commit)
       via  6d61dee599fb314f0561c3bd0dd17ac0cfa05e35 (commit)
       via  4435e1cc6214e6ef44bd90fcde8ae2de9d8be418 (commit)
       via  9eaff8613893f063400fdae95bc382ab33685e3b (commit)
       via  de7fb42b57b132ca65746ca4a9ff17c902d9cc62 (commit)
       via  2df2751d1927e1231bbe7d548139da98d6ca9b9a (commit)
       via  e3f07b5b750554bbbbee1bddc34bb77fd7d31eeb (commit)
       via  07619d52fef6fda58cbc327512a4d8ec60ad5637 (commit)
       via  1c5f704fc035bc705dee887418f42cb8bca24b5d (commit)
       via  ca90e76046d302a730629ecf39b425a8aaa590c2 (commit)
       via  83ae81cd0b2ec355aeb7666c0c059f00492635e8 (commit)
       via  78fb7e37eb8bb08ae537d6c487996ff17c810332 (commit)
       via  c5da193232ea0452f714dffee0d417d965590476 (commit)
       via  384f7503344b1d07561f801ced7493858cde6164 (commit)
       via  2b848ebdbb2d1f856c7525ed4d6efaf6fe70de81 (commit)
       via  005d79fd6101dae0aaf62a1b0cee399efcbd0e21 (commit)
       via  153679d55f9e74c369ca67444bdbaad82855cc6e (commit)
       via  2422813015a1601d0484afef73a94753ffc07a1d (commit)
       via  7358f4cbaf3c6fafbbbc9703a5e2884470643bfa (commit)
       via  edeeb6024373d865284903f0b96b9811afde0441 (commit)
       via  b9897522a5d0c812a5baded84ba0ecb01e1d08f5 (commit)
       via  ec93bc323de89ba6056c5325b307e7e4e4b17276 (commit)
       via  9eee20eb5400345cab1952cbfc0426035ddf1140 (commit)
       via  f4e0d9f40b21fb42bbf7da07917683fb1cc16e8e (commit)
       via  a97e29d248d51bb688cff677def657eb0cf82cca (commit)
       via  cfe826d45ea2e15f0df4c039dfa4b9ea605831da (commit)
       via  ab8b80a88546eacb6e75004e8dd571e6bdf9505f (commit)
       via  05d49c372d4689f8ca8baf4fdd32529ac40f297a (commit)
       via  5809899dad253e2fefcb6f7ae57a6f43cfa4e3c5 (commit)
       via  3e25a500a1ba05587389737e7c617e5ae6dd2bcf (commit)
       via  97e64e5ab19dbf6a9babd711e8deec5545520954 (commit)
       via  503b1c39dc801389f7ae510fb1f7ee1e533b67ac (commit)
       via  5025eb7c0d87b01507116353b5d63b163d7add3d (commit)
       via  7c4236c3505d8dca3c6d9c2bc61145fa759bf4ce (commit)
       via  27b5c3d96d45b0010d1bf4ef9f47b6d4ec0363c0 (commit)
       via  f73842fc847e297fd44542de9601a84b4d6b28d8 (commit)
       via  de6784544abc97d5e396cb1e83eda1ae09f63d40 (commit)
       via  90681dabc79316d382aae5e932303f61bd705b16 (commit)
       via  0ec22c2c9fd06505f333c00235b3328a632bb69c (commit)
       via  fa42dd2e8328560e65c888277ab146810c1763a8 (commit)
       via  870dd155d688fec15d61eb1fe7ef36bd36791dd4 (commit)
       via  9c211fd8d6c7a600a7e55f272e21a967377a7c87 (commit)
       via  1e0baa1f26cf008198d0abf4d9f1595f464d5657 (commit)
       via  31da3f27d765612d3f067467ad39e386da7bacd7 (commit)
       via  ad0a504f7e10ea11dbf58eb9990a5180f781b695 (commit)
       via  8aabe2e254e6a0419db9c6397c4068c69bfd95b0 (commit)
       via  36cf1806a87fdd208c704d0768af232ce35aae9f (commit)
       via  74172ecf37e5877085c5d01f335db94e8091ba97 (commit)
       via  6ec2b213de6962ceeb81bfa33354ea6e60c57049 (commit)
       via  ad43e107eb233dcef8e76da6328aa4e4d74afd84 (commit)
       via  ab3b8fcfdb06695d27eaec4eedb019ada4a5713e (commit)
       via  bb7eff5206e4795ac79c177a80fe9f4630aaf730 (commit)
       via  f2a5c4f5af38b146f0bc7e1407e422ac292f9da7 (commit)
       via  bc33f5f961b18a0a8303924f7bc6140730ec006a (commit)
       via  c0890d26289c4dad0e2ddedb7822a32a0645d150 (commit)
       via  116b60193779ac65a29fb3688b753527980cb3e7 (commit)
       via  047cd301d40288d13e44f3322541ac28ebe06078 (commit)
       via  165d4950855493dd904a7996e7fcf58880d54219 (commit)
       via  e950b3453948830c5ce9c2f70d114d0b38a4b4ac (commit)
       via  98907a704908c5877d929c57b2ddb2e5f899d9a9 (commit)
       via  4df068de5214ff55b01ae320ec580f2928eb74e5 (commit)
       via  2442d8466e221ba6cf4ec4bd2a819fdcb1e5ea7e (commit)
       via  245d2e3fe8d9ff35c65ed1329609fb7e59034877 (commit)
       via  d50c751e00b5336b4604b92271ab84615fdb0d27 (commit)
       via  f11ad6bc0fc44b94c6970115bb6984b497b967e7 (commit)
       via  0c608d6b62f9164203685ab125b4b3ad113eb26e (commit)
       via  01dbfe4c0e2b832c6b1076e8d373b162e2faa376 (commit)
       via  72e9f31937f063ed6f5991a2b8c00068fa2dc8fc (commit)
       via  8a7f0c1b5ae35d041886855ac7ca9b9533e8788a (commit)
       via  aa2aa4c69429444836821a92cb99396d02dcb996 (commit)
       via  b5464a6825e40e6d8ab2dd86c7ff5d65bedd64d4 (commit)
       via  42408347b86745fdbd4bec9ee3a6a3fee31c4dee (commit)
       via  4989adac848eb8f2fee8b98d9615d2fded22623b (commit)
       via  73866052f244927457202e4b0d1542bea529878f (commit)
       via  e1b988bba630c09564248ebb78cf29c70f2d04db (commit)
       via  874d7e6ef9c750b3e7bccd1dda98ada93f6554eb (commit)
       via  6a9deabec4faf3160a527d11ab5d6997dec7d66a (commit)
       via  04a3379aceaeb8e29f2586d756d5f2ef26c85e7e (commit)
       via  1799c0d064f21e09666fd1ab19a31a957202f18b (commit)
       via  10d76650106ac50cd690536014244a0a03778a8e (commit)
       via  53021dd1a03ecde87239c999d70c5591a91f1385 (commit)
       via  8f9a77affe98e0892c46504712a1f0d8372ec765 (commit)
       via  f06935a5c1ef4c978a995361241974917a4ab363 (commit)
       via  bd11d5d83775e6d05c8e49f2233fb1cf883ff5b4 (commit)
       via  a235d3aece0b1eeba3789f7e15d64e2e03224a4e (commit)
       via  3d0ec882241884d0cabb27f8fee1262dbc7cf9e7 (commit)
       via  fc6cda2ee85d2c2719db3b5ae3a1ae963f28416b (commit)
       via  44b8317a75390fd3713da6d8cc0f593c041fd8a2 (commit)
       via  12c58cd4dc805cbac97a6d93c971c2496313dce4 (commit)
       via  9f7efd5bf76aa5065298d13aefb109ecfd7a825a (commit)
       via  d4ed4da3f56e9281e22f0ec2d20def671fba52d1 (commit)
       via  a5bf7d4fe7a115a358528328b8d1ae221cd684fa (commit)
       via  7d5adfe3118050243e85469ad891c7813e4db68a (commit)
       via  e8eafa2bf8c95c1f2afc073e5244ff4ad0c0a805 (commit)
       via  6679754127e51d9c3bd0e387fabbe4e71038c8ce (commit)
       via  b19753ce31da347605dfa903c6fd2158e2444f0d (commit)
       via  2387dd904938566f5d1d6df6670b5dec9dd3f463 (commit)
       via  bc1e6c81d5b77d78282c47f6fd7f697e564a6eb6 (commit)
       via  73cca75e7b187800d473ef2dc5115dd509901536 (commit)
       via  93689493b376c4e5616c1679733619f96202c369 (commit)
       via  768adc05c44c7e8b5c0f9ca5ad3ca96657715293 (commit)
       via  498f644143437511c10b0cb30479e528d32ea02b (commit)
       via  7f3c5ec870943f7f32c946ff9459dfd04fcb8e07 (commit)
       via  a3fa21cadc29421553d2c956056f0a777dafd3d2 (commit)
       via  cd94f6d535d1ebd8f252185cd84d21fe0df3c893 (commit)
       via  325fac504a327de9c46a4e5cf9c88ece9d9d7701 (commit)
       via  8193adea2f86e37423a5d0acffb69b80bde05d52 (commit)
       via  0e00e962c57138f0dd8c261cbd6918782deec3c4 (commit)
       via  169fe0df159c04cd7344d24cc6b1268bd219f830 (commit)
       via  373c3dad74da78c46bc1fe4280a26d07e5b54cdd (commit)
       via  17c84ccaf042dfb7dd81e4670b74768fe5a96017 (commit)
       via  9c2996c98278a95593afaa79db0dc00bb2aff189 (commit)
       via  d41a5c096ec613f7df33d5d5ea4c0e512ac1e87a (commit)
       via  f807f43d7eba5bba3042554f9b3e884d71a68309 (commit)
       via  0a0df908277bc9c63ec546fb7cd15ea14ad4d9a0 (commit)
       via  d2dfe7003423d41394d2475680e55af796566b8e (commit)
       via  e2a92b16496f418e3c2c3b69eb5203b0b335df87 (commit)
       via  49b4de64242d4ae035e0e2197837278e33c187fc (commit)
       via  d7cd93a718c0ddd67e027e42db819d6f152c3500 (commit)
       via  fb324ee93a26dcf0560a911074c97dcfb9b3eeb4 (commit)
       via  fd486b633e87f8ab2977592d56a6d98168814e2e (commit)
       via  b82c1d974170c78cc7b4029da72baca29d0c15bc (commit)
       via  4f90d84b2f2995829d6af475077598d45ef1d127 (commit)
       via  e6d042fe27102cb789407ccb2ec1663aa9c65129 (commit)
       via  fc7514d6f2784390b7e6c65c0c9603ede0203f58 (commit)
       via  46a2d504dd875caf60f9be191a55c9ff676bcd5c (commit)
       via  5d9bbb73c1df68741048c3d0f837b50c289ea608 (commit)
       via  32348c581bf104d46c3fb42a7ff5cefe8ef65f7f (commit)
       via  dce084426d75b45ef728425a880d642a604c36a7 (commit)
       via  29063f8bfb9d68a213efd1d0ab7a66f97ed9a013 (commit)
       via  d68ff01f176038a3a1f21bd2a60dd3d5a2ea0343 (commit)
       via  1d8cb77dff14d44b1e3b670442438da496f99c6e (commit)
       via  7313bced5b695b71a707c82b6817763046e21bb1 (commit)
       via  f83683d5e8246251afaa89036ac0028adbd413b6 (commit)
       via  952c3f51ac994f5e98aa829076609124cf9e5243 (commit)
       via  58af639728582db42765e6f2c73ea61e75b66c8e (commit)
       via  8b71537b6be5d66d6b6cf1273f7acab0621adfc5 (commit)
       via  2c29df25b7c2ff006b45afd80ee6dd734ebbd47c (commit)
       via  12ec45de8ff3705f1e25e031b4502d31d4098f13 (commit)
       via  6097c91e1cc8ccffab1aefb7200069b668e1ab1b (commit)
       via  cc3c284619d0482506f532cc8c1b00018fe14136 (commit)
       via  855dde8e78665bc29482dd23c1f9ac3fda1ae72f (commit)
       via  e1b2624a08fae1f669d879946d5041945b4dc248 (commit)
       via  3569342c148dd1cb4b2e1bdafe64a9e3a3701813 (commit)
       via  f5c4fcd9712f516e2b5cfb8ad2464f0d5dfcc61b (commit)
       via  8d471ec1e73eea3ff8ff6954283f8f16e7a7bc84 (commit)
       via  a46c43f40a5faf27fc01062bad8d34c7751f18e4 (commit)
       via  5b64d091e9ede49e402cb9697d35a40559ee7ff0 (commit)
       via  27e5a270962fb92c07e7d476966ba380fa3bb68e (commit)
       via  361441170c2503ccd00aee8bc2b2accf4e121553 (commit)
       via  4295e285efa8193504ee08b9f633d9f8680bf181 (commit)
       via  a025b477cc466112af0b120c5f2bf5d62a62017e (commit)
       via  d8457a04b71cbd642a00352dce0539fe1fe22dd4 (commit)
       via  22d6c51be8de9a091d89c0e11e6e140f333ade62 (commit)
       via  00d5215ecec4fa0a78dcc37fec9425593753eb66 (commit)
       via  9b790ce7227fa346d08a41462119e9a3e93f5e80 (commit)
       via  49f190bcb7f074ea2e27d4e967e4fae9ed7dafb6 (commit)
       via  c413c44801e449f1f0b9828b81770e752b8219af (commit)
       via  a9ff5f12cff6cd06f74ecf387ac5468984c94c6f (commit)
       via  19f392bc2a93d9e64d063b884cd6eca547c8dad0 (commit)
       via  88dfca6c43c11dea69db24cfb87e6821e63e29b2 (commit)
       via  ae438bc5c06b770c00f37e4ed244707ce3ab9ff4 (commit)
       via  5f3bceb68dd211be977eb61d5f1ea68e7de51b7a (commit)
       via  21b65bac42c899df2049cdbd472b2e7242a40fbe (commit)
       via  bf1865065f64af2f32798c0327143baf99634e8d (commit)
       via  3b276c08506b32359570e56698dfc7fc4d9e43c4 (commit)
       via  cf6de44d75082116865a85cbf94db2632b679361 (commit)
       via  f245535cf583ae4ca13b10d47b3c7d3334593ece (commit)
       via  e8190051bb0effe35254d2968a4a62170f3bbc0e (commit)
       via  d846d3226826a2deb5e1759e19f93689c7003233 (commit)
       via  c1da6748f560ec19173d5d7766e0d497e8a0f1e4 (commit)
       via  a367a3acb383e7766602db840fad31ed4a1da655 (commit)
       via  bc99685c7387acaa9fc20f7e45e9cd477bf0c619 (commit)
       via  4aa4e28bdcf5f0d733def62b542fea11d5f219d5 (commit)
       via  1b2d85b255f11d0fce6c323f9e113673445c961a (commit)
       via  3b9a79ef767f0e7f8c5fecd7eea920f20084d3d4 (commit)
       via  ae9cf263fdd47c30b997fcf4627609df77ca64c1 (commit)
       via  27aba0477a4818fd760accd5b29a210d0ade2f42 (commit)
       via  db0a1c2b666b9612d77ee40b25875b286801f22d (commit)
       via  652a8f4f57243c41e71da06b6d0fe27540f3cbba (commit)
       via  f2b9e3dfd4bc3c5149496fdbeaa5f0907220685f (commit)
       via  049a857091cff98371b5688140832a3cf767153c (commit)
       via  424844864aa6f49c616b3bb74a0a5ba9bcb92e72 (commit)
       via  cd285db582fb1bd59db01e3dc29511d08999d05b (commit)
       via  0318424c7bd637453be8178506c18f24858ad7f6 (commit)
       via  3aa5cfa0d1cdbbd839884302535da28ca8c8b00d (commit)
       via  f99bd5f2c1e6b545a0a6cfb3b13f79deea84098e (commit)
       via  2e84f9c1b5770b803b739bcd157d7a457c22b56f (commit)
       via  8a37735f20f4cbd0cba49d49e57974faf8b9f19b (commit)
       via  09f92717713cfc7595b29caa3f017f88e7f7e279 (commit)
       via  3e8c34ea9d6ede278cc1a49fab7ccac7971aa32f (commit)
       via  f7d69005fb97f0d90c9eb414944a5035bfd67b36 (commit)
       via  afe002dd6619560c569ac0e080cbf220c826f989 (commit)
       via  6c95c841109309563e4436e0bd1a33464c847bd7 (commit)
       via  7763838e991e4d17a24c4214db5144eefd515543 (commit)
       via  5af962df4dda65216b83d0a954ea355296517f4b (commit)
       via  b2b383620e85d6611044a1d98869831074ccb2f2 (commit)
       via  c616591359a014fcfdb5acb48e70ecda0823fb46 (commit)
       via  00927233079d1d65826fd611019e9167706b9ec6 (commit)
       via  8941017bc0226b60ce306d5271df15820ce66a53 (commit)
       via  57f6d32deafcfec43bef5e963e12aacc0783a1e4 (commit)
       via  7229b687db8c5fe9c1534b763dea6d1211ff3993 (commit)
       via  3c4f32287f2271ee46cf57669f867b39f716fe46 (commit)
       via  f53be9779bb1220f33a8a45615e0fafd7b6f47c4 (commit)
       via  74437ea28fb611d4c88077b486fd7c0a8b4c2a25 (commit)
       via  7fac69100a7c1fb52b2e044294a858272bad4e46 (commit)
       via  1cc90bb7ed1c1d66699083cbfe3f5254367454e1 (commit)
       via  6395d38b7ffd231a3b7b5a67b47e1bda947089ee (commit)
       via  8b2f3453b768a3ecd4c7f7d2ddcb138be7487a09 (commit)
       via  53720c495c7c25f9b0f4bfce3269c6c8a7696522 (commit)
       via  8a9e8e72fe88095043d16f8a56b5a1e150ee288b (commit)
       via  e55c2fc0ef151054f4a1603799d8ecd6a3f407bd (commit)
       via  1b8b65328f8825444a7370a7817f2802b0e1a7c9 (commit)
       via  68c398921742291719d97f803891b5113874a22b (commit)
       via  c2abbbebcccf6c9403f8d6327e3fe3655acffbc1 (commit)
       via  1a336194b70b712074a3f5479a01cc221003a152 (commit)
       via  980aa3e6dfeb0f018915f65be4b2987667f31fe9 (commit)
       via  65b94e90977efe3235381708f5a3e0d541026d88 (commit)
       via  8a36df4dcfa3cb89779e1a3eaca8067426e9cad6 (commit)
       via  4dd72ffdfe254fec30fd5eab0c5fd4445df73529 (commit)
       via  a87aa054a67e23faeead400bdf902a1eddb242a4 (commit)
       via  0955507f6e7144c9c5e420bbcf617593b13de38b (commit)
       via  4edcc97c1a892325fcda1abe0d383802cc87a869 (commit)
       via  e3e9290d6c7bc276ac6a15a9d5793a49dde92c41 (commit)
       via  ceada89664de30158de12d3d8f7bd7880ff6af29 (commit)
       via  ae68ff9f280902d9cead28b90979e75dc046492e (commit)
       via  4811ccb48f0d24b9ae2ce37a06af575fbd83a55d (commit)
       via  c4dd0ba27f10cb4cb27a9d89f9620648f9cb5165 (commit)
       via  754653a7c0a43a668a38aa30c4063b9e292a19f9 (commit)
       via  4a64c29a551392f193e5cb4d876da4683b6e64bb (commit)
       via  6b40c462310066612636ec7434645ec7b46ff135 (commit)
       via  bb1fe4acb8927fc4d451402f3f5fc245144c987e (commit)
       via  0a1ddfa6b67201bb06f51fb47b56096e81bec5c0 (commit)
       via  bdd78711b4c1ae26dbc8c2a64f28abec3486ae6c (commit)
       via  ab548d2db9ac35675d1b700ecbf007ae0cf3d83d (commit)
       via  47f7f636bc8abc3c41848a412a68ca6aa36dbd21 (commit)
       via  1130c90ed7c8d1bc7b70c701b62cdbc23ac9fc01 (commit)
       via  4ba25152ff03e835bbbb2512ea71b7fefe3b7e89 (commit)
       via  9f84726cd51ed081b0a042a94a8804b92481c4be (commit)
       via  34f81801be0b294a93ac73bac6f6195a66d10b98 (commit)
       via  d9de1fe3d5607f96491e8f16f474b9441cbec849 (commit)
       via  38334d6de448272c3bd831e3410dbc337fc2739d (commit)
       via  e9d9abd7470ea500eb4e82567fff68e87a30efb9 (commit)
       via  3589529e3cec4a5a72cd161959055d1e48dcf129 (commit)
       via  6342be709e8749d0a44c02e1876ddca360bfd52f (commit)
       via  344bde0a7f812ff03139ab53aecd61674eb143bf (commit)
       via  5ce912d8016857990f894d10e15516c17cf7d653 (commit)
       via  9d30b0bdab56a563a29984705778168ae93f71ae (commit)
       via  d44ea5d05b305bebedd2afaf344b361c5c2f9815 (commit)
       via  eacfca90f1ff457d3a7be9d593040218b6208d2b (commit)
       via  ed02c2d1944169075bff73de3c31bad80ecdd2c7 (commit)
       via  6bb90213cb7b8e2f3be20f2e46f11f57f0c9ce55 (commit)
       via  5fbe0d878a691b9be42bb2bdebd027ac3dfd38c2 (commit)
       via  4ca0333f073cb4d86fe9d4e64c9dfdca5deba1e0 (commit)
       via  888a7fc3665a67e20da1bce2f865b0ff9ef15842 (commit)
       via  ca942b53cec608a3df1a351b504852e4e64c5e90 (commit)
       via  a8cc20ac0638fde53888381bfe138ef7e200cf3e (commit)
       via  23be02821c784564f6fa5894dfd14e4656671f69 (commit)
       via  20c2c024c1e89e402a57e8c3577fb9777709d9a4 (commit)
       via  03bcd7394eefb9399f5ab97919a0463dea274c02 (commit)
       via  bbfa2517ded26c1ba9e1af37671565a1a5e6bbc6 (commit)
       via  873f10f02f5959ce9b74cc5b599f5006147de940 (commit)
       via  0646e07d6e88045d650ee1ec5b674da1cdeaa6b6 (commit)
       via  f077e978deccac00fea013c4f120122bf6726834 (commit)
       via  ed036b4052193ba6790ba7ee94a33a364ace3b55 (commit)
       via  c8ef42eed100c2439e600e846caa7437da93ac17 (commit)
       via  9c235a72a112c5656f17499c0c0d3ad73609833d (commit)
       via  201506dadd117df72d0528f735e44ce2e68cc66f (commit)
       via  576438f0fa3ecbe0b49b3bcc2f028d586d198247 (commit)
       via  dd90581873482f67922a4ace92dafdfdfed09f3c (commit)
       via  d311bc8bf85f8358df21301fe8a357aa1212f80c (commit)
       via  8a2058b5e3318a337a6fecd61b91349d1131758e (commit)
       via  e47d628fad1517ff91e8d66eb4609d84c35a2b1c (commit)
       via  46da9242e8f4e4f85dfb2eb1da5603b89126e78f (commit)
       via  63373e4f1610f3917cdb034b8e34dbd44c86489d (commit)
       via  6e859fd22942c6b8077416e01e50355da6cbc052 (commit)
       via  d44c67f38178c5ad0c083ebff6429d6e477ea42e (commit)
       via  626c539f2edd20e351732cc23e30988853b08ca1 (commit)
       via  38326bfc8bdba796967f3bb78aa62c2a29d29b34 (commit)
       via  eb2332d78d4ef40a2696aa0f6c833ea26a739efc (commit)
       via  63c61e04bb7168f0819fc590ac44e7583b225f7b (commit)
       via  a4aa1f5f01456222b47096e19018a8adc251cd58 (commit)
       via  9b19e39006796a4dc90f9801f44bb6f07fdb6386 (commit)
       via  2c103b3d3b104557ac690a68a72105eeb7aae60e (commit)
       via  fa0843f50204bfd46b444c0ded6a1df1051c876e (commit)
       via  fc177366b0e1f4654f480d0810b0c41084b8b017 (commit)
       via  5357150c97899af2cc93072780a9c3a128c5b1ae (commit)
       via  31925464a80970e37c06192a0c49f8948a2f5da0 (commit)
       via  b31f9478185764487b1dcfb2803ed9c399c40ed1 (commit)
       via  b69fc9d9f3b68420f7c2b5c57167a1f5c8fac279 (commit)
       via  6f64fd48c500baf7792c7995d853a4383c5f2ba0 (commit)
       via  527aaa4a3143afedd8dd85aa70862328a9dbe627 (commit)
       via  4c171e25a8c83fc26b78430fa632fa9e64f61050 (commit)
       via  78d983e9ea6bf289d76bc2dce45397501371b5a7 (commit)
       via  6b97945424f3714d2f9f6866079fd2bc658f4285 (commit)
       via  474a2d9f5f8a080e30812525729c3a8b7baa61d6 (commit)
       via  752cf9131f9e0fc39f9be5c1933d2f4d5b0b5ac9 (commit)
       via  52c3c391f4a4a38ca921e5e7b5dce92e62079f34 (commit)
       via  3785f51aa2454dba199db8aafa80019795d536ec (commit)
       via  f300578f78f5ecddc9cfb28c02d032a0acffdf70 (commit)
       via  90ac242072dc68ad454aaaa228868b0f1c8e10f9 (commit)
       via  b14bdb3bab20db9d200d669dfb5e2eadde7b14cc (commit)
       via  7b17065f843252c27e8b9c093f78382079fe4d7f (commit)
       via  bf174910c85dee65d9bbacb5cb5a40c1c7a91399 (commit)
       via  585bc974b1c891636b8e0c7ebe8c21e2a6728771 (commit)
       via  8be1e36919a884152d7115f4f4b8c0cfcf086a1f (commit)
       via  6a2775793d17c8a73956977c75111b33ec10ec37 (commit)
       via  39b22471578843019026c50fcdbe0483a6045970 (commit)
       via  7f6bf02d58c837d0a5f1e266058cc0e6bd6fc318 (commit)
       via  dbd8770c866ae978feb5ce9e71f64b9f7204d802 (commit)
       via  d93d1c80b351a424c1737436b5e7dfb44ddc9d46 (commit)
       via  4e796e9fedee43829c3eef17f557127d08cead12 (commit)
       via  3807734dbe48f212629e70aeecb8c8c46bb9653c (commit)
       via  01d3dedf60912cee478c242d575f4683adada1d2 (commit)
       via  73971819031d74eb846805a9fbfad04ba1dff500 (commit)
       via  b2b6a7dab91de9a616e1d76c869d127c5752b9e6 (commit)
       via  834c0d033bdade640aab149d0d4bd7b41dcb16af (commit)
       via  0375b0a53725b5b0bddcf8d31b707909f91afcb0 (commit)
       via  fe152e64f65de9cfb6f2059b76be98712baa7b56 (commit)
       via  a848a2271b9bd45400e875a2518ebedf1efba2fa (commit)
       via  c7318def0cbfc6f0e1bab5fb54306efaf9ed3a5c (commit)
       via  24cdb46e9f0a694b4fbc11085e094857f08c0419 (commit)
       via  f571390111e28717935ea1b6edd1afc902c5c61c (commit)
       via  2c00092dced3808ce4dcb76a9e7c473530dd01e8 (commit)
       via  007801eeb19ed565eb4dc4020831f6d293f46930 (commit)
       via  55872e496e89285814d11f03bb543091d6757318 (commit)
       via  669f9429c7b5a9e827497c5ad70efb6a570c8c7d (commit)
       via  51132311dbc5ac5fc1724f0cb9baeaefffd0ae67 (commit)
       via  5ff559107a34a664abf7db01cc9db93e3597d466 (commit)
       via  3eb7562a983bab4c768983bcd85708852d171121 (commit)
       via  80614914274f7166baea2ec656aec6a949869324 (commit)
       via  f348d89aeccaf3eb613e2f31a823baa64300bf88 (commit)
       via  7cfee229f1eb6e3ee98b63918a5189a330284751 (commit)
       via  68994ca2c06b55c46e53d670bc10869e7f1bc5fe (commit)
       via  e5ca03b41d2c94919d5cb59d8d7adad98c29d156 (commit)
       via  02183cb7d306469dc7cf57f39c97bf3e98829585 (commit)
       via  6a17ca318b7bc453831049f1d8bbc7f336f5ac5a (commit)
       via  d8024a9189b9e686e403512a96e4256823b5c6e4 (commit)
       via  8a286b63457628b0a55d395f14005f254512e27d (commit)
       via  db9537d2b735300b129e2715012ae249ee015f58 (commit)
       via  f091cf02943c1ef8667742d28a8db82d0748f908 (commit)
       via  8e8fe55a608b9202f167bcd8a6721941de2b7e65 (commit)
       via  d6d4df4a93acc8663f4e81fbf0a83a33d2cf41f8 (commit)
       via  c632e428c2fd707b83a2c61e0b25b473e3d7d18e (commit)
       via  ed1b027aa06ade22834e7d876dfccc4ec94e848a (commit)
       via  3906a8fc773a405b511faed030e4630ecbd4b8a9 (commit)
       via  69ffd7f270c8a3f1b577848d2536b93ed01287de (commit)
       via  1baf514936892a01d8ea49c2c1ccfd7ecd3b7dcd (commit)
       via  b126985ec3f922f86a9fa164cc0f443b1aa9e0bb (commit)
       via  7ea12e5c3ad54da440c08f32da09534e63e515ca (commit)
       via  cca8e7e482abd37f1e199d7663d26fe8146fb84f (commit)
       via  54ddd295b505efe4b07cc1e939d4e150032603d8 (commit)
       via  4ba2ef8fbe74716708e5ce0bcba4f3b1cc8ac99a (commit)
       via  024425668d120663a73913352df701c8f0aea316 (commit)
       via  6f67973b4280cfd045e632a3340becd16e43b4b1 (commit)
       via  fcd4a73d7dc3505662b4d58489f4c1b8b003b8f3 (commit)
       via  dabcfa6ef3e6251b1721b59e5ee4e65d74399011 (commit)
       via  282a0691a725d1f6653840728449adb297c8c856 (commit)
       via  d10153cfc6cb319a75ceb3e3d34ac30efa17e518 (commit)
       via  8d2a0a14e53945eb260c08752654bd03a240ecf7 (commit)
       via  f72b08723773bf6e5f4dc86777501c744642da15 (commit)
       via  33541b2e56a653b9260fb1dc2cd7dd73b0c49169 (commit)
       via  979659d08478172311764b468bfce4960b38760b (commit)
       via  89d77b8a520602832516ce6628ea930b4f0ccff4 (commit)
       via  fa3fcee7b8c73070306ec358e730d1dfcac246bf (commit)
       via  a94d834c9d0108f0bb50ddc311554d1bed320f54 (commit)
       via  2d5bddc1eb5d2c04ed142c7ba6fc13e2e3a28079 (commit)
       via  80b476c2bf85be6676cc6b55dab232730e124147 (commit)
       via  dfdaec14b0db059497b47b515d753b6383772b6b (commit)
       via  751b375e01e7e85aeccdd965578cb2040836593d (commit)
       via  b2bd7787d3e5f87f66761f555d89b8ce5d631a62 (commit)
       via  41bfcd638a4e0e48b96ce4de2845372dea481322 (commit)
       via  781bf64d2414f70c51938e15ebce5c88e7172e55 (commit)
       via  e3465b24a22bd1f783313e680aa76bac83c8aaf5 (commit)
       via  5e3d6ca4de0d34b32179db62a27efbd2ae420cf9 (commit)
       via  a161b769b0a80b1d183f2b927bf7ae41b0c66d18 (commit)
       via  3e684cf25ae7cd8a1d118647c5b02f43d094298e (commit)
       via  c88960d081f0b37ec03c66a13115e2a68e40d1ad (commit)
       via  76539d80f708c535133c4a2a1eef61da305a3e80 (commit)
       via  4931146e91c3c8208f1e0b8462b8f33e70da506a (commit)
       via  ff20cab8a222c43de501a340016e11cae6a272a7 (commit)
       via  7bd374a44d1db21b54a9a52ecde1d064cdaa8cd1 (commit)
       via  db18dbabad8e7b63e98d47813ef20acac7072350 (commit)
       via  61d2d2b5492d892d804861225b45396fdaa0b404 (commit)
       via  147d994bcdd36a177e49e7b6ac8d9c1f7b4cdcf5 (commit)
       via  7fca8e8ff70e53aeb5459cbe1438d168d5624958 (commit)
       via  23fcf59aebe1323d7a8584c00699d688d1273828 (commit)
       via  b6e11d01e075b79cdc70261a83bd3b840fb80c5d (commit)
       via  293acfae4e3c9aad417e262edc9847c79bbbbb11 (commit)
       via  6598661d14c90cabac1daa5e683d1e17883b2e41 (commit)
       via  0b31a4bcec2efec9bc8ca40deb61123c52690a2e (commit)
       via  8484fb75874eb9ef35710ac6579433f062ddba18 (commit)
       via  54806ffa85643c3a1ee721d5c3f5586d32f86ee1 (commit)
       via  40c31709c6a51926fcb409611caa52b2da6515c0 (commit)
       via  9cf12d57c58a82cfe3e6fee26d1ea55dfe49f9c4 (commit)
       via  d0d4152fa5c87532bf05007def680b5a536e1827 (commit)
       via  8769bc4bab847cefc2bb5682a0a0dad579528ac8 (commit)
       via  e0461dbb653dbb3c46ea7a15054fd2c98f879f31 (commit)
       via  698f8cbbbb6a47c29967188d9fdf8486920af8b7 (commit)
       via  8194e927cc66e8cceb9890240ad75363b3ca6d53 (commit)
       via  0e1a6a5169023ee0c19de2c9160b469e43634b21 (commit)
       via  d617208bb06bd461b52ce041d89f7127e3044762 (commit)
       via  3a1518e4f3c467cfee2786b0af3388529f14d23b (commit)
       via  c0272db5854a799a9f3bb3803c3d03d1a62b9ac2 (commit)
       via  95804507f2645c1cce29f2e1a33031accaa6aa24 (commit)
       via  a173d7f80df1bb1edeb627bbfbe613e27cdc584c (commit)
       via  074e493dbdfcbd36819593f5797370585edf0118 (commit)
       via  e34879080d8935792ef3942efa5f25b4c3169b5a (commit)
       via  49ecef2a7da2ee9df4ae675f99b70518fbf1bb23 (commit)
       via  463888ab6be549e8dcc9eac36dc07c1c237e2968 (commit)
       via  cac709756b00c57a375f40e032d2eb4f5dbd3804 (commit)
       via  e98c9e7ce1c9fd2a5ad99ae2de637b4c16d999b3 (commit)
       via  eed2386e45968fa4fee8d093895f4789044fb077 (commit)
       via  c02d11a585398734a2178d65a17411cd3050b9d2 (commit)
       via  70ad8739d8ec7a79ef28305c0975df503535b88a (commit)
       via  fecd57f9f1f58f043861d5929a650f35a88a6caa (commit)
       via  89b829a8b3fc79f37f0506b11ad5d1ababcb7588 (commit)
       via  12df5c002dcbfc5ac54983e1e7040a182f71a753 (commit)
       via  305450edd3f96bfeebff78300e1e93487563d90a (commit)
       via  f515a1d643b599ebb8a23d3d95e9f0dfc8261a11 (commit)
       via  c25b7ccef4d6d96ed4af1d27c79d78767dba7161 (commit)
       via  e3821cca157e93677ef098bf36526ccf24f497ac (commit)
       via  2583da7cd64e680e43cf92c8022eadee84357b3b (commit)
       via  21536b367ce73eed103e1389b5f45010f0c96bbb (commit)
       via  8901d1936e4e691f0b3b976f5626ac5a8f27aa7f (commit)
       via  0e9a339ec8ffab80fdbe97adaf888fe03b73fe22 (commit)
       via  4281b351bfa3b646ab531cf73c56e49366fef108 (commit)
       via  984a2c042e82f2306183d9d165c5cb99e4341503 (commit)
       via  bec903c96bc5119e357b4ad2cab99bbee7de628e (commit)
       via  63c40ec727109e2bb2956ab95968350df00c1aa1 (commit)
       via  9aa76cd0a7b2cfdcc9da31e7763a695fac89f569 (commit)
       via  811f8301f8054eb964e92af63930c4495207e7d5 (commit)
       via  bae62ee2087bb54fd06746c99de9b734cc58a721 (commit)
       via  0c66ea4c5e46372c7411f67b0ba21d7de5215958 (commit)
       via  7982a1dd2560ff2910c17ceff376980412b91d30 (commit)
       via  0f118bc7a620f3e3ceff6f2fadca7b8d287a553b (commit)
       via  b1b53fb3ef077bf4412da53f0057b9c0e9ed4f3e (commit)
       via  982c6f2665bad6c8fec6ee75ffb3c5af60a285a6 (commit)
       via  5df1bc570fcc5ef5257b7a044acdaeb6b95b9822 (commit)
       via  c092a4d9154f09e6c67648efb723878d7a74f44f (commit)
       via  dbaed3853474e7bd824a25bc454a8f2fdd71d2b3 (commit)
       via  5fa14c6b9789bad6f91dd21889f7b1a0eb75c6d0 (commit)
       via  da95a26cc381c0f092f515ffe108075985c16d7f (commit)
       via  37fd5ef3ecc58caacd6abb4ace3d8b559e3db53d (commit)
       via  0064d22386b99c047bbff3bcc73b6bfce9c29b4c (commit)
       via  9ab8247228844bb6608d6b2c99b6d8732bab08c1 (commit)
       via  027d97f8b0193a8113ee60bafc686d45d0af59ee (commit)
       via  7674d381b47f9f2411c0ca1da0c152940dc0d7bd (commit)
       via  72b5d09937fa2dac8ca7c801b9ddefe1b0176b6f (commit)
       via  5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0 (commit)
       via  f2629855d950f42c6d6ed7132cf94dd70e308985 (commit)
       via  bedbe19cc09fbb6e921872334bfcd371ac5b769d (commit)
       via  b751e639fcc69ba6e1d8ccc0fef2be1522802a33 (commit)
       via  3ce512885ba76da53fae84cd1a555bc721fdd25e (commit)
       via  0806868fa0e7c4aa58859c1d6ec273a38787ab12 (commit)
      from  52645a05599acd7423d36ce503c429df544479d7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit bafd5fd4f7aece42f52b297ab26e95ada81b9346
Merge: 52645a0 2739ef6
Author: Stan Cox <>
Date:   Fri Oct 27 10:43:55 2017 -0400

    Merge remote-tracking branch 'gdb/master' into scox/globalstate

commit 2739ef6db8e9a152f7b0ef8d012b394eb41a5dc5
Author: Igor Tsimbalist <>
Date:   Mon Oct 23 13:09:26 2017 -0700

    Add missing ChangeLog entries

commit 66cae56016a12f7cbdc94be6f82c1cad1c59b521
Author: Nick Clifton <>
Date:   Mon Oct 23 18:16:49 2017 +0100

    Make sure that undefined symbols added to the linker command line via the -u option appear in the output executable, if they have not been resolved.
    	PR 22319
    bfd	* elflink.c (elf_link_output_extsym): Keep global undefined
    	symbols if they have been marked as needed.
    ld	* testsuite/ld-elf/pr22310.s: New test source file.
    	* testsuite/ld-elf/pr22310.d: New test driver.
    	* testsuite/ld-mmix/undef-3.d: Update expected output from readelf.

commit fe4e2a3c9281851c9da99a6e36a2bc96e4279476
Author: Igor Tsimbalist <>
Date:   Mon Oct 23 19:28:46 2017 +0300

    Fix the master due to bad regenerated files
    	* i386-init.h: Regenerate
    	* i386-tbl.h: Likewise

commit defc8e2b3576c28fd5651763348ae23c18a94170
Author: Maciej W. Rozycki <>
Date:   Mon Oct 23 15:39:46 2017 +0100

    MIPS: Preset EF_MIPS_ABI2 with n32 ELF objects
    Fix a bug in MIPS n32 ELF object file generation and make such objects
    consistent with the n32 BFD requested, by presetting the EF_MIPS_ABI2
    flag in the `e_flags' member of the newly created ELF file header, as it
    is this flag that tells n32 objects apart from o32 objects.
    This flag will then stay set through to output file generation for
    writers such as GAS or GDB's `generate-core-file' command.  Readers will
    overwrite the whole of `e_flags' along with the rest of the ELF file
    header in `elf_swap_ehdr_in' and then verify in `mips_elf_n32_object_p'
    that the flag is still set before accepting an input file as an n32
    The issue was discovered with GDB's `generate-core-file' command making
    o32 core files out of n32 debuggees.
    	* elfn32-mips.c (mips_elf_n32_mkobject): New prototype and
    	(bfd_elf32_mkobject): Use `mips_elf_n32_mkobject' rather than
    	* config/tc-mips.c (mips_elf_final_processing): Don't set
    	EF_MIPS_ABI2 in `e_flags'.

commit ee6872beb1912af41a506c8aea34af7d2f873d04
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 23:56:30 2017 +0300

    Enable Intel AVX512_BITALG instructions.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add .avx512_bitalg.
    	(cpu_noarch): noavx512_bitalg.
    	* doc/c-i386.texi: Document .avx512_bitalg, noavx512_bitalg.
    	* testsuite/gas/i386/i386.exp: Add AVX512_BITALG tests.
    	* testsuite/gas/i386/avx512f_bitalg-intel.d: New test.
    	* testsuite/gas/i386/avx512f_bitalg.d: Likewise.
    	* testsuite/gas/i386/avx512f_bitalg.s: Likewise.
    	* testsuite/gas/i386/avx512vl_bitalg-intel.d: Likewise.
    	* testsuite/gas/i386/avx512vl_bitalg.d: Likewise.
    	* testsuite/gas/i386/avx512vl_bitalg.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_bitalg-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_bitalg.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_bitalg.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_bitalg-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_bitalg.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_bitalg.s: Likewise.
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3854, PREFIX_EVEX_0F388F.
    	(enum): Add EVEX_W_0F3854_P_2.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_BITALG,
    	(cpu_flags): Add CpuAVX512_BITALG.
    	* i386-opc.h (enum): Add CpuAVX512_BITALG.
    	(i386_cpu_flags): Add cpuavx512_bitalg..
    	* i386-opc.tbl: Add Intel AVX512_BITALG instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Likewise.

commit 8cfcb7659cb844dff00efbbb644c15b650fb7e8b
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 23:52:52 2017 +0300

    Enable Intel AVX512_VNNI instructions.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add .avx512_vnni.
    	(cpu_noarch): Add noavx512_vnni.
    	* doc/c-i386.texi: Document .avx512_vnni.
    	* testsuite/gas/i386/i386.exp: Add AVX512_VNNI tests.
    	* testsuite/gas/i386/avx512vnni-intel.d: New test.
    	* testsuite/gas/i386/avx512vnni.d: Likewise.
    	* testsuite/gas/i386/avx512vnni.s: Likewise.
    	* testsuite/gas/i386/avx512vnni_vl-intel.d: Likewise.
    	* testsuite/gas/i386/avx512vnni_vl.d: Likewise.
    	* testsuite/gas/i386/avx512vnni_vl.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni_vl.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vnni_vl.s: Likewise.
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3850, PREFIX_EVEX_0F3851.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_VNNI,
    	(cpu_flags): Add CpuAVX512_VNNI.
    	* i386-opc.h (enum): Add CpuAVX512_VNNI.
    	(i386_cpu_flags): Add cpuavx512_vnni.
    	* i386-opc.tbl Add Intel AVX512_VNNI instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Likewise.

commit ff1982d53a1fba573e7f9a3b455f7644440cb336
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 23:42:40 2017 +0300

    Enable Intel VPCLMULQDQ instruction.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add VPCLMULQDQ.
    	* doc/c-i386.texi: Document VPCLMULQDQ.
    	* testsuite/gas/i386/i386.exp: Run VPCLMULQDQ tests.
    	* testsuite/gas/i386/avx512f_vpclmulqdq-intel.d: New test.
    	* testsuite/gas/i386/avx512f_vpclmulqdq-wig.s: Ditto.
    	* testsuite/gas/i386/avx512f_vpclmulqdq-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/avx512f_vpclmulqdq-wig1.d: Ditto.
    	* testsuite/gas/i386/avx512f_vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/avx512f_vpclmulqdq.s: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq-wig.s: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq-wig1.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vpclmulqdq.s: Ditto.
    	* testsuite/gas/i386/vpclmulqdq-intel.d: Ditto.
    	* testsuite/gas/i386/vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/vpclmulqdq.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig1.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig1.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Ditto.
    	* testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-vpclmulqdq.d: Ditto.
    	* testsuite/gas/i386/x86-64-vpclmulqdq.s: Ditto.
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3A44.
    	(enum): Remove VEX_LEN_0F3A44_P_2.
    	(vex_len_table): Ditto.
    	(enum): Remove VEX_W_0F3A44_P_2.
    	(vew_w_table): Ditto.
    	(prefix_table): Adjust instructions (see prefixes above).
    	* i386-dis-evex.h (evex_table):
    	Add new instructions (see prefixes above).
    	* i386-gen.c (cpu_flag_init): Add VPCLMULQDQ.
    	(bitfield_cpu_flags): Ditto.
    	* i386-opc.h (enum): Ditto.
    	(i386_cpu_flags): Ditto.
    	(CpuUnused): Comment out to avoid zero-width field problem.
    	* i386-opc.tbl (vpclmulqdq): New instruction.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 8dcf1fadf2b0763962639fc5dcedc1892e502265
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 23:35:45 2017 +0300

    Enable Intel VAES instructions.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add VAES.
    	* doc/c-i386.texi: Document VAES.
    	* testsuite/gas/i386/i386.exp: Run VAES tests.
    	* testsuite/gas/i386/avx512f_vaes-intel.d: New test.
    	* testsuite/gas/i386/avx512f_vaes-wig.s: Ditto.
    	* testsuite/gas/i386/avx512f_vaes-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/avx512f_vaes-wig1.d: Ditto.
    	* testsuite/gas/i386/avx512f_vaes.d: Ditto.
    	* testsuite/gas/i386/avx512f_vaes.s: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes-intel.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes-wig.s: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes-wig1.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes.d: Ditto.
    	* testsuite/gas/i386/avx512vl_vaes.s: Ditto.
    	* testsuite/gas/i386/vaes-intel.d: Ditto.
    	* testsuite/gas/i386/vaes.d: Ditto.
    	* testsuite/gas/i386/vaes.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes-wig.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes-wig1.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512f_vaes.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes-wig.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes-wig1-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes-wig1.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512vl_vaes.s: Ditto.
    	* testsuite/gas/i386/x86-64-vaes-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-vaes.d: Ditto.
    	* testsuite/gas/i386/x86-64-vaes.s: Ditto.
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F38DC, PREFIX_EVEX_0F38DD,
    	(enum): Remove VEX_LEN_0F38DC_P_2, VEX_LEN_0F38DD_P_2,
    	VEX_LEN_0F38DE_P_2, VEX_LEN_0F38DF_P_2.
    	(vex_len_table): Ditto.
    	(enum): Remove VEX_W_0F38DC_P_2, VEX_W_0F38DD_P_2,
    	VEX_W_0F38DE_P_2, VEX_W_0F38DF_P_2.
    	(vew_w_table): Ditto.
    	(prefix_table): Adjust instructions (see prefixes above).
    	* i386-dis-evex.h (evex_table):
    	Add new instructions (see prefixes above).
    	* i386-gen.c (cpu_flag_init): Add VAES.
    	(bitfield_cpu_flags): Ditto.
    	* i386-opc.h (enum): Ditto.
    	(i386_cpu_flags): Ditto.
    	* i386-opc.tbl (vaes{enc,dec}{last,}): New instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 48521003d5300e1390d78dbbcae83febe5808aaf
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 23:26:11 2017 +0300

    Enable Intel GFNI instructions.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add .gfni.
    	* doc/c-i386.texi: Document .gfni.
    	* testsuite/gas/i386/i386.exp: Add GFNI tests.
    	* testsuite/gas/i386/avx.s: New GFNI test.
    	* testsuite/gas/i386/x86-64-avx.s: Likewise.
    	* testsuite/gas/i386/avx.d: Adjust.
    	* testsuite/gas/i386/avx-intel.d: Likewise
    	* testsuite/gas/i386/ilp32/x86-64-avx-intel.d: Likewise.
    	* testsuite/gas/i386/ilp32/x86-64-avx.d: Likewise.
    	* testsuite/gas/i386/avx512f_gfni-intel.d: New test.
    	* testsuite/gas/i386/avx512f_gfni.d: Likewise.
    	* testsuite/gas/i386/avx512f_gfni.s: Likewise.
    	* testsuite/gas/i386/avx512vl_gfni-intel.d: Likewise.
    	* testsuite/gas/i386/avx512vl_gfni.d: Likewise.
    	* testsuite/gas/i386/avx512vl_gfni.s: Likewise.
    	* testsuite/gas/i386/gfni-intel.d: Likewise.
    	* testsuite/gas/i386/gfni.d: Likewise.
    	* testsuite/gas/i386/gfni.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_gfni-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_gfni.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512f_gfni.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_gfni.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vl_gfni.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx_gfni-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx_gfni.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx_gfni.s: Likewise.
    	* testsuite/gas/i386/x86-64-gfni-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-gfni.d: Likewise.
    	* testsuite/gas/i386/x86-64-gfni.s: Likewise.
    	* i386-dis.c (enum): Add PREFIX_0F38CF, PREFIX_0F3ACE, PREFIX_0F3ACF,
    	(enum): Add VEX_W_0F38CF_P_2, VEX_W_0F3ACE_P_2, VEX_W_0F3ACF_P_2,
    	EVEX_W_0F3ACE_P_2, EVEX_W_0F3ACF_P_2.
    	(prefix_table): Updated (see prefixes above).
    	(three_byte_table): Likewise.
    	(vex_w_table): Likewise.
    	* i386-dis-evex.h: Likewise.
    	* i386-gen.c (cpu_flag_init): Add CPU_GFNI_FLAGS, CpuGFNI.
    	(cpu_flags): Add CpuGFNI.
    	* i386-opc.h (enum): Add CpuGFNI.
    	(i386_cpu_flags): Add cpugfni.
    	* i386-opc.tbl: Add Intel GFNI instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Likewise.

commit 53467f5707ec796c0490d55e74854258a78013f8
Author: Igor Tsimbalist <>
Date:   Fri Oct 20 22:52:59 2017 +0300

    Enable Intel AVX512_VBMI2 instructions.
    Intel has disclosed a set of new instructions. The spec is
    	* config/tc-i386.c (cpu_arch): Add .avx512_vbmi2.
    	(cpu_noarch): noavx512_vbmi2.
    	* doc/c-i386.texi: Document .avx512_vbmi2, noavx512_vbmi2.
    	* testsuite/gas/i386/i386.exp: Add AVX512_VBMI2 tests.
    	* testsuite/gas/i386/avx512vbmi2-intel.d: New test.
    	* testsuite/gas/i386/avx512vbmi2.d: Likewise.
    	* testsuite/gas/i386/avx512vbmi2.s: Likewise.
    	* testsuite/gas/i386/avx512vbmi2_vl-intel.d: Likewise.
    	* testsuite/gas/i386/avx512vbmi2_vl.d: Likewise.
    	* testsuite/gas/i386/avx512vbmi2_vl.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2.s: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2_vl.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512vbmi2_vl.s: Likewise.
    	* i386-dis.c (enum): Add b_scalar_mode, w_scalar_mode.
    	Define EXbScalar and EXwScalar for OP_EX.
    	(enum): Add PREFIX_EVEX_0F3862, PREFIX_EVEX_0F3863,
    	(enum): Add EVEX_W_0F3862_P_2, EVEX_W_0F3863_P_2,
    	EVEX_W_0F3870_P_2, EVEX_W_0F3871_P_2, EVEX_W_0F3872_P_2,
    	EVEX_W_0F3873_P_2, EVEX_W_0F3A70_P_2, EVEX_W_0F3A71_P_2,
    	EVEX_W_0F3A72_P_2, EVEX_W_0F3A73_P_2.
    	(intel_operand_size): Handle b_scalar_mode and w_scalar_mode.
    	(OP_E_memory): Likewise.
    	* i386-dis-evex.h: Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_VBMI2,
    	(cpu_flags): Add CpuAVX512_VBMI2.
    	* i386-opc.h (enum): Add CpuAVX512_VBMI2.
    	(i386_cpu_flags): Add cpuavx512_vbmi2.
    	* i386-opc.tbl: Add Intel AVX512_VBMI2 instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Likewise.

commit f6af9f3428fa86030ba8ecd2da7d11e4ee1ed989
Author: GDB Administrator <>
Date:   Mon Oct 23 00:00:26 2017 +0000

    Automatic date update in

commit 67c04379acee0da10f148edc3d8903859d928f68
Author: Hans-Peter Nilsson <>
Date:   Sun Oct 22 13:32:44 2017 +0200

    Fix spurious left-over quotes from last edit.
    With a 32-bit bfd (default on an ILP32 system) the previous markings
    on tests *were* correct.  There, the results have been consistent
    since they were added.  The tests would appear to "spuriously" xpass
    "only" on LP64 hosts, which were not the norm in 2000.  (But, now CRIS
    requires a 64-bit BFD.)

commit 56fbd041853a4008532d20b898f5b41f594a868f
Author: Hans-Peter Nilsson <>
Date:   Sun Oct 22 13:05:07 2017 +0200

    Fix gas/22304 by forcing a 64-bit bfd for cris*-*.
    	PR gas/22304
    	* config.bfd (cris-*-* | crisv32-*-*): Require a 64-bit BFD.

commit a73ca552593ec2903fd5485b8c8f40a250645110
Author: GDB Administrator <>
Date:   Sun Oct 22 00:00:28 2017 +0000

    Automatic date update in

commit 4e15b78be4bf008fb4f97bffbc0865dd0e4833ce
Author: Hans-Peter Nilsson <>
Date:   Sat Oct 21 19:46:22 2017 +0200

    PR ld/21233
    * testsuite/ld-elf/shared.exp: Remove kfails.
    The test-cases started passing with 5c3261b0e834647c,
    "ELF: Call check_relocs after opening all inputs".
    The lists could now be re-concatenated (see other run_ld_link_tests
    calls in shared.exp), but are for now left separate to simplify future

commit 4d3bb80e5db40cd2308157db3c446f35ae97a915
Author: Simon Marchi <>
Date:   Sat Oct 21 12:20:21 2017 -0400

    Add overloads of for_each_thread/find_thread that filter on pid
    It happens often that we want to iterate or find threads restricted to a
    given pid.  I think it's worth having an overload to help with this.
    Right now there is a single user of each of the find_thread and
    for_each_thread overload, but as we replace the usages of find_inferior
    with for_each_thread/find_thread, more usages will pop up.
    	* gdbthread.h (find_thread, for_each_thread): New functions.
    	* inferiors.c (thread_of_pid): Remove.
    	(find_any_thread_of_pid): Use find_thread.
    	* linux-low.c (num_lwps): Use for_each_thread.

commit a664f67e50eff30198097d51cec0ec4690abb2a1
Author: Simon Marchi <>
Date:   Sat Oct 21 12:06:42 2017 -0400

    Get rid of VEC (mem_region)
    This patch removes VEC (mem_region).  Doing so requires touching a lot
    of little things here and there.
    The fields in mem_attrib are now initialized during construction.  The
    values match those that were in default_mem_attrib (now removed).
    unknown_mem_attrib is also removed, and replaced with a static method
    (mem_attrib::unknown) that returns the equivalent.
    mem_region is initialized in a way similar to mem_region_init (now
    removed) did.
    I found the organization of mem_region_list and target_mem_region_list a
    bit confusing.  Sometimes mem_region_list points to the same vector as
    target_mem_region_list (and therefore does not own it), and sometimes
    (when the user manually edits the mem regions) points to another vector,
    and in this case owns it.  To avoid this ambiguity, I think it is
    simpler to have two vectors, one for target-defined regions and one for
    user-defined regions, and have mem_region_list point to one or the
    other.  There are now no vector objects dynamically allocated, both are
    The make-target-delegates script does not generate valid code when a
    target method returns a type with a parameter list.  For this reason, I
    created a typedef (mem_region_vector) that's only used in the target_ops
    structure.  If you speak perl, you are welcome to improve the script!
    Regtested on the buildbot.
    	* memattr.h: Don't include vec.h.
    	(struct mem_attrib): Initialize fields.
    	<unknown>: New static method.
    	(struct mem_region): Add constructors, operator<, initialize
    	* memattr.c: Include algorithm.
    	(default_mem_attrib, unknown_mem_attrib): Remove.
    	(user_mem_region_list): New global.
    	(target_mem_region_list, mem_region_list): Change type to
    	(mem_use_target): Now a function.
    	(target_mem_regions_valid): Change type to bool.
    	(mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
    	(require_user_regions): Adjust.
    	(require_target_regions): Adjust.
    	(create_mem_region): Adjust.
    	(lookup_mem_region): Adjust.
    	(invalidate_target_mem_regions): Adjust.
    	(mem_clear): Rename to...
    	(user_mem_clear): ... this, and adjust.
    	(mem_command): Adjust.
    	(info_mem_command): Adjust.
    	(mem_enable, enable_mem_command, mem_disable,
    	disable_mem_command): Adjust.
    	(mem_delete): Adjust.
    	(delete_mem_command): Adjust.
    	* memory-map.h (parse_memory_map): Return an std::vector.
    	* memory-map.c (parse_memory_map): Likewise.
    	(struct memory_map_parsing_data): Add constructor.
    	<memory_map>: Point to std::vector.
    	(memory_map_start_memory): Adjust.
    	(memory_map_end_memory): Adjust.
    	(memory_map_end_property): Adjust.
    	(clear_result): Remove.
    	* remote.c (remote_memory_map): Return an std::vector.
    	* target-debug.h (target_debug_print_VEC_mem_region_s__p):
    	(target_debug_print_mem_region_vector): New.
    	* target-delegates.c: Regenerate.
    	* target.h (mem_region_vector): New typedef.
    	(to_memory_map): Return mem_region_vector.
    	(target_memory_map): Return an std::vector.
    	* target.c (target_memory_map): Return an std::vector.
    	(flash_erase_command): Adjust.

commit 6e17c56511104abd605bd2d122104467fc4f0089
Author: Simon Marchi <>
Date:   Sat Oct 21 12:06:22 2017 -0400

    Use std::string in memory_map_parsing_data
    Replace the fixed-size array with a string.
    	* memory-map.c (struct memory_map_parsing_data) <property_name>:
    	Change type to std::string.
    	(memory_map_start_property): Adjust.
    	(memory_map_end_property): Adjust.

commit cfba98720f62473abc54457a376a3b7aa7ab1e40
Author: Simon Marchi <>
Date:   Sat Oct 21 11:27:52 2017 -0400

    Create a displaced_step_closure class hierarchy
    displaced_step_closure is a type defined in multiple -tdep.c files.
    Trying to xfree it from the common code (infrun.c) is a problem when we
    try to poison xfree for non-POD types.  Because there can be multiple of
    these types in the same build, this patch makes a hierarchy of classes
    with a virtual destructor.  When the common code deletes the object
    through a displaced_step_closure pointer, it will invoke the right
    The amd64 used a last-member array with a variable size.  That doesn't
    work with new, so I changed it for an std::vector.  Other architectures
    which used a simple byte buffer as a closure now use a shared
    buf_displaced_step_closure, a closure type that only contains a
    Reg-tested on the buildbot.
    	* infrun.h: Include common/byte-vector.h.
    	(struct displaced_step_closure): New struct.
    	(struct buf_displaced_step_closure): New struct.
    	* infrun.c (displaced_step_closure::~displaced_step_closure):
    	Provide default implementation.
    	(displaced_step_clear): Deallocate step closure with delete.
    	* aarch64-tdep.c (displaced_step_closure): Rename to ...
    	(aarch64_displaced_step_closure): ... this, extend
    	(aarch64_displaced_step_data) <dsc>: Change type to
    	(aarch64_displaced_step_copy_insn): Adjust to type change, use
    	(aarch64_displaced_step_fixup): Add cast for displaced step
    	* amd64-tdep.c (displaced_step_closure): Rename to ...
    	(amd64_displaced_step_closure): ... this, extend
    	<insn_buf>: Change type to std::vector<gdb_byte>.
    	<max_len>: Remove.
    	(fixup_riprel): Change type of DSC parameter, adjust to type
    	change of insn_buf.
    	(fixup_displaced_copy): Change type of DSC parameter.
    	(amd64_displaced_step_copy_insn): Instantiate
    	(amd64_displaced_step_fixup): Add cast for closure type, adjust
    	to type change of insn_buf.
    	* arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
    	parameter DSC.
    	(arm_linux_copy_svc): Likewise.
    	(cleanup_kernel_helper_return): Likewise.
    	(arm_catch_kernel_helper_return): Likewise.
    	(arm_linux_displaced_step_copy_insn): Instantiate
    	* arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
    	(displaced_read_reg): Change type of parameter DSC.
    	(branch_write_pc): Likewise.
    	(load_write_pc): Likewise.
    	(alu_write_pc): Likewise.
    	(displaced_write_reg): Likewise.
    	(arm_copy_unmodified): Likewise.
    	(thumb_copy_unmodified_32bit): Likewise.
    	(thumb_copy_unmodified_16bit): Likewise.
    	(cleanup_preload): Likewise.
    	(install_preload): Likewise.
    	(arm_copy_preload): Likewise.
    	(thumb2_copy_preload): Likewise.
    	(install_preload_reg): Likewise.
    	(arm_copy_preload_reg): Likewise.
    	(cleanup_copro_load_store): Likewise.
    	(install_copro_load_store): Likewise.
    	(arm_copy_copro_load_store) Likewise.
    	(thumb2_copy_copro_load_store): Likewise.
    	(cleanup_branch): Likewise.
    	(install_b_bl_blx): Likewise.
    	(arm_copy_b_bl_blx): Likewise.
    	(thumb2_copy_b_bl_blx): Likewise.
    	(thumb_copy_b): Likewise.
    	(install_bx_blx_reg): Likewise.
    	(arm_copy_bx_blx_reg): Likewise.
    	(thumb_copy_bx_blx_reg): Likewise.
    	(cleanup_alu_imm): Likewise.
    	(arm_copy_alu_imm): Likewise.
    	(thumb2_copy_alu_imm): Likewise.
    	(cleanup_alu_reg): Likewise.
    	(install_alu_reg): Likewise.
    	(arm_copy_alu_reg): Likewise.
    	(thumb_copy_alu_reg): Likewise.
    	(cleanup_alu_shifted_reg): Likewise.
    	(install_alu_shifted_reg): Likewise.
    	(arm_copy_alu_shifted_reg): Likewise.
    	(cleanup_load): Likewise.
    	(cleanup_store): Likewise.
    	(arm_copy_extra_ld_st): Likewise.
    	(install_load_store): Likewise.
    	(thumb2_copy_load_literal): Likewise.
    	(thumb2_copy_load_reg_imm): Likewise.
    	(arm_copy_ldr_str_ldrb_strb): Likewise.
    	(cleanup_block_load_all): Likewise.
    	(cleanup_block_store_pc): Likewise.
    	(cleanup_block_load_pc): Likewise.
    	(arm_copy_block_xfer): Likewise.
    	(thumb2_copy_block_xfer): Likewise.
    	(cleanup_svc): Likewise.
    	(install_svc): Likewise.
    	(arm_copy_svc): Likewise.
    	(thumb_copy_svc): Likewise.
    	(arm_copy_undef): Likewise.
    	(thumb_32bit_copy_undef): Likewise.
    	(arm_copy_unpred): Likewise.
    	(arm_decode_misc_memhint_neon): Likewise.
    	(arm_decode_unconditional): Likewise.
    	(arm_decode_miscellaneous): Likewise.
    	(arm_decode_dp_misc): Likewise.
    	(arm_decode_ld_st_word_ubyte): Likewise.
    	(arm_decode_media): Likewise.
    	(arm_decode_b_bl_ldmstm): Likewise.
    	(arm_decode_ext_reg_ld_st): Likewise.
    	(thumb2_decode_dp_shift_reg): Likewise.
    	(thumb2_decode_ext_reg_ld_st): Likewise.
    	(arm_decode_svc_copro): Likewise.
    	(thumb2_decode_svc_copro): Likewise.
    	(install_pc_relative): Likewise.
    	(thumb_copy_pc_relative_16bit): Likewise.
    	(thumb_decode_pc_relative_16bit): Likewise.
    	(thumb_copy_pc_relative_32bit): Likewise.
    	(thumb_copy_16bit_ldr_literal): Likewise.
    	(thumb_copy_cbnz_cbz): Likewise.
    	(thumb2_copy_table_branch): Likewise.
    	(cleanup_pop_pc_16bit_all): Likewise.
    	(thumb_copy_pop_pc_16bit): Likewise.
    	(thumb_process_displaced_16bit_insn): Likewise.
    	(decode_thumb_32bit_ld_mem_hints): Likewise.
    	(thumb_process_displaced_32bit_insn): Likewise.
    	(thumb_process_displaced_insn): Likewise.
    	(arm_process_displaced_insn): Likewise.
    	(arm_displaced_init_closure): Likewise.
    	(arm_displaced_step_fixup): Add cast for closure.
    	* arm-tdep.h: Include infrun.h.
    	(displaced_step_closure): Rename to ...
    	(arm_displaced_step_closure): ... this, extend
    	<u::svc::copy_svc_os>: Change type of parameter DSC.
    	<cleanup>: Likewise.
    	(arm_process_displaced_insn): Likewise.
    	(arm_displaced_init_closure): Likewise.
    	(displaced_read_reg): Likewise.
    	(displaced_write_reg): Likewise.
    	* i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
    	* i386-tdep.h: Include infrun.h.
    	(i386_displaced_step_closure): New typedef.
    	* i386-tdep.c (i386_displaced_step_copy_insn): Use
    	(i386_displaced_step_fixup): Adjust.
    	* rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
    	(ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
    	and unique_ptr.
    	(ppc_displaced_step_fixup): Adjust.
    	* s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
    	(s390_displaced_step_copy_insn): Use s390_displaced_step_closure
    	and unique_ptr.
    	(s390_displaced_step_fixup): Adjust.

commit b392b304b92ddd81ecfb4902c3fc3501ff90e999
Author: Simon Marchi <>
Date:   Sat Oct 21 10:15:48 2017 -0400

    Remove leftover declarations in interps.h
    The corresponding definitions have already been removed.
    	* interps.h (interp_resume, interp_suspend, interp_set_temp):
    	Remove declarations.

commit 881b33774d75e632ed9099210c41f16c33dc7db8
Author: GDB Administrator <>
Date:   Sat Oct 21 00:00:31 2017 +0000

    Automatic date update in

commit d63613596fa297dd19781eec61269186653f544d
Author: Sriraman Tallam <>
Date:   Fri Oct 20 11:21:45 2017 -0700

    Fix ChangeLog entry.

commit 3b4190ccb31be262a5aac78238e6d659746f1f0f
Author: Sriraman Tallam <>
Date:   Fri Oct 20 11:00:28 2017 -0700

    New gold linker option -z,text-unlikely-segment.
    2017-10-04  Sriraman Tallam  <>
    	* options.h (-z,text_unlikely_segment): New option.
    	* (Layout::layout): Create new output section
    	for .text.unlikely sections with the new option.
    	(Layout::segment_precedes): Check for the new option
    	when segment flags match.
    	* testsuite/ New test source.
    	* testsuite/ New test script.
    	* testsuite/ (text_unlikely_segment): New test.
    	* testsuite/ Regenerate.

commit f3012016f008030b48597b578a5fb1e550907374
Author: H.J. Lu <>
Date:   Fri Oct 20 09:47:08 2017 -0700

    Add a compile-time test for PR ld/22269
    This compile-time test requires a target C compiler to run.  It fails
    on many targets where ELF backend linkers fail to check undefined weak
    symbol in static PIE via UNDEFWEAK_NO_DYNAMIC_RELOC.
    	PR ld/22269
    	* testsuite/ld-elf/pr22269-1.rd: New file.
    	* testsuite/ld-elf/pr22269-1.c: Likewise.
    	* testsuite/ld-elf/shared.exp: Run pr22269-1.

commit d5833c62d93e8176b70e8509ab36cc38801c3ebd
Author: Tom Tromey <>
Date:   Sun Oct 15 11:31:46 2017 -0600

    Use std::vector in gdb_bfd_data
    This changes gdb_bfd_data to use std::vector rather than VEC.
    2017-10-20  Tom Tromey  <>
    	* gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
    	(gdb_bfd_record_inclusion): Update.
    	(bfdp): Remove typedef.

commit 06d5bbc8e5f7541b13509c33b8b3eb8afac27b2f
Author: Tom Tromey <>
Date:   Sun Oct 15 11:23:22 2017 -0600

    Use "new" to allocate gdb_bfd_data
    This changes gdb_bfd_data to be allocated with new and destroyed with
    2017-10-20  Tom Tromey  <>
    	* gdb_bfd.c (gdb_bfd_ref): Use new.
    	(struct gdb_bfd_data): Add constructor, destructor, and member
    	(gdb_bfd_unref): Use delete.

commit 2712ce2e659f82168154d4533f53d2963ae82571
Author: Tom Tromey <>
Date:   Sun Oct 15 11:13:29 2017 -0600

    Introduce new_bfd_ref
    This introduces a helper function, new_bfd_ref, that calls gdb_bfd_ref
    and returns a gdb_bfd_ref_ptr.  Then it updates several places to use
    2017-10-20  Tom Tromey  <>
    	* exec.c (exec_file_attach): Use new_bfd_ref.
    	* symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
    	* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
    	(gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
    	* gdb_bfd.h (new_bfd_ref): New function.

commit 15763a09d4aea85fc3153d6746c040dd48565637
Author: Pedro Alves <>
Date:   Fri Oct 20 15:33:57 2017 +0100

    Fix 'gdb.base/quit.exp hangs forever' if the test fails
    The [wait -i $gdb_spawn_id] in the test is dangerous in the sense that
    it won't be subject to timeout logic.  So if GDB fails quiting, this
    testcase hangs forever, hanging the test run with it.  See:
    Instead of 'wait'ing directly, use gdb_test_multiple and expect 'eof'.
    Tested that the testcase no longer hangs by hacking the test to send
    "info threads" instead of "quit".
    Tested with
      --target_board={unix, native-gdbserver,native-extended-gdbserver}
    and tested with
    as well.
    2017-10-20  Pedro Alves  <>
    	* gdb.base/quit.exp: Use gdb_test_multiple and expect 'eof' before
    	'wait -i'.  Use gdb_assert and remote_close.

commit fcc8fb2f3de370f2def30bb18c98243ed4f3fb8c
Author: Pedro Alves <>
Date:   Fri Oct 20 14:47:24 2017 +0100

    Fix gdb.gdb/ selftest tests when testing optimized GDB builds
    After commit bf4692711232 ("Eliminate catch_errors"), GCC started
    inlining captured_command_loop in captured_main.  And setting a
    breakpoint on captured_command_loop makes the inferior GDB stop in
    captured_main, _after_ captured_command_loop's call to
    interp_pre_command_loop, which prints the inferior GDB's prompt, has
    already executed, confusing the gdb.gdb/ selftest tests:
      (gdb) FAIL: gdb.gdb/complaints.exp: run until breakpoint at captured_command_loop
      WARNING: Couldn't test self
    Debugging GDB with GDB manually, we see:
      (top-gdb) b captured_command_loop
      Breakpoint 1 at 0x71ee60: file src/gdb/main.c, line 324.
      (top-gdb) r
      (gdb)                  <<<<<< PROMPT HERE
      Thread 1 "gdb" hit Breakpoint 1, captured_main (data=<optimized out>) at src/gdb/main.c:1147
      1147              captured_command_loop ();
    Note the stop at 'captured_main', and the "PROMPT HERE" line.  That
    prompt does not show up when debugging a non-optimized build of GDB.
    Fix this by preventing inlining of captured_command_loop.
    2017-10-20  Pedro Alves  <>
    	* main.c (captured_command_loop): Add attribute noinline.

commit 808811a36951c6bc2ee9d56124603d7ef88a019e
Author: Nick Clifton <>
Date:   Fri Oct 20 11:45:19 2017 +0100

    Improve handling of REPT pseudo op with a negative count.
    	PR 22324
    	* read.c (s_rept): Use size_t type for count parameter.
    	(do_repeat): Change type of count parameter to size_t.
    	Issue an error is the count parameter is negative.
    	(do_repeat_with_expression): Likewise.
    	* read.h: Update prototypes for do_repeat and
    	* doc/as.texinfo (Rept): Document that a zero count is allowed but
    	negative counts are not.
    	* config/tc-rx.c (rx_rept): Use size_t type for count parameter.
    	* config/tc-tic54x.c (tic54x_loop): Cast count parameter to size_t
    	* testsuite/gas/macros/end.s: Add a test using a negative repeat
    	* testsuite/gas/macros/end.l: Add expected error message.

commit 36862fc052b7006c78024952c4024c60b8a2733f
Author: Umesh Kalappa <>
Date:   Thu Oct 19 20:53:14 2017 -0700

    Implement BE8 support for ARM.
    	* (Stub::do_fixed_endian_write):Far call stubs support for arm
    	in the be8 mode.
    	* testsuite/ New test cases.
    	* testsuite/ Regenerate.
    	* testsuite/ New script for arm to arm far
    	call stubs.
    	* testsuite/ New script for thumb to
    	thumb far call stubs.

commit 4c2287b0bdfbed95d37d09222fc253f4c5086ada
Author: Simon Marchi <>
Date:   Thu Oct 19 22:07:15 2017 -0400

    Get rid of VEC(interp_factory_p)
    Replace it with an std::vector.
    	* interps.c (struct interp_factory): Add constructor.
    	(interp_factory_p): Remove typedef.
    	(DEF_VEC_P(interp_factory_p)): Remove.
    	(interpreter_factories): Change type to std::vector.
    	(interp_factory_register): Adjust.
    	(interp_lookup): Adjust.
    	(interpreter_completer): Adjust.

commit b5f6e7409243ca9b016753966a6404cdcfd41d95
Author: GDB Administrator <>
Date:   Fri Oct 20 00:00:28 2017 +0000

    Automatic date update in

commit 3d415c26bad3a15eed00d2ddf85c4268df77a4cc
Author: Tom Tromey <>
Date:   Mon Oct 16 17:36:32 2017 -0600

    Remove cleanups from break-catch-syscall.c
    This removes the remaining cleanups from break-catch-syscall.c by
    storing temporary strings in a vector.
    2017-10-19  Tom Tromey  <>
    	* break-catch-syscall.c (catch_syscall_completer): Use
    	std::string, gdb::unique_xmalloc_ptr.

commit 395423c418da2cba1240e39ae944510fe9ffcccc
Author: Tom Tromey <>
Date:   Mon Oct 16 17:27:21 2017 -0600

    Remove cleanup from call_function_by_hand_dummy
    This changes call_function_by_hand_dummy to use std::string, removing
    a cleanup.
    2017-10-19  Tom Tromey  <>
    	* infcall.c (call_function_by_hand_dummy): Use std::string.

commit 54f70bc14586878ee14891ecb11efb8a90405874
Author: Tom Tromey <>
Date:   Mon Oct 16 17:26:09 2017 -0600

    Remove cleanups from prepare_execute_command
    This changes prepare_execute_command to return a scoped_value_mark
    rather than a cleanup.
    2017-10-19  Tom Tromey  <>
    	* mi/mi-main.c (mi_cmd_execute): Update.
    	* top.h (prepare_execute_command): Return scoped_value_mark.
    	* value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
    	Add move constructor.
    	* top.c (prepare_execute_command): Return scoped_value_mark.
    	(execute_command): Update.

commit 49a4ce2eae231ae627ab9a312256c6e402b5a27e
Author: Andrew Burgess <>
Date:   Fri Oct 13 15:22:17 2017 +0100

    gdb: Remove hard-coded line number from test
    Removes the use of a hard-coded line number from a test.
    	* gdb.linespec/ls-errs.exp (do_test): Update comment, use line
    	number from variable rather than hard-coded.

commit 63929e843d54d327676bed4d86dad280f4675547
Author: Pedro Alves <>
Date:   Thu Oct 19 18:12:03 2017 +0100

    Fix build breakage in gdb/xml-support.c
    The buildbots are showing that the previous change to
    xml_fetch_content_from_file causes __wur warnings/errors:
      ../../binutils-gdb/gdb/xml-support.c: In function gdb::unique_xmalloc_ptr<char> xml_fetch_content_from_file(const char*, void*):
      ../../binutils-gdb/gdb/xml-support.c:1028:43: error: ignoring return value of size_t fread(void*, size_t, size_t, FILE*), declared with attribute warn_unused_result [-Werror=unused-result]
         fread (text.get (), 1, len, file.get ());
    This commit fixes it.
    2017-10-19  Pedro Alves  <>
    	* xml-support.c (xml_fetch_content_from_file): Check fread's

commit 9d06997adb88a71487a2f5627de032c6fb994604
Author: Palmer Dabbelt <>
Date:   Thu May 18 18:13:09 2017 -0700

    In the medany code model the compiler generates PCREL_HI20+PCREL_LO12
    relocation pairs against local symbols because HI20+LO12 relocations
    can't reach high addresses.  We relax HI20+LO12 pairs to GPREL
    relocations when possible, which is an important optimization for
    Dhrystone.  Without this commit we are unable to relax
    PCREL_HI20+PCREL_LO12 pairs to GPREL when possible, causing a 10%
    permormance hit on Dhrystone on Rocket.
    Note that we'll now relax
      la gp, __global_pointer$
      mv gp, gp
    which probably isn't what you want in your entry code.  Users who want
    gp-relative symbols to continue to resolve should add ".option norelax"
    accordingly.  Due to this, the assembler now pairs PCREL relocations
    with RELAX relocations when they're expected to be relaxed just like
    every other relaxable relocation.
    2017-10-19  Palmer Dabbelt  <>
            * elfnn-riscv.c (riscv_pcgp_hi_reloc): New structure.
            (riscv_pcgp_lo_reloc): Likewise.
            (riscv_pcgp_relocs): Likewise.
            (riscv_init_pcgp_relocs): New function.
            (riscv_free_pcgp_relocs): Likewise.
            (riscv_record_pcgp_hi_reloc): Likewise.
            (riscv_record_pcgp_lo_reloc): Likewise.
            (riscv_delete_pcgp_hi_reloc): Likewise.
            (riscv_use_pcgp_hi_reloc): Likewise.
            (riscv_record_pcgp_lo_reloc): Likewise.
            (riscv_find_pcgp_lo_reloc): Likewise.
            (riscv_delete_pcgp_lo_reloc): Likewise.
            (_bfd_riscv_relax_pc): Likewise.
            (_bfd_riscv_relax_section): Handle R_RISCV_PCREL_* relocations
            via the new functions above.
    2017-10-19  Palmer Dabbelt  <>
            * config/tc-riscv.c (md_apply_fix): Mark
            BFD_RELOC_RISCV_PCREL_HI20 as relaxable when relaxations are

commit ff6f4d9b2d6c25ac144bab869df6e3d6123a6f8f
Author: Palmer Dabbelt <>
Date:   Thu May 18 18:08:25 2017 -0700

    RISC-V: Add R_RISCV_DELETE, which marks bytes for deletion
    We currently delete bytes by shifting an entire BFD backwards to
    overwrite the bytes we no longer need.  The result is that relaxing a
    BFD is quadratic time.
    This patch adds an additional relocation that specifies a byte range
    that will be deleted from the final object file, and adds a relaxation
    pass (between the existing passes that delete bytes and the alignment
    pass) that actually deletes the bytes.  Note that deletion is still
    quadratic time, and nothing uses R_RISCV_DELETE yet.
    I've been meaning to go convert all the other relaxations to use
    R_RISCV_DELETE and then make it faster, but this patch has been sitting
    around for months so it looks like that won't happen for a bit.  The
    PCREL->GPREL relaxation that comes next uses this, and since we've been
    using these two patches out of tree since I wrote them months ago I
    figure it's better to just get them in now.  I (or someone else :)) can
    convert all the relocations later...
    R_RISCV_DELETE will never be emitted into ELF objects, so therefor isn't
    exposed to the rest of binutils.  As such, we're not considering this as
    part of the ABI.
    2017-10-19  Palmer Dabbelt  <>
            * elfnn-riscv (R_RISCV_DELETE): New define.
            (_bfd_riscv_relax_delete): New function.
            (perform_relocation): Handle R_RISCV_DELETE.
            (_bfd_riscv_relax_section): Likewise.
    2017-10-19  Palmer Dabbelt  <>
            * emultempl/riscvelf.em (riscv_elf_before_allocation): Add a
            third relaxation pass.

commit 95e42ad4425f0ab0ebfb90035a891be576f9fca4
Author: Nick Clifton <>
Date:   Thu Oct 19 16:21:51 2017 +0100

    Fix the AVR assembler so that it will correctly issue warnings about skipped instructions even if subsections are used.
    	PR 21621
    	* config/tc-avr.h (struct avr_frag_data): Add prev_opcode field.
    	(TC_FRAG_INIT): Define.
    	(avr_frag_init): Add prototype.
    	* config/tc-avr.c (avr_frag_init): New function.
    	(avr_operands): Replace static local 'prev' variable with
    	prev_opcode field in current frag.
    	* testsuite/gas/avr/pr21621.s: New test source file.
    	* testsuite/gas/avr/pr21621.d: New test driver file.
    	* testsuite/gas/avr/pr21621.s: New test error output file.

commit a75868f50ba72e9aa906702ae038fa29feda7743
Author: Pedro Alves <>
Date:   Thu Oct 19 16:00:21 2017 +0100

    Fix inferior deadlock with "target remote | CMD"
    Comparing test results between
    I noticed that gdb.base/bigcore.exp is failing with native-stdio-gdbserver:
      Running src/gdb/testsuite/gdb.base/bigcore.exp ...
      FAIL: gdb.base/bigcore.exp: continue (timeout)
    The problem is that:
      1. When debugging with "target remote | CMD", the inferior's
         stdout/stderr streams are connected to a pipe.
      2. The bigcore.c program prints a lot to the screen before it
         reaches the breakpoint location that the "continue" shown above
         wants to reach.
      3. GDB is not flushing the inferior's output pipe while the inferior
         is running.
      4. The pipe becomes full.
      5. The inferior thus deadlocks.
    The bug is #3 above, which is what this commit fixes.  A new test is
    added, that specifically exercises this scenario.  The test fails
    before the fix, and passes after, and gdb.base/bigcore.exp also starts
    2017-10-19  Pedro Alves  <>
    	* ser-base.c (ser_base_read_error_fd): Delete the file handler if
    	(handle_error_fd): New function.
    	(ser_base_async): Add/delete an event loop file handler for
    2017-10-19  Pedro Alves  <>
    	* gdb.base/long-inferior-output.c: New file.
    	* gdb.base/long-inferior-output.exp: New file.

commit 2edf834e298b15c882678db22e86745f701807fa
Author: Pedro Alves <>
Date:   Thu Oct 19 15:25:59 2017 +0100

    xml_fetch_content_from_file: Read in whole file in one go
    There doesn't seem to be a good reason we're reading the file one
    chunk at a time.
    2017-10-19  Pedro Alves  <>
    	* xml-support.c (xml_fetch_content_from_file): Don't read in
    	chunks.  Instead use fseek to determine the file's size, and read
    	it in one go.

commit 280958942b74f3164708700f195188c4d3446f58
Author: H.J. Lu <>
Date:   Thu Oct 19 05:22:23 2017 -0700

    tilegx: Check bfd_link_executable for TLS check
    Copied from x86, check bfd_link_executable, instead of bfd_link_pic,
    for TLS transition check.  Not sure if it works correctly.  All usages
    of bfd_link_pic should be audited.
    	PR ld/22263
    	* elfxx-tilegx.c (tilegx_elf_tls_transition): Replace
    	bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
    	bfd_link_executable for TLS check.
    	(tilegx_elf_check_relocs): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(tilegx_elf_relocate_section): Likewise.

commit 1ba1f393faac96f6ad80499d7133df23d6187b8c
Author: H.J. Lu <>
Date:   Thu Oct 19 05:20:44 2017 -0700

    tilepro: Check bfd_link_executable for TLS check
    Copied from x86, check bfd_link_executable, instead of bfd_link_pic,
    for TLS transition check.  Not sure if it works correctly.  All usages
    of bfd_link_pic should be audited.
    	PR ld/22263
    	* elf32-tilepro.c (tilepro_elf_tls_transition): Replace
    	bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
    	bfd_link_executable for TLS check.
    	(tilepro_elf_check_relocs): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(tilepro_elf_relocate_section): Likewise.

commit 0fb7012e88683b8bd67a4fb8f782359fa0e11724
Author: H.J. Lu <>
Date:   Thu Oct 19 05:18:07 2017 -0700

    sparc: Check bfd_link_executable for TLS check
    Copied from x86, check bfd_link_executable, instead of bfd_link_pic,
    for TLS transition check.  Not sure if it works correctly.  All usages
    of bfd_link_pic should be audited.
    	PR ld/22263
    	* elfxx-sparc.c (sparc_elf_tls_transition): Replace
    	bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
    	bfd_link_executable for TLS check.
    	(_bfd_sparc_elf_check_relocs): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(_bfd_sparc_elf_relocate_section): Likewise.

commit fa57faa0dad237b3f418f17e7ee2114c32da818a
Author: Andreas Krebbel <>
Date:   Thu Oct 19 09:02:15 2017 +0200

    Fix fill-1 testcase
    This fixes various issues with the fill-1 testcase causing fails on a
    couple of targets.
    2017-10-19  Andreas Krebbel  <>
    	* testsuite/gas/all/fill-1.s: Use normal labels.  Change .text to
    	.data. Pick different values.  Use .dc.w instead of .word.
    	* testsuite/gas/all/fill-1.d: New objdump output check.
    	* testsuite/gas/all/gas.exp: Use run_dump_test to execute fill-1

commit d7dd155841641df62761f79a35362371811d9739
Author: GDB Administrator <>
Date:   Thu Oct 19 00:00:32 2017 +0000

    Automatic date update in

commit 8e354058532d48dce19fdf0b2e0653609a69f19e
Author: H.J. Lu <>
Date:   Wed Oct 18 15:46:57 2017 -0700

    tile: Mark __tls_get_addr in gc_mark_hook
    TLS_GD_CALL relocations implicitly reference __tls_get_addr.  Since
    elf_gc_mark_hook is called before check_relocs now, we need to call
    _bfd_generic_link_add_one_symbol to mark __tls_get_addr for garbage
    	* elf32-tilepro.c (tilepro_elf_gc_mark_hook): Call
    	_bfd_generic_link_add_one_symbol to mark __tls_get_addr.
    	* elfxx-tilegx.c (tilegx_elf_gc_mark_hook): Likewise.

commit 8dfa5d5a6389b7f0fdd7baaedc5f316f05debf63
Author: Palmer Dabbelt <>
Date:   Tue Oct 17 10:51:38 2017 -0700

    RISC-V: Mark unsupported gas testcases
    There are individual comments that explain why each test isn't
    supported, but the vast majority of them are due to RISC-V's aggressive
    linker relaxation.  The SLEB test cases should eventually be supported,
    but the remaining ones probably won't ever be.
    2017-10-18  Palmer Dabbelt  <>
            * testsuite/gas/all/align.d: Mark as unsupported on RISC-V.
            testsuite/gas/all/relax.d: Likewise.
            testsuite/gas/all/sleb128-2.d: Likewise.
            testsuite/gas/all/sleb128-4.d: Likewise.
            testsuite/gas/all/sleb128-5.d: Likewise.
            testsuite/gas/all/sleb128-7.d: Likewise.
            testsuite/gas/elf/section11.d: Likewise.
            testsuite/gas/all/gas.exp (diff1.s): Likewise.

commit c8ba13ad37c98262b94f99cc4f84ac0066c48cc2
Author: Keith Seitz <>
Date:   Wed Oct 18 11:05:45 2017 -0700

    Canonicalize conversion operators
    Consider a conversion operator such as:
    operator foo const* const* ();
    There are two small parser problems, highlighted by this test:
    (gdb) p operator foo const* const*
    There is no field named operatorfoo const* const *
    GDB is looking up the symbol "operatorfoo const* const*" -- it is missing a
    space between the keyword "operator" and the type name "foo const* const*".
    Additionally, this input of the user-defined type needs to be canonicalized
    so that different "spellings" of the type are recognized:
    (gdb) p operator const foo* const *
    There is no field named operator const foo* const *
    	* c-exp.y (oper): Canonicalize conversion operators of user-defined
    	Add whitespace to front of type name.
    	* gdb.cp/ (base) <operator fluff const* const*>: New
    	(main): Call it.
    	* gdb.cp/cpexprs.exp: Add new conversion operator to test matrix.
    	Add additional user-defined conversion operator tests.

commit 3753468682a9c7982b6eba0fca58fbfc1cd5b9fb
Author: Keith Seitz <>
Date:   Tue Oct 17 14:15:36 2017 -0700

    Issue complaint instead of assert for invalid/unhandled DW_AT_accessibility
    A previous patch called gdb_assert_not_reached whenever reading
    the accessibility of a nested typedef definition. Wisely, Pedro has asked me
    not do this.
    This patch changes the previous one so that it issues a complaint instead.
    	* dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled

commit 2a6969e1738859ea8c12837fb0cba3845bc87ceb
Author: Eric Botcazou <>
Date:   Wed Oct 18 16:30:24 2017 +0200

    [Visium] Disassemble the operands of the stop instruction.
            * MAINTAINERS: Add myself as Visium maintainer.
            * visium-dis.c (disassem_class1) <case 0>: Print the operands.

commit 8ef027f00ba0252e22ce548c3d270db978184b5a
Author: Nick Clifton <>
Date:   Wed Oct 18 15:07:36 2017 +0100

    Update Cris assembler tests for checks that now pass where they used to fail.
    	PR gas/22304
    	* testsuite/gas/cris/range-err-1.s: Remove spurious xfails.
    	* testsuite/gas/cris/cris.exp: Expect the shexpr-1 test to pass.

commit 94ea37b3e93d4400cb0ae1e97b1241a552a4ab5e
Author: Nick Clifton <>
Date:   Wed Oct 18 14:50:49 2017 +0100

    Update the Swedish translation in the GAS subdirectory.
    	* po/sv.po: Updated Swedish translation.

commit 8071ec0990927fd747483ffaad3b5d3b16355643
Author: Nick Clifton <>
Date:   Wed Oct 18 14:40:06 2017 +0100

    Add a warning to the how-to-make-a-release notes to check the permissions on the files in the tarball.
    	* README-how-to-make-a-release: A note about checking file and
    	directory permissions.

commit 482366c31ebf90361f0da350608887bf7b6f0f41
Author: Nick Clifton <>
Date:   Wed Oct 18 14:36:48 2017 +0100

    Move Svein Seldal to Past Maintainers section.
    	* MAINTAINERS: Move Svein Seldal to Past Maintainers section.

commit 28c7c158766513a1c6f599c08f85851fcab855e6
Author: Yao Qi <>
Date:   Wed Oct 18 12:48:12 2017 +0100

    Remove features/tic6x-c62x-linux.c
    c40c7bf (Remove features/tic6x-*.c files) doesn't remove
    features/tic6x-c62x-linux.c.  This patch removes it.
    2017-10-18  Yao Qi  <>
    	* features/tic6x-c62x-linux.c: Remove.

commit 5396a86e439653fb5cd714b955708250777a32e5
Author: Alan Modra <>
Date:   Wed Oct 18 12:05:39 2017 +1030

    PR22303, print_core_note out of bounds read
    The print_core_note change here fixes the PR, the rest is making
    readelf a little more bombproof against maliciously crafted binaries.
    	PR 22303
    	* readelf.c (print_core_note): Ensure "count" sanity check
    	calculation doesn't overflow.
    	(process_notes_at): Perform note namesz and descsz checks
    	using unsigned comparisons against data remaining.  Catch
    	alignment overflow of namesz and descsz too.  Don't allocate a
    	temp for terminating "name" when there is space available
    	before descdata.

commit b7213666d6035713c3a2786ee418085e07cb3cca
Author: H.J. Lu <>
Date:   Tue Oct 17 17:15:02 2017 -0700

    microblaze: Check for indirect and warning symbols
    Relocations against indirect and warning symbols should be applied to real
    	* elf32-microblaze.c (microblaze_elf_check_relocs): Check for
    	indirect and warning symbols.

commit da15dcb0aadfcd73cd3ed3ef2e2abf1c743f8ef8
Author: GDB Administrator <>
Date:   Wed Oct 18 00:00:29 2017 +0000

    Automatic date update in

commit 412294daf8786fd9060059b8be7fc59a35e13922
Author: Alan Modra <>
Date:   Wed Oct 18 00:33:05 2017 +1030

    [GOLD] Fix powerpc64 optimization of TOC accesses
    Fixes a thinko.  Given code that puts variables into the TOC (a bad
    idea, but some see the TOC as a small data section) this bug could
    result in an attempt to optimize a sequence that should not be
    	* (Target_powerpc::Scan::local): Correct dst_off
    	calculation for TOC16 relocs.
    	(Target_powerpc::Scan::global): Likewise.

commit b27de576d41eed16936cf639857df4e1e27a8e9e
Author: Pedro Alves <>
Date:   Tue Oct 17 19:45:35 2017 +0100

    Really make the native-stdio-gdbserver board non-remote
    I've noticed now that due to a last-minute change, commit 739b3f1d8ff7
    ("Make native gdbserver boards no longer be "remote" (in DejaGnu
    terms)") managed to miss loading "local-board" in the
    native-stdio-gdbserver board...
    2017-10-17  Pedro Alves  <>
    	* boards/native-stdio-gdbserver.exp: Load "local-board".

commit be459434b6f98abe587f51a374abc38821be304d
Author: Tom Tromey <>
Date:   Tue Oct 17 09:37:33 2017 -0600

    Add myself as dwarf-mode.el maintainer
    In, Nick said I
    should update MAINTAINERS to mention that I'm the dwarf-mode.el
    maintainer.  So, I'm checking this in.
    2017-10-17  Tom Tromey  <>
    	* MAINTAINERS: Add myself as dwarf-mode.el maintainer.

commit 8484c9554519c25c73a349d0581cc269f102c5d2
Author: Pedro Alves <>
Date:   Tue Oct 17 14:58:54 2017 +0100

    Add several "quit with live inferior" tests
    In my multi-target branch, I had managed to break GDB exiting
    successfuly in response to "quit" or SIGHUP/SIGTERM when:
     - you're debugging with "target extended-remote",
     - have more than one inferior loaded in gdb, some running, and at
       least one not running, and,
     - quit gdb with the inferior that is not running yet selected.
    The testsuite still passed cleanly anyway.  I only noticed because I
    was left with a bunch of core dumps in the gdb/testsuite/ directory --
    the testsuite infrastructure closes GDB's pty after running each
    testcase, which results in GDB getting a SIGHUP and should make GDB
    exit gracefully.  If GDB crashes at that point though, there's no
    indication about it in gdb.sum/gdb.log.
    This commit adds a multitude of tests exercising quitting GDB with
    live inferiors, some of which would have caught the problem.
    2017-10-17  Pedro Alves  <>
    	* gdb.base/quit-live.c: New file.
    	* gdb.base/quit-live.exp: New file.

commit 30f0b1015897466fb88ed26c56a0b4f42808edbc
Author: Tom Tromey <>
Date:   Thu Oct 12 15:07:35 2017 -0600

    Remove cleanups from disasm.c
    This changes the remaining spots in disasm.c to use the RAII ui-out
    emitters, removing a few cleanups.  This also fixes a regression that
    Simon pointed out.
    2017-10-17  Tom Tromey  <>
    	* disasm.c (do_mixed_source_and_assembly_deprecated): Use
    	gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
    	(do_mixed_source_and_assembly): Likewise.

commit 57e12da97f8dbe2ad5b4f59bf89c709c4d66600d
Author: Tom Tromey <>
Date:   Tue Oct 17 06:40:22 2017 -0600

    Remove obsolete assertion from regcache.c
    When building I got:
    ../../binutils-gdb/gdb/regcache.c:935:24: error: the address of ‘ssize_t read(int, void*, size_t)’ will never be NULL [-Werror=address]
    This happens because "read" used to be a parameter to this function,
    which was then removed; but the assertion wasn't updated.
    I don't think the assertion is relevant any more, to this removes it.
    I'm checking it in as obvious.
    2017-10-17  Tom Tromey  <>
    	* regcache.c (regcache::xfer_part): Remove assertion.

commit cf54ebff3b7361989712fd9c0128a9b255578163
Author: Alan Modra <>
Date:   Tue Oct 17 21:57:29 2017 +1030

    PR22307, Heap out of bounds read in _bfd_elf_parse_gnu_properties
    When adding an unbounded increment to a pointer, you can't just check
    against the end of the buffer but also must check that overflow
    doesn't result in "negative" pointer movement.  Pointer comparisons
    are signed.  Better, check the increment against the space left using
    an unsigned comparison.
    	PR 22307
    	* elf-properties.c (_bfd_elf_parse_gnu_properties): Compare datasz
    	against size left rather than comparing pointers.  Reorganise loop.

commit 7b7009999ab8daac9db776c850b7df6e1f586334
Author: Pedro Alves <>
Date:   Tue Oct 17 12:41:00 2017 +0100

    Fix double-free corruption
    Fixes a double-free regression introduced by commit b7b030adc405
    ("Return unique_xmalloc_ptr from target_read_stralloc"):
      Running src/gdb/testsuite/gdb.base/catch-syscall.exp ...
      ERROR: Process no longer exists
    Valgrind shows:
      (gdb) catch syscall
      ==3687== Thread 1:
      ==3687== Invalid free() / delete / delete[] / realloc()
      ==3687==    at 0x4C29CF0: free (vg_replace_malloc.c:530)
      ==3687==    by 0x610862: xfree(void*) (common-utils.c:101)
      ==3687==    by 0x440D5D: gdb::xfree_deleter<char>::operator()(char*) const (gdb_unique_ptr.h:34)
      ==3687==    by 0x446CC6: std::unique_ptr<char, gdb::xfree_deleter<char> >::reset(char*) (unique_ptr.h:344)
      ==3687==    by 0x81BE50: xml_fetch_content_from_file(char const*, void*) (xml-support.c:1042)
      ==3687==    by 0x81DA86: xml_init_syscalls_info(char const*) (xml-syscall.c:366)
      ==3687==    by 0x81DBDD: init_syscalls_info(gdbarch*) (xml-syscall.c:398)
      ==3687==    by 0x81E131: get_syscall_by_number(gdbarch*, int, syscall*) (xml-syscall.c:599)
      ==3687==    by 0x5BE86F: catch_syscall_command_1(char*, int, cmd_list_element*) (break-catch-syscall.c:481)
      ==3687==    by 0x4B46B1: do_sfunc(cmd_list_element*, char*, int) (cli-decode.c:138)
      ==3687==    by 0x4B76B8: cmd_func(cmd_list_element*, char*, int) (cli-decode.c:1952)
      ==3687==    by 0x7E91C7: execute_command(char*, int) (top.c:615)
      ==3687==  Address 0x14332ae0 is 0 bytes inside a block of size 4,096 free'd
      ==3687==    at 0x4C2AB8B: realloc (vg_replace_malloc.c:785)
      ==3687==    by 0x610792: xrealloc (common-utils.c:62)
      ==3687==    by 0x81BE3E: xml_fetch_content_from_file(char const*, void*) (xml-support.c:1042)
      ==3687==    by 0x81DA86: xml_init_syscalls_info(char const*) (xml-syscall.c:366)
      ==3687==    by 0x81DBDD: init_syscalls_info(gdbarch*) (xml-syscall.c:398)
      ==3687==    by 0x81E131: get_syscall_by_number(gdbarch*, int, syscall*) (xml-syscall.c:599)
      ==3687==    by 0x5BE86F: catch_syscall_command_1(char*, int, cmd_list_element*) (break-catch-syscall.c:481)
      ==3687==    by 0x4B46B1: do_sfunc(cmd_list_element*, char*, int) (cli-decode.c:138)
      ==3687==    by 0x4B76B8: cmd_func(cmd_list_element*, char*, int) (cli-decode.c:1952)
      ==3687==    by 0x7E91C7: execute_command(char*, int) (top.c:615)
      ==3687==    by 0x6A422D: command_handler(char*) (event-top.c:583)
      ==3687==    by 0x6A45F2: command_line_handler(char*) (event-top.c:773)
    The problem is that if xrealloc decides it needs a new memory block,
    it frees the previous block/pointer, and then text.reset() frees it
    2017-10-17  Pedro Alves  <>
    	* xml-support.c (xml_fetch_content_from_file): Call
    	unique_ptr::release() instead unique_ptr::get() when passing
    	through xrealloc.

commit d3037ba6a398d37585b3d34ff9ed439848ba98a1
Author: Yao Qi <>
Date:   Tue Oct 17 12:29:26 2017 +0100

    Simplify regcache::xfer_part
    Since xfer_part is already a class method, and only
    {raw,cooked}_{read,write} are passed to it.  We can remove these two
    arguments, but add a bool argument is_raw, indicating raw registers or
    cooked registers are accessed.
    2017-10-17  Yao Qi  <>
    	* regcache.c (regcache::xfer_part): Remove parameters read and
    	write, add parameter is_raw.  All callers are updated.

commit 7a7cdfa04b0225dfa6879384075e08d73eaee862
Author: Yao Qi <>
Date:   Tue Oct 17 12:12:04 2017 +0100

    [GDBserver] Move aarch64-insn.o to arch/ and remove one Makefile rule
    2017-10-17  Yao Qi  <>
    	* Remove one rule.
    	* configure.srv: Rename aarch64-insn.o with arch/aarch64-insn.o.

commit e675d1703fbdec643ec42aa67b9720cb199f4375
Author: Yao Qi <>
Date:   Tue Oct 17 12:12:04 2017 +0100

    [GDBserver] Move arm-linux.o and arm-get-next-pcs.o to arch/
    2017-10-17  Yao Qi  <>
    	* configure.srv: Rename arm-linux.o with arch/arm-linux.o.
    	Rename arm-get-next-pcs.o with arch/arm-get-next-pcs.o.

commit 7eb4e0f95641edebbc28a710f28111f0ecb9f0d1
Author: Yao Qi <>
Date:   Tue Oct 17 12:12:04 2017 +0100

    [GDBserver] Move arm.o to arch/arm.o
    2017-10-17  Yao Qi  <>
    	* configure.srv: Rename arm.o with arch/arm.o.

commit 60d6cfc99e67c3f94e31e26112873719b12b738f
Author: Yao Qi <>
Date:   Tue Oct 17 12:12:04 2017 +0100

    [GDBserver] Replicate src dir in build dir
    Similar to f38307f5 (Replicate src dir in build dir), this patch change
    configure and Makefile to generate object files in arch/ directory.
    2017-10-17  Yao Qi  <>
    	* (CONFIG_SRC_SUBDIR): New variable.
    	(clean): Remove .o files in CONFIG_SRC_SUBDIR.
    	(distclean): Remove DEPDIR in CONFIG_SRC_SUBDIR.
    	(arch-i386.o, arch-amd64.o): Remove rules.
    	(arch/%.o): New rule.
    	Update POSTCOMPILE and COMPILE.pre.
    	* configure: Re-generated.
    	* configure.srv: Replace arch-i386.o with arch/i386.o.
    	Replace arch-amd64.o with arch/amd64.o.

commit 0301ce1486b1450f219202677f30d0fa97335419
Author: Alan Modra <>
Date:   Tue Oct 17 16:43:47 2017 +1030

    PR22306, Invalid free() in slurp_symtab()
    	PR 22306
    	* aoutx.h (aout_get_external_symbols): Handle stringsize of zero,
    	and error for any other size that doesn't cover the header word.

commit e6e2dfbdc1e0df3844401f7a8be64e98823a7846
Author: Alan Modra <>
Date:   Tue Oct 17 16:47:05 2017 +1030

    Correct -z text and other -z documentation
    -z text applies to all dynamic binaries, not just shared libraries.
    A lot of the other options needed attention too.
    	* ld.texinfo (-z): Combine negative options with corresponding
    	positive option.  Sort the table.  Expand and correct "combreloc",
    	"common", "common-page-size", "interpose", "loadfltr",
    	"max-page-size", "muldefs", "nodefaultlib", "nodelete", "nodlopen",
    	"nodump", "noextern-protected-data", "now", "origin", and "text".

commit 83d5a34dd4e11263f6c6dd356b410799c6cb7970
Author: Keith Seitz <>
Date:   Mon Oct 16 22:19:55 2017 -0700

    Add missing ChangeLog entries.

commit 487958d1e995ab05420f9a8468535b4399602a3f
Author: Sandra Loosemore <>
Date:   Mon Oct 16 20:45:55 2017 -0700

    Fix segfault processing nios2 pseudo-instructions with too few arguments.
    2017-10-16  Sandra Loosemore  <>
    	    Henry Wong  <>
    	* config/tc-nios2.c (nios2_translate_pseudo_insn): Check for
    	correct number of arguments.
    	(md_assemble): Handle failure of nios2_translate_pseudo_insn.
    	* testsuite/gas/nios2/illegal_pseudoinst.l: New file.
    	* testsuite/gas/nios2/illegal_pseudoinst.s: New file.
    	* testsuite/gas/nios2/nios2.exp: Add illegal_pseudoinst test.

commit c191a6875b118fce30e7dc4d9e4bd20eff850270
Author: Keith Seitz <>
Date:   Mon Oct 16 17:19:29 2017 -0700

    Record and output access specifiers for nested typedefs
    We currently do not record access information for typedefs defined inside
    classes.  Consider:
    struct foo
       typedef int PUBLIC;
       typedef int PRIVATE;
       PRIVATE b;
    (gdb) ptype foo
    type = struct foo {
        PRIVATE b;
        typedef int PRIVATE;
        typedef int PUBLIC;
    This patch fixes this:
    (gdb) ptype foo
    type = struct foo {
        PRIVATE b;
        typedef int PRIVATE;
        typedef int PUBLIC;
    	* c-typeprint.c (enum access_specifier): Moved here from
    	(output_access_specifier): New function.
    	(c_type_print_base): Consider typedefs when assessing
    	whether access labels are needed.
    	Use output_access_specifier as needed.
    	Output access specifier for typedefs, if needed.
    	* dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
    	* gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
    	accessor macros.
    	* gdb.cp/ (class_with_typedefs, class_with_public_typedef)
    	(class_with_protected_typedef, class_with_private_typedef)
    	(struct_with_public_typedef, struct_with_protected_typedef)
    	(struct_with_private_typedef): New classes/structs.
    	* gdb.cp/classes.exp (test_ptype_class_objects): Add tests for
    	typedefs and access specifiers.

commit 087ce8fa0249fa0167a73f25be51e12fb1a2b336
Author: GDB Administrator <>
Date:   Tue Oct 17 00:00:26 2017 +0000

    Automatic date update in

commit 87028b873938aa3cc756c99e33a328640dbc30bc
Author: Tom Tromey <>
Date:   Thu Oct 12 18:20:09 2017 -0600

    Return unique_xmalloc_ptr from target_fileio_read_stralloc
    Change target_fileio_read_stralloc to return unique_xmalloc_ptr and
    fix up the callers.  This removes a number of cleanups.
    2017-10-16  Tom Tromey  <>
    	* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
    	(linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
    	* target.c (target_fileio_read_stralloc): Update.
    	* sparc64-tdep.c (adi_is_addr_mapped): Update.
    	* target.h (target_fileio_read_stralloc): Return

commit b7b030adc405017f01e996a90f85e40730ef8397
Author: Tom Tromey <>
Date:   Thu Oct 12 16:48:35 2017 -0600

    Return unique_xmalloc_ptr from target_read_stralloc
    This changes target_read_stralloc to return a unique_xmalloc_ptr, and
    then fixes all the callers.  unique_xmalloc_ptr is used, rather than
    std::string, because target_read_stralloc gives a special meaning to a
    NULL return.
    2017-10-16  Tom Tromey  <>
    	* xml-syscall.c (xml_init_syscalls_info): Update.
    	* xml-support.c (xinclude_start_include): Update.
    	(xml_fetch_content_from_file): Return unique_xmalloc_ptr.
    	* xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
    	(xml_fetch_content_from_file): Likewise.
    	* osdata.c (get_osdata): Update.
    	* target.h (target_read_stralloc, target_get_osdata): Return
    	* solib-aix.c (solib_aix_get_library_list): Update.
    	* solib-target.c (solib_target_current_sos): Update.
    	* solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
    	* xml-tdesc.c (fetch_available_features_from_target): Update.
    	(target_fetch_description_xml): Update.
    	(file_read_description_xml): Update.
    	* remote.c (remote_get_threads_with_qxfer, remote_memory_map)
    	(remote_traceframe_info, btrace_read_config, remote_read_btrace)
    	(remote_pid_to_exec_file): Update.
    	* target.c (target_read_stralloc): Return unique_xmalloc_ptr.
    	(target_get_osdata): Likewise.

commit b80406accc70791a1789e40f24d64161bc41de34
Author: Tom Tromey <>
Date:   Thu Oct 12 16:40:01 2017 -0600

    Simple cleanup removals in remote.c
    This removes a few cleanups in remote.c using the usual techniques:
    std::vector, unique_xmalloc_ptr, and gdb::def_vector.
    2017-10-16  Tom Tromey  <>
    	* remote.c (remote_register_number_and_offset): Use std::vector.
    	(remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
    	(putpkt_binary): Use gdb::def_vector.
    	(compare_sections_command): Use gdb::byte_vector.

commit a90ecff85af9d9275f540227825ba62bdafc976d
Author: Tom Tromey <>
Date:   Thu Oct 12 16:24:13 2017 -0600

    Remove cleanup from ppc-linux-nat.c
    This removes a cleanup from ppc-linux-nat.c, by using
    unique_xmalloc_ptr.  It also slightly simplifies the code by using
    XDUP rather than XNEW and memcpy.
    2017-10-16  Tom Tromey  <>
    	* ppc-linux-nat.c (hwdebug_insert_point): Use
    	gdb::unique_xmalloc_ptr, XDUP.

commit 2dc0e219715356c6acbc3bea85ddec288f752f1f
Author: Tom Tromey <>
Date:   Thu Oct 12 16:19:55 2017 -0600

    Remove some cleanups from probe.c
    This removes some cleanups from parse_probes by using std::string; and
    removes some unnecessary cleanups from elsewhere in probe.c.
    2017-10-16  Tom Tromey  <>
    	* probe.c (parse_probes): Use std::string.
    	(info_probes_for_ops, enable_probes_command)
    	(disable_probes_command): Remove cleanups.

commit b05628f0a878cdd64492bbc49d60003d699763ad
Author: Tom Tromey <>
Date:   Thu Oct 12 15:46:42 2017 -0600

    Use std::vector in end_symtab_get_static_block
    Change end_symtab_get_static_block to use std::vector.  This removes a
    2017-10-16  Tom Tromey  <>
    	* buildsym.c (block_compar): Remove.
    	(end_symtab_get_static_block): Use std::vector.

commit 739b3f1d8ff7072dcc66240c25b026c6433bda1a
Author: Pedro Alves <>
Date:   Mon Oct 16 20:24:21 2017 +0100

    Make native gdbserver boards no longer be "remote" (in DejaGnu terms)
    This commit finally clears the "isremote" flag in the native-gdbserver
    and native-stdio-gdbserver boards.  The goal is to make all "native"
    boards be considered not remote in DejaGnu terms, like the
    native-extended-gdbserver board is too.
    DejaGnu automatically considers boards remote if their names don't
    match the local hostname.  That means that native-gdbserver and
    native-extended-gdbserver are considered remote by default by DejaGnu,
    even though they run locally.  native-extended-gdbserver, however,
    overrides its isremote flag to force it to be not remote.  So we are
    in that weird state where native-gdbserver is considered remote, and
    native-extended-gdbserver is considered not remote.
    A recent set of commits fixed all the problems (and some more) exposed
    by testing with --target_board=native-gdbserver and
    --target_board=native-stdio-gdbserver with isremote forced off on
    x86-64 GNU/Linux.  I believe we're good to go now.
    The native-stdio-gdbserver.exp/remote-stdio-gdbserver.exp boards
    required deep non-obvious modifications unfortunately...  The problem
    is that if a board is not remote, then DejaGnu doesn't call
    ${board}_spawn / ${board}_exec at all, and the
    native-stdio-gdbserver.exp board relies on those procedures being
    called.  To fix that, this commit redesigns how the stdio boards hook
    into the testing framework to spawn gdbserver.  IMO, this is a good
    change anyway, because the way its done currently is a bit of a hack,
    and the result turns out to be simpler, even.  With this commit, they
    now no longer load the "gdbserver" generic config, and hook at the
    mi_gdb_target_load/gdb_reload level instead, making them more like
    traditional board files.
    To share code between native-stdio-gdbserver.exp and
    remote-stdio-gdbserver.exp, a new shared stdio-gdbserver-base.exp file
    is created.
    Instead of having each native board clear isremote manually, boards
    source the new "local-board.exp" file.
    This also adds a new section to testsuite/README file discussing
    local/remote/native, so that we can easily refer to it.
    2017-10-16  Pedro Alves  <>
    	    Simon Marchi  <>
    	* README (Local vs Remote vs Native): New section.
    	* boards/local-board.exp: New file, with bits factored out from
    	* boards/native-extended-gdbserver.exp: ... here.  Load
    	* boards/native-gdbserver.exp: Load "local-board".
    	(${board}_spawn, ${board}_exec): Delete.
    	* boards/native-stdio-gdbserver.exp: Most contents factored out to
    	* boards/stdio-gdbserver-base.exp: ... this new file.
    	* boards/native-stdio-gdbserver.exp: Reimplement, by loading
    	"stdio-gdbserver-base" and defining a get_target_remote_pipe_cmd
    	* boards/remote-stdio-gdbserver.exp: Load stdio-gdbserver-base
    	instead of native-stdio-gdbserver.  Don't set gdb_server_prog nor
    	(${board}_get_remote_address, ${board}_get_comm_port)
    	(${board}_download, ${board}_upload): Delete.
    	(get_target_remote_pipe_cmd): New.

commit fe68b9530f6ec45d57838b96dbe11723b90467f4
Author: Simon Marchi <>
Date:   Mon Oct 16 15:06:14 2017 -0400

    Use proc_with_prefix in py-breakpoint.exp
    Use proc_with_prefix to avoid having to call with_test_prefix with a
    duplicate of the proc name.  The diff is mostly lines being re-indented.
    	* gdb.python/py-breakpoint.exp (test_bkpt_basic,
    	test_bkpt_deletion, test_bkpt_cond_and_cmds,
    	test_bkpt_invisible, test_watchpoints, test_bkpt_internal,
    	test_bkpt_eval_funcs, test_bkpt_temporary, test_bkpt_address,
    	test_bkpt_pending, test_bkpt_events): Use proc_with_prefix,
    	remove with_test_prefix.

commit a79b1bc6f690f3d146a3caddabd9f13a886c856a
Author: Simon Marchi <>
Date:   Mon Oct 16 10:14:53 2017 -0400

    Get rid of VEC(mem_range_s)
    This patch replaces the last usages of VEC(mem_range_s) with
    std::vector<mem_range>.  This allows getting rid of a few cleanups and
    of the DEF_VEC_O(mem_range_s).
    I added a test for normalize_mem_ranges to make sure I didn't break
    anything there.
    Regtested on the buildbot.
    	* memrange.h (struct mem_range): Define operator< and operator==.
    	(mem_range_s): Remove.
    	(DEF_VEC_O (mem_range_s)): Remove.
    	(normalize_mem_ranges): Change parameter type to std::vector.
    	* memrange.c (compare_mem_ranges): Remove.
    	(normalize_mem_ranges): Change parameter type to std::vector,
    	adjust to vector change.
    	* exec.c (section_table_available_memory): Return vector, remove
    	(section_table_read_available_memory): Adjust to std::vector
    	* remote.c (remote_read_bytes): Adjust to std::vector
    	* tracepoint.h (traceframe_available_memory): Change parameter
    	type to std::vector.
    	* tracepoint.c (traceframe_available_memory): Change parameter
    	type to std::vector, adjust.
    	* gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
    	std::vector change.
    	* gdb/ (SUBDIR_UNITTESTS_SRCS): Add
    	(SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
    	* gdb/unittests/memrange-selftests.c: New file.

commit 63f0e930d4667eb7dbc95c78f770cd58acd328ef
Author: Pedro Alves <>
Date:   Mon Oct 16 13:39:12 2017 +0100

    Work around GCC 6.3.1 bug
    This commit works around a GCC 6.3.1 bug several people are hitting:
    It manifests like this:
      ../../../binutils-gdb/gdb/probe.c:68:12: error: types may not be defined in a for-range-declaration [-Werror]
    	 for (struct probe *probe : probes)
    Fix it by renaming the range-for named variables to something different
    from their type's name.
    2017-10-16  Pedro Alves  <>
    	* elfread.c (probe_key_free): Rename range-for variable.
    	* probe.c (parse_probes_in_pspace, find_probes_in_objfile)
    	(find_probe_by_pc, collect_probes): Rename range-for variable.

commit 5c3261b0e834647cf9eb555320e20871b7854f98
Author: H.J. Lu <>
Date:   Mon Oct 16 03:49:54 2017 -0700

    ELF: Call check_relocs after opening all inputs
    For all ELF targers, call check_relocs after opening all inputs and
    garbage collection.  Since the symbol resolution is known, check_relocs
    can be simplified.  Also garbage collection doesn't need to undo what
    check_relocs has done for symbols which have been garbage collected.
    Since ELF targets never see the removed sections, gc_sweep_hook can be
    removed from elf_backend_data and we can avoid GOT/PLT with garbage
    collection now.
    Set link_info.check_relocs_after_open_input to TRUE for all linker
    targets which use ELF linker and update garbage collection tests to
    remove unused GOT section.
    ldemul_after_check_relocs is added for powerpc to support --secure-plt,
    --bss-plt and --sdata-got.
    Tested natively without regressions on i686, x86-64 and x32.  Tested
    cross binutils on x86-64 without regressions for aarch64-linux,
    alpha-linux, arm-linux, bfin-elf, cr16-elf, cris-elf, crx-elf, frv-linux,
    hppa64-linux, hppa-linux, ia64-linux, lm32-elf, m32r-elf, m68k-linux,
    mcore-elf, metag-elf, microblaze-linux, mips-linux, mmix, mn10300-elf,
    nds32le-linux, nios2-linux, or1k-elf, powerpc64-linux, powerpc-linux,
    riscv32-linux, riscv64-linux, s390-linux, s390x-linux, score-elf,
    sh3-linux, sparc64-linux, sparc-linux, tic6x-elf, tilegx-linux,
    tilepro-linux, vax-linux, x86_64-mingw32 and xtensa-linux.
    	* elf-bfd.h (elf_backend_data): Remove gc_sweep_hook.
    	* elf32-arm.c (elf32_arm_gc_sweep_hook): Removed.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-bfin.c (bfin_gc_sweep_hook): Likewise.
    	(bfinfdpic_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-cr16.c (elf32_cr16_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-lm32.c (lm32_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-m68k.c (elf_m68k_got_entry): Remove elf_m68k_gc_sweep_hook
    	from comments.
    	(elf_m68k_remove_got_entry_type): Removed.
    	(elf_m68k_find_got_entry_ptr): Likewise.
    	(elf_m68k_remove_got_entry): Likewise.
    	(elf_m68k_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-mcore.c (mcore_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-metag.c (elf_metag_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-microblaze.c (elf_backend_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-mips.c (elf_backend_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-nds32.c (nds32_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-nios2.c (nios2_elf32_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-or1k.c (or1k_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-sparc.c (elf_backend_gc_sweep_hook): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-tilegx.c (elf_backend_gc_sweep_hook): Likewise.
    	* elf32-tilepro.c (tilepro_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf64-alpha.c (elf64_alpha_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf64-mips.c (elf_backend_gc_sweep_hook): Likewise.
    	* elf64-mmix.c (mmix_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf64-ppc.c (elf_backend_gc_sweep_hook): Likewise.
    	(ppc64_elf_gc_sweep_hook): Likewise.
    	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elf64-sparc.c (elf_backend_gc_sweep_hook): Likewise.
    	* elf64-tilegx.c (elf_backend_gc_sweep_hook): Likewise.
    	* elflink.c (elf_link_add_object_symbols): Don't call
    	_bfd_elf_link_check_relocs here.
    	(gc_sweep_hook_fn): Removed.
    	(elf_gc_sweep): Remove gc_sweep_hook.
    	* elfnn-aarch64.c (elfNN_aarch64_gc_sweep_hook): Removed.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elfnn-riscv.c (riscv_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
    	* elfxx-mips.h (_bfd_mips_elf_gc_sweep_hook): Likewise.
    	(elf_backend_gc_sweep_hook): Likewise.
    	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
    	* elfxx-sparc.h (_bfd_sparc_elf_gc_sweep_hook): Likewise.
    	* elfxx-target.h (elf_backend_gc_sweep_hook): Likewise.
    	(elfNN_bed): Remove elf_backend_gc_sweep_hook.
    	* elfxx-tilegx.c (tilegx_elf_gc_sweep_hook): Removed.
    	* elfxx-tilegx.h (tilegx_elf_gc_sweep_hook): Likewise.
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emulparams/ (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	* emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
    	Set link_info.check_relocs_after_open_input to TRUE.
    	* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse):
    	* emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse):
    	* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Add
    	* emultempl/armcoff.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/beos.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/gld960.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/gld960c.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/lnk960.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/m68kcoff.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/msp430.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/pe.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/pep.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/ticoff.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/vanilla.em (ld_${EMULATION_NAME}_emulation): Likewise.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Always
    	set link_info.check_relocs_after_open_input to TRUE.
    	* emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
    	Set link_info.check_relocs_after_open_input to TRUE.
    	(ld_${EMULATION_NAME}_emulation): Add after_check_relocs_default.
    	* emultempl/mmix-elfnmmo.em (mmix_before_parse): New function.
    	* emultempl/mmixelf.em (elfmmix_before_parse): Replace
    	gld${EMULATION_NAME}_before_parse with mmix_before_parse.
    	* emultempl/ppc32elf.em (ppc_after_open): Renamed to ...
    	(ppc_after_check_relocs): This.  Call after_check_relocs_default
    	instead of gld${EMULATION_NAME}_after_open.
    	(LDEMUL_AFTER_OPEN): Removed.
    	* ldemul.c (ldemul_after_check_relocs): New.
    	(after_check_relocs_default): Likewise.
    	* ldemul.h (ldemul_after_check_relocs): Likewise.
    	(after_check_relocs_default): Likewise.
    	(ld_emulation_xfer_struct): Add after_check_relocs.
    	* ldlang.c (lang_process): Call ldemul_after_check_relocs after
    	* testsuite/ld-aarch64/gc-got-relocs.d: Don't expect GOT section.
    	* testsuite/ld-aarch64/gc-tls-relocs.d: Likewise.
    	* testsuite/ld-cris/tls-gc-68.d: Likewise.
    	* testsuite/ld-cris/tls-gc-69.d: Likewise.
    	* testsuite/ld-cris/tls-gc-70.d: Likewise.
    	* testsuite/ld-cris/tls-gc-75.d: Likewise.
    	* testsuite/ld-cris/tls-gc-79.d: Likewise.
    	* testsuite/ld-mmix/bpo-10.d: Don't expect .MMIX.reg_contents

commit 5bfda25568c34410129c91042cdfdf10c143edac
Author: Yao Qi <>
Date:   Mon Oct 16 11:26:38 2017 +0100

    Regenerate gdbserver/configure
    4fa7574 (Fix gdb 8.1 Solaris compilation) changes warning.m4 and updates
    configure, but gdbserver/configure is not updated.
    2017-10-16  Yao Qi  <>
    	* configure: Regenerated.

commit c40c7bfcf12408f9f8fb1bb61882f1ffd78d4e8b
Author: Yao Qi <>
Date:   Mon Oct 16 09:27:43 2017 +0100

    Remove features/tic6x-*.c files
    features/*.c are generated from *.xml files, in order to get pre-defined
    target descriptions, (for native debugging, for example).  However, these
    pre-generated tdesc_tic6x_* are not used in GDB at all.  This patch removes
    features/tic6x-*.c files.
    2017-10-16  Yao Qi  <>
    	* features/Makefile (XMLTOC): Remove tic6x-*.xml.
    	* features/tic6x-c62x.c: Remove.
    	* features/tic6x-c64x-linux.c: Remove.
    	* features/tic6x-c64x.c: Remove.
    	* features/tic6x-c64xp-linux.c: Remove.
    	* features/tic6x-c64xp.c: Remove.
    	* tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
    	initialize_tdesc_tic6x_*_linux functions.
    	* tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
    	initialize_tdesc_tic6x_* functions.

commit df27ae6a09c6e1d3e92e67b19e43c24d5f1842b2
Author: Yao Qi <>
Date:   Mon Oct 16 09:15:07 2017 +0100

    Remove regformats/tic6x-{c62x,c64x,c64xp}.dat
    tic6x-uclinux GDBserver uses linux target descriptions, instead of these
    non-linux target descriptions.  So we can remove these *.dat files.
    2017-10-16  Yao Qi  <>
    	* features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
    	* regformats/tic6x-c62x.dat: Remove.
    	* regformats/tic6x-c64x.dat: Remove.
    	* regformats/tic6x-c64xp.dat: Remove.

commit 8676616596351876612aa84be798537625348086
Author: Simon Marchi <>
Date:   Sun Oct 15 22:13:22 2017 -0400

    Fix GDB build without expat
    An earlier patch of mine changed parse_traceframe_info to make it return
    a unique_ptr.  I forgot to update the version of the function used in an
    expat-less build, this patch fixes it.
    	* tracepoint.c (parse_traceframe_info): Return a unique_ptr
    	(the !HAVE_LIBEXPAT version).

commit 86e17b6fbc9b224ecceece7a8bb4dd7989f07c7d
Author: GDB Administrator <>
Date:   Mon Oct 16 00:00:19 2017 +0000

    Automatic date update in

commit 631859b65bf9f242c1d408d54052df25d5e983e7
Author: GDB Administrator <>
Date:   Sun Oct 15 00:00:28 2017 +0000

    Automatic date update in

commit 851b6fa13707d187e068c8773f21d376391387a9
Author: H.J. Lu <>
Date:   Sat Oct 14 11:32:29 2017 -0700

    x86: Add elf_x86_backend_data
    Add plt0_pad_byte and target_os fields to elf_x86_link_hash_table.
    Replace elf_i386_backend_data and elf_x86_64_backend_data with
    	* elf32-i386.c (elf_i386_backend_data): Removed.
    	(get_elf_i386_backend_data): Likewise.
    	(elf_i386_arch_bed): Replace elf_i386_backend_data with
    	(elf_i386_get_synthetic_symtab): Likewise.
    	(elf_i386_nacl_arch_bed): Likewise.
    	(elf_i386_vxworks_arch_bed): Likewise.
    	(elf_i386_relocate_section): Check target_os instead of
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	(elf_i386_finish_dynamic_sections): Use htab->plt0_pad_byte.
    	Check target_os instead of is_vxworks.
    	(elf_i386_link_setup_gnu_properties): Remove normal_target and
    	is_vxworks.  Initialize plt0_pad_byte.
    	* elf64-x86-64.c (elf_x86_64_backend_data); Removed.
    	(get_elf_x86_64_arch_data): Likewise.
    	(get_elf_x86_64_backend_data): Likewise.
    	(elf_x86_64_arch_bed): Replace elf_x86_64_backend_data with
    	(elf_x86_64_get_synthetic_symtab): Likewise.
    	(elf_x86_64_nacl_arch_bed): Likewise.
    	(elf_x86_64_link_setup_gnu_properties): Remove is_vxworks and
    	normal_target.  Initialize plt0_pad_byte.
    	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Check target_os
    	instead of is_vxworks.
    	(_bfd_x86_elf_size_dynamic_sections): Likewise.
    	(_bfd_x86_elf_finish_dynamic_sections): Likewise.
    	(_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
    	(_bfd_x86_elf_link_hash_table_create): Initialize target_os.
    	(_bfd_x86_elf_link_setup_gnu_properties): Remove is_vxworks.
    	Update normal_target.  Set up plt0_pad_byte.  Check target_os
    	instead of is_vxworks.
    	* elfxx-x86.h (elf_x86_target_os): New.
    	(elf_x86_backend_data): Likewise.
    	(get_elf_x86_backend_data): Likewise.
    	(elf_x86_link_hash_table): Remove is_vxworks.  Add plt0_pad_byte
    	and target_os.
    	(elf_x86_init_table): Remove normal_target and is_vxworks.  Add

commit 9577f60b5a19ce93536f49cba3af4be39e39c327
Author: H.J. Lu <>
Date:   Sat Oct 14 11:29:58 2017 -0700

    x86: Add _bfd_x86_elf_finish_dynamic_sections
    Extract the common parts of elf_i386_finish_dynamic_sections and
    elf_x86_64_finish_dynamic_sections into a separate function in
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Call
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_finish_dynamic_sections): New
    	* elfxx-x86.h (_bfd_x86_elf_finish_dynamic_sections): New

commit 5d84490bf6ac806c15781a833f0e1e7a191f334f
Author: H.J. Lu <>
Date:   Sat Oct 14 11:23:45 2017 -0700

    cris: Don't hide symbol which was forced to be dynamic
    h->root.dynamic is set on symbols which were forced to be dynamic due
    to a version script file.  Don't remove such symbols from dynamic symbol
    table.  This fixes:
    FAIL: ld-elf/pr21384
    	PR ld/21384
    	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
    	hide symbol which was forced to be dynamic.

commit e01c16a83893b03433c8edf4ccae536d9b9f4831
Author: H.J. Lu <>
Date:   Sat Oct 14 11:09:29 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-cris.c (cris_elf_relocate_section): Don't generate
    	dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(cris_elf_check_relocs): Don't allocate dynamic relocation
    	PR ld/22269
    	* testsuite/ld-cris/weakhiddso.d: Update and remove R_CRIS_NONE.

commit 6ee6e05af482b356f9be4b0db877802fb47b2a12
Author: H.J. Lu <>
Date:   Sat Oct 14 11:07:18 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-sh.c (allocate_dynrelocs): Discard dynamic relocations
    	(sh_elf_relocate_section): Don't generate dynamic relocation if

commit b27bb18f45a99330600ab57892c3620343425910
Author: H.J. Lu <>
Date:   Sat Oct 14 11:06:00 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-s390.c (allocate_dynrelocs): Discard dynamic
    	relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(elf_s390_relocate_section): Don't generate dynamic relocation
    	* elf64-s390.c (allocate_dynrelocs): Discard dynamic
    	relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(elf_s390_relocate_section): Don't generate dynamic relocation

commit 31a53da5418528b9ba94bb80a97f0084f40e0c64
Author: H.J. Lu <>
Date:   Sat Oct 14 11:04:32 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-nios2.c (nios2_elf32_relocate_section): Don't generate
    	dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(allocate_dynrelocs): Discard dynamic relocations if

commit 112fef4084ff0bdd6dd9aacca85f5fe62e1a5423
Author: H.J. Lu <>
Date:   Sat Oct 14 11:03:26 2017 -0700

    microblaze: Check UNDEFWEAK_NO_DYNAMIC_RELOC
    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-microblaze.c (microblaze_elf_relocate_section): Don't
    	generate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is
    	(allocate_dynrelocs): Discard dynamic relocations if

commit 5056ba1d4df19006b873bc8e752f85fcc712b65b
Author: H.J. Lu <>
Date:   Sat Oct 14 11:02:20 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-m68k.c (elf_m68k_check_relocs): Don't allocate dynamic
    	relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(elf_m68k_adjust_dynamic_symbol): Don't make symbol dynamic if
    	(elf_m68k_relocate_section): Don't generate dynamic relocation

commit 60c1b909dfcc984f3aecb70032e90a34d71b44bc
Author: H.J. Lu <>
Date:   Sat Oct 14 10:54:50 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-hppa.c (ensure_undef_dynamic): Don't make undefined
    	symbol dynamic if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(allocate_dynrelocs): Discard dynamic relocations if
    	(elf32_hppa_relocate_section): Don't generate dynamic
    	relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.

commit db41f6eb5234ea3c74c1ce4798cf9923d4a45a98
Author: H.J. Lu <>
Date:   Sat Oct 14 10:53:43 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elfnn-ia64.c (elfNN_ia64_check_relocs): Don't allocate
    	dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(allocate_fptr): Don't allocate function pointer if
    	(allocate_dynrel_entries): Don't allocate dynamic relocation
    	(set_got_entry): Don't set GOT entry if
    	(set_pltoff_entry): Don't set PLTOFF entry if
    	(elfNN_ia64_relocate_section): Don't install dynamic relocation

commit ad9512030937e79e28d08108fde7adf18635c58b
Author: H.J. Lu <>
Date:   Sat Oct 14 10:52:12 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elfxx-mips.c (mips_elf_calculate_relocation): Don't generate
    	dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(allocate_dynrelocs): Don't allocate dynamic relocations if

commit 95b03e4ad68e7a90f5096b47df595636344b783a
Author: H.J. Lu <>
Date:   Sat Oct 14 10:27:33 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-arm.c (elf32_arm_final_link_relocate): Don't generate
    	dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(allocate_dynrelocs_for_symbol): Discard dynamic relocations

commit a3cd202aae50abe5a571fb8c186b6b6af68edce2
Author: H.J. Lu <>
Date:   Sat Oct 14 10:25:33 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elf32-tilepro.c (allocate_dynrelocs): Discard dynamic
    	relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(tilepro_elf_relocate_section): Don't generate dynamic
    	relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	* elfxx-tilegx.c (allocate_dynrelocs): Discard dynamic
    	relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true.
    	(tilegx_elf_relocate_section): Don't generate dynamic
    	relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true.

commit ddb7fd0f7b43e4c755c4b8c7752948e050363525
Author: H.J. Lu <>
Date:   Sat Oct 14 10:23:48 2017 -0700

    Don't generate dynamic relocation against weak undefined symbol if it
    is resolved to zero.  FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be
    checked in more places.
    	PR ld/22269
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Don't
    	generate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is
    	(elfNN_aarch64_allocate_dynrelocs): Discard dynamic relocations

commit 62cd30f167be56e68cb0a37789d400b47bbdbc6c
Author: H.J. Lu <>
Date:   Sat Oct 14 10:19:30 2017 -0700

    Move UNDEFWEAK_NO_DYNAMIC_RELOC to elf-bfd.h
    Move UNDEFWEAK_NO_DYNAMIC_RELOC to elf-bfd.h so that it can be used by
    other ELF linker backends.
    	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Moved to ...
    	* elf-bfd.h (UNDEFWEAK_NO_DYNAMIC_RELOC): Here.
    	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Removed.

commit 824dfcc311958af08c25d29956da2bab99e240c9
Author: Simon Marchi <>
Date:   Sat Oct 14 09:28:07 2017 -0400

    Fix build failure in linux-osdata.c
      Use std::vector in linux_xfer_osdata_processgroups
    broke the build with older gcc (at least 4.7 and 4.8):
    In file included from /usr/include/c++/4.7/algorithm:63:0,
                     from /home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:40:
    /usr/include/c++/4.7/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Tp = pid_pgid_entry]’:
    /usr/include/c++/4.7/bits/stl_algo.h:2315:70:   required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
    /usr/include/c++/4.7/bits/stl_algo.h:2347:54:   required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Size = long int]’
    /usr/include/c++/4.7/bits/stl_algo.h:5483:4:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
    /home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:480:57:   required from here
    /usr/include/c++/4.7/bits/stl_algo.h:2277:4: error: passing ‘const pid_pgid_entry’ as ‘this’ argument of ‘bool pid_pgid_entry::operator<(const pid_pgid_entry&)’ discards qualifiers [-fpermissive]
    Making the operator< method const fixes it.
    	* nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make

commit 9c80ecd646a604fadcc290fca23b34c9454f5feb
Author: Simon Marchi <>
Date:   Sat Oct 14 09:11:12 2017 -0400

    gdbserver: use std::list for all_threads
    Remove the usage of inferior_list for the all_threads list in
    gdbserver.  The entry field in thread_info is removed, and replaced by a
    simple ptid field.
    I added some functions to iterate (for_each_thread) and find threads
    (find_thread).  However, changing all the users of find_inferior & co to
    use these new functions would have made the patch way too big.  So I
    opted instead to make find_inferior & co some shims, so that the
    existing code only needs to be updated minimally.  We can then update
    the existing code to use the new functions incrementally (I've started
    to do the work, but I'll post it afterwards, see [1] if you want a peek).
    This patch has been built-tested on all relevant platforms, except
    lynx.  I also regtested using the native-gdbserver and
    native-extended-gdbserver boards on x86.
    	* inferiors.h: (struct inferior_list): Remove.
    	(struct inferior_list_entry); Remove.
    	(add_inferior_to_list, clear_inferior_list, one_inferior_p,
    	get_first_inferior): Remove.
    	(for_each_inferior, for_each_inferior_with_data, find_inferior,
    	find_inferior_id, find_inferior_in_random): Change signature.
    	* inferiors.c (all_threads): Change type to
    	std::list<thread_info *>.
    	(get_thread): Remove macro.
    	(find_inferior, find_inferior_id): Change signature, implement
    	using find_thread.
    	(find_inferior_in_random): Change signature, implement using
    	(for_each_inferior, for_each_inferior_with_data): Change
    	signature, implement using for_each_thread.
    	(add_inferior_to_list, remove_inferior): Remove.
    	(add_thread, get_first_thread, thread_of_pid,
    	find_any_thread_of_pid, free_one_thread, remove_thread): Update.
    	(get_first_inferior, one_inferior_p, clear_inferior_list):
    	(clear_inferiors, get_thread_process): Update.
    	* gdbthread.h: Include <list>.
    	(struct thread_info) <entry>: Remove field.
    	<id>: New field.
    	(all_threads): Change type to std::list<thread_info *>.
    	(get_first_inferior): Add doc.
    	(find_thread, for_each_thread, find_thread_in_random): New
    	(current_ptid, pid_of, ptid_of, lwpid_of): Update.
    	* linux-arm-low.c (update_registers_callback): Update.
    	* linux-low.c (second_thread_of_pid_p): Update.
    	(kill_one_lwp_callback, linux_detach_lwp_callback,
    	delete_lwp_callback, status_pending_p_callback, same_lwp,
    	find_lwp_pid, num_lwps, iterate_over_lwps_filter,
    	iterate_over_lwps, not_stopped_callback,
    	resume_stopped_resumed_lwps, count_events_callback,
    	select_singlestep_lwp_callback, select_event_lwp_callback,
    	unsuspend_one_lwp, linux_wait_1, send_sigstop_callback,
    	suspend_and_send_sigstop_callback, wait_for_sigstop,
    	stuck_in_jump_pad_callback, move_out_of_jump_pad_callback,
    	lwp_running, linux_set_resume_request, resume_status_pending_p,
    	need_step_over_p, start_step_over, linux_resume_one_thread,
    	proceed_one_lwp, unsuspend_and_proceed_one_lwp,
    	reset_lwp_ptrace_options_callback): Update.
    	* linux-mips-low.c (update_watch_registers_callback): Update.
    	* regcache.c (regcache_invalidate_one, regcache_invalidate):
    	(free_register_cache_thread_one): Remove.
    	(regcache_release): Update.
    	* server.c (handle_btrace_enable_bts, handle_btrace_enable_pt,
    	handle_qxfer_threads_worker): Update.
    	(handle_query): Update, use list iterator.
    	(visit_actioned_threads, handle_pending_status,
    	queue_stop_reply_callback, gdb_wants_all_threads_stopped,
    	clear_pending_status_callback, set_pending_status_callback,
    	find_status_pending_thread_callback, handle_status,
    	process_serial_event): Update.
    	* target.c (thread_search_callback): Update.
    	* thread-db.c (thread_db_get_tls_address): Update.
    	* tracepoint.c (tracepoint_finished_step, tracepoint_was_hit):
    	* win32-i386-low.c (update_debug_registers_callback): Update.
    	* win32-low.c (delete_thread_info, child_delete_thread,
    	continue_one_thread, suspend_one_thread,
    	get_child_debug_event): Adjust.

commit 9179355e655d78cf44ffdfb432e134eabceaebab
Author: Simon Marchi <>
Date:   Sat Oct 14 09:10:42 2017 -0400

    gdbserver: Use std::list for all_processes
    Remove the usage of inferior_list for the all_processes list in
    gdbserver, replace it with an std::list. The entry field in process_info
    is removed, and replaced by a simple pid field.
    The pid_of macro, used for both processes and threads, is replaced with
    separate functions.  For completeness, I changed ptid_of and lwpid_of to
    functions as well.
    	* gdbthread.h (ptid_of, pid_of, lwpid_of): New functions.
    	* inferiors.h: Include <list>.
    	(struct process_info) <entry>: Remove field.
    	<pid>: New field.
    	(pid_of): Change macro to function.
    	(ptid_of, lwpid_of): Remove macro.
    	(all_processes): Change type to std::list<process_info *>.
    	(ALL_PROCESSES): Remove macro.
    	(for_each_process, find_process): New function.
    	* inferiors.c (all_processes): Change type to
    	std::list<process_info *>.
    	(find_thread_process): Adjust.
    	(add_process): Likewise.
    	(remove_process): Likewise.
    	(find_process_pid): Likewise.
    	(get_first_process): Likewise.
    	(started_inferior_callback): Remove.
    	(have_started_inferiors_p): Adjust.
    	(attached_inferior_callback): Remove.
    	(have_attached_inferiors_p): Adjust.
    	* linux-low.c (check_zombie_leaders): Likewise.
    	* linux-x86-low.c (x86_arch_setup_process_callback): Remove.
    	(x86_linux_update_xmltarget): Adjust.
    	* server.c (handle_query): Likewise.
    	(gdb_reattached_process): Remove.
    	(handle_status): Adjust.
    	(kill_inferior_callback): Likewise.
    	(detach_or_kill_inferior): Remove.
    	(print_started_pid): Likewise.
    	(print_attached_pid): Likewise.
    	(detach_or_kill_for_exit): Update.
    	(process_serial_event): Likewise.
    	* linux-arm-low.c (arm_new_fork): Likewise.

commit c9cb8905b489d094c6c42e103d4bc6e231e00cf0
Author: Simon Marchi <>
Date:   Sat Oct 14 09:09:21 2017 -0400

    gdbserver: Use std::list for all_dlls
    As a small step towards removing inferior_list/inferior_list_entry, this
    patch replaces the usage of inferior_list for the list of dlls by an
    std::list.  The dll_info type now uses an std::string for name and has a
    simple constructor.
    I am able to build gdbserver with mingw on Linux, but I am not able to
    test this on a Windows machine (the only platform that uses this code).
    	* dll.h: Include <list>.
    	(struct dll_info): Add constructor.
    	<entry>: Remove field.
    	(all_dlls): Change type to std::list<dll_info>.
    	* dll.c: Include <algorithm>.
    	(get_dll): Remove macro.
    	(all_dlls): Change type to std::list<dll_info *>.
    	(free_one_dll): Remove.
    	(match_dll): Likewise.
    	(loaded_dll): Adjust.
    	(unloaded_dll): Adjust to all_dlls type change, use
    	std::find_if.  Inline code from match_dll.
    	(clear_dlls): Adjust to all_dlls type change.
    	* server.c (emit_dll_description): Remove.
    	(handle_qxfer_libraries): Adjust to all_dlls type change,
    	integrate emit_dll_description's functionality.

commit 2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3
Author: Simon Marchi <>
Date:   Sat Oct 14 08:47:44 2017 -0400

    Make to_traceframe_info return a unique_ptr
    Since this target method returns an allocated object, return a
    unique_ptr.  It allows getting rid a some cleanups here and there.
    I had to shuffle the includes around.  First, target.h now needs to
    include tracepoint.h, to get the definition of traceframe_info_up.
    However, the definition of enum trace_find_type was later in target, so
    I had to move it to tracepoint.h, so that the declaration of tfind_1
    could know about it.  I then had to remove the include of target.h from
    tracepoint.h, which caused a circular dependency (it was probably
    included to get enum trace_find_type in the first place anyway).
    Regression tested on the buildbot.
    	* target.h: Include tracepoint.h.
    	(enum trace_find_type): Move to tracepoint.h.
    	(struct target_ops) <to_traceframe_info>: Return a unique ptr.
    	* tracepoint.h: Don't include target.h
    	(enum trace_find_type): Move from target.h.
    	(parse_traceframe_info): Return a unique ptr.
    	* tracepoint.c (current_traceframe_info): Change type to unique
    	(free_traceframe_info): Remove.
    	(clear_traceframe_info): Don't manually free
    	(free_result): Remove.
    	(parse_traceframe_info): Return a unique ptr.
    	(get_traceframe_info): Adjust to unique ptr.
    	* ctf.c (ctf_traceframe_info): Return a unique ptr.
    	* remote.c (remote_traceframe_info): Return a unique ptr.
    	* tracefile-tfile.c (tfile_traceframe_info): Return a unique
    	* target-debug.h (target_debug_print_traceframe_info_up): New
    	* target-delegates.c: Regenerate.

commit 4cdd21a8d3fd943d6993e9d053edf09583802744
Author: Simon Marchi <>
Date:   Sat Oct 14 08:43:54 2017 -0400

    Use std::vector for traceframe_info::memory
    Straightforward change from a VEC to std::vector.  This allows making
    the destruction of a traceframe_info trivial.
    I added a constructor with parameters to mem_range to be able to
    emplace_back directly with the values.  It is necessary to leave a
    default constructor there because mem_range is still used in a VEC.
    	* memrange.h (struct mem_range): Add constructors.
    	* tracepoint.h (struct traceframe_info) <memory>: Change type to
    	* tracepoint.c (free_traceframe_info): Don't manually free
    	(traceframe_info_start_memory): Adjust to vector change.
    	(traceframe_available_memory): Likewise.
    	* tracefile-tfile.c (build_traceframe_info): Likewise.
    	* ctf.c (ctf_traceframe_info): Likewise.

commit d0d292a27402ee2d3f91d541371f134f91730373
Author: Simon Marchi <>
Date:   Sat Oct 14 08:42:23 2017 -0400

    Use std::vector for traceframe_info::tvars
    Straightforward change to get rid of a VEC.  We need to new/delete
    traceframe_info instead of malloc/free it.  I found three places that
    allocate a traceframe_info (ctf_traceframe_info, tfile_traceframe_info
    and parse_traceframe_info) and only one that frees it
    	* tracepoint.h (struct traceframe_info) <tvars>: Change type to
    	* tracepoint.c (free_traceframe_info): Deallocate with delete.
    	(traceframe_info_start_tvar): Adjust to vector change.
    	(parse_traceframe_info): Allocate with new.
    	* ctf.c (ctf_traceframe_info): Allocate with new, adjust to
    	vector change.
    	* tracefile-tfile.c (build_traceframe_info): Adjust to vector
    	tfile_traceframe_info): Allocate with new.
    	* mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector

commit 8d3c73ef6b1aff1b22296bd48ec302b4b1d4808c
Author: Simon Marchi <>
Date:   Sat Oct 14 08:41:01 2017 -0400

    Rename traceframe_info variable to current_traceframe_info
    ... so it doesn't shadow the traceframe_info type.  It think it's a
    clearer name anyway.
    	* tracepoint.c (traceframe_info): Rename to...
    	(current_traceframe_info): ...this.
    	(clear_traceframe_info): Adjust.
    	(get_traceframe_info): Adjust.

commit b129dcac882da87767cb863ad8b2572f90e9e5bc
Author: Simon Marchi <>
Date:   Sat Oct 14 08:38:02 2017 -0400

    Use std::vector in linux_xfer_osdata_processgroups
    This simplifies the code quite a bit, by removing the array of PID_T
    that's actually an array of pairs of PID_T.
    This code is only used to implement "info os procgroups".  I tested by hand
    as well as by running gdb.base/info-os.exp for unix, native-gdbserver
    and native-extended-gdbserver.
    	* nat/linux-osdata.c: Include algorithm.
    	(compare_processes): Remove.
    	(struct pid_pgid_entry): New struct.
    	(linux_xfer_osdata_processgroups): Use std::vector instead of

commit af5bf4ada48ff65b6658be1fab8f9c8f8ab5f319
Author: Simon Marchi <>
Date:   Sat Oct 14 08:06:29 2017 -0400

    Replace psymbol_allocation_list with std::vector
    psymbol_allocation_list is basically a vector implementation.  We can
    replace it with an std::vector, now that objfile has been C++-ified.
    I sent this to the buildbot, there are a few suspicious failures, but
    I don't think they are related to this patch.  For example on powerpc:
    new FAIL: gdb.base/catch-syscall.exp: execve: syscall execve has returned
    new FAIL: gdb.base/catch-syscall.exp: execve: continue to main
    new FAIL: gdb.base/catch-syscall.exp: execve: continue until exit
    I get the same failures when testing manually on gcc112, without this
    	* objfiles.h: Don't include symfile.h.
    	(struct partial_symbol): Remove forward-declaration.
    	(struct objfile) <global_psymbols, static_psymbols>: Change type
    	to std::vector<partial_symbol *>.
    	* objfiles.c (objfile::objfile): Don't memset those fields.
    	(objfile::~objfile): Don't free those fields.
    	* psympriv.h (struct psymbol_allocation_list): Remove
    	(add_psymbol_to_list): Change psymbol_allocation_list parameter
    	to std::vector.
    	(start_psymtab_common): Change parameters to std::vector.
    	* psymtab.c: Include algorithm.
    	(require_partial_symbols): Call shrink_to_fit.
    	(find_pc_sect_psymbol): Adjust to vector change.
    	(match_partial_symbol): Likewise.
    	(lookup_partial_symbol): Likewise.
    	(psym_relocate): Likewise.
    	(dump_psymtab): Likewise.
    	(recursively_search_psymtabs): Likewise.
    	(compare_psymbols): Remove.
    	(sort_pst_symbols): Adjust to vector change.
    	(start_psymtab_common): Likewise.
    	(end_psymtab_common): Likewise.
    	(psymbol_bcache_full): De-constify return value.
    	(add_psymbol_to_bcache): Likewise.
    	(extend_psymbol_list): Remove.
    	(append_psymbol_to_list): Adjust to vector change.
    	(add_psymbol_to_list): Likewise.
    	(init_psymbol_list): Likewise.
    	(maintenance_info_psymtabs): Likewise.
    	(maintenance_check_psymtabs): Likewise.
    	* symfile.h (struct psymbol_allocation_list): Remove.
    	* symfile.c (reread_symbols): Adjust to vector change.
    	* dbxread.c (start_psymtab): Change type of parameters.
    	(dbx_symfile_read): Adjust to vector change.
    	(read_dbx_symtab): Likewise.
    	(start_psymtab): Change type of parameters.
    	* dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
    	(create_partial_symtab): Likewise.
    	(add_partial_symbol): Likewise.
    	(write_one_signatured_type): Likewise.
    	(recursively_write_psymbols): Likewise.
    	* mdebugread.c (parse_partial_symbols): Likewise.
    	* xcoffread.c (xcoff_start_psymtab): Change type of parameters.
    	(scan_xcoff_symtab): Adjust to vector change.
    	(xcoff_initial_scan): Likewise.

commit 3ec5942fbf8501db10784b0dff7d24222a113728
Author: Simon Marchi <>
Date:   Fri Oct 13 22:45:14 2017 -0400

    ada: Use std::string in print_dynamic_range_bound
    Replace this usage of GROW_VECT with an std::string.  I don't think
    there's a reason for this variable to be static, other than it was
    cumbersome to manage its lifetime (i.e. use a cleanup) before.
    Tested by comparing the gdb.ada/*.exp test results before and after the
    	* ada-typeprint.c (print_dynamic_range_bound): Use std::string.

commit 867d918419528a1bc18286f4f13ff69fcf17e0c9
Author: GDB Administrator <>
Date:   Sat Oct 14 00:00:20 2017 +0000

    Automatic date update in

commit 300b6685f17cae131166eaf2fcafe10dab06466b
Author: Pedro Alves <>
Date:   Thu Oct 12 18:20:25 2017 +0100

    Skip a few tests on targets that can't use the "run" commmand.
    These tests want to use raw "run", so skip them on targets that can't
    do that.
    Also adds a small utility procedure that clearly conveys intent instead of
    explicitly checking use_gdb_stub in the testcases.
    This makes sure these testcases continue to be skipped with
    --target_board=native-gdbserver once that board stops setting
    2017-10-13  Pedro Alves  <>
    	* lib/gdb.exp (target_can_use_run_cmd): New procedure.
    	* gdb.base/annota1.exp: Use it instead of is_remote.
    	* gdb.base/annota3.exp: Use it instead of is_remote.
    	* gdb.cp/annota2.exp: Use it instead of is_remote.
    	* gdb.cp/annota3.exp: Use it instead of is_remote.
    	* gdb.multi/bkpt-multi-exec.exp: Use it instead of is_remote.

commit 50500caf810fcc6c05e3fd89bc37fe8f9e4adb07
Author: Pedro Alves <>
Date:   Thu Oct 12 18:27:20 2017 +0100

    Fix gdb.base/testenv.exp against --target_board=native-extended-gdbserver
    Currently we get:
      Running ..../src/gdb/testsuite/gdb.base/testenv.exp ...
      FAIL: gdb.base/testenv.exp: test no TEST_GDB var
      FAIL: gdb.base/testenv.exp: test with one TEST_GDB var
      FAIL: gdb.base/testenv.exp: test with two TEST_GDB var
      FAIL: gdb.base/testenv.exp: test with one TEST_GDB var, after unset
      FAIL: gdb.base/testenv.exp: test with TEST_GDB_GLOBAL
      FAIL: gdb.base/testenv.exp: test with TEST_GDB_GLOBAL unset
    The problem is that the testcase relies on stdio.  While we could fix
    this for gdbserver by read output from inferior_spawn_id, a better fix
    it to not rely on stdio at all.  That's what this commit does.
    Instead, it reads variables off of the inferior to extract the
    necessary information.
    Along the way, most of the .exp file is reimplemented/cleaned up using
    more modern mechanisms.  E.g., with_test_prefix, proc_with_prefix,
    save_vars, etc.  Also, a missing check for "is_remote host" is added.
    2017-10-13  Pedro Alves  <>
    	* gdb.base/testenv.exp: Check use_gdb_stub instead of is_remote.
    	(test_num_test_vars, run_and_count_vars, find_env)
    	(test_set_unset_env, test_inherit_env_var): New procedures.
    	(top level): Use them.

commit dad0c6d2f7410d3b451800f856f3c6818303c316
Author: Pedro Alves <>
Date:   Thu Oct 12 18:29:21 2017 +0100

    Don't run gdb.gdb/ selftests if use_gdb_stub is true
    If we make the native-gdbserver board be !is_remote, then the few
    tests that use the selftest-support.exp routines to debug gdb itself
    start running, and fail, with something like:
      Running ..../src/gdb/testsuite/gdb.gdb/selftest.exp ...
      ERROR: tcl error sourcing ..../src/gdb/testsuite/gdb.gdb/selftest.exp.
      ERROR: gdbserver does not support run [....] without extended-remote
          while executing
      "error "gdbserver does not support $command without extended-remote""
          (procedure "gdb_test_multiple" line 25)
          invoked from within
      "gdb_test_multiple "run $INTERNAL_GDBFLAGS" "$description" {
    	  -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(\\).* at .*main.c:.*$gdb..."
          (procedure "selftest_setup" line 45)
    This commit makes sure those tests continue to be skipped.
    2017-10-13  Pedro Alves  <>
    	* lib/selftest-support.exp (selftest_setup): Extend comments, and
    	also skip on stub-like targets.

commit 8b0553c18f0dc63ab0ae930f2e8eed2bce4cd32c
Author: Pedro Alves <>
Date:   Fri Oct 13 16:34:50 2017 +0100

    Make gdb.base/find-unmapped.exp pass on remote targets
    Currently, with --target_board=native-extended-gdbserver, we get:
      Running .../src/gdb/testsuite/gdb.base/find-unmapped.exp ...
      FAIL: gdb.base/find-unmapped.exp: find global_var_0, global_var_2, 0xff
      FAIL: gdb.base/find-unmapped.exp: find global_var_1, global_var_2, 0xff
      FAIL: gdb.base/find-unmapped.exp: find global_var_2, (global_var_2 + 16), 0xff
    This commit makes the test pass there, and also enables in on
    --target_board=native-gdbserver, and other remote targets.
    I've filed PR gdb/22293 to track the missing-warning problem.
    2017-10-13  Pedro Alves  <>
    	PR gdb/22293
    	* gdb.base/find-unmapped.exp: Don't skip if is_remote target.
    	(top level): Move some tests to ...
    	(test_not_found): ... this new procedure.
    	(top level): Call it.

commit 2399fe6ab0b6ee64c569992e4bc3bbae3b5b2193
Author: Yao Qi <>
Date:   Fri Oct 13 15:36:49 2017 +0100

    Simplify tic6x and s390x expedite registers
    Nowadays, we have six tic6x expedite registers, which are duplicated.
    tic6x-c64xp-expedite = A15,PC
    tic6x-c64x-expedite = A15,PC
    tic6x-c62x-expedite = A15,PC
    tic6x-c64xp-linux-expedite = A15,PC
    tic6x-c64x-linux-expedite = A15,PC
    tic6x-c62x-linux-expedite = A15,PC
    in features/Makefile, we have
       echo "expedite:$(if $($*-expedite),$($*-expedite),$($(firstword $(subst -, ,$(notdir $*)))-expedite))" \
            >> $(outdir)/$*.tmp
    which means for a given bar/foo-baz.xml, we'll look for either
    bar/foo-baz-expedite or foo-expedite.  We can define only one generic
    expedite register for all different ti6cx and s390x target descriptions.
    Actually, we've done that for x86 target descriptions.
    Re-run 'make GDB=/path/build/gdb all' to regenerate regformats/*.dat files,
    and they are not changed.
    2017-10-13  Yao Qi  <>
    	* features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
    	Remove s390x-*-expedite, add s390x-expedite.

commit 4bf3f4a810813214213ad4f7d869eb24e79d77af
Author: Yao Qi <>
Date:   Fri Oct 13 15:28:10 2017 +0100

    Regenerate features/s390-gs-linux64.c and features/s390x-gs-linux64.c
    2017-10-13  Yao Qi  <>
    	* features/s390-gs-linux64.c: Regenerated.
    	* features/s390x-gs-linux64.c: Regenerated.

commit 354bac403e9a19bbbfb676d854db5f11f0e84c27
Author: Alan Modra <>
Date:   Fri Oct 13 15:23:35 2017 +1030

    PR22263 testcase
    A number of targets need dynamic relocs in PIEs for reasons other than
    relocating thread variables.  The PR is about text relocations, and,
    reading between the lines, unnecessary dynamic tprel relocations.
    Change the test to check for those conditions rather than no dynamic
    	PR ld/22263
    	* testsuite/ld-elf/tls.exp: Link with -z text.
    	* testsuite/ld-elf/pr22263-1.rd: Test for tprel relocs.

commit 9e86da0760aa1e52178cc5b90cd92a7cd4a338f9
Author: Tom Tromey <>
Date:   Wed Oct 11 14:43:57 2017 -0600

    Change objfile to use new/delete
    This changes objfiles to use new and delete rather than xmalloc and
    free.  Simon noticed that it uses a non-POD and so shouldn't be
    allocated with XCNEW; and I wanted to be able to use another non-POD as
    a member; this patch is the result.
    Regression tested by the buildbot.
    2017-10-13  Tom Tromey  <>
    	* compile/compile-object-run.c (do_module_cleanup): Use delete.
    	* solib.c (update_solib_list, reload_shared_libraries_1): Use
    	* symfile.c (symbol_file_add_with_addrs): Use new.
    	(symbol_file_add_separate): Update comment.
    	(syms_from_objfile_1, remove_symbol_file_command): Use delete.
    	* jit.c (jit_object_close_impl): Use new.
    	(jit_unregister_code): Use delete.
    	* objfiles.c (objfile::objfile): Rename from allocate_objfile.
    	(~objfile): Rename from free_objfile.
    	(free_objfile_separate_debug, do_free_objfile_cleanup)
    	(free_all_objfiles, objfile_purge_solibs): Use delete.
    	* objfiles.h (struct objfile): Add constructor and destructor.
    	Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
    	(allocate_objfile, free_objfile): Don't declare.
    	(struct objstats): Add initializers.

commit 7594f6236073fcc8696c43e1f5267e61f7d5c226
Author: Pedro Alves <>
Date:   Fri Oct 13 13:38:24 2017 +0100

    Fix gdb.base/term.exp on non-"target native" boards
    With --target_board=native-extended-gdbserver, we get:
      Running .../src/gdb/testsuite/gdb.base/term.exp ...
      FAIL: gdb.base/term.exp: info terminal at breakpoint
      (gdb) info terminal
      No saved terminal information.
    Fix it by running the test everywhere, and expecting different output
    on non-native targets.
    2017-10-13  Pedro Alves  <>
    	* gdb.base/term.exp: Don't skip if is_remote target.  Instead,
    	expect different "info terminal" output if testing with a
    	non-native target.

commit ebe3b40202042fc644df5ea3bd111425ba1aeeee
Author: Pedro Alves <>
Date:   Fri Oct 13 13:25:20 2017 +0100

    Remove is_remote kfail from gdb.python/py-evthreads.exp
    This testcase works fine with gdbserver nowadays.  So remove the
    2017-10-13  Pedro Alves  <>
    	    Simon Marchi  <>
    	PR python/12966
    	* gdb.python/py-evthreads.exp: Remove is_remote target kfail.

commit 42f1b1617e4f8c8f485318897c5154cbff58eeb0
Author: Pedro Alves <>
Date:   Fri Oct 13 13:15:04 2017 +0100

    Fix gdb.python/py-evthreads.exp with --target_board=native-extended-gdbserver
      Running ..../src/gdb/testsuite/gdb.python/py-evthreads.exp ...
      FAIL: gdb.python/py-evthreads.exp: run to breakpoint 1
      FAIL: gdb.python/py-evthreads.exp: reached breakpoint 2
      FAIL: gdb.python/py-evthreads.exp: thread 2
      FAIL: gdb.python/py-evthreads.exp: reached breakpoint 3
      FAIL: gdb.python/py-evthreads.exp: thread 3
      FAIL: gdb.python/py-evthreads.exp: continue thread 1
      [... cascading time outs ...]
    By following the usual pattern that makes sure that non-stop is enabled
    before connecting to gdbserver.
    2017-10-13  Pedro Alves  <>
    	* gdb.python/py-evthreads.exp: Start GDB with "set non-stop on"

commit 8d6ef72b0470dfb1133525c8c4556d3578744ac4
Author: Pedro Alves <>
Date:   Fri Oct 13 12:27:49 2017 +0100

    kfail gdb.python/py-evsignal.exp on RSP targets properly
    Fixes, with --target_board=native-extended-gdbserver:
       Running ..../src/gdb/testsuite/gdb.python/py-evsignal.exp ...
       FAIL: gdb.python/py-evsignal.exp: signal Thread 3
    2017-10-13  Pedro Alves  <>
    	* gdb.python/py-evsignal.exp: Check gdb_protocol instead of

commit d7bcd5b8e55c54543389196fd18453db6961e314
Author: Pedro Alves <>
Date:   Fri Oct 13 12:18:50 2017 +0100

    Skip gdb.threads/thread_events.exp on RSP targets properly
    Fixes, with --target_board=native-extended-gdbserver:
      Running ..../src/gdb/testsuite/gdb.threads/thread_events.exp ...
      FAIL: gdb.threads/thread_events.exp: continue to after_join_func with messages enabled (saw 0, expected 1)
    2017-10-13  Pedro Alves  <>
    	* gdb.threads/thread_events.exp: Check gdb_protocol instead of

commit df479dc6e045beb77052f96280798e48ee1feb6c
Author: Pedro Alves <>
Date:   Fri Oct 13 11:25:42 2017 +0100

    Tweak gdb.base/corefile.exp is_remote check
    1. Otherwise, when we make native-gdbserver board no longer is_remote,
       we get:
      Running .../src/gdb/testsuite/gdb.base/corefile.exp ...
      ERROR: tcl error sourcing .../src/gdb/testsuite/gdb.base/corefile.exp.
      ERROR: gdbserver does not support attach 9327 without extended-remote
          while executing
      "error "gdbserver does not support $command without extended-remote""
      That's fixed by using can_spawn_for_attach instead.
    2. The gdb_protocol check fixes this current problem with
         Running .../src/gdb/testsuite/gdb.base/corefile.exp ...
         FAIL: gdb.base/corefile.exp: run: with core
         FAIL: gdb.base/corefile.exp: run: core file is cleared
         FAIL: gdb.base/corefile.exp: attach: with core
         FAIL: gdb.base/corefile.exp: attach: core file is cleared
         attach 10859
         Don't know how to attach.  Try "help target".
    The fix for #2 alone would fix #1 too, but can_spawn_for_attach
    expresses the requirement directly, so I still left it there.
    2017-10-13  Pedro Alves  <>
    	* gdb.base/corefile.exp (corefile_test_run): Skip if gdb_protocol
    	is set.
    	(corefile_test_attach): Likewise.  Check can_spawn_for_attach
    	instead of is_remote.

commit 23fb630af09f2601e7cb75233837399d67cfd017
Author: Pedro Alves <>
Date:   Fri Oct 13 10:48:42 2017 +0100

    Fix is_remote check in gdb.base/remote.exp
    1. Otherwise, when the native-gdbserver board stops setting is_remote,
       this test would stop running there.
    2. Makes the test run with --target_board=native-extended-gdbserver
    2017-10-13  Pedro Alves  <>
    	* gdb.base/remote.exp: Check gdb_protocol instead of is_remote.
    	(top level): Add comment.

commit cc77b1dc33790bcb852c8c72e2efebaa3b505b01
Author: Pedro Alves <>
Date:   Fri Oct 13 11:14:06 2017 +0100

    gdb.base/remote.exp: Fix typo and add missing return
    (Dropped 'u' while at it because we're supposed to prefer American
    English spelling...)
    2017-10-13  Pedro Alves  <>
    	* gdb.base/remote.exp (top level): Fix comment typo and add
    	missing return.

commit 27c9e813f93974c2d1e237f3c4f25029627bcb58
Author: Pedro Alves <>
Date:   Fri Oct 13 10:26:06 2017 +0100

    Make gdb.base/solib-nodir.exp work with --target_board=native-extended-gdbserver
     Running .../src/gdb/testsuite/gdb.base/solib-nodir.exp ...
     FAIL: gdb.base/solib-nodir.exp: library loaded
    ... by using the new "set cwd" command.
    2017-10-13  Pedro Alves  <>
    	    Simon Marchi <>
    	* gdb.base/solib-nodir.exp: Split is_remote and skip_shlib_tests
    	calls and add comments.  Skip test if use_gdb_stub is set.
    	(top level): Use "set cwd" command instead of "cd" command.

commit 5e830d9807b91f806524ff822d953443c8fb3d2f
Author: Pedro Alves <>
Date:   Fri Oct 13 10:11:57 2017 +0100

    Eliminate is_remote check in gdb.base/shlib-call.exp
    2017-10-13  Pedro Alves  <>
    	* gdb.base/shlib-call.exp (top level): Use gdb_run_cmd and remove
    	is_remote target check.

commit c2508e905f956c5a5e0d2a7fff58b4c746180237
Author: Simon Marchi <>
Date:   Thu Oct 12 21:42:05 2017 -0400

    Remove simple_displaced_step_copy_insn
    Nothing uses this function.  Remove it, and adjust comments referring to
    	* arch-utils.h (simple_displaced_step_copy_insn): Remove.
    	* arch-utils.c (simple_displaced_step_copy_insn): Remove.
    	* (displaced_step_copy_insn): Adjust comment.
    	* gdbarch.h: Regenerate.
    	* i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
    	Adjust comment.
    	* i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
    	(i386_displaced_step_fixup): Adjust comment.
    	* rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.

commit 3b4b0a629a972bf80fc0ac6202f89681fab1df37
Author: James Bowman <>
Date:   Thu Oct 12 18:37:40 2017 -0700

    FT32: support for FT32B processor - part 1
    FT32B is a new FT32 family member. It has a code
    compression scheme, which requires the use of linker
    relaxations. The change is quite large, so submission
    is in several parts.
    Part 1 adds a 15-bit instruction field, and CPU-specific functions for
    the code compression that are used in binutils and GDB.
    2017-10-12  James Bowman  <>
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    	* elf32-ft32.c: Add HOWTO R_FT32_15.
    	* reloc.c: Add BFD_RELOC_FT32_15.
    2017-10-12  James Bowman  <>
    	* config/tc-ft32.c (md_assemble): Replace FT32_FLD_K8 with
    	(md_apply_fix, tc_gen_reloc): Add BFD_RELOC_FT32_15.
    2017-10-12  James Bowman  <>
    	* elf/ft32.h: Add R_FT32_15.
    	* opcode/ft32.h: Replace FT32_FLD_K8 with K15.
    	(ft32_shortcode, sc_compar, ft32_split_shortcode,
    	ft32_merge_shortcode, ft32_merge_shortcode): New functions.
    2017-10-12  James Bowman  <>
    	* opcodes/ft32-dis.c (print_insn_ft32): Replace FT32_FLD_K8 with K15.
    	* opcodes/ft32-opc.c (ft32_opc_info): Replace FT32_FLD_K8 with
    	K15. Add jmpix pattern.
    2017-10-12  James Bowman  <>
    	* sim/ft32/interp.c (step_once): Replace FT32_FLD_K8 with K15.

commit d268bbaff7da90caf5fbc94456ae58315ffa1802
Author: James Bowman <>
Date:   Thu Oct 12 18:12:42 2017 -0700

    Add myself as ft32 maintainer for sim.
    2017-10-12  James Bowman  <>
    	* MAINTAINERS (ft32): Add myself.

commit f5ca00321dd8da526b8a6a894465bdc7a14d30ac
Author: Pedro Alves <>
Date:   Fri Oct 13 01:27:18 2017 +0100

    Eliminate is_remote check in gdb.base/scope.exp
    This commit makes --target_board=native-gdbserver (and in principle
    all other is_remote boards) pass all the same gdb.base/scope.exp tests
    as native testing.
    I first wrote the gdb.base/scope.exp change described in the ChangeLog
    below and in the new comments in the patch, knowing that gdb_file_cmd
    was the right thing to use here.
    However, that revealed that the native-extended-gdbserver board should
    be overriding gdb_file_cmd+gdb_reload instead of gdb_load, as is
    hinted at by the comments on top of the default implementations in
    testsuite/lib/gdb.exp, because otherwise a gdb_run_cmd after
    gdb_file_cmd misses setting "set remote exec-file".  However, if we do
    that and remove gdb_load, then we regress gdb.base/dbx.exp, so for now
    keep the gdb_load override as well.
    2017-10-13  Pedro Alves  <>
    	* gdb.base/scope.exp: Use build_executable + clean_restart +
    	gdb_file_cmd instead of prepare_for_testing and no longer skip
    	"before run" tests on is_remote target boards.  Update comments.
    	* boards/native-extended-gdbserver.exp
    	(extended_gdbserver_load_last_file): New, factored out from ...
    	(gdb_load): ... this.  Move further below and add comment.
    	(extended_gdbserver_gdb_file_cmd, gdb_file_cmd, gdb_reload): New.

commit 52a58c224d5d45cc6d7749e2d93827c218562a30
Author: GDB Administrator <>
Date:   Fri Oct 13 00:00:29 2017 +0000

    Automatic date update in

commit 8aed1c0d04e6d0eb7d0790c4691665cffef573b7
Author: Pedro Alves <>
Date:   Fri Oct 13 00:40:23 2017 +0100

    Remove references to gdb64 in the testsuite
    I'm not sure whether this gdb64 was ever a thing in the upstream repo,
    but it certainly doesn't exist nowadays.
    AFAICT, this came in with the original big merge with the HP tree:
    2017-10-12  Pedro Alves  <>
    	* gdb.base/attach.exp: Remove references to gdb64.
    	* gdb.base/dbx.exp: Remove references to gdb64.

commit cfa34c871c6644bd7b132b5ca7f2217880f5fa9b
Author: Simon Marchi <>
Date:   Thu Oct 12 23:14:09 2017 +0100

    Remove is_remote check in labels.exp
    This works fine with remote target boards.
    2017-10-12  Simon Marchi  <>
    	    Pedro Alves  <>
    	* gdb.base/label.exp: Remove is_remote target check.

commit 9192b7decc7256a41502bf68df36f429cceffc89
Author: Pedro Alves <>
Date:   Thu Oct 12 23:06:15 2017 +0100

    Make gdb.base/auvx.exp work with --target_board=native-extended-gdbserver
    Currently we get:
     Running .../src/gdb/testsuite/gdb.base/auxv.exp ...
     WARNING: can't generate a core file - core tests suppressed - check ulimit -c
    After this commit we get all the same PASSes as when native testing.
    The problem is that the testcase wants to create a core dump in a
    temporary directory and it is using the "cd" command to start the
    inferior with that directory as current directory, but that command
    only affects the inferior's cwd when native debugging.  Fix it by
    using using the new "set cwd" command instead, which works with
    gdbserver as well.
    This still won't work with stub-like targets, because with those when
    we connect the inferior is already running.  It'd be possible to make
    it work by making the inferior itself change dirs, but we'll need to
    make the native-gdbserver board no longer set is_remote first.
    2017-10-12  Pedro Alves  <>
    	* gdb.base/auvx.exp (coredir): Update comment.
    	(top level) <core_works>: Use "set cwd" command instead of "cd"

commit 74ffa566739c7e98568a9aa8b5ab8d8f3730d30d
Author: H.J. Lu <>
Date:   Thu Oct 12 14:41:22 2017 -0700

    Add a compile-time test for PR ld/22263
    This compile-time test requires a target C compiler to run.  It fails
    on many targets where ELF backend linkers incorrectly check bfd_link_pic
    for TLS relocations, which should check bfd_link_executable instead.
    	PR ld/22263
    	* testsuite/ld-elf/pr22263-1.rd: New file.
    	* testsuite/ld-elf/pr22263-1a.c: Likewise.
    	* testsuite/ld-elf/pr22263-1b.c: Likewise.
    	* testsuite/ld-elf/tls.exp: Likewise.

commit a900ff724a725ea951ba8b17232577e1a4b4866e
Author: Tom Tromey <>
Date:   Sat Oct 7 20:13:42 2017 -0600

    Use bool in pv_area
    This updates a couple of member functions in pv_area to return bool.
    2017-10-12  Tom Tromey  <>
    	* prologue-value.h (pv_area::store_would_trash): Return bool.
    	(pv_area::find_reg): Likewise.
    	* prologue-value.c (pv_area::store_would_trash): Return bool.
    	(pv_area::find_reg): Likewise.

commit f7b7ed97a23e2bf4a2ec27bef0fe0af55a080a94
Author: Tom Tromey <>
Date:   Sat Oct 7 18:23:36 2017 -0600

    C++-ify prologue-value's pv_area
    This patch is an initial C++-ification of pv_area, from
    prologue-value.  It turns pv_area into a class with a constructor and
    destructor; renames the data members; and changes various functions to
    be member functions.  This allows the removal of
    2017-10-12  Tom Tromey  <>
    	* s390-linux-tdep.c (s390_store, s390_load)
    	(s390_check_for_saved, s390_analyze_prologue): Update.
    	* rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
    	* rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
    	* prologue-value.h (class pv_area): Move from prologue-value.c.
    	Change names of members.  Add constructor, destructor, member
    	(make_pv_area, free_pv_area, make_cleanup_free_pv_area)
    	(pv_area_store, pv_area_fetch, pv_area_store_would_trash)
    	(pv_area_fetch, pv_area_scan): Don't declare.
    	* prologue-value.c (struct pv_area::area_entry): Now member of
    	(struct pv_area): Move to prologue-value.h.
    	(pv_area::pv_area): Rename from make_pv_area.
    	(pv_area::~pv_area): Rename from free_pv_area.
    	(do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
    	(clear_entries, find_entry, overlaps, store_would_trash, store)
    	(fetch, find_reg, scan): Now member of pv_area.
    	Remove "area" argument.  Update.
    	* msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
    	* mn10300-tdep.c (push_reg, check_for_saved)
    	(mn10300_analyze_prologue): Update.
    	* mep-tdep.c (is_arg_spill, check_for_saved)
    	(mep_analyze_prologue): Update.
    	* m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
    	(m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
    	(m32c_is_struct_return, m32c_analyze_prologue): Update.
    	* arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
    	* arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
    	* aarch64-tdep.c (aarch64_analyze_prologue): Update.

commit 04ec7890fccfa5ddd9cc92961a4df58957ca181b
Author: Simon Marchi <>
Date:   Thu Oct 12 16:49:27 2017 -0400

    linux low: Make the arch code free arch_process_info
    For the same reason as the previous patch, we need to make the
    arch-specific code free the arch_process_info structure it allocates.
    	* linux-low.h (struct linux_target_ops) <delete_process>: New
    	* linux-low.c (linux_mourn): Call the_low_target.delete_process.
    	* linux-aarch64-low.c (aarch64_linux_delete_process): New.
    	(struct linux_target_ops): Add delete_process callback.
    	* linux-arm-low.c (arm_delete_process): New.
    	(struct linux_target_ops): Add delete_process callback.
    	* linux-bfin-low.c (struct linux_target_ops): Likewise.
    	* linux-crisv32-low.c (struct linux_target_ops): Likewise.
    	* linux-m32r-low.c (struct linux_target_ops): Likewise.
    	* linux-mips-low.c (mips_linux_delete_process): New.
    	(struct linux_target_ops): Add delete_process callback.
    	* linux-ppc-low.c (struct linux_target_ops): Likewise.
    	* linux-s390-low.c (struct linux_target_ops): Likewise.
    	* linux-sh-low.c (struct linux_target_ops): Likewise.
    	* linux-tic6x-low.c (struct linux_target_ops): Likewise.
    	* linux-tile-low.c (struct linux_target_ops): Likewise.
    	* linux-x86-low.c (x86_linux_delete_process): New.
    	(struct linux_target_ops): Add delete_process callback.
    	* linux-xtensa-low.c (struct linux_target_ops): Likewise.

commit 466eeceef409597388dd2b4e8b907cf080bedcf1
Author: Simon Marchi <>
Date:   Thu Oct 12 16:48:22 2017 -0400

    lwp_info: Make the arch code free arch_lwp_info
    I have the goal of "poisoning" the XNEW/xfree-family of functions, so
    that we catch their usages with non-POD types.  A few things need to be
    fixed in the mean time, this is one.
    The common lwp code in linux-nat.c and gdbserver/linux-low.c xfrees the
    private lwp data of type arch_lwp_info.  However, that type is opaque
    from its point of view, as its defined differently in each arch-specific
    implementation.  This trips on the std::is_pod<T> check, since the
    compiler can't tell whether the type is POD or not if it doesn't know
    about it.
    My initial patch [1] made a class hierarchy with a virtual destructor.
    However, as Pedro pointed out, we only have one native architecture at
    the time built in gdb and gdbserver, so that's overkill.  Instead, we
    can move the responsibility of free'ing arch_lwp_info to the arch code
    (which is also the one that allocated it in the first place).  This is
    what this patch does.
    Also, I had the concern that if we wanted to use C++ features in these
    structures, we would have a problem with the one-definition rule.
    However, since a build will only have one version of arch_lwp_info,
    that's not a problem.
    There are changes in arch-specific files, I was only able to built-test
    this patch with the following cross-compilers:
    A buildbot run didn't find any regression.
    	* linux-nat.h (linux_nat_set_delete_thread): New declaration.
    	* linux-nat.c (linux_nat_delete_thread): New variable.
    	(lwp_free): Invoke linux_nat_delete_thread if set.
    	(linux_nat_set_delete_thread): New function.
    	* aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
    	thread delete callback.
    	* arm-linux-nat.c (arm_linux_delete_thread): New function.
    	(_initialize_arm_linux_nat): Assign thread delete callback.
    	* s390-linux-nat.c (s390_delete_thread): New function.
    	(_initialize_s390_nat): Assign thread delete callback.
    	* x86-linux-nat.c (x86_linux_add_target): Likewise.
    	* nat/aarch64-linux.c (aarch64_linux_delete_thread): New
    	* nat/aarch64-linux.h (aarch64_linux_delete_thread): New
    	* nat/x86-linux.c (x86_linux_delete_thread): New function.
    	* nat/x86-linux.h (x86_linux_delete_thread): New declaration.
    	* linux-aarch64-low.c (the_low_target): Add thread delete
    	* linux-arm-low.c (arm_delete_thread): New function.
    	(the_low_target): Add thread delete callback.
    	* linux-bfin-low.c (the_low_target): Likewise.
    	* linux-crisv32-low.c (the_low_target): Likewise.
    	* linux-low.c (delete_lwp): Invoke delete_thread callback if
    	* linux-low.h (struct linux_target_ops) <delete_thread>: New
    	* linux-m32r-low.c (the_low_target): Add thread delete callback.
    	* linux-mips-low.c (mips_linux_delete_thread): New function.
    	(the_low_target): Add thread delete callback.
    	* linux-ppc-low.c (the_low_target): Likewise.
    	* linux-s390-low.c (the_low_target): Likewise.
    	* linux-sh-low.c (the_low_target): Likewise.
    	* linux-tic6x-low.c (the_low_target): Likewise.
    	* linux-tile-low.c (the_low_target): Likewise.
    	* linux-x86-low.c (the_low_target): Likewise.
    	* linux-xtensa-low.c (the_low_target): Likewise.

commit 6bf0052db8bbeed41e512d1d3ce14ba2a446723d
Author: Pedro Alves <>
Date:   Thu Oct 12 20:06:59 2017 +0100

    Run gdb.base/catch-fork-static.exp on remote target boards
    Another case of a stale check.  We support following forks in the
    remote protocol nowadays.
    2017-10-12  Pedro Alves  <>
    	    Simon Marchi  <>
    	* gdb.base/catch-fork-static.exp: No longer skip on is_remote
    	target boards.

commit e48ef82dd2fc85560d14a45a632c82eaaadca7ce
Author: Pedro Alves <>
Date:   Thu Oct 12 19:54:34 2017 +0100

    checkpoint.exp: Check for non-"target native" instead of isnative/is_remote
    This gets rid of a number of FAILs with
    The fact that checkpointing does not work has nothing to do with
    dejagnu's native and remote concepts.  It only works with native Linux
    targets because the implementation is currently baked with
    2017-10-12  Pedro Alves  <>
    	    Simon Marchi  <>
    	* gdb.base/checkpoint.exp: Don't check is_remote or isnative.
    	Instead skip if there's any gdb_protocol set.

commit 8d7aea574a8ab3a235088866860df75b542ae4a3
Author: Simon Marchi <>
Date:   Sun Jan 24 11:22:24 2016 -0500

    Remove is_remote target check from gdb.base/dprintf-non-stop.exp
    1. is_remote is not the right check.
    2. Both Simon & Pedro ran it continuously for some time against
       native-gdbserver and didn't see a failure.
    3. The test has been running against native-extended-gdbserver anyway.
    2017-10-12  Simon Marchi  <>
    	    Pedro Alves  <>
    	* gdb.base/dprintf-non-stop.exp: Remove is_remote target check.

commit 30440677f3d0cdd2085bea40496774ffa24f6bb1
Author: Pedro Alves <>
Date:   Thu Oct 12 19:16:47 2017 +0100

    Tighten remote check in gdb.base/argv0-symlink.exp
    Check for gdbserver instead of dejagnu remote.  Unlike what the
    comment says, the test actually fails with target remote + gdbserver
    (it does pass with extended-remote).  The result is:
     FAIL -> KFAIL with --target_board=native-gdbserver
     KPASS -> PASS with --target_board=native-extended-gdbserver
    2017-10-12  Pedro Alves  <>
    	    Simon Marchi  <>
    	* gdb.base/argv0-symlink.exp: kfail on remote gdbserver,
    	instead of on dejagnu remote boards.

commit 4e04f0450f83d8d0ad08579b5e6c8b4e8a8e693f
Author: Pedro Alves <>
Date:   Thu Oct 12 18:36:08 2017 +0100

    Enable gdb.base/inferior-died.exp on is_remote target boards
    We support follow-fork in the remote protocol nowadays.
    Also, the right way to enable non-stop mode is to do it before
    connecting, and for use_gdb_stub boards, that means we have to do it
    at gdb_load time.  The "modern" pattern for that is to pass non-stop
    in GDBFLAGS.
    This makes the test pass with --target_board=native-gdbserver.
    2017-10-12  Pedro Alves  <>
    	    Simon Marchi <>
    	* gdb.base/inferior-died.exp: Remove is_remote and isnative
    	checks.  Use build_executable + clean_restart instead of
    	prepare_for_testing.  Pass "set non-stop on" via GDBFLAGS instead
    	of enabling non-stop after starting gdb.

commit 871a186e41aeb7f966c6570b8f1659aec9d2c15d
Author: Pedro Alves <>
Date:   Thu Oct 12 18:05:33 2017 +0100

    Enable gdb.threads/non-ldr-exc-*.exp on is_remote target boards
    This commit makes the gdb.threads/non-ldr-exc-*.exp tests run (and
    pass) with --target_board=native-gdbserver.
    (These tests were already running with
    --target_board=native-extended-gdbserver, because that board is not
    The "No exec event support in the remote protocol." comment is stale.
    It's actually supported.
    2017-10-12  Pedro Alves  <>
    	* gdb.threads/non-ldr-exc-1.exp: No longer skip if is_remote target.
    	* gdb.threads/non-ldr-exc-2.exp: Ditto.
    	* gdb.threads/non-ldr-exc-3.exp: Ditto.
    	* gdb.threads/non-ldr-exc-4.exp: Ditto.

commit 6c19b93bcd0d136f7be4d1e1e3f2e8d7b5917009
Author: Alan Modra <>
Date:   Thu Oct 12 21:28:30 2017 +1030

    ld whitespace fixes
    	* pe-dll.c: Formatting, whitespace fixes.
    	* NEWS: Whitespace fixes.
    	* Likewise.
    	* configure.tgt: Likewise.
    	* deffilep.y: Likewise.
    	* Likewise.
    	* ld.texinfo: Likewise.
    	* ldgram.y: Likewise.
    	* ldlang.c: Likewise.
    	* ldlex.l: Likewise.
    	* lexsup.c: Likewise.
    	* plugin.c: Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emulparams/ Likewise.
    	* emultempl/aarch64elf.em: Likewise.
    	* emultempl/aix.em: Likewise.
    	* emultempl/armelf.em: Likewise.
    	* emultempl/avrelf.em: Likewise.
    	* emultempl/beos.em: Likewise.
    	* emultempl/hppaelf.em: Likewise.
    	* emultempl/m68kcoff.em: Likewise.
    	* emultempl/m68kelf.em: Likewise.
    	* emultempl/metagelf.em: Likewise.
    	* emultempl/msp430.em: Likewise.
    	* emultempl/nds32elf.em: Likewise.
    	* emultempl/pe.em: Likewise.
    	* emultempl/pep.em: Likewise.
    	* emultempl/ppc64elf.em: Likewise.
    	* emultempl/sh64elf.em: Likewise.
    	* emultempl/spu_ovl.S: Likewise.
    	* emultempl/spuelf.em: Likewise.
    	* emultempl/tic6xdsbt.em: Likewise.
    	* emultempl/ticoff.em: Likewise.
    	* emultempl/vms.em: Likewise.
    	* po/Make-in: Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* scripttempl/ Likewise.
    	* configure: Regenerate.

commit 1d75a8e26e6def4f492c84a5f678e41ddebda799
Author: Nick Clifton <>
Date:   Thu Oct 12 13:38:20 2017 +0100

    Force the AArch64 linker backend to refuse to link when it encounters unresoleable relocations.
    	* reloc.c (enum bfd_reloc_status): Start values at 2.
    	* bfd-in2.h: Regenerate.
    	* elfnn-aarch64.c (aarch64_relocate): Invert sense of function, so
    	that a TRUE return indicates success.  Compare the result of
    	calling _bfd_aarch64_elf_put_addend against bfd_reloc_ok.
    	(build_one_stub): Change sense of tests against aarch64_relocate
    	return value.
    	(elfNN_aarch64_tls_relax): Return bfd_reloc_notsupported, rather
    	than FALSE, when an error is detected.
    	(elfNN_aarch64_final_link_relocate): Likewise.
    	* testsuite/ld-aarch64/pcrel_pic_defined.d: Expect errors not
    	warnings.  Expect errors about unsupported relocations.
    	* testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise.

commit 9f8575350f980aa6da8c488c6aa30862620eaa1f
Author: H.J. Lu <>
Date:   Thu Oct 12 02:12:47 2017 -0700

    x86: Add _bfd_x86_elf_hide_symbol
    When there is no dynamic interpreter in PIE, make the undefined weak
    symbol dynamic so that PC relative branch to the undefined weak symbol
    will land to address 0.
    	* elf32-i386.c (elf_backend_hide_symbol): New.
    	* elf64-x86-64.c (elf_backend_hide_symbol): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_hide_symbol): Likewise.
    	* elfxx-x86.h (_bfd_x86_elf_hide_symbol): Likewise.

commit 359987e21867b730564ff46ddceaafdc93d0fb49
Author: H.J. Lu <>
Date:   Thu Oct 12 01:52:33 2017 -0700

    ld: Update tests for warning of "-z dynamic-undefined-weak ignored"
    Update tests to expect warning of "-z dynamic-undefined-weak ignored"
    commit 22b1ee183d19a92cc57859c04307d31c06792d13
    Author: Alan Modra <>
    Date:   Thu Oct 12 13:19:10 2017 +1030
        Set dynamic_undefined_weak to zero for static PIEs
    	* testsuite/ld-elf/pr22269b.d: Expect warning of
    	"-z dynamic-undefined-weak ignored".
    	* testsuite/ld-i386/pr19636-1j.d: Likewise.
    	* testsuite/ld-i386/pr19636-1k.d: Likewise.
    	* testsuite/ld-i386/pr19636-1l.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2j.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2k.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2l.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2m.d: Likewise.

commit 22b1ee183d19a92cc57859c04307d31c06792d13
Author: Alan Modra <>
Date:   Thu Oct 12 13:19:10 2017 +1030

    Set dynamic_undefined_weak to zero for static PIEs
    I believe we should be warning if ld is given both --no-dynamic-linker
    and -z dynamic-undefined-weak.  The two options are contradictory, the
    first says an executable has no dynamic interpreter to resolve dynamic
    symbols, while the second is asking for dynamic symbols to be emitted.
    (And even if a static PIE's relocation code, which is needed to
    process R_*_RELATIVE relocs, could process symbols, there are no
    DT_NEEDED dynamic objects to define such symbols.)
    I also think that dynamic_undefined_weak is the right flag to control
    whether undefined weaks are made dynamic, whether in static PIEs or
    anywhere else.  So force it to 0 for static PIEs, fixing PR 22269 for
    powerpc and any other target where the backend usually defaults to
    undefined weaks being made dynamic.
    This patch introduces regressions.  I'd normally not do that, but
    these are all in very recently added test cases, or expose bugs in the
    x86 backend.  The test cases were added after I'd made it known that
    this patch or one like it was imminent.
    	PR 22269
    	* emultempl/elf32.em (after_parse): Warn on --no-dynamic-linker
    	-z dynamic-undefined-weak combination.  Set dynamic_undefined_weak
    	to zero when nointerp.

commit 559192d89d743834951fc386530c6bc7f89b358d
Author: Alan Modra <>
Date:   Thu Oct 12 09:01:54 2017 +1030

    _bfd_elf_link_hash_hide_symbol calls in generic ELF code
    This function shouldn't be called directly, except from backend code.
    	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Call
    	elf_backend_hide_symbol, not _bfd_elf_link_hash_hide_symbol.
    	(bfd_elf_define_start_stop): Likewise.
    	* emultempl/elf32.em (before_allocation): Call
    	elf_backend_hide_symbol, not _bfd_elf_link_hash_hide_symbol.

commit f5233a1611d7d459a762b5fa93d7594a6965971f
Author: Alan Modra <>
Date:   Wed Oct 11 22:43:42 2017 +1030

    Fix remaining targets using wrong .interp conditions
    	* elf32-nds32.c (nds32_elf_size_dynamic_sections): Set .interp
    	when executable rather than non-PIC.
    	* elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
    	* elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.

commit ff0769882d2338d334eb799179332c39bb9d8ddc
Author: GDB Administrator <>
Date:   Thu Oct 12 00:00:33 2017 +0000

    Automatic date update in

commit f71c8822611a552e76843142a52b8197be0ea34a
Author: Tom Tromey <>
Date:   Mon Oct 9 19:13:31 2017 -0600

    Remove cleanups from TUI
    This removes the last cleanups from the TUI, by using std::string
    rather than manual memory management.
    Regression tested against*.exp on Fedora 26 x86-64.
    2017-10-09  Tom Tromey  <>
    	* tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
    	* tui/tui-layout.c (enum tui_status): Use std::string.

commit 981a3fb3594dddae266b7a5014c3001727200d7b
Author: Tom Tromey <>
Date:   Mon Sep 25 22:28:30 2017 -0600

    Constify add_prefix_cmd
    This changes add_prefix_cmd to accept a const-taking function as an
    argument; then fixes up all the callers.
    In a couple of spots I had to add a non-const overload of a function,
    because the function is passed to two different command-adding
    "constructors".  These overloads are temporary; once constification is
    complete they can be removed.
    This patch also fixes a typo I happened to notice while constifying.
    Note that this touches a couple of files (gnu-nat.c and go32-nat.c)
    that I can't build.  So, while I made a best-effort there, I am not
    certain they will still compile.
    Tested by rebuilding.
    2017-10-11  Tom Tromey  <>
    	* gdbthread.h (thread_command): Constify.
    	* inferior.h (detach_command): Constify.
    	* top.h (set_history, show_history): Constify.
    	* arm-tdep.c (set_arm_command, show_arm_command): Constify.
    	* serial.c (serial_set_cmd, serial_show_cmd): Constify.
    	* bsd-kvm.c (bsd_kvm_cmd): Constify.
    	* printcmd.c (set_command): Constify.
    	(non_const_set_command): New function.
    	* dcache.c (set_dcache_command, show_dcache_command): Constify.
    	* breakpoint.c (enable_command, disable_command, delete_command)
    	(catch_command, tcatch_command, set_breakpoint_cmd)
    	(show_breakpoint_cmd): Constify.
    	* macrocmd.c (macro_command): Constify.
    	* infcmd.c (unset_command, kill_command, detach_command)
    	(info_proc_cmd): Constify.
    	* i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
    	* auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
    	(info_auto_load_cmd): Constify.
    	* target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
    	(unset_tdesc_cmd): Constify.
    	* ada-lang.c (set_ada_command, show_ada_command)
    	(maint_set_ada_cmd, maint_show_ada_cmd): Constify.
    	* guile/guile.c (set_guile_command, show_guile_command)
    	(info_guile_command): Constify.
    	* tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
    	* skip.c (skip_command): Constify.
    	* compile/compile.c (_initialize_compile): Constify.
    	* dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
    	* btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
    	(maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
    	(maint_btrace_pt_show_cmd): Constify.
    	* remote.c (set_remote_cmd, show_remote_cmd, remote_command):
    	* python/python.c (user_show_python, user_set_python): Constify.
    	* mips-tdep.c (set_mips_command, show_mips_command)
    	(set_mipsfpu_command): Constify.
    	* record-btrace.c (cmd_record_btrace_start)
    	(cmd_set_record_btrace, cmd_show_record_btrace)
    	(cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
    	(cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
    	* rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
    	* symfile.c (overlay_command): Constify.
    	* spu-tdep.c (set_spu_command, show_spu_command): Constify.
    	* cli/cli-logging.c (set_logging_command, show_logging_command):
    	* cli/cli-dump.c (dump_command, append_command)
    	(srec_dump_command, ihex_dump_command, verilog_dump_command)
    	(tekhex_dump_command, binary_dump_command)
    	(binary_append_command): Constify.
    	* cli/cli-decode.c (struct cmd_list_element): Change type of
    	* cli/cli-cmds.c (info_command, show_command, set_debug)
    	(show_debug): Constify.
    	(show_command): Add non-const overload.
    	* top.c (set_history, show_history): Constify.
    	* sh-tdep.c (set_sh_command, show_sh_command): Constify.
    	* command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
    	* target.c (target_command): Constify.
    	* sparc64-tdep.c (info_adi_command): Constify.
    	* record-full.c (cmd_record_full_start): Constify.
    	(set_record_full_command): Constify.  Fix typo.
    	(show_record_full_command): Constify.
    	* thread.c (thread_command, thread_apply_command): Constify.
    	* memattr.c (dummy_cmd): Constify.
    	* value.c (function_command): Constify.
    	* frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
    	* probe.c (info_probes_command): Constify.
    	* ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
    	* gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
    	(show_thread_cmd, set_thread_default_cmd)
    	(show_thread_default_cmd): Constify.
    	(check_empty): Constify.
    	* tracepoint.c (tfind_command): Constify.
    	* cp-support.c (maint_cplus_command): Constify.
    	* windows-tdep.c (info_w32_command): Constify.
    	* record.c (cmd_record_start, set_record_command)
    	(show_record_command, info_record_command, cmd_record_goto):
    	* ravenscar-thread.c (set_ravenscar_command)
    	(show_ravenscar_command): Constify.
    	* utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
    	(add_internal_problem_command): Remove casts.
    	* arc-tdep.c (maintenance_print_arc_command): Constify.
    	* valprint.c (set_print, show_print, set_print_raw)
    	(show_print_raw): Constify.
    	* maint.c (maintenance_command, maintenance_info_command)
    	(maintenance_print_command, maintenance_set_cmd)
    	(maintenance_show_cmd, set_per_command_cmd)
    	(show_per_command_cmd, maintenance_check_command): Constify.
    	* language.c (set_check, show_check): Constify.
    	* typeprint.c (show_print_type, set_print_type): Constify.
    	* go32-nat.c (go32_info_dos_command): Constify.

commit fdf44873ec6e37417bf8c8ce33bb9b1a6b4ddcef
Author: Tom Tromey <>
Date:   Sun Oct 8 14:03:41 2017 -0600

    Remove prepare_re_set_context
    prepare_re_set_context returns a null cleanup and doesn't seem
    generally useful.  This patch removes it plus a few more cleanups; and
    changes breakpoint_re_set to use scoped_restore rather than its own
    manual mechanism.
    2017-10-11  Tom Tromey  <>
    	* breakpoint.c (prepare_re_set_context): Remove.
    	(breakpoint_re_set_one): Update.  Don't use cleanups.
    	(breakpoint_re_set): Use scoped_restore, std::string, and

commit 81b1e71c4a1370c77ad1d462e1a761402d48b1c0
Author: Tom Tromey <>
Date:   Sun Oct 8 13:58:07 2017 -0600

    Remove some cleanups from breakpoint.c
    This removes some cleanups from breakpoint.c, replacing them with C++
    data structures.
    2017-10-11  Tom Tromey  <>
    	* breakpoint.c (commands_command_1): Use std::string.
    	(cleanup_executing_breakpoints): Remove.
    	(bpstat_do_actions_1): Use scoped_restore.
    	(bpstat_check_watchpoint): Use std::string.
    	(decode_static_tracepoint_spec): Likewise.
    	(break_range_command): Likewise.
    	(watch_command_1): Likewise.
    	(compare_breakpoints): Change argument types.
    	(clear_command): Use std::vector.
    	(cleanup_executing_breakpoints): Remove.
    	(update_global_location_list): Use unique_xmalloc_ptr.
    	(strace_command): Remove unused declaration.

commit 4b97e3893ed2af7bdb9dcaa34fae1a207e2d7042
Author: H.J. Lu <>
Date:   Sat Oct 7 03:07:36 2017 -0700

    Add 2 testcases for PR ld/22269
    Since undefined weak symbols in static PIE are always resolved to 0 at
    run-time, linker should resolve them as 0 at link-time, regardless of
    whether "-z dynamic-undefined-weak" is used.  "-z dynamic-undefined-weak"
    only makes undefined weak symbols dynamic, but doesn't change undefined
    weak symbol resolution in static PIE at link-time.  These tests currently
    pass on x86, but fails on many other targets.
    The framework to resolve weak symbols in static PE at link-time is
    posted at
    which requires users/hjl/check_relocs branch to call check_relocs after
    opening all inputs.  I will submit backend patches for failling targets
    after merging users/hjl/check_relocs branch next.
    	* PR ld/22269
    	* testsuite/ld-elf/pr22269.s: New file.
    	* testsuite/ld-elf/pr22269a.d: Likewise.
    	* testsuite/ld-elf/pr22269b.d: Likewise.

commit 853ee16fcdf7e60f297b3456353b3a69f4822bec
Author: H.J. Lu <>
Date:   Wed Oct 11 13:32:20 2017 -0700

    x86: Run PR ld/19636 tests with -z dynamic-undefined-weak
    "-z dynamic-undefined-weak" makes undefined weak symbols dynamic, but
    undefined weak symbols are still resolved to 0 at link-time if there
    is no dynamic linker in executable.
    	* testsuite/ld-i386/i386.exp: Run pr19636-1j, pr19636-1k,
    	pr19636-1l, pr19636-3h and pr19636-3i.
    	* testsuite/ld-i386/pr19636-1j.d: New file.
    	* testsuite/ld-i386/pr19636-1k.d: Likewise.
    	* testsuite/ld-i386/pr19636-1l.d: Likewise.
    	* testsuite/ld-i386/pr19636-3h.d: Likewise.
    	* testsuite/ld-i386/pr19636-3i.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-1h.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-1i.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-1j.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2j.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2k.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2l.d: Likewise.
    	* testsuite/ld-x86-64/pr19636-2m.d: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr19636-1h, pr19636-1i,
    	pr19636-1j, pr19636-2j, pr19636-2k, pr19636-2l and pr19636-2m.

commit 4f9d99066edcefab0e5868d20cb9ddaa7b76da52
Author: John Baldwin <>
Date:   Wed Oct 11 11:16:34 2017 -0700

    Add native target for FreeBSD/arm.
    	* (ALLDEPFILES): Add arm-fbsd-nat.c.
    	* NEWS: Mention new FreeBSD/arm native configuration.
    	* Add arm*-*-freebsd*.
    	* configure.nat: Likewise.
    	* arm-fbsd-nat.c: New file.

commit 7176dfd28d1a2a74e6d8dd698aeb857eb6edfb98
Author: John Baldwin <>
Date:   Wed Oct 11 11:16:34 2017 -0700

    Add FreeBSD/arm architecture.
    Support for collecting and supplying general purpose and floating
    point registers is provided along with signal frame unwinding.  While
    FreeBSD/arm kernels do populate NT_FPREGSET notes, they are always
    zero-filled, so this implementation ignores them.  Recent FreeBSD/arm
    kernels generate NT_ARM_VFP notes which are used to supply
    floating-point registers.  As with Linux, the AT_HWCAP feature flags
    are used to determine the correct target description.
    	* (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
    	(ALLDEPFILES): Add arm-fbsd-tdep.c.
    	* NEWS: Mention new FreeBSD/arm target.
    	* configure.tgt: Add arm*-*-freebsd*.
    	* arm-fbsd-tdep.c: New file.
    	* arm-fbsd-tdep.h: New file.

commit 39865a7f420ab4ca4dec6ed27339618a5d5dc366
Author: Nick Clifton <>
Date:   Wed Oct 11 16:48:16 2017 +0100

    Disable the inclusion of logical input files in the assembler listing output unless high level source listing has been enabled.
    	PR 21977
    	* listing.c (listing_newline): Use the name of the current
    	physical input file, rather than the current logical input file,
    	unless including high level source in the listing.
    	* input-scrub.c (as_where_physical): New function.  Returns the
    	name of the current physical input file.
    	* as.h: Add prototype for as_where_physical.

commit fe22022617a7122491aa83c893a10a8d861cde73
Author: Maciej W. Rozycki <>
Date:   Wed Oct 11 15:01:41 2017 +0100

    GDB: Remove Linux core PRPSINFO note writer override
    Revert parts of commit b3ac9c77560a ("Put more info in NT_PRPSINFO Linux
    notes"), <>, and
    remove support for a Linux core PRPSINFO note writer override, now that
    all variants are handled automatically within BFD itself.
    	* linux-tdep.c (linux_make_corefile_notes): Remove call to
    	* (elfcore_write_linux_prpsinfo): Remove architecture
    	(elf_internal_linux_prpsinfo): Remove declaration.
    	* gdbarch.h: Regenerate.
    	* gdbarch.c: Regenerate.

commit 3c9a7b0d6d84425ea24d222a1a31e206e587374f
Author: Maciej W. Rozycki <>
Date:   Wed Oct 11 15:01:41 2017 +0100

    ELF/BFD: Handle both variants of the 64-bit Linux core PRPSINFO note
    Fix commit 70a38d42c5b3 ("New entry points for writing Linux NT_PRPSINFO
    notes."), <>,
    and handle both variants of the 64-bit Linux core PRPSINFO note across
    all targets.
    The 64-bit Linux core PRPSINFO note matches the 64-bit kernel structure,
    defined as follows:
    (gdb) ptype struct elf_prpsinfo
    type = struct elf_prpsinfo {
        char pr_state;
        char pr_sname;
        char pr_zomb;
        char pr_nice;
        unsigned long pr_flag;
        __kernel_uid_t pr_uid;
        __kernel_gid_t pr_gid;
        pid_t pr_pid;
        pid_t pr_ppid;
        pid_t pr_pgrp;
        pid_t pr_sid;
        char pr_fname[16];
        char pr_psargs[80];
    where the individual data types of most members are the same across all
    64-bit Linux ports, with the exception of `__kernel_uid_t' and
    `__kernel_gid_t'.  These are defined in <asm-generic/posix_types.h> as
    32-bit `unsigned int' by default, however overridden as 16-bit `unsigned
    short' in port-specific <asm/posix_types.h> for the SuperH target.
    The default is already handled, as from the commit referred.  Add the
    other variant then and provide a backend flag to switch between the two
    cases possible, with the 32-bit one being the default and the 16-bit one
    explicitly selected.  Set the flag in the SuperH target backend.  This
    arrangement is analogous to how the 32-bit Linux core PRPSINFO note is
    	* elf-bfd.h (elf_backend_data): Add `linux_prpsinfo64_ugid16'
    	* elf-linux-core.h (elf_external_linux_prpsinfo64): Rename to...
    	(elf_external_linux_prpsinfo64_ugid32): ... this.
    	(swap_linux_prpsinfo32_out): Rename to...
    	(swap_linux_prpsinfo32_ugid32_out): ... this.
    	(elf_external_linux_prpsinfo64_ugid16): New structure.
    	(swap_linux_prpsinfo64_ugid16_out): New function.
    	* elfxx-target.h [!elf_backend_linux_prpsinfo64_ugid16]
    	(elf_backend_linux_prpsinfo64_ugid16): Define.
    	(elfNN_bed): Initialize `linux_prpsinfo64_ugid16' member.
    	* elf.c (elfcore_write_linux_prpsinfo64): Handle both variants
    	of the 64-bit Linux core PRPSINFO note.
    	* elf64-sh64.c (elf_backend_linux_prpsinfo64_ugid16): Define.

commit a2f63b2e7a5da01ff828b45c7e0e57265ee24131
Author: Maciej W. Rozycki <>
Date:   Wed Oct 11 15:01:40 2017 +0100

    ELF/BFD,GDB: Handle both variants of the 32-bit Linux core PRPSINFO note
    Fix commit 70a38d42c5b3 ("New entry points for writing Linux NT_PRPSINFO
    notes."), <>,
    and commit b3ac9c77560a ("Put more info in NT_PRPSINFO Linux notes"),
    <>, and handle
    both variants of the 32-bit Linux core PRPSINFO note across all targets.
    The 32-bit Linux core PRPSINFO note matches the 32-bit kernel structure,
    defined as follows:
    (gdb) ptype struct elf_prpsinfo
    type = struct elf_prpsinfo {
        char pr_state;
        char pr_sname;
        char pr_zomb;
        char pr_nice;
        unsigned long pr_flag;
        __kernel_uid_t pr_uid;
        __kernel_gid_t pr_gid;
        pid_t pr_pid;
        pid_t pr_ppid;
        pid_t pr_pgrp;
        pid_t pr_sid;
        char pr_fname[16];
        char pr_psargs[80];
    where the individual data types of most members are the same across all
    32-bit Linux ports, with the exception of `__kernel_uid_t' and
    `__kernel_gid_t'.  These are defined in <asm-generic/posix_types.h> as
    32-bit `unsigned int' by default, however overridden as 16-bit `unsigned
    short' in port-specific <asm/posix_types.h> for a few targets, mostly
    earlier ports of Linux, specifically: ARM, CRIS, FR-V, M32R, m68k,
    MN10300/AM33, s390, SuperH, SPARC and i386.
    The default is the same as the PowerPC variant already handled, as from
    the commits referred.  Make the special PowerPC case generic then,
    removing the GDB part, and provide a backend flag to switch between the
    two cases possible, with the 32-bit one being the default and the 16-bit
    one explicitly selected.  Set the flag in the target backends affected.
    	* elf-bfd.h (elf_backend_data): Add `linux_prpsinfo32_ugid16'
    	(elfcore_write_ppc_linux_prpsinfo32): Remove prototype.
    	* elf32-ppc.c (elfcore_write_ppc_linux_prpsinfo32): Remove.
    	(swap_ppc_linux_prpsinfo32_out): Move to...
    	* elf-linux-core.h (elf_external_linux_prpsinfo32_ugid32)
    	(swap_linux_prpsinfo32_ugid32_out): ... these.
    	(elf_external_linux_prpsinfo32): Rename to...
    	(elf_external_linux_prpsinfo32_ugid16): ... this.
    	(swap_linux_prpsinfo32_out): Rename to...
    	(swap_linux_prpsinfo32_ugid16_out): ... this.
    	* elfxx-target.h [!elf_backend_linux_prpsinfo32_ugid16]
    	(elf_backend_linux_prpsinfo32_ugid16): Define.
    	(elfNN_bed): Initialize `linux_prpsinfo32_ugid16' member.
    	* elf.c (elfcore_write_linux_prpsinfo32): Handle both variants
    	of the 32-bit Linux core PRPSINFO note.
    	* elf32-am33lin.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-arm.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-cris.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-frv.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-i386.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-m32r.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-m68k.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-s390.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-sh.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* elf32-sparc.c (elf_backend_linux_prpsinfo32_ugid16): Define.
    	* ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to

commit 72bc1bb934ba99bc9182179a866c0d2c77d027c8
Author: Maciej W. Rozycki <>
Date:   Wed Oct 11 15:01:40 2017 +0100

    ELF/BFD: Fix padding in `elf_external_linux_prpsinfo64'
    Fix commit 70a38d42c5b3 ("New entry points for writing Linux NT_PRPSINFO
    notes."), <>,
    and move the padding of the `elf_external_linux_prpsinfo64' structure to
    match the corresponding 64-bit Linux kernel `elf_prpsinfo' structure.
    The 64-bit kernel structure is defined as follows:
    (gdb) ptype struct elf_prpsinfo
    type = struct elf_prpsinfo {
        char pr_state;
        char pr_sname;
        char pr_zomb;
        char pr_nice;
        unsigned long pr_flag;
        __kernel_uid_t pr_uid;
        __kernel_gid_t pr_gid;
        pid_t pr_pid;
        pid_t pr_ppid;
        pid_t pr_pgrp;
        pid_t pr_sid;
        char pr_fname[16];
        char pr_psargs[80];
    (gdb) print /x &((struct elf_prpsinfo *)0)->pr_nice
    $1 = 0x3
    (gdb) print /x &((struct elf_prpsinfo *)0)->pr_flag
    $2 = 0x8
    (gdb) print /x &((struct elf_prpsinfo *)0)->pr_uid
    $3 = 0x10
    (gdb) print sizeof(((struct elf_prpsinfo *)0)->pr_flag)
    $4 = 8
    with implicit padding present before the `pr_flag' member, to correctly
    align it to a multiple of 8.  Conversely `elf_external_linux_prpsinfo64'
    has padding after its `pr_flag' member:
    (top-gdb) ptype struct elf_external_linux_prpsinfo64
    type = struct elf_external_linux_prpsinfo64 {
        char pr_state;
        char pr_sname;
        char pr_zomb;
        char pr_nice;
        char pr_flag[8];
        char gap[4];
        char pr_uid[4];
        char pr_gid[4];
        char pr_pid[4];
        char pr_ppid[4];
        char pr_pgrp[4];
        char pr_sid[4];
        char pr_fname[16];
        char pr_psargs[80];
    (top-gdb) print /x &((struct elf_external_linux_prpsinfo64 *)0)->pr_nice
    $1 = 0x3
    (top-gdb) print /x &((struct elf_external_linux_prpsinfo64 *)0)->pr_flag
    $2 = 0x4
    (top-gdb) print /x &((struct elf_external_linux_prpsinfo64 *)0)->pr_uid
    $3 = 0x10
    and consequently `pr_flag' is misplaced.  Move `gap' ahead of `pr_flag'
    	* elf-linux-core.h (elf_external_linux_prpsinfo64): Move the
    	`gap' member ahead of `pr_flag'.

commit 458ca1d02e47db0af0e22d524df0e4b88fc54b6e
Author: Pedro Alves <>
Date:   Wed Oct 11 14:45:17 2017 +0100

    Garbage collect reattach_breakpoints
    Not used anywhere.
    2017-10-11  Pedro Alves  <>
    	* breakpoint.c (reattach_breakpoints): Delete.
    	* breakpoint.h (reattach_breakpoints): Delete.

commit 905014d7205d4f171c5cabf695fe1ec3da9b33d3
Author: Simon Marchi <>
Date:   Wed Oct 11 09:34:08 2017 -0400

    Use std::vector for symtab_fns
    Simple replacement of VEC with std::vector.
    	* symfile.c (registered_sym_fns): Make struct, not typedef.
    	(DEF_VEC_O (registered_sym_fns)): Remove.
    	(symtab_fns): Change type to std::vector.
    	(add_symtab_fns): Adjust.
    	(find_sym_fns): Adjust.

commit 56d704daee44b036d1eff86123de6dec0c55f61b
Author: Anton Kolesov <>
Date:   Tue Jun 27 19:12:14 2017 +0300

    arc: Pass proper CPU value to the disassembler
    There was a problem with generation of the disassembler options for ARC in GDB,
    because a BFD architecture name was used as a CPU name, but they have different
    meaning even if some architectures have same name as respective CPUs.  Target
    description specifies a BFD architecture, which is different from ARC CPU, as
    accepted by the disassembler (and most other ARC tools), because CPU values are
    much more fine grained - there can be multiple CPU values per single BFD
    architecture.  As a result this code should translate architecture to some CPU
    value.  Since there is no info on exact CPU configuration, it is best to use
    the most feature-rich CPU, so that the disassembler will recognize all
    instructions available to the specified architecture.
    yyyy-mm-dd  Anton Kolesov  <>
    	* arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
    	* arc-tdep.h (arc_arch_is_em): New function.
    	(arc_arch_is_hs): Likewise.
    yyyy-mm-dd  Anton Kolesov  <>
    	* gdb.arch/arc-tdesc-cpu.exp: New file.
    	* gdb.arch/arc-tdesc-cpu.xml: Likewise.

commit 8f314ad58ec824ce6c8467af29f11583f79a80ea
Author: Pedro Alves <>
Date:   Wed Oct 11 12:47:25 2017 +0100

    Rename _doprnt -> _bfd_doprnt to fix DJGPP bfd build (and likely others)
    Building bfd/ for DJGPP, I see:
     ../../src/bfd/bfd.c:642:1: error: conflicting types for '_doprnt'
      _doprnt (FILE *stream, const char *format, va_list ap)
     In file included from ../../src/bfd/sysdep.h:37:0,
    		  from ../../src/bfd/bfd.c:367:
     /usr/lib64/gcc/i586-pc-msdosdjgpp/6.1.0/include-fixed/stdio.h:171:5: note: previous declaration of '_doprnt' was here
      int _doprnt(const char *_fmt, va_list _args, FILE *_f);
    Possible fixes the build on other systems too -- _doprnt was/is an
    exported symbol on old Unix/BSD systems too.
    2017-10-11  Pedro Alves  <>
    	* bfd.c (_doprnt): Rename to ...
    	(_bfd_doprnt): ... this.
    	(error_handler_internal): Adjust.

commit 04914e3707e210a071b3af3c52cc5e5b2ad41a61
Author: Nick Clifton <>
Date:   Wed Oct 11 12:02:51 2017 +0100

    Display more information when decoding DW_AT_endianity, DW_AT_decimal_sign, DW_AT_defaulted and DW_AT_discr_list DWARF attributes.
    	* dwarf.c (read_and_display_attr_value): Handle DW_AT_endianity,
    	DW_END_default, DW_END_big, DW_END_little, DW_ATE_UCS,
    	DW_ATE_ASCII, DW_CC_pass_by_reference, DW_CC_pass_by_value,
    	DW_CC_GNU_renesas_sh, DW_CC_GNU_borland_fastcall_i386,
    	DW_AT_decimal_sign, DW_AT_defaulted, DW_AT_discr_list.
    	(get_TAG_name): Report user generated tag values.
    	* testsuite/binutils-all/dwarf-attributes.S: New test.
    	* testsuite/binutils-all/dwarf-attributes.W. Expected output from
    	* testsuite/binutils-all/readelf.exp: Run the new test.

commit 7fa29be949a96f68ee65dcdb4f56f132609170db
Author: Egeyar Bagcioglu <>
Date:   Wed Oct 11 11:00:48 2017 +0100

    Remove unnecessary parentheses in declarations
    GCC commit a94975e57 ("C++ warning on vexing parse") introduces new
    warnings "unnecessary parentheses in the declaration of ...".  These
    cause the build of binutils and gdb to fail.  This patch removes those
    parentheses for a successful build.
    2017-10-11  Egeyar Bagcioglu  <>
    	* macrotab.h (macro_lookup_inclusion): Remove unnecessary
    	parentheses in the declaration.
    	(macro_lookup_inclusion): Likewise.
    	(macro_lookup_definition): Likewise.
    	* p-lang.h (pascal_builtin_types): Likewise.
    	* tui/tui-data.c (tui_win_list): Likewise.
    	* tui/tui-data.h (tui_win_list): Likewise.
    	* utils.h (make_cleanup_free_section_addr_info): Likewise.

commit d9b477e3b7388732ed5293d929ceb5fc609916fe
Author: Kevin Buettner <>
Date:   Tue Oct 10 22:47:01 2017 -0700

    Flash memory size not aligned to address
    (This patch is from Mark Rages <>.)
    The Nordic nRF52 memory map, reported from black magic probe:
    Num Enb Low Addr High Addr Attrs
    0 y 0x00000000 0x00080000 flash blocksize 0x1000 nocache
    1 y 0x10001000 0x10001210 flash blocksize 0x210 nocache
    2 y 0x20000000 0x20010000 rw nocache
    The region at 0x10001000 is "UICR" and it is a section of flash that is
    erased all at once.
    Notice the odd size: 0x210 is the size of the region defined in the
    But because the block size was listed as 0x210, gdb was insisting on
    issuing two erase commands divisible by 0x210, starting below 0x10001000.
    This patch fixes it by doing the alignment computation from the start of
    the region, not from address 0.
    	* target-memory.c (block_boundaries): Fix for block address not
    	aligned on block size.

commit d003af558092dc521f93d16628b9ccbf434370e3
Author: Alan Modra <>
Date:   Wed Oct 11 14:48:45 2017 +1030

    ld internationalization fixes
    	* emultempl/aarch64elf.em: Wrap einfo strings in _().  Formatting.
    	* emultempl/aix.em: Likewise.
    	* emultempl/armcoff.em: Likewise.
    	* emultempl/armelf.em: Likewise.
    	* emultempl/avrelf.em: Likewise.
    	* emultempl/beos.em: Likewise.
    	* emultempl/cr16elf.em: Likewise.
    	* emultempl/elf-generic.em: Likewise.
    	* emultempl/elf32.em: Likewise.
    	* emultempl/genelf.em: Likewise.
    	* emultempl/hppaelf.em: Likewise.
    	* emultempl/linux.em: Likewise.
    	* emultempl/lnk960.em: Likewise.
    	* emultempl/m68hc1xelf.em: Likewise.
    	* emultempl/m68kcoff.em: Likewise.
    	* emultempl/m68kelf.em: Likewise.
    	* emultempl/metagelf.em: Likewise.
    	* emultempl/mipself.em: Likewise.
    	* emultempl/mmix-elfnmmo.em: Likewise.
    	* emultempl/mmo.em: Likewise.
    	* emultempl/msp430.em: Likewise.
    	* emultempl/nds32elf.em: Likewise.
    	* emultempl/nios2elf.em: Likewise.
    	* emultempl/pe.em: Likewise.
    	* emultempl/pep.em: Likewise.
    	* emultempl/ppc32elf.em: Likewise.
    	* emultempl/ppc64elf.em: Likewise.
    	* emultempl/riscvelf.em: Likewise.
    	* emultempl/s390.em: Likewise.
    	* emultempl/scoreelf.em: Likewise.
    	* emultempl/spuelf.em: Likewise.
    	* emultempl/sunos.em: Likewise.
    	* emultempl/tic6xdsbt.em: Likewise.
    	* emultempl/v850elf.em: Likewise.
    	* emultempl/vms.em: Likewise.
    	* emultempl/vxworks.em: Likewise.
    	* ldcref.c: Likewise.
    	* ldlang.c: Likewise.
    	* ldlex.l: Likewise.
    	* ldmain.c: Likewise.
    	* pe-dll.c: Likewise.
    	* plugin.c: Likewise.

commit e8b8ffd3c0676f69d1edd3859d4eebf10d1d62d7
Author: GDB Administrator <>
Date:   Wed Oct 11 00:00:22 2017 +0000

    Automatic date update in

commit 0f09b4d8d8f7c5d249c8375c5c42d4eba3bdc858
Author: H.J. Lu <>
Date:   Tue Oct 10 15:52:39 2017 -0700

    x86: Set GOT refcount to 1
    Since x86 check_relocs is called after opening all inputs and garbage
    collection, they never see the removed sections.  There is no need
    for incrementing GOT refcount.  But since PLT refcount is also used in
      /* Don't create the PLT entry if there are only function pointer
         relocations which can be resolved at run-time.  */
      else if (htab->elf.dynamic_sections_created
               && (h->plt.refcount > eh->func_pointer_refcount
                   || eh->plt_got.refcount > 0))
    we must increment it.
    	* elf32-i386.c (elf_i386_check_relocs): Set GOT refcount to 1
    	instead of incrementing it.
    	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

commit 2f20e312aad64c0f5257b9725fa5ffa3e8a93ca2
Author: Simon Marchi <>
Date:   Tue Oct 10 15:10:25 2017 -0400

    get_integer_valueof: Don't output value in test name
    The get_integer_valueof outputs the value it has read as part of the
    test name.  This causes test names to vary from run to run, and adds
    some noise when diffing test results.  e.g.:
    -PASS: gdb.threads/process-dies-while-detaching.exp: multi-process: continue: killed outside: get integer valueof "mypid" (28770)
    +PASS: gdb.threads/process-dies-while-detaching.exp: multi-process: continue: killed outside: get integer valueof "mypid" (32238)
    This patch removes that, since it's probably not very useful.
    	* lib/gdb.exp (get_integer_valueof): Don't output read value in test name.

commit eb8c0d308be8525f7c25962a9c581f44af23a364
Author: Tom Tromey <>
Date:   Fri Oct 6 14:38:36 2017 -0600

    Bump dwarf-mode version number
    Bump the dwarf-mode version number, so it can be installed by package.el
    users who installed an earlier verision.
    2017-10-10  Tom Tromey  <>
    	* dwarf-mode.el: Bump to version 1.4.

commit c85fa91b5c0dc70641d75d6ab9315ad547487c1f
Author: Tom Tromey <>
Date:   Fri Oct 6 14:36:44 2017 -0600

    Asynchronous insertion for dwarf-mode.el
    I was recently examining a very large .debug file.  I tried to use
    dwarf-mode, but it blocked Emacs for a very long time while reading
    This patch changes dwarf-mode to run the objdump process asynchronously.
    This way, I can still do other things in Emacs while waiting for the
    dumping to finish.
    2017-10-10  Tom Tromey  <>
    	* dwarf-mode.el (dwarf--process, dwarf--deletion-region): New
    	(dwarf--check-running, dwarf--sentinel, dwarf--invoke)
    	(dwarf--filter): New functions.
    	(dwarf-do-insert-substructure, dwarf-do-refresh): Call
    	dwarf--check-running, dwarf--invoke.
    	(dwarf-browse): Initialize new variables.

commit e4905c7464d23367248bdd5d8eccaebb495b8274
Author: Tom Tromey <>
Date:   Fri Oct 6 13:42:49 2017 -0600

    Set lexical-binding in dwarf-mode
    Emacs has had lexical binding for a while, and it's a good practice to
    use it; so enable it in dwarf-mode.el.
    2017-10-10  Tom Tromey  <>
    	* dwarf-mode.el: Set lexical-binding.

commit 22b63797983f485041a2a424e6cd7732f4318885
Author: Tom Tromey <>
Date:   Fri Oct 6 13:18:31 2017 -0600

    Bind keys in dwarf-mode-map definition
    It's bad Emacs style to define keys from a top-level form.  Instead, one
    should define a mode map separately and binding keys in the definition.
    This lets users completely override the map by defining it before
    loading the mode.
    2017-10-10  Tom Tromey  <>
    	* dwarf-mode.el (dwarf-mode-map): New defvar.

commit 65630365f7d073430e62b4fe65f34dcdc0a4b05e
Author: Pedro Alves <>
Date:   Tue Oct 10 16:45:51 2017 +0100

    Eliminate catch_exceptions/catch_exceptions_with_msg
    This patch gets rid of catch_exceptions / catch_exceptions_with_msg.
    The latter is done mostly by getting rid of the three remaining
    vestigial libgdb wrapper functions, which are really pointless
    nowadays.  This results in a good number of simplifications.
    (I checked that Insight doesn't use those functions.)
    The gdb.mi/mi-pthreads.exp change is necessary because this actually
    fixes a bug, IMO -- the patch stops MI's -thread-select causing output
    on the CLI stream.
    I.e., before:
     -thread-select 123456789
     &"Thread ID 123456789 not known.\n"
     ^error,msg="Thread ID 123456789 not known."
     -thread-select 123456789
     ^error,msg="Thread ID 123456789 not known."
    2017-10-10  Pedro Alves <>
    	    Tom Tromey  <>
    	* breakpoint.c (struct captured_breakpoint_query_args)
    	(do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
    	(print_breakpoint): New.
    	* breakpoint.h (print_breakpoint): Declare.
    	* common/common-exceptions.h (enum return_reason): Remove
    	references to catch_exceptions.
    	* exceptions.c (catch_exceptions, catch_exceptions_with_msg):
    	* exceptions.h (catch_exceptions_ftype, catch_exceptions)
    	(catch_exception_ftype, catch_exceptions_with_msg): Delete.
    	* gdb.h: Delete.
    	* gdbthread.h (thread_select): Declare.
    	* mi/mi-cmd-break.c: Don't include gdb.h.
    	(breakpoint_notify): Use print_breakpoint.
    	* mi/mi-cmd-catch.c: Don't include gdb.h.
    	* mi/mi-interp.c: Don't include gdb.h.
    	(mi_print_breakpoint_for_event): New.
    	(mi_breakpoint_created, mi_breakpoint_modified): Use
    	* mi/mi-main.c: Don't include gdb.h.
    	(mi_cmd_thread_select): Parse the global thread ID here.  Use
    	thread_select instead of gdb_thread_select.
    	(mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
    	of using gdb_list_thread_ids.
    	* remote-fileio.c (do_remote_fileio_request): Change type.  Reply
    	FILEIO_ENOSYS here.
    	(remote_fileio_request): Use TRY/CATCH instead of
    	* symfile-mem.c (struct symbol_file_add_from_memory_args)
    	(symbol_file_add_from_memory_wrapper): Delete.
    	(add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
    	* thread.c: Don't include gdb.h.
    	(do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
    	(thread_alive): Use thread_select.
    	(do_captured_thread_select): Delete, parts salvaged as ...
    	(thread_select): ... this new function.
    	(gdb_thread_select): Delete.
    2017-10-10  Pedro Alves <>
    	* gdb.mi/mi-pthreads.exp (check_mi_thread_command_set): Don't
    	expect CLI output.

commit bf4692711232eb96cd840f96d88897a2746d8190
Author: Pedro Alves <>
Date:   Tue Oct 10 16:45:50 2017 +0100

    Eliminate catch_errors
    If you want to use catch_errors with a function with parameters, then
    currently you have to manually write a "capture" struct wrapping the
    arguments and marshall/unmarshall that. proposed
    adjusting catch_errors to use gdb::function_view, which would allow
    passing lambdas with automatic captures.  However, it seems like using
    TRY/CATCH directly instead ends up producing clearer and easier to
    debug code.  This is what this commit does.
    Note that removing catch_errors exposes further cleanup opportunities
    around no longer having to follow catch_errors callback type, and also
    removes a few cleanups.
    I didn't do anything to save/restore current_uiout because I think
    that should be the responsibility of the code that changes
    current_uiout in the first place.
    (Another approach could be to make catch_errors a variadic template
      template<typename Function, typename... Args>
      int catch_errors (const char *errstring, return_mask mask,
    		    Function &&func, Args... args);
    and then with:
      extern void function_with_args (int, int);
      extern void function_with_no_args ();
    calls to the above functions would be wrapped like this:
      catch_errors ("some error happened", RETURN_MASK_ERROR,
                    function_with_args, arg1, arg2);
      catch_errors ("some error happened", RETURN_MASK_ERROR,
    but I'm thinking that that doesn't improve much if at all either.)
    2017-10-10  Pedro Alves  <>
    	    Tom Tromey  <>
    	* breakpoint.c (breakpoint_cond_eval): Change return type to bool
    	and reverse logic.
    	No longer macros.  Instead ...
    	(enum wp_check_result): They're now values of this new
    	(watchpoint_check): Change return type to wp_check_result and
    	parameter type to bpstat.
    	(bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
    	(bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
    	catch_errors.  Reverse logic of watchpoint_check call.
    	(breakpoint_re_set_one): Now returns void and takes a breakpoint
    	pointer as parameter.
    	(breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
    	* common/common-exceptions.c (throw_exception_sjlj): Update
    	comments to avoid mentioning catch_errors.
    	* exceptions.c (catch_errors): Delete.
    	* exceptions.h: Update comments to avoid mentioning catch_errors.
    	(catch_errors_ftype, catch_errors): Delete.
    	* infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
    	(hook_stop_stub): Delete.
    	(restore_selected_frame): Change return type to void, and
    	parameter type to const frame_id &.
    	(restore_infcall_control_state): Use TRY/CATCH instead of
    	* main.c (captured_command_loop): Return void and remove
    	parameter.  Remove references to catch_errors.
    	(captured_main): Use TRY/CATCH instead of catch_errors.
    	* objc-lang.c (objc_submethod_helper_data)
    	(find_objc_msgcall_submethod_helper): Delete.
    	(find_objc_msgcall_submethod): Use TRY/CATCH instead of
    	* record-full.c (record_full_message): Return void.
    	(record_full_message_args, record_full_message_wrapper): Delete.
    	(record_full_message_wrapper_safe): Return bool and use TRY/CATCH
    	instead of catch_errors.
    	* solib-aix.c (solib_aix_open_symbol_file_object): Change
    	parameter type to int.
    	* solib-darwin.c (open_symbol_file_object): Ditto.
    	* solib-dsbt.c (open_symbol_file_object): Ditto.
    	* solib-frv.c (open_symbol_file_object): Ditto.
    	* solib-svr4.c (open_symbol_file_object): Ditto.
    	* solib-target.c (solib_target_open_symbol_file_object): Ditto.
    	* solib.c (update_solib_list): Use TRY/CATCH instead of
    	* solist.h (struct target_so_ops) <open_symbol_file_object>:
    	Change type.
    	* symmisc.c (struct print_symbol_args): Remove.
    	(dump_symtab_1): Use TRY/CATCH instead of catch_errors.
    	(print_symbol): Change type.
    	* windows-nat.c (handle_load_dll, handle_unload_dll): Return void
    	and remove parameters.
    	(catch_errors): New.
    	(get_windows_debug_event): Adjust.
    2017-10-10  Pedro Alves  <>
    	* lib/selftest-support.exp (selftest_setup): Update for
    	captured_command_loop's prototype change.

commit 6c699715f68be7d8c468e965fbefce997f7ed937
Author: Renlin Li <>
Date:   Mon Sep 25 11:41:54 2017 +0100

    [ARM] PR ld/21402, only override the symbol dynamic decision on undefined weak symbol.
    Similar as aarch64 backend, arm backend only overrides the decision on undefined
    weak symbols. arm backend part already emits necessary relative relocation for
    this case.
    	PR ld/21402
    	* elf32-arm.c (allocate_dynrelocs_for_symbol): Only make undefined weak
    	symbols into dynamic.
    	PR ld/21402
    	* testsuite/ld-arm/tls-app.d: Update address.
    	* testsuite/ld-arm/tls-app.r: Remove relocations.
    	* testsuite/ld-arm/unresolved-1-dyn.d: Update.

commit ae7e78255666733d238e676a0bab14986a1483dd
Author: Nick Clifton <>
Date:   Tue Oct 10 13:37:58 2017 +0100

    Improve the speed of the --dwarf-start option by skipping processing of any comp unit that ends before the specified start address.
    	PR 22249
    	* dwarf.c (process_debug_info): Skip any comp unit that ends
    	before dwarf_start_die.

commit fc3c534364ca6d6de4f0dbcaf347ec85f5e2f8ff
Author: H.J. Lu <>
Date:   Mon Oct 9 22:03:42 2017 -0700

    riscv: Cache the max alignment of output sections
    Cache the max alignment of output sections instead of scanning all
    output sections for each input section, which can take a very long
    time if there are millions of input/output sections.
    	PR ld/22274
    	* elfnn-riscv.c (riscv_elf_link_hash_table): Add max_alignment.
    	(riscv_elf_link_hash_table_create): Initialize max_alignment to
    	(bfd_vma) -1.
    	(_bfd_riscv_relax_section): Cache the max alignment of output
    	sections if possible.

commit b9399fcf4ec90d898a610e39bd9141e85c008fbb
Author: Alan Modra <>
Date:   Tue Oct 10 11:52:06 2017 +1030

    Prepare powerpc64 for late check_relocs
    check_relocs was setting up some data used by the --gc-sections
    gc_mark_hook.  If we change ld to run check_relocs after gc_sections
    that data needs to be set up elsewhere.  Done by this patch in the
    backend check_directives function (ppc64_elf_before_check_relocs).
    	* elf64-ppc.c (ppc64_elf_before_check_relocs): Set sec_type for
    	.opd whenever .opd is present and non-zero size.  Move code
    	setting abiversion to/from output file earlier.  Only set
    	u.opd.func_sec when --gc-sections.  Read relocs and set up
    	u.opd.func_sec values here..
    	(ppc64_elf_check_relocs): ..rather than here.  Simplify opd
    	section tests.
    	(ppc64_elf_edit_opd): Don't set sec_type for .opd here.

commit cbd3b1c155ed4f4986bf50754b1c57ad85700f7c
Author: Alan Modra <>
Date:   Tue Oct 10 11:41:10 2017 +1030

    Correct ld/Makefile earmelfb_fuchsia dependencies
    There were two copies of earmelf_fuchsia.c dependencies.
    	* (earmelfb_fuchsia.c): Rename rule from earmelf_fuchsia.c.
    	* Regenerate.

commit f8f762b2fd203755c51875e979dfdeb69b66743b
Author: GDB Administrator <>
Date:   Tue Oct 10 00:00:24 2017 +0000

    Automatic date update in

commit 1a56bfa56ed967c5f6ed98f75834408417a062ff
Author: Tom Tromey <>
Date:   Sun Oct 8 16:37:46 2017 -0600

    Remove free_splay_tree cleanup
    One spot in gdb uses a cleanup to free a splay tree.  This patch
    introduces a unique_ptr specialization for this case.
    2017-10-09  Tom Tromey  <>
    	* mi/mi-main.c (free_splay_tree): Remove.
    	(list_available_thread_groups): Use splay_tree_up.
    	* common/gdb_splay_tree.h: New file.

commit 0c478e2d060bebea341696806fed6f67122efab6
Author: Tom Tromey <>
Date:   Sun Oct 8 16:19:48 2017 -0600

    Remove "do_nothing"
    The do_nothing function in mi-main.c is used as a splay tree
    key-deleting function; but NULL serves the same purpose and is used
    elsewhere in gdb.  This patch removes the unneeded function.
    2017-10-09  Tom Tromey  <>
    	* mi/mi-main.c (do_nothing): Remove.
    	(list_available_thread_groups): Update.

commit 478c006f9b4a64d59c31aed081c14c1d7dd4ba68
Author: H.J. Lu <>
Date:   Mon Oct 9 15:05:03 2017 -0700

    mn10300: Don't free cached internal symbol table
    Since ELF linker may cache internal symbol table in init_reloc_cookie,
    we should check if it is cached, before free it.
    	* elf-m10300.c (mn10300_elf_check_relocs): Don't free cached

commit 9d45a7de8b80336b9965ee99353c34be85b1b98f
Author: H.J. Lu <>
Date:   Mon Oct 9 12:45:57 2017 -0700

    bfin: Don't create .interp section for info->nointerp
    Don't create the .interp section with "ld --no-dynamic-linker".  This
    FAIL: PR ld/20828 forcibly exported symbol version without section GC
    FAIL: PR ld/20828 forcibly exported symbol version with section GC
    FAIL: readelf version information
    	* elf32-bfin.c (bfin_size_dynamic_sections): Don't create the
    	.interp section with "ld --no-dynamic-linker".

commit 777a42f1f86b60d11cfe0e5964036823e6920f79
Author: Pedro Alves <>
Date:   Mon Oct 9 18:11:02 2017 +0100

    gdb.multi/multi-arch-exec.exp: Also test -m32 => -m64
    The gdb.multi/multi-arch-exec.exp testcase currently tests execing
    from -m64 to -m32, but does not test the other direction.  For
    thoroughness, this commit fixes that.  Without the fix in the previous
    commit for example ("Multi-arch exec, more register reading
    avoidance"), on x86_64 we would get different symptoms depending on
    "execing direction".  Vis:
      Truncated register 50 in remote 'g' packet
      Truncated register 50 in remote 'g' packet
      (gdb) FAIL: gdb.multi/multi-arch-exec.exp: first_arch=1: selected_thread=2: follow_exec_mode=same: continue across exec that changes architecture
      Remote 'g' packet reply is too long (expected 440 bytes, got 816 bytes): daffffffffffffff0000[snip]
      Remote 'g' packet reply is too long (expected 440 bytes, got 816 bytes): daffffffffffffff0000[snip]
      (gdb) FAIL: gdb.multi/multi-arch-exec.exp: first_arch=2: selected_thread=2: follow_exec_mode=same: continue across exec that changes architecture
    2017-10-09  Pedro Alves  <>
    	Test both arch1=>arch2 and arch2=>arch1.
    	* gdb.multi/multi-arch-exec.exp (exec1, srcfile1, binfile1, exec2)
    	(srcfile2, binfile2, march1, march2): Remove globals.  Largely
    	factored out to...
    	(append_arch1_options, append_arch2_options, append_arch_options)
    	(build_executables): New procedures.
    	(do_test): New 'first_arch' parameter.  Use it to define 'from_exec'
    	(top level): Add new 'first_arch' testing axis.

commit cbd2b4e316370ab740433b06ed65786831232c8f
Author: Pedro Alves <>
Date:   Mon Oct 9 18:11:01 2017 +0100

    Multi-arch exec, more register reading avoidance
    As mentioned in commit bf93d7ba9931 ("Add thread after updating
    gdbarch when exec'ing"), we should avoid doing register reads after a
    process does an exec and before we've updated that inferior's gdbarch.
    Otherwise, we may interpret the registers using the wrong
    There's still (at least) one case where we still read registers
    post-exec with the pre-exec architecture.  That's when infrun decides
    it needs to switch context to the exec'ing thread.  I.e., if the exec
    event is processed at a time when the current thread is not already
    the exec'ing thread, then we get (with the test added by this commit):
      Truncated register 50 in remote 'g' packet
      Truncated register 50 in remote 'g' packet
      (gdb) FAIL: gdb.multi/multi-arch-exec.exp: selected_thread=2: follow_exec_mode=same: continue across exec that changes architecture
    The fix is to avoid reading registers when switching context in this
    (I'd be nice to get rid of the constant stop_pc reading when switching
    threads, but that'd be a deeper change.)
    2017-10-09  Pedro Alves  <>
    	* infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
    	reading registers when switching context.
    2017-10-09  Pedro Alves  <>
    	* gdb.multi/multi-arch-exec.c: Include <pthread.h> and <assert.h>.
    	(barrier): New.
    	(thread_start, all_started): New functions.
    	(main): Spawn new thread and wait until it is scheduled.
    	* gdb.multi/multi-arch-exec.exp: Build $srcfile1 with the pthreads
    	(do_test): Add 'selected_thread' parameter.  Run to all_started
    	instead of main.  Explicitly set the breakpoint at main.  Switch
    	to the SELECTED_THREAD thread.
    	(top level): Test handling the exec event with either the main
    	thread or the second thread selected.

commit a181c0bf7461c28cdb72a4074c6d7608119fb575
Author: John Baldwin <>
Date:   Mon Oct 9 09:54:42 2017 -0700

    Use gdbarch_long_bit to determine layout of FreeBSD siginfo_t.
    FreeBSD architectures are either ILP32 or LP64 resulting in two
    different layouts for siginfo_t.  Previously, the 'bits_per_word'
    member of bfd_arch_info was used to determine the layout to use for a
    given FreeBSD architecture.  However, mipsn32 architectures inherit
    from a 64-bit mips architecture where bits_per_word is 64.  As a
    result, $_siginfo was not properly extracted from FreeBSD/mipsn32 core
    dumps.  Fix this by using gdbarch_long_bit instead of 'bits_per_word'
    to determine if a FreeBSD architecture is ILP32 or LP64.
    	* fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
    	(fbsd_convert_siginfo): Likewise.
    	* fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.

commit 6e66f7538112d2f5fb1af17dbde33ba37a7171be
Author: Simon Marchi <>
Date:   Mon Oct 9 12:50:58 2017 -0400

    Don't try building gdb against guile-2.2
    GDB currently doesn't build with Guile 2.2 (see PR 21104).  If one has
    both Guile 2.2 and 2.0 installed, GDB will pick up Guile 2.2 first and
    fail building.  Until somebody does the work of adapting the GDB code to
    Guile 2.2, we should not try using it.  This patch therefore removes it
    from configure.
    	* (try_guile_versions): Remove guile-2.2.
    	* configure: Regenerate.

commit 8e464506d2131fc931c4f81a22cc7125b7adf434
Author: Andreas Krebbel <>
Date:   Mon Oct 9 18:37:53 2017 +0200

    S/390: Sync with latest POP - 3 new instructions
    prno, tpei, and irbm are missing in the optable.
    2017-10-09  Andreas Krebbel  <>
    	* testsuite/gas/s390/zarch-arch12.d (prno, tpei, irbm): New
    	instructions added.
    	* testsuite/gas/s390/zarch-arch12.s: Likewise.
    	* testsuite/gas/s390/zarch-z13.d: Rename ppno to prno.
    2017-10-09  Andreas Krebbel  <>
    	* s390-opc.txt (prno, tpei, irbm): New instructions added.

commit ee6767daf13a13867f8e716c2a53b748ab0da536
Author: Andreas Krebbel <>
Date:   Mon Oct 9 18:37:53 2017 +0200

    S/390: Sync with IBM z14 POP - SI_RD format
    The recent POP adjusted a few of the instruction formats.  This patch
    adjusts our optable accordingly.  No user visible change - hopefully.
    2017-10-09  Heiko Carstens  <>
    	* s390-opc.c (INSTR_SI_RD): New macro.
    	(INSTR_S_RD): Adjust example instruction.
    	* s390-opc.txt (lpsw, ssm, ts): Change S_RD instruction format to

commit 890e97902a21a3b88f9b6028852736b813303029
Author: Tom Tromey <>
Date:   Sun Oct 8 17:12:19 2017 -0600

    Fix automatic dependency tracking
    Commit f38307f5 changed and POSTCOMPILE to remove
    $(basename) from the dependency file name computation.  However, it
    did not update the `-include' at the end of the; this in
    effect disabled automatic dependency tracking.
    This patch restores the $(basename) wrapper so that the dependency
    files are named "file.Po" rather than "file.o.Po".
    I also tested the non-gcc3 dependency mode, which pointed out that
    this case hadn't been working since the switch to C++.  This is also
    fixed in this patch.
    Tested by rebuilding.
    2017-10-09  Tom Tromey  <>
    	* (, POSTCOMPILE): Restore $(basename).
    	(COMPILE.pre): Use $(CXX).

commit 109483d9eec3f0d0c3eaafd5d829435059167c52
Author: Pedro Alves <>
Date:   Mon Oct 9 15:57:36 2017 +0100

    Make cp_remove_params return a gdb::unique_xmalloc_ptr
    Use the type system instead of callers needing to know how the
    returned string's memory is supposed to be managed.
    2017-10-09  Pedro Alves  <>
    	* cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
    	Use bool.
    	(overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
    	* cp-support.h (cp_remove_params): Now returns a
    	* dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
    	Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
    	* psymtab.c (psymtab_search_name): Adjust to cp_remove_params
    	returning a gdb::unique_xmalloc_ptr.
    	(lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
    	* stack.c (find_frame_funname): Adjust to cp_remove_params
    	returning a gdb::unique_xmalloc_ptr.

commit c474ea1a5f1524668cb8ce91c3682cb0cb837e08
Author: Nick Clifton <>
Date:   Mon Oct 9 15:32:09 2017 +0100

    Fix link time warning message when running the srec linker tests.
    	* testsuite/ld-srec/srec.exp (run_srec_test): Set start address.

commit 6753e38a5c71b4b4ae81bba41fb67890abfa4e0f
Author: Nick Clifton <>
Date:   Mon Oct 9 15:00:31 2017 +0100

    Fix compile time warning message when running the PR19874 linker test.
    	PR ld/19874
    	* testsuite/ld-x86-64/pr19784c.c (bar): Change return type to void.

commit e61933afce961c4b23c5e173b4b8f46b949bef30
Author: Andreas Krebbel <>
Date:   Mon Oct 9 15:40:15 2017 +0200

    Add missing changelog entries

commit 5c9e4427a745e5e26fba320ecc62e4285b613e4f
Author: Pedro Alves <>
Date:   Mon Oct 9 12:33:31 2017 +0100

    Fix gdb.base/print-file-var-main.c value check logic
    Fix a typo introduced in commit c56e7c4390ed ("Make ctxobj.exp and
    print-file-var.exp work on all platforms.").
    This doesn't really affect the outcome of the testcase.  I only
    noticed the typo because I stepped through the program manually.
    To avoid such problems if the test is extended, this moves the STOP
    marker until after the program self-validates the values.  With the
    typo in place, this alone would have resulted in a test FAIL.  I.e.,
    it'd have caught the typo.
    2017-10-09  Pedro Alves  <>
    	* gdb.base/print-file-var-main.c: Fix get_version_2 value check
    	logic.  Move STOP marker after the value checks.
    	* gdb.base/print-file-var.exp (continue to STOP marker): Tighten

commit 76f361eb4934dcda0626517c311b34fbc92d09b9
Author: H.J. Lu <>
Date:   Mon Oct 9 04:17:10 2017 -0700

    ld: Don't allow '~' as the first char in symbol name
    Don't allow '~' as the first character in symbol name in linker script.
    	PR ld/22267
    	* ldlex.l (SYMBOLNAMECHAR1) New.
    	(EXPRESSION): Likewise.
    	* testsuite/ld-scripts/expr.exp: Run pr22267.
    	* testsuite/ld-scripts/pr22267.d: New file.
    	* testsuite/ld-scripts/pr22267.s: Likewise.
    	* testsuite/ld-scripts/pr22267.t: Likewise.

commit 5d3b558acd329de9dcbd63d9bb04242b31fad490
Author: Andreas Krebbel <>
Date:   Mon Oct 9 12:24:11 2017 +0200

    Replace nop in fill-1.s testcase.
    2017-10-09  Andreas Krebbel  <>
    	* testsuite/gas/all/fill-1.s: Replace nop with .word 42

commit 4f2358bca6910cafbe9b37a713fd96e5ab84d4e8
Author: Andreas Krebbel <>
Date:   Fri Oct 6 13:12:32 2017 +0200

    Enable .fill forward labels
    2017-10-09  Andreas Krebbel  <>
    	* read.c (s_fill): Invoke expression instead of
    	* testsuite/gas/all/fill-1.s: New testcase.
    	* testsuite/gas/all/gas.exp: Run fill-1 testcase

commit 791afaa233ca9f4baa59aa16062296a00aa2c4da
Author: Tom Tromey <>
Date:   Sun Oct 8 13:29:18 2017 -0600

    Remove some cleanups from dwarf2read.c
    This removes a number of cleanups from dwarf2read.c in a
    straightforward way.
    Note that some places in dwarf2read create dangling cleanups.  I don't
    believe any of the changes in this patch interact with those spots.
    Regression tested by the buildbot.
    2017-10-08  Tom Tromey  <>
    	* dwarf2read.c (dwarf2_get_dwz_file): Use
    	(find_slot_in_mapped_hash): Likewise.
    	(dwarf2_physname): Likewise.
    	(create_dwo_unit_in_dwp_v1): Use std::string.
    	(create_dwo_unit_in_dwp_v2): Likewise.
    	(lookup_dwo_cutu): Likewise.
    	(inherit_abstract_dies): Use std::vector.
    	(read_array_type): Likewise.
    	(dwarf_decode_macros): Remove unused declaration.
    	(unsigned_int_compar): Remove.
    	(dwarf2_build_psymtabs_hard): Use scoped_restore.
    	(psymtabs_addrmap_cleanup): Remove.

commit 30a9c02feff56bd58a276c2a7262f364baa558ac
Author: Tom Tromey <>
Date:   Sun Oct 8 12:40:07 2017 -0600

    Remove cleanup from frame_prepare_for_sniffer
    Currently frame_prepare_for_sniffer returns a cleanup.  This patch
    changes it to return void, and exposes frame_cleanup_after_sniffer to
    the caller.
    Normally I would write an RAII class for this sort of thing; but
    because there was just a single caller of frame_prepare_for_sniffer,
    and because this caller is already using try/catch, I thought it
    seemed ok to require explicit calls in this instance.
    Regression tested by the buildbot.
    2017-10-08  Tom Tromey  <>
    	* frame-unwind.c (frame_unwind_try_unwinder): Update.
    	* frame.h (frame_cleanup_after_sniffer): Declare.
    	(frame_prepare_for_sniffer): Return void.
    	* frame.c (frame_cleanup_after_sniffer): No longer static.  Change
    	type of argument.
    	(frame_prepare_for_sniffer): Return void.

commit 757325a3f24e01bf8e7b7214f33c546bc52d1d12
Author: Tom Tromey <>
Date:   Sun Oct 8 12:20:49 2017 -0600

    Remove make_cleanup_value_free
    This removes make_cleanup_value_free, in favor of a unique_ptr
    Regression tested by the buildbot.
    2017-10-08  Tom Tromey  <>
    	* utils.h (make_cleanup_value_free): Remove.
    	* utils.c (do_value_free, struct cleanup): Remove.
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
    	Use gdb_value_up.
    	* value.h (struct value_deleter): New.
    	(gdb_value_up): New typedef.

commit b9c04fb2681dd5706d2cafa5dcc6bdcd99016cf4
Author: Tom Tromey <>
Date:   Sun Oct 8 12:11:18 2017 -0600

    Change search_symbols to return std::vector
    This changes search_symbols to return a std::vector, replacing the
    previous linked list approach.  This allows the removal of some
    cleanups, as well as the use of std::sort and std::unique, saving some
    code and extra allocations in sort_search_symbols_remove_dups.
    Regression tested by the buildbot.
    2017-10-08  Tom Tromey  <>
    	* symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
    	(make_cleanup_free_search_symbols): Remove.
    	(search_symbols): Return std::vector.
    	(symbol_search::compare_search_syms): Now member of
    	symbol_search.  Change arguments.
    	(sort_search_symbols_remove_dups): Change arguments.  Rewrite.
    	(symtab_symbol_info, rbreak_command): Update.
    	* symtab.h (struct symbol_search) <next>: Remove.
    	Add constructors.
    	(symbol_search::operator<): New function.
    	(symbol_search::operator==): New function.
    	(search_symbols): Remove std::vector.
    	(free_search_symbols, make_cleanup_free_search_symbols): Remove.
    	(symbol_search::compare_search_syms): Declare.

commit b55ec8b676ed05d93ee49d6c79ae0403616c4fb0
Author: Alan Modra <>
Date:   Mon Oct 9 13:21:44 2017 +1030

    PR22212, memory leak in nm
    	PR 22212
    	* dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free
    	funcinfo_hash_table and varinfo_hash_table.

commit a72f95f7760bf85693af393c5e01dd3aedbe5bde
Author: H.J. Lu <>
Date:   Sun Oct 8 17:17:29 2017 -0700

    sh: Dump dynamic relocation info to the map file
    Dump dynamic relocation info to the map file when generating dynamic
    relocation in read-only section relocations if -Map is used.
    	* elf32-sh.c (readonly_dynrelocs): Dump dynamic relocation
    	in read-only section with minfo.
    	(sh_elf_size_dynamic_sections): Likewise.

commit f9799aae8e51948c1d87fbe7249b3d76dcb4585d
Author: H.J. Lu <>
Date:   Sun Oct 8 17:09:26 2017 -0700

    sparc: Remove a strayed comment
    	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Remove
    	a strayed comment.

commit effaa0a1e8d63a7063e8c7b42fe1f9b98a4da2fe
Author: GDB Administrator <>
Date:   Mon Oct 9 00:00:30 2017 +0000

    Automatic date update in

commit 4c7236d3cb7b971bbdc97b6aec348a4aa0594a9b
Author: H.J. Lu <>
Date:   Sun Oct 8 14:29:52 2017 -0700

    tilegx: Set this_hdr.sh_entsize only if section size > 0
    This fixes:
    /export/build/gnu/binutils-cross/build-tilegx-linux/ld/ld-new   -o tmpdir/comm-data -z norelro -L/export/gnu/import/git/sources/binutils-gdb/ld/testsuite/ld-elf  -T comm-data2.ld -Ltmpdir -lcomm-data tmpdir/comm-data2.o
    sh: line 1:  9208 Segmentation fault      (core dumped) /export/build/gnu/binutils-cross/build-tilegx-linux/ld/ld-new -o tmpdir/comm-data -z norelro -L/export/gnu/import/git/sources/binutils-gdb/ld/testsuite/ld-elf -T comm-data2.ld -Ltmpdir -lcomm-data tmpdir/comm-data2.o 2>&1
    FAIL: Common symbol override test
    	* elfxx-tilegx.c (tilegx_elf_finish_dynamic_sections): Set
    	this_hdr.sh_entsize only if section size > 0.

commit 70090aa5f629dcbdfa88b20c29951fa8f50f0545
Author: H.J. Lu <>
Date:   Sun Oct 8 13:20:17 2017 -0700

    Reformat elf_x86_allocate_dynrelocs
    	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Reformat.

commit f0f07ad1825e9b7f539e410562993b25f76e5627
Author: H.J. Lu <>
Date:   Sat Oct 7 17:30:12 2017 -0700

    sparc: Dump dynamic relocation info to the map file
    Dump dynamic relocation info to the map file when generating dynamic
    relocation in read-only section relocations if -Map is used.
    	* elfxx-sparc.c (readonly_dynrelocs): Dump dynamic relocation
    	in read-only section with minfo.
    	(_bfd_sparc_elf_size_dynamic_sections): Likewise.

commit b05c287c1820c5a86e08afec26f5f73b65b416aa
Author: GDB Administrator <>
Date:   Sun Oct 8 00:00:25 2017 +0000

    Automatic date update in

commit 2458d83bbc190f92f7718b30438dd7e5775e0d3c
Author: H.J. Lu <>
Date:   Sat Oct 7 16:10:56 2017 -0700

    ld-elf/merge.d: Don't expect to fail for sparc
    It passed with cross binutils to sparc-linux and sparc64-linux.
    	* testsuite/ld-elf/merge.d: Don't expect to fail for sparc.

commit 0ee6e554c4f8b23cdd629774ae94a74af5826976
Author: GDB Administrator <>
Date:   Sat Oct 7 00:00:17 2017 +0000

    Automatic date update in

commit 99180bccaf09413c9ddb28e51fa30f1ca4966583
Author: H.J. Lu <>
Date:   Fri Oct 6 16:45:37 2017 -0700

    x86: Update UNDEFINED_WEAK_RESOLVED_TO_ZERO comments
    	* elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Update

commit 98b273dc13b1e45db8c66821efc9e514884f3c25
Author: H.J. Lu <>
Date:   Fri Oct 6 15:25:07 2017 -0700

    x86: Use zero_undefweak in elf_x86_link_hash_entry
    Replace has_got_reloc and has_non_got_reloc in elf_x86_link_hash_entry
    with zero_undefweak:
    Bit 0: Symbol has no GOT nor PLT relocations.
    Bit 1: Symbol has non-GOT/non-PLT relocations in text sections.
    zero_undefweak is initialized to 1 and undefined weak symbol should be
    resolved to 0 if zero_undefweak > 0.
    	* elf32-i386.c (elf_i386_check_relocs): Replace has_got_reloc
    	and has_non_got_reloc with zero_undefweak.
    	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_newfunc): Initialize
    	zero_undefweak to 1.
    	(_bfd_x86_elf_copy_indirect_symbol): Replace has_got_reloc and
    	has_non_got_reloc with zero_undefweak.
    	* elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace
    	has_got_reloc and has_non_got_reloc with zero_undefweak.
    	(elf_x86_link_hash_entry): Likewise.

commit b3b7c423883ad8d8b81f166ad2d2d4b637086bc0
Author: Sandra Loosemore <>
Date:   Fri Oct 6 15:24:01 2017 -0700

    Skip gdb.mi/mi-threads-interrupt.exp if nointerrupts.
    2017-10-06  Sandra Loosemore  <>
    	* gdb.mi/mi-threads-interrupt.exp: Skip test if nointerrupts.

commit 544c67cda1686c1b204cb96c0d7885b08d37b8d6
Author: John Baldwin <>
Date:   Fri Oct 6 11:41:45 2017 -0700

    Account for padding in FreeBSD/mipsn32 NT_PRSTATUS notes.
    Add a new ELF backend method to grok FreeBSD NT_PRSTATUS core dump
    notes.  Define a method for MIPS N32 to override the default
    elfcore_grok_freebsd_prstatus that accounts for additional padding
    between pr_pid and pr_reg that is not present in other 32-bit FreeBSD
    	* elf-bfd.h (struct elf_backend_data): Add
    	* elf.c (elfcore_grok_freebsd_note): Call
    	`elf_backend_grok_freebsd_prstatus' to handle NT_PRSTATUS if
    	* elfn32-mips.c (elf_n32_mips_grok_freebsd_prstatus): New
    	(elf_backend_grok_freebsd_prstatus): Define.
    	* elfxx-target.h (elf_backend_grok_freebsd_prstatus): Define.
    	(elfNN_bed): Initialize `elf_backend_grok_freebsd_prstatus'.

commit 0d28b0a5caa6b04129e21a9aff371d4032c7ef17
Author: Yao Qi <>
Date:   Fri Oct 6 14:53:39 2017 +0100

    Move aarch64-insn.o to arch/aarch64-insn.o and Remove a rule for arch/*.c
    This patch moves aarch64-insn.o to arch/aarch64-insn.o.  Then, all
    arch/*.c are built to arch/*.o, so we don't need a Makefile rule to build
    *.o from arch/*.c.  This patch removes it too.
    2017-10-06  Yao Qi  <>
    	* (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
    	Remove one rule.
    	* configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.

commit 71917808c3490b4d4df9c6e848e3c5d75f5278d2
Author: Yao Qi <>
Date:   Fri Oct 6 14:36:04 2017 +0100

    Move arm.o arm-get-next-pcs.o arm-linux.o to arch/
    It is tested by building GDB for some targets, arm-elf, arm-netbsd,
    arm-linux, and aarch64-linux.
    2017-10-06  Yao Qi  <>
    	* (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
    	and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
    	arch/arm-linux.o respectively.
    	* configure.tgt: Likewise.

commit 2081b2b2ca30d7c3b6464a3e167ce2c336c0465f
Author: Yao Qi <>
Date:   Fri Oct 6 14:07:29 2017 +0100

    Move i386.o to arch/i386.o
    This patch changes the build that arch/i386.c is built to arch/i386.o,
    instead of i386.o.
    2017-10-06  Yao Qi  <>
    	* (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
    	* configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.

commit e0d8f43169368abf354e596c7725dee1dd609cb8
Author: H.J. Lu <>
Date:   Fri Oct 6 05:49:48 2017 -0700

    Add "do/while(0);" to COPY_INPUT_RELOC_P/VERIFY_COPY_RELOC
    Add "do/while(0);" to COPY_INPUT_RELOC_P/VERIFY_COPY_RELOC to avoid
    potential dangling else problems.
    	* elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);".
    	(VERIFY_COPY_RELOC): Likewise.

commit a1b85d282f408dfd18a27539874846197f7e4044
Author: Pedro Alves <>
Date:   Fri Oct 6 11:58:56 2017 +0100

    Fix more GDB build breakage on mingw32
    With F23's mingw gcc 5.3.0, I'm seeing:
     i686-w64-mingw32-g++ -x c++ -std=gnu++11 -g3 -O0   -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../../src/gdb/../zlib -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber  -I../../src/gdb/gnulib/import -Ibuild-gnulib/import   -I/home/pedro/src/expat/install-win32//include   -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized -Wno-format -Werror -c -o windows-nat.o -MT windows-nat.o -MMD -MP -MF ./.deps/windows-nat.o.Tpo ../../src/gdb/windows-nat.c
     ../../src/gdb/windows-nat.c: In function 'void windows_create_inferior(target_ops*, const char*, const string&, char**, int)':
     ../../src/gdb/windows-nat.c:2476:7: error: 'replace' is not a member of 'std'
    	std::replace (expanded_infcwd.begin (), expanded_infcwd.end (),
    2017-10-06  Pedro Alves  <>
    	* windows-nat.c: Include <algorithm>.

commit b79f7801a2c555ee4ff4bc3050141e83158f66d4
Author: Yuanhui Zhang <>
Date:   Fri Oct 6 11:44:54 2017 +0100

    Fix GDB build under msys+mingw gcc 32bit
    I see a build error when building GDB under msys+mingw gcc 32bit:
     g++ -x c++ -std=gnu++11 -g -O2    -I. -I../../../binutils-gdb/gdb/gdbserver -I../../../binutils-gdb/gdb/gdbserver/../common -I../../../binutils-gdb/gdb/gdbserver/../regformats -I../../../binutils-gdb/gdb/gdbserver/.. -I../../../binutils-gdb/gdb/gdbserver/../../include -I../../../binutils-gdb/gdb/gdbserver/../gnulib/import -Ibuild-gnulib-gdbserver/import  -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized -Wno-format -Werror -DGDBSERVER -c -o win32-low.o -MT win32-low.o -MMD -MP -MF .deps/win32-low.Tpo ../../../binutils-gdb/gdb/gdbserver/win32-low.c
     ../../../binutils-gdb/gdb/gdbserver/win32-low.c: In function 'BOOL create_process(const char*, char*, DWORD, PROCESS_INFORMATION*)':
     ../../../binutils-gdb/gdb/gdbserver/win32-low.c:566:48: error: 'get_inferior_cwd' was not declared in this scope
        const char *inferior_cwd = get_inferior_cwd ();
     make[4]: *** [win32-low.o] Error 1
    It can be fixed by simply including the right header file.
    2017-10-06  Yuanhui Zhang  <>
    	* win32-low.c: Include "common-inferior.h".

commit d97987e219b80c670e37eb0e25e31b36fa295509
Author: Yao Qi <>
Date:   Fri Oct 6 11:18:48 2017 +0100

    Share code updating gdb_target_obs
    Nowadays, there are much duplications in configure.tgt to update
    gdb_target_obs, some cpu specific object files are added to gdb_target_obs
    to some different target triplets of the same cpu.  The same problem
    exists for os specific object files too.  It is fragile to update them,
    and build with all targets enabled doesn't find the problem.
    This patch splits the gdb_target_obs update to three steps, cpu steps, os
    steps, and the rest.
    I tested this patch by build gdb for each different target triplets
    aarch64-elf aarch64-rtems aarch64-freebsd aarch64-linux alpha-elf
    alpha-linux alpha-netbsd alpha-openbsd arm-elf arm-wince-pe arm-linux
    arm-netbsd arm-symbianelf avr cris-elf frv-elf h8300-elf i386-elf
    i386-darwin i386-dicos i386-freebsd i386-netbsdelf i386-openbsd
    i386-nto i386-solaris i386-linux i386-gnu i386-cygwin i386-mingw32
    i386-go32 ia64-linux-gnu ia64-vms lm32-elf m32c-elf m32r-elf m32r-linux
    m68hc11-elf m68k-elf m68k-linux m68k-netbsd m68k-openbsd m88k-openbsd
    mep-elf microblaze-xilinx-elf microblaze-linux-gnu mips-elf moxie-elf
    ms1-elf nios2-elf nios2-linux-gnu hppa-elf hppa-linux hppa-netbsd
    hppa-openbsd powerpc-eabi powerpc-freebsd powerpc-netbsd powerpc-openbsd
    powerpc-linux powerpc-lynx178 rl78-elf rx-elf s390-linux-gnu score-elf
    sh-elf sh-linux sh-openbsd sh64-elf sh64-linux sh64-openbsd sparc64-linux
    sparc-linux sparc-freebsd sparc64-freebsd sparc-netbsd sparc64-netbsd
    sparc-openbsd sparc64-openbsd spu-elf tic6x-elf tic6x-uclinux v850-elf
    vax-netbsd vax-openbsd x86_64-linux-gnu x86_64-darwin x86_64-dicos
    x86_64-elf x86_64-freebsd x86_64-mingw32 x86_64-netbsd x86_64-openbsd
    x86_64-rtems xstormy16-elf xtensa-elf xtensa-linux
    2017-10-06  Yao Qi  <>
    	* configure.tgt (i386_tobjs): New variable.
    	(amd64_tobjs): New variable.
    	Set $cpu_obs and $os_obs.

commit f38307f593cb8189c82fb39e46e0cd899022e2fb
Author: Yao Qi <>
Date:   Fri Oct 6 11:13:30 2017 +0100

    [RFC] Replicate src dir in build dir
    Nowadays, GDB build tree is almost flat, but source tree isn't.  We
    have arch/ nat/ target/ common/ cli/ mi/ tui/ python/ guile/ directories.
    We need to some rules in Makefile for source files in different source
    directories, like,
     # Rules for compiling .c files in the various source subdirectories.
    %.o: ${srcdir}/arch/%.c
    	$(COMPILE) $<
    %.o: ${srcdir}/nat/%.c
    	$(COMPILE) $<
    so we should take care of some special case that files' base name is the
    same, like,
     # Specify an explicit rule for gdb/common/agent.c, to avoid a clash with the
     # object file generate by gdb/agent.c.
    common-agent.o: $(srcdir)/common/agent.c
    	$(COMPILE) $(srcdir)/common/agent.c
    As we add more and more files in different directories, it becomes tricky
    to name files, because we need take this into account.
    This patch takes the first step toward "Replicate src dir in build dir",
    that is, we create arch/ directory in buildtree, and put amd64.o there
    as an example.  Dependency tracking is updated for files with directory
    name.  Currently, when we build amd64.o,
      "-c -o amd64.o -MT amd64.o -MMD -MP -MF .deps/amd64.Tpo"
    with this patch applied, it becomes,
      "-c -o arch/amd64.o -MT arch/amd64.o -MMD -MP -MF arch/.deps/amd64.o.Tpo"
    "make clean" removes the object files, and "make distclean" removes .deps
    additionally.  configure file create .deps directory in each of
    CONFIG_SRC_SUBDIR, and pass it to, so that "make clean" and
    "make distclean" can remove stuffs there.
    If people agree with this change, I'll add more directories to
    2017-10-06  Yao Qi  <>
    	* (CONFIG_SRC_SUBDIR): New.
    	(ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
    	(clean): Remove object files and dependency files.
    	(distclean): Remove the directory.
    	* configure: Re-generated.
    	* configure.tgt: Replace amd64.o with arch/amd64.o.

commit 2f924de654ff8f719faf60b84948397809baaac6
Author: Jose E. Marchesi <>
Date:   Fri Oct 6 11:49:39 2017 +0200

    gdb: Fix decoding of ARM neon memory hint insns.
    2017-10-05  Jose E. Marchesi  <>
    	PR build/22188
    	* arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
    	and SETEND.

commit ff38b4cc55dade4c9970cac2149a946d5dc0adc7
Author: H.J. Lu <>
Date:   Fri Oct 6 00:50:12 2017 -0700

    Add VERIFY_COPY_RELOC to verify that symbol supports copy relocation.
    	* elfxx-x86.h (VERIFY_COPY_RELOC): New.
    	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.

commit f3180fa9ee8917fa9547cd5f79c822761f5d87a0
Author: H.J. Lu <>
Date:   Fri Oct 6 00:46:56 2017 -0700

    Add VERIFY_PLT_ENTRY to verify that symbol has an entry in the procedure
    linkage table.
    	* elfxx-x86.h (VERIFY_PLT_ENTRY): New.
    	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.

commit e74399c47c76b8111651f41b52a05401852cf799
Author: H.J. Lu <>
Date:   Fri Oct 6 00:43:31 2017 -0700

    Add COPY_INPUT_RELOC_P which returns TRUE if input relocation should
    be copied to output.
    	* elfxx-x86.h (COPY_INPUT_RELOC_P): New.
    	* elf32-i386.c (elf_i386_relocate_section): Use it.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.

commit aebcc8ffd201adbee973b414818b01876dabe1a0
Author: H.J. Lu <>
Date:   Fri Oct 6 00:40:56 2017 -0700

    Add GENERATE_DYNAMIC_RELOCATION_P which returns TRUE if dynamic
    relocation should be generated.
    	* elf32-i386.c (X86_SIZE_TYPE_P): New.
    	(elf_i386_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P.
    	* elf64-x86-64.c (X86_SIZE_TYPE_P): New.
    	(elf_x86_64_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P.
    	* elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): New.

commit cf1070f1a1ca1f8be1cd88aa6ece55a25e6a887b
Author: H.J. Lu <>
Date:   Fri Oct 6 00:35:13 2017 -0700

    Add POINTER_LOCAL_IFUNC_P which returns TRUE for pointer reference to
    local IFUNC symbol.  Add PLT_LOCAL_IFUNC_P which returns TRUE for PLT
    reference to local IFUNC symbol.
    	* elfxx-x86.h (POINTER_LOCAL_IFUNC_P): New.
    	(PLT_LOCAL_IFUNC_P): Likewise.
    	* elf32-i386.c (elf_i386_relocate_section): Use them.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.

commit f70656b2604eff12cea2e9bef27c1e00a3077f30
Author: H.J. Lu <>
Date:   Fri Oct 6 00:29:16 2017 -0700

    Add GENERATE_RELATIVE_RELOC_P which returns TRUE if dynamic relative
    relocation should be generated.
    	* elfxx-x86.h (GENERATE_RELATIVE_RELOC_P): New.
    	* elf32-i386.c (elf_i386_relocate_section): Use it.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.

commit 1f92404c505db7ca2255dad73647889234013a0a
Author: H.J. Lu <>
Date:   Fri Oct 6 00:26:17 2017 -0700

    Add RESOLVED_LOCALLY_P which returns TRUE if symbol is resolved to
    local definition at link-time.
    	* elfxx-x86.h (RESOLVED_LOCALLY_P): New.
    	* elf32-i386.c (elf_i386_relocate_section): Use it.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.

commit 2eba97c207399d8b541092a7b0a4428dc02f5cf1
Author: H.J. Lu <>
Date:   Thu Oct 5 14:36:58 2017 -0700


commit daf1c414a48baf090f005ce4b319b6881d5d6872
Author: H.J. Lu <>
Date:   Fri Oct 6 00:21:48 2017 -0700

    Add NEED_DYNAMIC_RELOCATION_P which returns TRUE if dynamic relocation
    is needed.
    	* elf32-i386.c (X86_PCREL_TYPE_P): New.
    	(elf_i386_check_relocs): Use NEED_DYNAMIC_RELOCATION_P.
    	* elf64-x86-64.c (IS_X86_64_PCREL_TYPE): Renamed to ...
    	(X86_PCREL_TYPE_P): This.
    	(elf_x86_64_check_relocs): Use NEED_DYNAMIC_RELOCATION_P.
    	Replace IS_X86_64_PCREL_TYPE with X86_PCREL_TYPE_P.
    	(elf_x86_64_relocate_section): Replace IS_X86_64_PCREL_TYPE with
    	* elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): New.

commit 51537393bd939e79f6e9291629fb65a17e6f19da
Author: H.J. Lu <>
Date:   Fri Oct 6 00:11:41 2017 -0700

    Add TLS_TRANSITION_IE_TO_LE_P which returns TRUE if TLS IE->LE transition
    is OK.
    	* elfxx-x86.h (TLS_TRANSITION_IE_TO_LE_P): New.
    	* elf32-i386.c (elf_i386_tls_transition): Use it.
    	* elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.

commit e98fdf1ab07243fe467caadd0d033b44b8ca20c7
Author: Alan Modra <>
Date:   Fri Oct 6 14:14:21 2017 +1030

    DWARF header checks
    This patch tidies DWARF header checks, consolidating the "negative"
    checks (which are really overflow checks) with the section size
    check.  In a number of cases this also ensures that small negative
    lengths are caught.  For instance
          hdrptr = start + arange.ar_length + initial_length_size;
          if (hdrptr < start || hdrptr > end)
    does not detect ar_length in the range [-initial_length_size,-1].
    	* dwarf.c (process_debug_info): Consolidate header length checks.
    	(display_debug_pubnames_worker): Use "start" to read header.
    	Properly check header length and report errors earlier.
    	Simplify loop printing pubnames.
    	(get_line_filename_and_dirname): Catch small negative "length"
    	(display_debug_aranges): Likewise.  Report header errors
    	earlier using standardized message.
    	(display_debug_names): Likewise.

commit 0caf6c82ab23ece570d14499ed02653968cd8abd
Author: H.J. Lu <>
Date:   Thu Oct 5 18:09:07 2017 -0700

    powerpc: Dump dynamic relocation info to the map file
    Dump dynamic relocation info to the map file when generating dynamic
    relocation in read-only section relocations if -Map is used.
    	* elf32-ppc.c (readonly_dynrelocs): Add a link_info argument.
    	Dump dynamic relocation in read-only section with minfo if
    	(ppc_elf_adjust_dynamic_symbol): Pass NULL to readonly_dynrelocs.
    	(maybe_set_textrel): Likewise.
    	(ppc_elf_size_dynamic_sections): Dump dynamic relocation in
    	read-only section with minfo.

commit 46e31de783dd29036370f2a1a233bd0e65ab2dd0
Author: GDB Administrator <>
Date:   Fri Oct 6 00:00:28 2017 +0000

    Automatic date update in

commit 2fd9d7ca17539ce983862b25e0abc27cfb706189
Author: Pedro Alves <>
Date:   Thu Oct 5 18:33:22 2017 +0100

    Fix fork-related regressions on GNU/Linux
    Commit 5cd63fda035d ("Fix "Remote 'g' packet reply is too long"
    problems with multiple inferiors") caused a number of regressions on
    native GNU/Linux, all related to follow-fork support.  E.g.:
      src/gdb/target.c:3141: internal-error: gdbarch* default_thread_architecture(target_ops*, ptid_t): Assertion `inf != NULL' failed.
      A problem internal to GDB has been detected,
      further debugging may prove unreliable.
      Quit this debugging session? (y or n)
      Resyncing due to internal error.
      FAIL: gdb.base/catch-signal-fork.exp: got SIGHUP after fork (GDB internal error)
    This commit fixes it.
    2017-10-05  Pedro Alves  <>
    	* linux-nat.c (linux_child_follow_fork): When following the parent
    	and detaching the child, consult the parent thread's architecture
    	instead of the child's.

commit d13b8493cbd2891b5886e6176d468eb63c73606a
Author: Ulrich Weigand <>
Date:   Thu Oct 5 19:15:11 2017 +0200

    Remove unused "union agent_val" from ax.h
    The ax.h header file contains a use of DOUBLEST in the type "union agent_val".
    However, that type is never used anywhere, so it can be simply removed.
    2017-10-05  Ulrich Weigand  <>
    	* ax.h: Do not include "doublest.h".
    	(union agent_val): Remove.

commit 3b4b2f160d288b85a1379d24fd0f4de19062f3fd
Author: Ulrich Weigand <>
Date:   Thu Oct 5 19:14:08 2017 +0200

    Clean up some DFP interfaces
    This cleans up a number of interfaces in dfp.c / dfp.h.  Specifically:
    - The decimal_from_string / decimal_to_string routines are C++-ified
      to operate on std::string instead of character buffers.  In the
      decimal_from_string, the boolean return value now actually is bool
      instead of an int.
    - The decimal_from_integral and decimal_from_doublest routines take
      an struct value as input.  This is not really appropriate at the low
      level the DFP routines sit, so this replaced them with new routines
      decimal_from_longest / decimal_from_ulongest / decimal_from_doublest
      that operate on contents instead.
    - To mirror the decimal_from_[u]longest, a new decimal_to_longest
      routine is added as well, which can be used in unpack_long to
      avoid an unnecessary conversion via DOUBLEST.
    Note that the decimal_from_longest / decimal_from_ulongest routines
    are actually more powerful than decimal_from_integral: the old routine
    would only accept integer *types* of at most four bytes size, while
    the new routines accept all integer *values* that fit in an [u]int32_t,
    no matter which type they came from.  The DFP tests are updated to
    allow for this larger range of integers that can be converted.
    2017-10-05  Ulrich Weigand  <>
    	* dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
    	(decimal_to_string): Return std::string object.
    	(decimal_from_string): Accept std::string object.  Return bool.
    	(decimal_from_integral, decimal_from_doublest): Remove.
    	(decimal_from_longest): Add prototype.
    	(decimal_from_ulongest): Likewise.
    	(decimal_to_longest): Likewise.
    	(decimal_from_doublest): Likewise.
    	* dfp.c: Do not include "gdbtypes.h" or "value.h".
    	(MAX_DECIMAL_STRING): Move here.
    	(decimal_to_string): Return std::string object.
    	(decimal_from_string): Accept std::string object.  Return bool.
    	(decimal_from_integral): Remove, replace by ...
    	(decimal_from_longest, decimal_from_ulongest): ... these new functions.
    	(decimal_to_longest): New function.
    	(decimal_from_floating): Remove, replace by ...
    	(decimal_from_doublest): ... this new function.
    	(decimal_to_doublest): Update to new decimal_to_string interface.
    	* value.c (unpack_long): Use decimal_to_longest.
    	* valops.c (value_cast): Use decimal_from_doublest instead of
    	decimal_from_floating.  Use decimal_from_[u]longest isntead of
    	* valarith.c (value_args_as_decimal): Likewise.
    	* valprint.c (print_decimal_floating): Update to new
    	decimal_to_string interface.
    	* printcmd.c (printf_decfloat): Likewise.
    	* c-exp.y (parse_number): Update to new decimal_from_string interface.
    2017-10-05  Ulrich Weigand  <>
    	* gdb.base/dfp-exprs.exp: Update tests to larger range of supported
    	integer-to-dfp conversion.
    	* gdb.base/dfp-test.exp: Likewise.

commit 1841ee5d0300cf00022c8aadfe16725c5e86fe1d
Author: Ulrich Weigand <>
Date:   Thu Oct 5 19:12:45 2017 +0200

    Clean up includes of doublest.h and floatformat.h
    As a first small step to getting rid of doublest.h, this patch removes the
    include of "floatformat.h" in "doublest.h".  This is actually not needed
    for the file itself.  A few source files now need to include "floatformat.h"
    directly, since they got it indirectly via "doublest.h" and still need it.
    In reviewing which files need it, I found a number of files that include
    "floatformat.h" directly without actually needing it at all.  Similarly,
    a number of files include "doublest.h" without needing it.  I've also
    removed those unnecessary include statements.
    2017-10-05  Ulrich Weigand  <>
    	* doublest.h: Do not include "floatformat.h".  Remove stale comments.
    	* gdbtypes.c: Include "floatformat.h".
    	* value.c: Likewise.
    	* m68k-tdep.c: Likewise.
    	* findvar.c: Do not include "floatformat.h".
    	* amd64-darwin-tdep.c: Likewise.
    	* arm-linux-tdep.c: Likewise.
    	* i386-darwin-tdep.c: Likewise.
    	* i387-tdep.c: Likewise.
    	* m68k-linux-tdep.c: Likewise.
    	* mep-tdep.c: Likewise.
    	* mips-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* s390-linux-tdep.c: Likewise.
    	* sparc-obsd-tdep.c: Likewise.
    	* sparc-tdep.c: Likewise.
    	* sparc64-tdep.c: Likewise.
    	* spu-tdep.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* tilegx-tdep.c: Likewise.
    	* vax-tdep.c: Likewise.
    	* xstormy16-tdep.c: Likewise.
    	* xtensa-tdep.c: Likewise.
    	* top.c: Do not include "doublest.h".
    	* aarch64-tdep.c: Likewise.
    	* alpha-tdep.c: Likewise.
    	* arm-linux-tdep.c: Likewise.
    	* m68k-linux-tdep.c: Likewise.
    	* tilegx-tdep.c: Likewise.
    	* xstormy16-tdep.c: Likewise.

commit a80a647180bf92692e0f01efe7b323afe7d317c9
Author: John Baldwin <>
Date:   Thu Oct 5 09:50:01 2017 -0700

    Add a signal frame unwinder for FreeBSD/mipsn32.
    The N32 signal frame uses an identical layout to N64, so reuse the N64
    handler.  The N32 signal trampoline does use one different instruction
    relative to N64, so a separate tramp_frame is required.
    	* mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
    	(mipsn32_fbsd_sigframe): Define.
    	(mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
    	for FreeBSD/mipsn32.

commit 6d5be5d6b8b4412e65bc037472aa2e727c25ccf5
Author: John Baldwin <>
Date:   Thu Oct 5 09:50:01 2017 -0700

    Handle the NT_ARM_VFP core dump note on FreeBSD.
    	* elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_VFP.

commit 12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963
Author: John Baldwin <>
Date:   Thu Oct 5 09:50:01 2017 -0700

    Handle FreeBSD-specific AT_EHDRFLAGS and AT_HWCAP auxiliary vector types.
    FreeBSD recently added two additional ELF auxiliary vectors.  FreeBSD's
    AT_HWCAP uses a different number compared to AT_HWCAP on Linux as the
    numerical value was already in use for a different vector on FreeBSD.
    	* elf/common.h (AT_FREEBSD_EHDRFLAGS, AT_FREEBSD_HWCAP): Define.
    	* fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and

commit 2bfa0cdfadd313f3cc35329a17ba3c62865208a3
Author: Nick Clifton <>
Date:   Thu Oct 5 16:17:22 2017 +0100

    Fix the MSP430 assembler so that it detects and reports extraneous text at the end of operands.
    	PR 22133
    	* config/tc-msp430.c (parse_exp): Skip an 'h' suffix to constant
    	(msp430_srcoperand): Check that the entire text was parsed by
    	(msp430_operands): Likewise.
    	* testsuite/gas/msp430/pr22133.s: New test file.
    	* testsuite/gas/msp430/pr22133.d: New test driver.
    	* testsuite/gas/msp430/pr22133.s: Expected error output.
    	* testsuite/gas/msp430/msp430.exp: Run the new test.

commit 97953bab05cca82bd3119de4d5cf26103b649597
Author: Joseph Myers <>
Date:   Thu Oct 5 14:19:39 2017 +0000

    Avoid spurious readelf error status from decode_arm_unwind.
    readelf.c:decode_arm_unwind has a variable res that is used as a
    return value, with FALSE meaning unsuccessful and TRUE meaning
    successful.  This is initialized to FALSE (and then various code in
    the function sets it to FALSE again on error), meaning that when the
    function is successful, if it reaches returning res is still returns
    FALSE, resulting eventually in exit status 1 from readelf without any
    error message to indicate an error.
    This patch fixes the initialization to use TRUE, so avoiding those
    spurious errors.  I don't have a self-contained test for this issue;
    it was observed as many prelink tests failing without the patch and
    passing with it.
    	* readelf.c (decode_arm_unwind): Initialize res to TRUE.

commit 64f7152491727daf8d0b294aa5ddf49f08c63ca2
Author: Nick Clifton <>
Date:   Thu Oct 5 14:10:27 2017 +0100

    Update the Hungarian translation in the gprof directory.
    	* po/hu.po: Updated Hungarian translation.

commit 94750c06e89e273751d54148b649098677ecdff2
Author: Nick Clifton <>
Date:   Thu Oct 5 14:02:10 2017 +0100

    Updated Turkish translation for the ld sub-directory.
    	* po/tr.po: Updated Turkish translation.

commit 007873f54e41eaef2f7a89b8adbb63a563d98b65
Author: H.J. Lu <>
Date:   Thu Oct 5 06:01:18 2017 -0700

    tile: Dump dynamic relocation info to the map file
    Dump dynamic relocation info to the map file when generating dynamic
    relocation in read-only section relocations if -Map is used.
    	* elf32-tilepro.c (readonly_dynrelocs): Dump dynamic relocation
    	in read-only section with minfo.
    	(tilepro_elf_size_dynamic_sections): Likewise.
    	* elfxx-tilegx.c (readonly_dynrelocs): Likewise.
    	(tilegx_elf_size_dynamic_sections): Likewise.

commit ea8fae9fe75706235ac49c507f1c5e039f4b4e1e
Author: Nick Clifton <>
Date:   Thu Oct 5 13:48:32 2017 +0100

    Fix strip so that is accepts -M as an abbreviation for --merge-notes.
    	PR 22260
    	* objcopy.c (strip_main): Add 'M' character to short options list
    	when calling getopt_long.

commit 5c144731ed7b9ad39c947f8411b1dde4fbdda2e6
Author: Nick Clifton <>
Date:   Thu Oct 5 13:25:44 2017 +0100

    Change readelf so that when --wide is active a relocation's full name is displayed.
    	PR 22262
    binutils* readelf.c (dump_relocations): Do not truncate reloc names when
    	displaying output in wide mode.
    ld	* testsuite/ld-powerpc/relocsort.d: Update expected output (for
    	longer reloc names).

commit ef336cb09a4193b3c86284a875c7bc4c2978bfad
Author: Nick Clifton <>
Date:   Thu Oct 5 10:52:04 2017 +0100

    Update README-how-to-make-a-release with the correct sequence for creating the source tarball.
    	* README-how-to-make-a-release: Merge steps 3, 4 and 5, and insert
    	the git tag operation at the correct location.

commit 9c0f3d3f2017829ffd908c9893b85094985c3b58
Author: Alan Modra <>
Date:   Thu Oct 5 17:32:18 2017 +1030

    PR22239 - invalid memory read in display_debug_frames
    Pointer comparisons have traps for the unwary.  After adding a large
    unknown value to "start", the test "start < end" depends on where
    "start" is originally in memory.
    	PR 22239
    	* dwarf.c (read_cie): Don't compare "start" and "end" pointers
    	after adding a possibly wild length to "start", compare the length
    	to the difference of the pointers instead.  Remove now redundant
    	"negative" length test.

commit c91933e9e33654c7b8973cb449b93f5152afcbcb
Author: Tristan Gingold <>
Date:   Thu Oct 5 06:34:06 2017 +0200

    Update my email address.
    Also refer to global maintainers for branch release approval.

commit 2ca7de3746be7484aa5affceafa1ad2e1d789381
Author: Pedro Alves <>
Date:   Wed Oct 4 14:20:51 2017 +0100

    A downside to the 2017-10-04 PR22245 fix is that bfd_set_error can now
    silently accept invalid errors if/when someone passes the a value of
    the wrong enumeration type, which previously would be caught by the
    -Wenum-conversion warning.
    	PR 22245
    	* bfd.c (bfd_set_error): Revert 2017-10-04 change.  Remove
    	ellipsis parameter.  Split out bfd_error_on_input code to..
    	(bfd_set_input_error): .. New function.
    	* archive.c (_bfd_write_archive_contents): Use bfd_set_input_error.
    	* vms-lib.c (_bfd_vms_lib_write_archive_contents): Likewise.
    	* bfd-in2.h: Regenerate.

commit 7d36e2799141d206651410c68080f40b88809a3b
Author: H.J. Lu <>
Date:   Wed Oct 4 18:01:47 2017 -0700

    Add an assembler test for PR gas/21167
    	PR gas/21167
    	* testsuite/gas/elf/elf.exp: Run group3.
    	* testsuite/gas/elf/group3.d: New file.
    	* testsuite/gas/elf/group3.s: Likewise.

commit 8c6716e57eb991ba6ceb07011045d626652aaf01
Author: Alan Modra <>
Date:   Thu Oct 5 11:06:44 2017 +1030

    bfd_error_on_input is for archives
    	* elflink.c (elf_link_input_bfd): Correct ctor/dtor in init_array/
    	fini_array error value.

commit e6fef60069f64ee19600e96dbb1f56f80b388bc8
Author: GDB Administrator <>
Date:   Thu Oct 5 00:00:13 2017 +0000

    Automatic date update in

commit db4677b8bd90b49f826807352c6c3c7eb0d57814
Author: Alan Modra <>
Date:   Wed Oct 4 09:53:53 2017 +1030

    PR21167, relocation sections not included in groups
    This fixes a wart I've known about for years, but haven't done
    anything about because BFD treats relocation sections as an adjunct to
    the section they relocate.  SHF_GROUP on the section thus implicitly
    applies to its relocation section(s), but it is an error that the
    reloc sections aren't part of the group.
    Like many patches to gas, this wasn't as straightforward as it could
    be due to a number of backends, i386, cr16 and others, removing relocs
    in tc_get_reloc rather than marking them as "done" earlier in
    md_apply_reloc.  So it isn't possible for the group support to
    reliably detect the presence of relocs by looking at fixups earlier
    than write_relocs.  However the group support needs to create
    signature symbols, and that must be done before the symbol table is
    frozen, before write_relocs.  So split off the group sizing from
    elf_adjust_symtab and put it in elf_frob_file_after_relocs.
    	PR 21167
    	* elf.c (_bfd_elf_setup_sections): Don't trim reloc sections from
    	(_bfd_elf_init_reloc_shdr): Pass sec_hdr, use it to copy SHF_GROUP
    	flag from section.
    	(elf_fake_sections): Adjust calls.  Exit immediately on failure.
    	(bfd_elf_set_group_contents): Add associated reloc section indices
    	to group contents
    	PR 21167
    	* config/obj-elf.c (struct group_list): Delete elt_count.
    	(groups): New static.
    	(build_group_lists): Don't count elements.
    	(elf_adjust_symtab): Use groups rather than auto list.  Set up
    	pointer from group member to SHT_GROUP section.  Don't size
    	SHT_GROUP section or clean up here..
    	(elf_frob_file_after_relocs): so here instead.
    	* testsuite/gas/arc/jli-1.d,
    	* testsuite/gas/elf/groupautob.d,
    	* testsuite/gas/mips/compact-eh-eb-2.d,
    	* testsuite/gas/mips/compact-eh-eb-5.d,
    	* testsuite/gas/mips/compact-eh-el-2.d,
    	* testsuite/gas/mips/compact-eh-el-5.d: Adjust.
    	PR 21167
    	* testsuite/ld-elf/group9b.d: Adjust for relocs included in group.

commit 5cd63fda035d4ba949e6478406162c4673b3c9ef
Author: Pedro Alves <>
Date:   Wed Oct 4 18:21:10 2017 +0100

    Fix "Remote 'g' packet reply is too long" problems with multiple inferiors
    When debugging two inferiors (or more) against gdbserver, and the
    inferiors have different architectures, such as e.g., on x86_64
    GNU/Linux and one inferior is 64-bit while the other is 32-bit, then
    GDB can get confused with the different architectures in a couple
    In both cases I ran into, GDB incorrectly ended up using the
    architecture of whatever happens to be the selected inferior instead
    of the architecture of some other given inferior:
    #1 - When parsing the expedited registers in stop replies.
    #2 - In the default implementation of the target_thread_architecture
         target method.
    These resulted in instances of the infamous "Remote 'g' packet reply
    is too long" error.  For example, with the test added in this commit,
    we get:
      Remote 'g' packet reply is too long (expected 440 bytes, got 816 bytes): ad064000000000000[snip]
      (gdb) FAIL: gdb.multi/multi-arch.exp: inf1 event with inf2 selected: continue to hello_loop
      Truncated register 50 in remote 'g' packet
      (gdb) PASS: gdb.multi/multi-arch.exp: inf2 event with inf1 selected: c
    This commit fixes that.
    2017-10-04  Pedro Alves  <>
    	* remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
    	it instead of target_gdbarch.
    	(get_remote_state, get_remote_packet_size): Adjust
    	get_remote_arch_state calls, passing down target_gdbarch
    	(packet_reg_from_regnum, packet_reg_from_pnum): New parameter
    	'gdbarch' and use it instead of target_gdbarch.
    	(get_memory_packet_size): Adjust get_remote_arch_state calls,
    	passing down target_gdbarch explicitly.
    	(struct stop_reply) <arch>: New field.
    	(remote_parse_stop_reply): Use the stopped thread's architecture,
    	not the current inferior's.  Save the architecture in the
    	(process_stop_reply): Use the stop reply's architecture.
    	(process_g_packet, remote_fetch_registers)
    	(remote_prepare_to_store, store_registers_using_G)
    	(remote_store_registers): Adjust get_remote_arch_state calls,
    	using the regcache's architecture.
    	(remote_get_trace_status): Adjust get_remote_arch_state calls,
    	passing down target_gdbarch explicitly.
    	* spu-multiarch.c (spu_thread_architecture): Defer to the target
    	beneath instead of calling target_gdbarch.
    	* target.c (default_thread_architecture): Use the specified
    	inferior's architecture, instead of the current inferior's
    	architecture (via target_gdbarch).
    2017-10-04  Pedro Alves  <>
    	* gdb.multi/hangout.c: Include <unistd.h>.
    	(hangout_loop): New function.
    	(main): Call alarm.  Call hangout_loop in a loop.
    	* gdb.multi/hello.c: Include <unistd.h>.
    	(hello_loop): New function.
    	(main): Call alarm.  Call hangout_loop in a loop.
    	* gdb.multi/multi-arch.exp: Test running to a breakpoint one
    	inferior with the other selected.

commit ed4227b7c6d62767c9c323dd95d8ead75be51a6c
Author: Pedro Alves <>
Date:   Wed Oct 4 18:21:10 2017 +0100

    Reimplement support for "maint print registers" with no running inferior yet
    A following patch will change the default target_thread_architecture
    method, like this:
       struct gdbarch *
       default_thread_architecture (struct target_ops *ops, ptid_t ptid)
      -  return target_gdbarch ();
      +  inferior *inf = find_inferior_ptid (ptid);
      +  gdb_assert (inf != NULL);
      +  return inf->gdbarch;
    This is because target_gdbarch is really just
    current_inferior()->gdbarch, and it's wrong to return that
    architecture when the inferior of the passed in PTID is NOT the
    current inferior -- the inferior for PTID may be running a different
    architecture.  E.g., a mix of 64-bit and 32-bit inferiors in the same
    debug session.
    Doing that change above however exposes a problem in "maint print
    registers", caught be the testsuite:
     -PASS: gdb.base/maint.exp: maint print registers
     +FAIL: gdb.base/maint.exp: maint print registers (GDB internal error)
      gdb/inferior.c:309: internal-error: inferior* find_inferior_pid(int): Assertion `pid != 0' failed.
      A problem internal to GDB has been detected,
    The call stack looks like this:
      #0  0x000000000068b707 in internal_error(char const*, int, char const*, ...) (file=0xa9b958 "gdb/inferior.c", line=309, fmt=0xa9b8e0 "%s: Assertion `%s' failed.") at gdb/common/errors.c:54
      #1  0x00000000006e1c40 in find_inferior_pid(int) (pid=0) at gdb/inferior.c:309
      #2  0x00000000006e1c8d in find_inferior_ptid(ptid_t) (ptid=...) at gdb/inferior.c:323
      #3  0x00000000007c18dc in default_thread_architecture(target_ops*, ptid_t) (ops=0xf86d60 <dummy_target>, ptid=...)
          at gdb/target.c:3134
      #4  0x00000000007b5414 in delegate_thread_architecture(target_ops*, ptid_t) (self=0xf86d60 <dummy_target>, arg1=...)
          at gdb/target-delegates.c:2527
      #5  0x00000000007647b3 in get_thread_regcache(ptid_t) (ptid=...) at gdb/regcache.c:466
      #6  0x00000000007647ff in get_current_regcache() () at gdb/regcache.c:475
      #7  0x0000000000767495 in regcache_print(char const*, regcache_dump_what) (args=0x0, what_to_dump=regcache_dump_none)
          at gdb/regcache.c:1599
      #8  0x0000000000767550 in maintenance_print_registers(char const*, int) (args=0x0, from_tty=1)
          at gdb/regcache.c:1613
    I.e., the test does "maint print registers" while the inferior is not
    running yet.  This is expected to work, and there's already a hack in
    get_thread_arch_regcache to make it work.
    Instead of pilling on hacks in the internal of regcache and
    target_ops, this commit moves the null_ptid special casing to where it
    belongs -- higher up in the call chain in the implementation of "maint
    print registers" & co directly.
    2017-10-04  Pedro Alves  <>
    	* regcache.c (get_thread_arch_regcache): Remove null_ptid special
    	(regcache_print): Handle !target_has_registers here instead.

commit 55b11ddf16b97b9c50ed480bc9da8b3e1c6c4198
Author: Pedro Alves <>
Date:   Wed Oct 4 18:21:09 2017 +0100

    Redesign mock environment for gdbarch selftests
    A following patch will remove this hack from within regcache's
      struct regcache *
      get_thread_arch_regcache (ptid_t ptid, struct gdbarch *gdbarch)
        struct address_space *aspace;
        /* For the benefit of "maint print registers" & co when debugging an
           executable, allow dumping the regcache even when there is no
           thread selected (target_thread_address_space internal-errors if
           no address space is found).  Note that normal user commands will
           fail higher up on the call stack due to no
           target_has_registers.  */
        aspace = (ptid_equal (null_ptid, ptid)
    	      ? NULL
    	      : target_thread_address_space (ptid));
    i.e., it'll no longer be possible to try to build a regcache for
    null_ptid.  That change alone would regress the gdbarch self tests
    though, causing this:
      (gdb) maintenance selftest
      Running selftest register_to_value.
      src/gdb/inferior.c:309: internal-error: inferior* find_inferior_pid(int): Assertion `pid != 0' failed.
      A problem internal to GDB has been detected,
      further debugging may prove unreliable.
      Quit this debugging session? (y or n) FAIL: gdb.gdb/unittest.exp: maintenance selftest (GDB internal error)
    The problem is that the way the mocking environment for those unit
    tests is written is a bit fragile: it creates a special purpose
    regcache (and sentinel's frame), using whatever is the current
    inferior_ptid (usually null_ptid), and assumes get_current_regcache
    will find that in the regcache::current_regcache list.
    This commit changes the way the mock environment is created.  It
    eliminates the special regcache and frame and instead creates a fuller
    mock environment, with a custom mock target_ops, and then a mock
    inferior and thread "running" on that target.
    If there's already a running target when you type "maint selftest",
    then we error out, instead of pushing a new target on top of the
    existing one (and thus killing the debug session).  This results in:
      (gdb) maint selftest
      Self test failed: arch i386: target already pushed
      Self test failed: arch i386:x86-64: target already pushed
      Self test failed: arch i386:x64-32: target already pushed
      Self test failed: arch i8086: target already pushed
      Self test failed: arch i386:intel: target already pushed
      Self test failed: arch i386:x86-64:intel: target already pushed
      Self test failed: arch i386:x64-32:intel: target already pushed
      Self test failed: arch i386:nacl: target already pushed
      Self test failed: arch i386:x86-64:nacl: target already pushed
      Self test failed: arch i386:x64-32:nacl: target already pushed
      Self test failed: self-test failed at /home/pedro/gdb/mygit/src/gdb/selftest-arch.c:86
      Ran 19 unit tests, 1 failed
    I think that's OK, because self tests are really meant to be run from
    a clean state right after GDB is started.  I'm adding that erroring
    out just as safe measure just in case someone types "maint selftest"
    on the command line while already debugging something (as I've done
    (In my multi-target branch, where this patch originated from, we don't
    actually need to error out, because there each inferior has its own
    target stack).
    Also, note that the current code was doing:
     current_inferior()->gdbarch = gdbarch;
    without taking care to restore the previous gdbarch.  This means that
    GDB's state was being left inconsistent after running the self tests,
    further supporting the point that there's probably not much
    expectation that mixing "maint selftests" and regular debugging in the
    same GDB invocation really works.  This patch fixes that, regardless.
    2017-10-04  Pedro Alves  <>
    	* frame.c (create_test_frame): Delete.
    	* frame.h (create_test_frame): Delete.
    	* gdbarch-selftests.c: Include gdbthread.h and target.h.
    	(class regcache_test): Delete.
    	(test_target_has_registers, test_target_has_stack)
    	(test_target_has_memory, test_target_prepare_to_store)
    	(test_target_store_registers): New functions.
    	(test_target_ops): New class.
    	(register_to_value_test): Error out if there's already a
    	process_stratum (or higher) target pushed.  Create a fuller mock
    	environment, with mock target_ops, inferior, address space, thread
    	and inferior_ptid.
    	* progspace.c (struct address_space): Move to ...
    	* progspace.h (struct address_space): ... here.
    	* regcache.h (regcache::~regcache, regcache::raw_write)
    	[GDB_SELF_TEST]: No longer virtual.

commit 4c71c1059f876fcca9809f7b6372b721ddb83635
Author: Simon Marchi <>
Date:   Wed Oct 4 12:44:01 2017 -0400

    Fix -list-thread-groups --available logic and add test
    New in v3:
    - Replace use_gdb_stub with can_spawn_for_attach.
    - Call kill_wait_spawned_process on spawn_ids.
      Use std::set in mi-main.c
    changed the logic of the "-list-thread-groups --available" by mistake
    when a pid is passed.  It prints all the processes except the one
    specified by the given pid.  The correct behavior is to only print the
    process corresponding to that pid.  this patch fixes that and adds a test.
    	* mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
    	* gdb.mi/list-thread-groups-available.exp: New file.
    	* gdb.mi/list-thread-groups-available.c: New file.

commit 73dcd72d4eeec176f769660ddcdefd1f25d0a2ec
Author: Pedro Alves <>
Date:   Wed Oct 4 11:07:28 2017 +0100

    Move code out of 'between TRY and CATCH'
    I tried building GDB with TRY/CATCH mapped to raw C++ try/catch (by
    defining GDB_XCPT to GDB_XCPT_RAW_TRY in
    gdb/common/common-exceptions.h), and that caught a case of code
    written between try and catch.  This commit fixes it.
    2017-10-04  Pedro Alves  <>
    	* guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
    	out of 'between TRY and CATCH'.

commit 44704526e482d24baa104764495ca376561a85bf
Author: Pedro Alves <>
Date:   Wed Oct 4 13:00:13 2017 +0100

    Add missing-END_CATCH detection/protection (to gdb's TRY/CATCH/END_CATCH)
    (Adding missing ChangeLog entry)
    While we still have cleanups (i.e., make_cleanup & co), we must be
    sure to add END_CATCH at the end of a TRY/CATCH/END_CATCH construct.
    However, it's currently too easy to miss adding the END_CATCH, because
    the code compiles anyway without it.  I realized this when I noticed
    that another patch I was working on missed several adding END_CATCH in
    several new TRY/CATCH uses.
    This commit fixes that by making TRY open a new scope that is only
    closed by END_CATCH.  This way, if you forget to add the END_CATCH,
    then compilation fails due to the unbalanced curly braces.
    This caught a couple places where we were missing END_CATCH in current
    master, also fixed by the patch.
    2017-10-04  Pedro Alves  <>
    	* cli/cli-cmds.c (complete_command): Add missing END_CATCH.
    	* common/common-exceptions.h (TRY): Open an outermost scope.
    	Expand intro comment.
    	(CATCH): Reindent.
    	(END_CATCH): Close the outermost scope.
    	* completer.c (complete_line_internal): Add missing END_CATCH.

commit a87c142792e4dcbec2bb3825e71f3ace044c2096
Author: Pedro Alves <>
Date:   Wed Oct 4 09:55:29 2017 +0100

    Add missing-END_CATCH detection/protection (to gdb's TRY/CATCH/END_CATCH)
    While we still have cleanups (i.e., make_cleanup & co), we must be
    sure to add END_CATCH at the end of a TRY/CATCH/END_CATCH construct.
    However, it's currently too easy to miss adding the END_CATCH, because
    the code compiles anyway without it.  I realized this when I noticed
    that another patch I was working on missed several adding END_CATCH in
    several new TRY/CATCH uses.
    This commit fixes that by making TRY open a new scope that is only
    closed by END_CATCH.  This way, if you forget to add the END_CATCH,
    then compilation fails due to the unbalanced curly braces.
    This caught a couple places where we were missing END_CATCH in current
    master, also fixed by the patch.
    2017-10-04  Pedro Alves  <>
    	* cli/cli-cmds.c (complete_command): Add missing END_CATCH.
    	* common/common-exceptions.h (TRY): Open an outermost scope.
    	Expand intro comment.
    	(CATCH): Reindent.
    	(END_CATCH): Close the outermost scope.
    	* completer.c (complete_line_internal): Add missing END_CATCH.

commit bc3b087de2401c65c02730d346e8bea4dc0504ae
Author: Sergio Durigan Junior <>
Date:   Wed Sep 20 19:15:40 2017 -0400

    Extend "set cwd" to work on gdbserver
    This is the "natural" extension necessary for the "set cwd" command
    (and the whole "set the inferior's cwd" logic) to work on gdbserver.
    The idea here is to have a new remote packet, QSetWorkingDir (name
    adopted from LLDB's extension to the RSP, as can be seen at
    which sends an hex-encoded string representing the working directory
    that the remote inferior will use.  There is a slight difference from
    the packet proposed by LLDB: GDB's version will accept empty
    arguments, meaning that the user wants to clear the previously set
    working directory for the inferior (i.e., "set cwd" without arguments
    on GDB).
    For UNIX-like targets this feature is already implemented on
    nat/fork-inferior.c, and all gdbserver has to do is to basically
    implement "set_inferior_cwd" and call it whenever such packet arrives.
    For other targets, like Windows, it is possible to use the existing
    "get_inferior_cwd" function and do the necessary steps to make sure
    that the inferior will use the specified working directory.
    Aside from that, the patch consists basically of updates to the
    testcase (making it available on remote targets) and the
    No regressions found.
    2017-10-04  Sergio Durigan Junior  <>
    	* NEWS (Changes since GDB 8.0): Add entry about new
    	'set-cwd-on-gdbserver' feature.
    	(New remote packets): Add entry for QSetWorkingDir.
    	* common/common-inferior.h (set_inferior_cwd): New prototype.
    	* infcmd.c (set_inferior_cwd): Remove "static".
    	(show_cwd_command): Expand text to include remote debugging.
    	* remote.c: Add PACKET_QSetWorkingDir.
    	(remote_protocol_features) <QSetWorkingDir>: New entry for
    	(extended_remote_set_inferior_cwd): New function.
    	(extended_remote_create_inferior): Call
    	(_initialize_remote): Call "add_packet_config_cmd" for
    2017-10-04  Sergio Durigan Junior  <>
    	* inferiors.c (set_inferior_cwd): New function.
    	* server.c (handle_general_set): Handle QSetWorkingDir packet.
    	(handle_query): Inform that QSetWorkingDir is supported.
    	* win32-low.c (create_process): Pass the inferior's cwd to
    2017-10-04  Sergio Durigan Junior  <>
    	* gdb.base/set-cwd.exp: Make it available on
    2017-10-04  Sergio Durigan Junior  <>
    	* gdb.texinfo (Starting your Program) <The working directory.>:
    	Mention remote debugging.
    	(Working Directory) <Your Program's Working Directory>:
    	(Connecting) <Remote Packet>: Add "set-working-dir"
    	and "QSetWorkingDir" to the table.
    	(Remote Protocol) <QSetWorkingDir>: New item, explaining the

commit d092c5a2465ece3435131ae6fef1ccb6e70986cb
Author: Sergio Durigan Junior <>
Date:   Mon Sep 11 01:13:50 2017 -0400

    Implement "set cwd" command on GDB
    This commit adds new "set/show cwd" commands, which are used to
    set/show the current working directory of the inferior that will be
    The idea here is that "set cwd" will become the de facto way of
    setting the inferior's cwd.  Currently, the user can use "cd" for
    that, but there are side effects: with "cd", GDB also switches to
    another directory, and that can impact the loading of scripts and
    other files.  With "set cwd", we separate the logic into a new
    To maintain backward compatibility, if the user issues a "cd" command
    but doesn't use "set cwd", then the inferior's cwd will still be
    changed according to what the user specified.  However, "set cwd" has
    precedence over "cd", so it can always be used to override it.
    "set cwd" works in the following way:
    - If the user sets the inferior's cwd by using "set cwd", then this
      directory is saved into current_inferior ()->cwd and is used when
      the inferior is started (see below).
    - If the user doesn't set the inferior's cwd by using "set cwd", but
      rather use the "cd" command as before, then this directory is
      inherited by the inferior because GDB will have chdir'd into it.
    On Unix-like hosts, the way the directory is changed before the
    inferior execution is by expanding the user set directory before the
    fork, and then "chdir" after the call to fork/vfork on
    "fork_inferior", but before the actual execution.  On Windows, the
    inferior cwd set by the user is passed directly to the CreateProcess
    call, which takes care of the actual chdir for us.
    This way, we'll make sure that GDB's cwd is not affected by the user
    set cwd.
    2017-10-04  Sergio Durigan Junior  <>
    	* NEWS (New commands): Mention "set/show cwd".
    	* cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
    	"cd" command's help text.
    	* common/common-inferior.h (get_inferior_cwd): New prototype.
    	* infcmd.c (inferior_cwd_scratch): New global variable.
    	(set_inferior_cwd): New function.
    	(get_inferior_cwd): Likewise.
    	(set_cwd_command): Likewise.
    	(show_cwd_command): Likewise.
    	(_initialize_infcmd): Add "set/show cwd" commands.
    	* inferior.h (class inferior) <cwd>: New field.
    	* nat/fork-inferior.c: Include "gdb_tilde_expand.h".
    	(fork_inferior): Change inferior's cwd before its execution.
    	* windows-nat.c (windows_create_inferior): Pass inferior's cwd
    	to CreateProcess.
    2017-10-04  Sergio Durigan Junior  <>
    	* inferiors.c (current_inferior_cwd): New global variable.
    	(get_inferior_cwd): New function.
    	* inferiors.h (struct process_info) <cwd>: New field.
    2017-10-04  Sergio Durigan Junior  <>
    	* gdb.texinfo (Starting your Program) <The working directory.>:
    	Mention new "set cwd" command.
    	(Working Directory) <Your Program's Working Directory>:
    	Rephrase to explain that "set cwd" exists and is the default
    	way to change the inferior's cwd.
    2017-10-04  Sergio Durigan Junior  <>
    	* gdb.base/set-cwd.c: New file.
    	* gdb.base/set-cwd.exp: Likewise.

commit 7da0a8867419fc4a2a64d49cc71a14bd145cebff
Author: Sergio Durigan Junior <>
Date:   Mon Sep 11 01:03:51 2017 -0400

    Introduce gdb_tilde_expand
    Currently, whenever we want to handle paths provided by the user and
    perform tilde expansion on GDB, we rely on "tilde_expand", which comes
    from readline.  This was enough for our use cases so far, but the
    situation will change when we start dealing with paths on gdbserver as
    well, which is what the next patches implement.
    Unfortunately it is not possible to use "tilde_expand" in this case
    because gdbserver doesn't use readline.  For that reason I decided to
    implement a new "gdb_tilde_expand" function, which is basically a
    wrapper for "glob" and its GNU extension, GLOB_TILDE_CHECK.  With the
    import of the "glob" module from gnulib, we're sure that "glob" always
    supports this extension.
    2017-10-04  Sergio Durigan Junior  <>
    	* (SFILES): Add gdb_tilde_expand.c.
    	(HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
    	(COMMON_OBS): Add gdb_tilde_expand.o.
    	* common/gdb_tilde_expand.c: New file.
    	* common/gdb_tilde_expand.h: Likewise.
    2017-10-04  Sergio Durigan Junior  <>
    	* (SFILES): Add $(srcdir)/common/gdb_tilde_expand.c.
    	(OBS): Add gdb_tilde_expand.o.

commit a5259595e7a6faac0240d257f7e9cfa599557d2e
Author: Alan Modra <>
Date:   Wed Oct 4 09:54:52 2017 +1030

    PowerPC64 ELFv2 symbols not needed in get_synthetic_symtab
    	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't sort or
    	classify symbols for ELFv2.

commit 9ba5f27cdd15d22d6c5739ff5d2b1c81d796e114
Author: Pavel I. Kryukov <>
Date:   Tue Oct 3 22:42:07 2017 +0300

    PR22245, Fix potential UB in bfd_set_error
    Passing enum as a first argument to variadic argument function
    may lead to undefined behavior. The explanation on CERT site:
    The bug was found by Kirill Nedostoev (
    when he tried to build GNU binutils with Clang 7.
    	PR 22245
    	* bfd.c (bfd_set_error): Avoid UB on passing arg to va_start that
    	undergoes default promotion.
    	* bfd-in2.h: Regenerate.

commit ca2a727a5b9389190ce86c52b0303ad8c3e2bcc6
Author: GDB Administrator <>
Date:   Wed Oct 4 00:00:20 2017 +0000

    Automatic date update in

commit db8dd1601ee4d0629957bcc8b4156d65f42a218d
Author: Maciej W. Rozycki <>
Date:   Tue Oct 3 23:46:28 2017 +0100

    gdbarch: Remove duplicate `struct objfile' declaration
    Remove a duplicate `struct objfile' declaration mistakenly added with
    commit 3e29f34a4eef ("MIPS: Keep the ISA bit in compressed code
    	* (objfile): Remove duplicate declaration.
    	* gdbarch.h: Regenerate.

commit c0107b0f57bc958b640dabafd4c6c618ea023397
Author: Jim Wilson <>
Date:   Tue Oct 3 14:23:56 2017 -0700

    Update my email address.
    	* MAINTAINERS (aarch64): Update my email address.

commit f8bfbf22251f6c2772a9a1059c3180c638ad2830
Author: Tom Tromey <>
Date:   Tue Oct 3 08:26:16 2017 -0600

    Fix incorrect string_printf use in utils.c
    I made a mistake earlier and used string_printf where I should have used
    I'm checking this in as obvious.
    2017-10-03  Tom Tromey  <>
    	* utils.c (internal_vproblem): Use string_vprintf.

commit 5178ed487f813639e660fba23215fa7ba69a769e
Author: Tom Tromey <>
Date:   Fri Sep 29 22:49:36 2017 -0600

    Use std::string in info_symbol_command
    This removes a cleanup by using std::string in info_symbol_command.
    2017-10-03  Tom Tromey  <>
    	* printcmd.c (info_symbol_command): Use std::string.

commit 8cff8730f43548d17530c9d31aac1d381351addc
Author: Tom Tromey <>
Date:   Fri Sep 29 22:49:00 2017 -0600

    Use std::string in gdb_safe_append_history
    This removes a cleanup by using std::string in
    2017-10-03  Tom Tromey  <>
    	* top.c (gdb_safe_append_history): Use std::string.

commit 895b8f306b1f54d85915ca0d24368f40b2e42554
Author: Tom Tromey <>
Date:   Fri Sep 29 22:35:58 2017 -0600

    Remove make_delete_ui_cleanup
    This removes new_ui and delete_ui in favor of ordinary 'new' and
    'delete', and then removes make_delete_ui_cleanup in favor of
    2017-10-03  Tom Tromey  <>
    	* event-top.c (stdin_event_handler): Update.
    	* main.c (captured_main_1): Update.
    	* top.h (make_delete_ui_cleanup): Remove.
    	(struct ui): Add constructor and destructor.
    	(new_ui, delete_ui): Remove.
    	* top.c (make_delete_ui_cleanup): Remove.
    	(new_ui_command): Use std::unique_ptr.
    	(delete_ui_cleanup): Remove.
    	(ui::ui): Rename from new_ui.  Update.
    	(free_ui): Remove.
    	(ui::~ui): Rename from delete_ui.  Update.

commit 0efef6405493c0bf438486819bec70b304276e16
Author: Tom Tromey <>
Date:   Fri Sep 29 22:32:00 2017 -0600

    Use gdb::byte_vector in load_progress
    This changes load_progress to use gdb::byte_vector, removing a
    2017-10-03  Tom Tromey  <>
    	* symfile.c (load_progress): Use gdb::byte_vector.

commit 245ad7d373aef22013b347504d30d2306da1bdbf
Author: Tom Tromey <>
Date:   Fri Sep 29 22:22:49 2017 -0600

    Remove unused declarations
    This removes some unused cleanup declarations.
    2017-10-03  Tom Tromey  <>
    	* mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
    	* printcmd.c (x_command): Remove unused declaration.
    	* symfile.c (symbol_file_command): Remove unused declaration.

commit e05550d7a409a0637d87bef377e5d4b9a4b379ac
Author: Tom Tromey <>
Date:   Fri Sep 29 22:11:33 2017 -0600

    Use std::string in utils.c
    This converts internal_vproblem and defaulted_query to use
    2017-10-03  Tom Tromey  <>
    	* utils.c (internal_vproblem): Use std::string.
    	(defaulted_query): Likewise.

commit b95de2b7aeb30081345954cb15970a582b49a866
Author: Tom Tromey <>
Date:   Fri Sep 29 22:07:37 2017 -0600

    Remove set_batch_flag_and_make_cleanup_restore_page_info
    This removes set_batch_flag_and_make_cleanup_restore_page_info and
    make_cleanup_restore_page_info in favor of a new RAII class.  This
    then allows for the removal of make_cleanup_restore_uinteger and
    2017-10-03  Tom Tromey  <>
    	* guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
    	* top.c (execute_command_to_string): Update.
    	* utils.c (make_cleanup_restore_page_info): Remove.
    	(do_restore_page_info_cleanup): Remove.
    	(make_cleanup_restore_page_info): Remove.
    	(set_batch_flag_and_make_cleanup_restore_page_info): Remove.
    	(~set_batch_flag_and_restore_page_info): New
    	(make_cleanup_restore_uinteger): Remove.
    	(make_cleanup_restore_integer): Remove.
    	(struct restore_integer_closure): Remove.
    	(restore_integer): Remove.
    	* utils.h (struct set_batch_flag_and_restore_page_info): New
    	(set_batch_flag_and_make_cleanup_restore_page_info): Remove.
    	(make_cleanup_restore_page_info): Remove.
    	(make_cleanup_restore_uinteger) Remove.
    	(make_cleanup_restore_integer) Remove.

commit 070365117b5727394e271399c5738a27bf9716d5
Author: Tom Tromey <>
Date:   Fri Sep 29 21:49:04 2017 -0600

    Change record_full_gdb_operation_disable_set not to return a cleanup
    This changes record_full_gdb_operation_disable_set to return a
    scoped_restore rather than a cleanup, and fixes all the users.
    2017-10-03  Tom Tromey  <>
    	* record-full.h (record_full_gdb_operation_disable_set): Return
    	* infrun.c (adjust_pc_after_break): Update.
    	(handle_signal_stop): Update.
    	* record-full.c (record_full_gdb_operation_disable_set): Return
    	(record_full_wait_1, record_full_insert_breakpoint)
    	(record_full_remove_breakpoint, record_full_save)
    	(record_full_goto_insn): Update.

commit 9194f82dc372d5045ae06c617a49a5a9b17c1d24
Author: Alan Modra <>
Date:   Tue Oct 3 15:10:28 2017 +1030

    PR21294, Binary size regression on PPC embedded
    	PR 21294
    	* NEWS: Note that defaulting to -z relro results in increased
    	memory and disk size.

commit 40c0777b1709480526429f90eaa354c8e0da2dc8
Author: GDB Administrator <>
Date:   Tue Oct 3 00:00:16 2017 +0000

    Automatic date update in

commit def5c83c02fcc1c91d3f0da21005e0503b8ec881
Author: Alan Modra <>
Date:   Tue Oct 3 08:46:39 2017 +1030

    ld -z relro documentation
    	* ld.texinfo (-z relro): Expand description.
    	(DATA_SEGMENT_ALIGN): Note that -z relro is not effective when
    	running with system page size larger than commonpagesize.
    	(DATA_SEGMENT_RELRO_END): Be explicit about the alignment.

commit 45320ffa0450b27e232d933d2a1c6a09d94ac18b
Author: Tom Tromey <>
Date:   Mon Oct 2 13:55:42 2017 -0600

    Fix &str printing in Rust
    Printing a string slice ("&str") in Rust would print until the
    terminating \0; but that is incorrect because a slice has a length.
    This fixes &str printing, and arranges to preserve the type name when
    slicing a slice, so that printing a slice of an "&str" works as well.
    This is PR rust/22236.
    2017-10-02  Tom Tromey  <>
    	PR rust/22236:
    	* rust-lang.c (rust_val_print_str): New function.
    	(val_print_struct): Call it.
    	(rust_subscript): Preserve name of slice type.
    2017-10-02  Tom Tromey  <>
    	PR rust/22236:
    	* gdb.rust/ (main): New variable "fslice".
    	* gdb.rust/simple.exp: Add slice tests.  Update string tests.

commit b3e3859bc577db5b79bb3d39048fd46c0a0420ef
Author: Tom Tromey <>
Date:   Mon Oct 2 13:47:15 2017 -0600

    Fix ptype of Rust slices
    Something like "ptype &x[..]" (where "x" was a slice) would crash gdb.
    rust_subscript wasn't handling slicing in the EVAL_AVOID_SIDE_EFFECTS
    2017-10-02  Tom Tromey  <>
    	* rust-lang.c (rust_subscript): Handle slices in
    2017-10-02  Tom Tromey  <>
    	* gdb.rust/simple.exp: Test ptype of a slice.

commit 01af5e0d09ac9c621e7b280f44a2c7ef55784493
Author: Tom Tromey <>
Date:   Mon Oct 2 12:15:52 2017 -0600

    Allow indexing of &str in Rust
    rust_slice_type_p was not recognizing &str as a slice type, so indexing
    into (or making a slice of) a slice was not working.
    2017-10-02  Tom Tromey  <>
    	* rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
    2017-10-02  Tom Tromey  <>
    	* gdb.rust/simple.exp: Test index of slice.

commit 888e3ddb20f541220f18709fce832ad0163c3e71
Author: Tom Tromey <>
Date:   Tue Jun 6 14:27:42 2017 -0600

    Add missing "extern" in rust-lang.h
    I noticed that one function in rust-lang.h was not declared using
    "extern".  In the interested of uniformity, this patch adds it.
    Tested by rebuilding.
    2017-10-02  Tom Tromey  <>
    	* rust-lang.h (rust_slice_type): Add "extern".

commit cc536b21677586455973f81ee05257ada8efdcb8
Author: Pedro Alves <>
Date:   Mon Oct 2 10:18:30 2017 +0100

    Fix GDB build with G++ 4.8
    G++ 4.8 trips on:
      In file included from /opt/gcc-4.8/include/c++/4.8.5/algorithm:62:0,
    		   from ../../src/gdb/ada-lang.c:65:
      /opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >; _Tp = ada_exc_info]’:
      /opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h:2283:70:   required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >]’
      /opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h:2315:54:   required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >; _Size = long int]’
      /opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h:5461:36:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >]’
      ../../src/gdb/ada-lang.c:13153:61:   required from here
      /opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h:2245:19: error: passing ‘const ada_exc_info’ as ‘this’ argument of ‘bool ada_exc_info::operator<(const ada_exc_info&)’ discards qualifiers [-fpermissive]
          while (__pivot < *__last)
    Seems to be a libstdc++ bug meanwhile fixed by:
    In any case, there's no reason these methods can't be const.
    2017-10-02  Tom Tromey  <>
    	    Pedro Alves  <>
    	* ada-lang.h (ada_exc_info::operator<): Make const.
    	(ada_exc_info::operator==): Make const.
    	* ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
    	Make const.

commit 289a6840c1ed80f71d58632bb6d702d97d114387
Author: Simon Marchi <>
Date:   Mon Oct 2 11:00:30 2017 +0200

    nto & lynx x86: call init_target_desc
    In gdbserver, target descriptions need to be initialized by calling
    init_target_desc.  Because i386_create_target_description is shared with
    GDB, it doesn't do that, the callers must take care of it.  These two
    platforms currently don't.
    I am not able to build them, so I couldn't test.
    	* lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc.
    	* nto-x86-low.c (nto_x86_arch_setup): Likewise.

commit dcd2b8a0144f4f5f81887861542609ef858a28c9
Author: Alan Modra <>
Date:   Mon Oct 2 16:57:06 2017 +1030

    Fix powerpc comment typo
    	* elf32-ppc.c (ppc_elf_relocate_section): Fix comment typo.
    	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.

commit 7a0c60fea0f237b9de95e47a0f75200ac9ebaa28
Author: GDB Administrator <>
Date:   Mon Oct 2 00:00:13 2017 +0000

    Automatic date update in

commit bfec0f11eadd7ed3597bc9b550a5595421a4cb31
Author: Alan Modra <>
Date:   Sun Oct 1 21:40:23 2017 +1030

    PR22232, NULL pointer dereference in load_specific_debug_section
    	PR 22232
    	PR 22230
    	* objdump.c (load_specific_debug_section): Introduce a temp to
    	stop bfd_get_full_section_contents NULLing out section->start.

commit 8cb1232a8cc0d1a6db2de51398acfe978a5c7e68
Author: Alan Modra <>
Date:   Sun Oct 1 19:02:35 2017 +1030

    PR21970, assertion failed when more than one overlay has subalign specified
    	PR 21970
    	* ldlang.c (lang_leave_overlay): Reset overlay_subalign.

commit 20230942fe3674150ab661738d72f1618b3d4b1b
Author: Alan Modra <>
Date:   Sun Oct 1 17:39:00 2017 +1030

    PR21957, addr2line incorrectly handles non-increasing sequences in line table
    	PR 21957
    	* dwarf2.c (new_line_sorts_after): Remove end_sequence comparison.
    	(add_line_info): Always put end_sequence last.

commit d2e6c9a3682f0ac811ac1676d221c55162938b61
Author: Alexander Fedotov <>
Date:   Sat Sep 30 12:31:37 2017 +0300

    Add new mnemonics for VLE multiple load instructions
    	* ppc-opc.c (vle_opcodes): Add e_lmvsprw, e_lmvgprw,
    	e_lmvsrrw, e_lmvcsrrw and e_lmvcsrrw as official mnemonics for
    	VLE multimple load/store instructions. Old e_ldm* variants are
    	kept as aliases.
    	Add missing e_lmvmcsrrw and e_stmvmcsrrw.
    	* testsuite/gas/ppc/vle-mult-ld-st-insns.s: New file: Tests the
    	support for the VLE multiple load/store instructions.
    	* testsuite/gas/ppc/vle-mult-ld-st-insns.d: New file: Test
    	* testsuite/gas/ppc/ppc.exp: Run it.

commit 4b04bba2eb6b646e11a2c38c77667875b3db6828
Author: Alan Modra <>
Date:   Sun Oct 1 12:07:59 2017 +1030

    PR22047, Heap out of bounds read in parse_comp_unit
    Like the PR22230 fix, we can allocate a buffer with an extra byte
    rather than letting bfd_simple_get_relocated_section_contents malloc
    and return a buffer.  Much better than allocating another buffer
    	PR 22047
    	* dwarf2.c (read_section): Allocate buffer with extra byte for
    	bfd_simple_get_relocated_section_contents rather than copying

commit 4f1881b94473f1034f950feb863b464435a8fb5f
Author: Alan Modra <>
Date:   Sun Oct 1 12:07:07 2017 +1030

    PR22230, buffer overflow in display_debug_macro
    	PR 22230
    	* objdump.c (load_specific_debug_section): Allocate an extra byte
    	for a terminating NUL.

commit 3678b25d0c5fee04a91ad90ed2965513ba0ca11f
Author: GDB Administrator <>
Date:   Sun Oct 1 00:00:25 2017 +0000

    Automatic date update in

commit 2715765b0fd357b4b58166850a23f509aacde161
Author: H.J. Lu <>
Date:   Sat Sep 30 03:04:52 2017 -0700

    Add a test for PR binutils/21978
    	PR binutils/21978
    	* testsuite/ld-elf/pr21978.od: New file.
    	* testsuite/ld-elf/pr21978a.c: Likewise.
    	* testsuite/ld-elf/pr21978b.c: Likewise.
    	* testsuite/ld-elf/shared.exp: Run PR binutils/21978 test.

commit 386c8614d5e65431e977b1b20cc4642f944faca1
Author: Tom Tromey <>
Date:   Sat Sep 23 11:21:58 2017 -0600

    Remove free_memory_read_result_vector
    This changes read_memory_robust to return a std::vector, allowing the
    removal of free_memory_read_result_vector and associated cleanups.
    This patch also changes the functions it touches to be a bit more
    robust with regards to deallocation; it's perhaps possible that
    read_memory_robust could have leaked in some situations.
    This patch is based on my earlier series to remove some MI cleanups.
    Regression tested by the buildbot.
    2017-09-29  Tom Tromey  <>
    	* target.c (read_whatever_is_readable): Change type of "result".
    	(free_memory_read_result_vector): Remove.
    	(read_memory_robust): Change return type.  Update.
    	* mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
    	bin2hex, std::string.
    	* target.h (memory_read_result_s): Remove typedef.
    	(free_memory_read_result_vector): Remove.
    	(read_memory_robust): Return std::vector.

commit 789c4b5ea14b0c441e6021f07503e61ccfacb427
Author: Tom Tromey <>
Date:   Thu May 4 21:25:55 2017 -0600

    Change captured_mi_execute_command to use scoped_restore
    Change captured_mi_execute_command to use a scoped_restore, removing a
    cleanup.  The old code copied the current token, but I don't believe
    that is necessary.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-main.c (captured_mi_execute_command): Use scope_restore.

commit ab816a274505933da2f854014b54901c3c3db9d2
Author: Tom Tromey <>
Date:   Thu May 4 16:35:09 2017 -0600

    Use a std::vector for ada_exceptions_list
    Change ada_exceptions_list to return a std::vector and fix up the
    users.  This allows removing a cleanup in MI.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
    	* ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
    	operator< and operator==.
    	(ada_exceptions_list): Return a std::vector.
    	* ada-lang.c (ada_exc_info::operator<): Rename from
    	(ada_exc_info::operator==): New.
    	(sort_remove_dups_ada_exceptions_list): Change type of
    	(ada_add_standard_exceptions, ada_add_exceptions_from_frame)
    	(ada_add_global_exceptions): Likewise.
    	(ada_exceptions_list_1): Return a std::vector.
    	(ada_exceptions_list): Likewise.

commit 52f9abe4c739f42cc5f80b2629276493ac6306f9
Author: Tom Tromey <>
Date:   Thu May 4 16:07:04 2017 -0600

    Use std::set in mi-main.c
    Change a couple of spots in mi-main.c to use std::set.  This
    simplifies the code and removes some cleanups.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
    	'std::set *'.
    	(print_one_inferior): Update.
    	(free_vector_of_ints): Remove.
    	(list_available_thread_groups): Change "ids" to std::set.
    	(mi_cmd_list_thread_groups): Update.
    	(struct collect_cores_data) <core>: Now a std::set.
    	(collect_cores): Update.
    	(unique): Remove.
    	(print_one_inferior): Update.

commit dcd5ddccd7d7917caf42b8d429a7535857c6e9b2
Author: Tom Tromey <>
Date:   Thu May 4 16:01:41 2017 -0600

    Use std::string in mi-main.c
    Change a couple of spots in mi-main.c to use std::string, and change
    one place to use field_fmt.  This removes some cleanups.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-main.c (mi_execute_cli_command): Use std::string.
    	(mi_execute_async_cli_command): Likewise.
    	(mi_cmd_trace_frame_collected): Use field_fmt.

commit 45d288cc64e08dd68938f1d9bcc70906b5343652
Author: Tom Tromey <>
Date:   Thu May 4 15:44:27 2017 -0600

    Use gdb::byte_vector in mi_cmd_data_write_memory_bytes
    This changes mi_cmd_data_write_memory_bytes to use gdb::byte_vector,
    removing some cleanups.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use

commit 6afe2f4a39badf0ea1ccf9fd34417e729577c6e6
Author: Tom Tromey <>
Date:   Wed May 3 17:40:10 2017 -0600

    Remove unused declaration
    There was a leftover cleanup declaration in mi_parse.  Remove it.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-parse.c (mi_parse): Remove unused declaration.

commit 9813429a729dbcd761dfbb02d2d7a3449af0881d
Author: Tom Tromey <>
Date:   Wed May 3 17:28:08 2017 -0600

    Don't copy a string in mi_cmd_disassemble
    This string copy in mi_cmd_disassemble seems not to be needed, so
    don't do it.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".

commit 2d6960b4568869baaa3cb40f75caed4021938e1c
Author: Tom Tromey <>
Date:   Wed May 3 17:26:47 2017 -0600

    Remove cleanups from mi-cmd-var.c
    This removes some cleanups from mi-cmd-var.c.  varobj_gen_name now
    returns a string, simplifying mi_cmd_var_create.  In
    mi_cmd_var_delete, a string copy is apparently unnecessary, so it's
    simply removed.
    2017-09-29  Tom Tromey  <>
    	* varobj.h (varobj_gen_name): Return std::string.
    	* varobj.c (varobj_gen_name): Return std::string.
    	* mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
    	(mi_cmd_var_delete): Don't copy "name".

commit 784c453a4f1aeee237203dd6257a6ed24bee28c3
Author: Tom Tromey <>
Date:   Wed May 3 17:22:07 2017 -0600

    Remove cleanups from mi_cmd_break_insert_1
    This changes mi_argv_to_format to return a string, allowing the
    removal of some cleanups.
    2017-09-29  Tom Tromey  <>
    	* mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
    	(mi_cmd_break_insert_1): Update.

commit a9bc57b97840a874ad2802e29a44fbf557668808
Author: Tom Tromey <>
Date:   Wed May 3 17:13:04 2017 -0600

    Remove make_cleanup_defer_target_commit_resume
    This removes make_cleanup_defer_target_commit_resume in favor of using
    2017-09-29  Tom Tromey  <>
    	* target.h (make_scoped_defer_target_commit_resume): Update.
    	* target.c (make_scoped_defer_target_commit_resume): Rename from
    	make_cleanup_defer_target_commit_resume.  Return a
    	* infrun.c (proceed): Use make_scoped_defer_target_commit_resume.

commit 9754d8c4c48209eaefb044d03dc25f14dca8a263
Author: Tom Tromey <>
Date:   Wed Sep 27 20:43:27 2017 -0600

    Remove some unused declarations
    This removes a couple of unused cleanup-related declarations.
    2017-09-29  Tom Tromey  <>
    	* main.c (captured_main_1): Remove unused declaration.
    	* spu-multiarch.c (parse_spufs_run): Remove unused declaration.

commit 99ef965c6e812cc73691873c965cff0d2d5b89a0
Author: Tom Tromey <>
Date:   Wed Sep 27 21:17:40 2017 -0600

    Remove a cleanup from symtab.c
    This removes an unused outer cleanup from symtab.c, and an unused
    cleanup declaration as well.
    2017-09-29  Tom Tromey  <>
    	* symtab.c (search_symbols): Remove unused outer cleanup.
    	(make_source_files_completion_list): Remove unused declaration.

commit 42518ba746b5b6cb7c169a55430e73551be345f5
Author: Tom Tromey <>
Date:   Wed Sep 27 21:08:05 2017 -0600

    Remove cleanup from mt-tdep.c
    Remove a cleanup from mt-tdep.c, using gdb::byte_vector.
    2017-09-29  Tom Tromey  <>
    	* mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.

commit 726b2169b4cda6a0267cb2986ada758270cff093
Author: Tom Tromey <>
Date:   Wed Sep 27 21:06:21 2017 -0600

    Remove cleanup from xstormy16-tdep.c
    This removes a cleanup from xstormy16-tdep.c, using gdb::byte_vector.
    2017-09-29  Tom Tromey  <>
    	* xstormy16-tdep.c (xstormy16_push_dummy_call): Use

commit 55b064321eed6cccf511fd698c732890e3ba4c6b
Author: Tom Tromey <>
Date:   Wed Sep 27 20:54:17 2017 -0600

    Remove cleanup from complaints.c
    This removes a cleanup from complaints.c by using std::string.
    2017-09-29  Tom Tromey  <>
    	* complaints.c (vcomplaint): Use std::string.

commit 8abcee91738bf0be98e949049c559839ef811ae4
Author: Tom Tromey <>
Date:   Wed Sep 27 20:52:48 2017 -0600

    Remove some cleanups from tracepoint.c
    This removes some cleanups from tracepoint.c by using std::string.  It
    also removes some unused cleanup declarations.
    2017-09-29  Tom Tromey  <>
    	* tracepoint.c (trace_variable_command): Use std::string.
    	(encode_actions_1): Remove unused declarations.
    	(create_tsv_from_upload): Use std::string.

commit 6ad94bc76615933a234a219368f1b9af2a64d746
Author: Tom Tromey <>
Date:   Wed Sep 27 20:46:18 2017 -0600

    Remove cleanups from cp-support.c
    This removes some cleanups from cp-support.c, using std::string.
    2017-09-29  Tom Tromey  <>
    	* cp-support.c (gdb_demangle): Use std::string.

commit 2003f3d839fa887811ff65380191e0beaeff719e
Author: Tom Tromey <>
Date:   Wed Sep 27 20:42:21 2017 -0600

    Remove some cleanups from stack.c
    This removes some cleanups from stack.c by using std::string or
    gdb::unique_xmalloc_ptr.  One cleanup remains in this file; I did not
    remove it here because it is handled in another patch series that has
    yet to be resolved.
    2017-09-29  Tom Tromey  <>
    	* stack.c (parse_frame_specification): Use std::string
    	(info_frame_command): Use gdb::unique_xmalloc_ptr.

commit 8f8accb58078b1f249dc6865b8784a0a8e8881dd
Author: Tom Tromey <>
Date:   Wed Sep 27 20:39:32 2017 -0600

    Remove cleanup from tilegx-tdep.c
    This removes a cleanup from tilegx-tdep.c, by using gdb::byte_vector.
    2017-09-29  Tom Tromey  <>
    	* tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.

commit 200aa7b154b25423eb72ceecade0fcd76edc4686
Author: Tom Tromey <>
Date:   Wed Sep 27 20:38:07 2017 -0600

    Remove cleanups from utils.c
    This removes a couple of cleanups from utils.c through the use of
    2017-09-29  Tom Tromey  <>
    	* utils.c (vfprintf_maybe_filtered): Use std::string.
    	(vfprintf_unfiltered): Likewise.

commit 606aae8a73177dde47ff01a6eb7ec883309bdfa6
Author: Tom Tromey <>
Date:   Wed Sep 27 20:30:19 2017 -0600

    Remove cleanup from display_gdb_prompt
    This removes a cleanup from display_gdb_prompt by using std::string.
    2017-09-29  Tom Tromey  <>
    	* event-top.c (top_level_prompt): Return std::string.
    	(display_gdb_prompt): Update.

commit bd413795d364d3bed8dbb8c596cb45c82ed31041
Author: Tom Tromey <>
Date:   Thu Sep 28 07:44:50 2017 -0600

    Introduce string_vprintf
    This adds string_vprintf, a va_list variant of string_printf.  This
    will be used in later patches.
    2017-09-29  Tom Tromey  <>
    	* unittests/common-utils-selftests.c (format): New function.
    	(string_vprintf_tests): New function.
    	(_initialize_common_utils_selftests): Register new tests.
    	* common/common-utils.c (string_vprintf): New function.
    	* common/common-utils.h (string_vprintf): Declare.

commit 8b5b25295998e10723bd51d127c87249a779f628
Author: Alan Modra <>
Date:   Sat Sep 30 08:20:08 2017 +0930

    PR21978, objdump does not display line numbers in certain cases
    Same line but different file ought to display file and line.
    	PR 21978
    	* objdump.c: Formatting.
    	(show_line): Reset prev_line when function name changes.

commit 1755697b1df1286cbee20dc487d656025964a7a9
Author: GDB Administrator <>
Date:   Sat Sep 30 00:00:28 2017 +0000

    Automatic date update in

commit 256642e857886f1e3da86ce2484f9df5a5a6b904
Author: Pedro Alves <>
Date:   Fri Sep 29 17:15:36 2017 +0100

    Constify unpack_varlen_hex & fix fallout
    I ran into non-const unpack_varlen_hex while working on something
    else, and decided to just fix it first.  Ends up constifying a good
    deal of remote packet parsing.
    2017-09-29  Pedro Alves  <>
    	* common/rsp-low.c (unpack_varlen_hex): Constify.
    	* common/rsp-low.h (unpack_varlen_hex): Constify.
    	* linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
    	* remote.c (remote_set_permissions, read_ptid)
    	(remote_current_thread, remote_get_threads_with_qthreadinfo)
    	(stop_reply_extract_thread, remote_parse_stop_reply): Constify.
    	* tracepoint.c (parse_trace_status, parse_tracepoint_status)
    	(parse_tracepoint_definition, parse_tsv_definition)
    	(parse_static_tracepoint_marker_definition): Constify.
    	* tracepoint.h (parse_static_tracepoint_marker_definition)
    	(parse_trace_status, parse_tracepoint_status)
    	(parse_tracepoint_definition, parse_tsv_definition): Constify.
    2017-09-29  Pedro Alves  <>
    	* ax.c (gdb_parse_agent_expr): Constify.
    	* ax.h (gdb_parse_agent_expr): Constify.
    	* mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
    	* mem-break.h (add_breakpoint_condition, add_breakpoint_commands): Constify.
    	* remote-utils.c (hex_or_minus_one, read_ptid): Constify.
    	* remote-utils.h (read_ptid): Constify.
    	* server.c (handle_qxfer_exec_file, handle_query, handle_v_cont)
    	(process_point_options, process_serial_event): Constify.
    	* tracepoint.c (add_tracepoint_action, cmd_qtdp, cmd_qtdpsrc)
    	(cmd_qtdv, cmd_qtenable_disable, cmd_qtro, cmd_qtframe, cmd_qtp)
    	(cmd_qtbuffer): Constify.

commit b6bb34680b9c99961b6cd635853552ec6569a2a4
Author: Pedro Alves <>
Date:   Fri Sep 29 17:09:05 2017 +0100

    gdb/remote.c: Eliminate target_buf/target_buf_size hack
    This finally eliminates an old hack left in place when tracepoint RSP
    support was migrated from tracepoint.c to remote.c, back in
    35b1e5cca081 ("Make tracepoint operations go through target vector.")
    over 7 years ago.
    Tested on x86_64 GNU/Linux.
    2017-09-29  Pedro Alves  <>
    	* remote.c (target_buf, target_buf_size): Delete.
    	(remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
    	Use the connection's packet buffer instead.
    	All callers adjusted.
    	(_initialize_remote): Remove references to target_buf and

commit 5b9ca4d43ba0313612e8ad6e50221e8f20ebd129
Author: Pedro Alves <>
Date:   Fri Sep 29 12:33:41 2017 +0100

    gdbserver/libthread_db: Don't ignore memory reading failures
    If we had this in place before, then the regression fixed by the
    previous commit would have been been visible is all test runs.  E.g.:
      Running src/gdb/testsuite/gdb.threads/multi-create-ns-info-thr.exp ...
      FAIL: gdb.threads/multi-create-ns-info-thr.exp: continue to breakpoint 6
    Debugging manually we'd see this:
      gdbserver: Cannot get thread handle for LWP 1467: generic error
    Instead of:
      gdbserver: PID mismatch!  Expected 27472, got 27471
    which is misleading - gdbserver didn't 27471, that was stale stack
    data from previous function invocations.
    2017-09-29  Pedro Alves  <>
    	* proc-service.c (ps_pdread): Return PS_ERR if reading memory

commit 94c207e097a3a30ce71fc8f700325113968c276b
Author: Pedro Alves <>
Date:   Fri Sep 29 13:06:34 2017 +0100

    Fix gdbserver regression exposed by gdb.threads/multi-create-ns-info-thr.exp
    Commit 8629910955a7 ("Add thread_db_notice_clone to gdbserver")
    introduced calls into libthread_db without making sure that the
    current thread is pointing to a know-stopped thread.  This resulted in
    sometimes thread_db_notice_clone failing->find_one_thread failing like
    this, as seen when running gdb.threads/multi-create-ns-info-thr.exp:
      Thread <6> executing
      Thread <7> executing
      gdbserver: PID mismatch!  Expected 27472, got 27471
      gdbserver: Cannot find thread after clone.
      Thread <1000> executing
      Thread <1001> executing
    Things go south from here and sometimes that ends up resulting in
    gdbserver crashing and the test failing.
    2017-09-29  Pedro Alves  <>
    	* linux-low.c (handle_extended_wait): Pass parent thread instead
    	of process to thread_db_notice_clone.
    	* linux-low.h (thread_db_notice_clone): Replace parent process
    	parameter with parent thread parameter.
    	* thread-db.c (find_one_thread): Add comment.
    	(thread_db_notice_clone): Replace parent process parameter with
    	parent thread parameter.  Temporarily switch to the parent thread.

commit f6ac8c52c955b487dcb56d05fc93fced7b203294
Author: Alan Modra <>
Date:   Fri Sep 29 13:07:56 2017 +0930

    Fail when string merge can't alloc memory
    I was looking at Debian bug #874674 again today, and think I might
    have spotted the problem.  It appears that merge.c tries to cope with
    memory allocation failures in some circumstances, but doesn't quite
    manage to get everything right.  This patch will make ld report memory
    allocation failures instead of silently not merging strings.
    	* merge.c (merge_strings): Return FALSE on malloc failure.
    	(_bfd_merge_sections): Return failures from record_section and

commit 1b8f6c7f827726b5f91745149f7d4329f10de7fd
Author: GDB Administrator <>
Date:   Fri Sep 29 00:00:24 2017 +0000

    Automatic date update in

commit b2f8eb7a30dcf7c33ea26dfca31401a6786dcd99
Author: Pedro Alves <>
Date:   Thu Sep 28 22:31:42 2017 +0100

    Move utils-selftests.c -> gdb/unittests/
    This file was only under gdb/ currently because it predates the
    gdb/unittests/ directory.
    2017-09-28  Pedro Alves  <>
    	(SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
    	(COMMON_OBS): Remove utils-selftests.o.
    	* utils-selftests.c: Move to ...
    	* unittests/common-utils-selftests.c: ... here and rename self
    	test to "string_printf".

commit 08302ed2cb8b175e3bbd4308879154baf64e6d98
Author: Doug Evans <>
Date:   Thu Sep 28 09:20:59 2017 -0700

    (open_and_init_dwp_file): Protect against some segvs
    This is a "tiny patch", no assignment required.
    2017-09-28  Alexander Shaposhnikov <>
    	* dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
    	having NULL cus or tus.

commit 231ca753239211b72eb761593083a0ee859274e7
Author: Nick Clifton <>
Date:   Thu Sep 28 11:33:20 2017 +0100

    Skip the PR 14918 linker test for ARM targets.
     I am applying a patch that has been lying around in the Fedora
      binutils sources for a while.  It skips the PR14918 linker test for
      ARM based targets.  This test checks that libgcc is not included in a
      link of an empty executable.  This works for most targets, but on the
      ARM the crt1.o startup code calls __libc_csu_init which is in
      /usr/lib/libc_nonshared.a(elf-init.oS).  This in turn needs
      __aeabi_unwind_cpp_pr0@@GCC_3.5 which is provided by,
      and so the test fails.

commit 1a3b5c34fe371f618402f811a981839c9191ff9f
Author: Alan Modra <>
Date:   Thu Sep 28 17:11:38 2017 +0930

    PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY
    non_ir_ref_dynamic wasn't being set in the case where we have a
    versioned dynamic symbol definition with a non-versioned matching IR
    	PR 22220
    	* elflink.c (_bfd_elf_merge_symbol): Set non_ir_ref_dynamic in
    	a case where plugin_notice isn't called.
    	* testsuite/ld-plugin/pr22220.h,
    	* testsuite/ld-plugin/,
    	* testsuite/ld-plugin/pr22220lib.ver,
    	* testsuite/ld-plugin/ New test.
    	* testsuite/ld-plugin/lto.exp: Run it.

commit 50300765aa46894d9347f760fd10dab829d564f7
Author: GDB Administrator <>
Date:   Thu Sep 28 00:00:30 2017 +0000

    Automatic date update in

commit 96a5a1d3780a46b578842d9aeea3e98211dc20ec
Author: Ulrich Weigand <>
Date:   Wed Sep 27 19:05:21 2017 +0200

    Complete tdep move to convert_typed_floating
    Many tdep files need to perform conversions between two floating-point
    types, usually when accessing FP registers.  Most targets now use the
    convert_typed_floating helper routine to do so.  However, a small number
    still use the old method of converting via a DOUBLEST.  Since we want
    to get rid of DOUBLEST, these targets need to be moved to the new
    method as well.
    The main obstacle is that for convert_typed_floating we need an actual
    *type*, not just a floatformat.
    In arm-tdep.c, this is very straightforward, since there is already a
    type using the ARM extended floatformat.
    For sh-tdep.c and sh64-tdep.c, no such type already exists, so I've
    added one to the gdbarch_tdep struct as done on other targets.
    2017-09-27  Ulrich Weigand  <>
    	* arm-tdep.c: (convert_from_extended): Remove.
    	(convert_to_extended): Likewise.
    	(arm_extract_return_value): Use convert_typed_floating.
    	(arm_store_return_value): Likewise.
    	* sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
    	* sh-tdep.c: Do not include "floatformat.h".
    	(sh_littlebyte_bigword_type): New function.
    	(sh_register_convert_to_virtual): Use convert_typed_floating.
    	(sh_register_convert_to_raw): Likewise.
    	* sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
    	(sh64_littlebyte_bigword_type): New function.
    	(sh64_extract_return_value): Use convert_typed_floating.
    	(sh64_register_convert_to_virtual): Likewise.
    	(sh64_register_convert_to_raw): Likewise.

commit 0db7851f9f490f0b60689df5a218ccce60896e3d
Author: Ulrich Weigand <>
Date:   Wed Sep 27 19:03:36 2017 +0200

    Simplify floatformat_from_type
    For historical reasons, the TYPE_FLOATFORMAT element is still set to hold
    an array of two floatformat structs, one for big-endian and the other for
    little-endian.  When accessing the element via floatformat_from_type,
    the code would check the type's byte order and return the appropriate
    However, these days this is quite unnecessary, since the type's byte order
    is already known at the time the type is allocated and the floatformat is
    installed into TYPE_FLOATFORMAT.  Therefore, we can just install the correct
    version here.
    Also, moves the (now trivially simple) floatformat_from_type accessor to
    gdbtypes.{c,h}, since it doesn't really need to be in doublest.c now.
    2017-09-27  Ulrich Weigand  <>
    	* doublest.h (floatformat_from_type): Move to gdbtypes.h.
    	* doublest.c (floatformat_from_type): Move to gdbtypes.c.
    	* gdbtypes.h (union type_specific): Make field floatformat hold
    	just a single struct floatformat, not an array.
    	(floatformat_from_type): Move here.
    	* gdbtypes.c (floatformat_from_type): Move here.  Update to
    	changed TYPE_FLOATFORMAT definition.
    	(verify_floatformat): Update to changed TYPE_FLOATFORMAT.
    	(recursive_dump_type): Likewise.
    	(init_float_type): Install correct floatformat for byte order.
    	(arch_float_type): Likewise.

commit 77b7c781e9f03cdd903dad76f47ea0bb25277b06
Author: Ulrich Weigand <>
Date:   Wed Sep 27 19:02:00 2017 +0200

    Make init_type/arch_type take a size in bits
    This changes the interfaces to init_type and arch_type to take the
    type length in bits as input (instead of as bytes).  The routines
    assert that the length is a multiple of TARGET_CHAR_BIT.
    For consistency, arch_flags_type is changed likewise, so that now
    all type creation interfaces always use length in bits.
    All callers are updated in the straightforward manner.
    The assert actually found a bug in read_range_type, where the
    init_integer_type routine was called with a wrong argument (probably
    a bug introduced with the conversion to use init_integer_type).
    2017-09-27  Ulrich Weigand  <>
    	* gdbtypes.c (init_type): Change incoming argument from
    	length-in-bytes to length-in-bits.  Assert length is a
    	multiple of TARGET_CHAR_BITS.
    	(arch_type, arch_flags_type): Likewise.
    	(init_integer_type): Update call to init_type.
    	(init_character_type): Likewise.
    	(init_boolean_type): Likewise.
    	(init_float_type): Likewise.
    	(init_decfloat_type): Likewise.
    	(init_complex_type): Likewise.
    	(init_pointer_type): Likewise.
    	(objfile_type): Likewise.
    	(arch_integer_type): Update call to arch_type.
    	(arch_character_type): Likewise.
    	(arch_boolean_type): Likewise.
    	(arch_float_type): Likewise.
    	(arch_decfloat_type): Likewise.
    	(arch_complex_type): Likewise.
    	(arch_pointer_type): Likewise.
    	(gdbtypes_post_init): Likewise.
    	* dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
    	(read_base_type): Likewise.
    	* mdebugread.c (basic_type): Likewise.
    	* stabsread.c (dbx_init_float_type): Likewise.
    	(rs6000_builtin_type): Likewise.
    	(read_range_type): Likewise.  Also, fix call to init_integer_type
    	with erroneous length argument.
    	* ada-lang.c (ada_language_arch_info): Update call to arch_type.
    	* d-lang.c (build_d_types): Likewise.
    	* f-lang.c (build_fortran_types): Likewise.
    	* go-lang.c (build_go_types): Likewise.
    	* opencl-lang.c (build_opencl_types): Likewise.
    	* jit.c (finalize_symtab): Likewise.
    	* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
    	(build_std_type_info_type): Likewise.
    	* target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
    	update call to arch_flags_type.
    	* linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
    	* fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
    	* windows-tdep.c (windows_get_tlb_type): Likewise.
    	* avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
    	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
    	* m32c-tdep.c (make_types): Likewise.
    	* rl78-tdep.c (rl78_gdbarch_init): Likewise.
    	(rl78_psw_type): Update call to arch_flags_type.
    	* m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
    	* rx-tdep.c (rx_psw_type): Likewise.
    	(rx_fpsw_type): Likewise.
    	* sparc-tdep.c (sparc_psr_type): Likewise.
    	(sparc_fsr_type): Likewise.
    	* sparc64-tdep.c (sparc64_pstate_type): Likewise.
    	(sparc64_ccr_type): Likewise.
    	(sparc64_fsr_type): Likewise.
    	(sparc64_fprs_type): Likewise.

commit 8e43602e34ba404d82f7c74f6629f01e40c740e0
Author: Nick Clifton <>
Date:   Wed Sep 27 16:21:36 2017 +0100

    Add support for the new names of the RISC-V fmv.x.s and fmv.s.x instructions, vis: fmv.x.w and fmv.w.x.
    	PR 22179
    opcodes	* riscv-opc.c (riscv_opcodes): Add fmv.x.w and fmv.w.x as the new
    	names for the fmv.x.s and fmv.s.x instructions respectively.
    gas	* testsuite/gas/riscv/fmv.x.s: New file: Tests the support for the
    	renamed fmv.x.s and fmv.s.x instructions.
    	* testsuite/gas/riscv/fmv.x.d: New file: Test driver.

commit f21b4d5c59136c38bb6d94eb6a29ad80d02043f4
Author: Tom Tromey <>
Date:   Tue Sep 12 21:33:48 2017 -0600

    Constify find_command
    2017-09-27  Tom Tromey  <>
    	* findcmd.c (find_command): Constify.

commit 643c2ffafea7397461daea339bb8f0ef2f23b31f
Author: Tom Tromey <>
Date:   Tue Sep 12 21:33:21 2017 -0600

    Constify some commands in ada-tasks.c
    2017-09-27  Tom Tromey  <>
    	* ada-tasks.c (task_command_1, task_command): Constify.

commit 510e5e562796a5d2bbd4c7208155bd8a3c03b50d
Author: Tom Tromey <>
Date:   Tue Sep 12 21:32:30 2017 -0600

    Constify some commands in symtab.c
    2017-09-27  Tom Tromey  <>
    	* symtab.c (maintenance_print_symbol_cache)
    	(maintenance_print_symbol_cache_statistics): Constify.

commit e503b1919bc5d06684ba6b1d09a6ccdf0a50b879
Author: Tom Tromey <>
Date:   Tue Sep 12 21:32:18 2017 -0600

    Constify some commands in inferior.c
    2017-09-27  Tom Tromey  <>
    	* inferior.c (detach_inferior_command, kill_inferior_command)
    	(inferior_command): Constify.

commit 4e00131263d4de2e8b7a1d0da7e27e423d94fb52
Author: Tom Tromey <>
Date:   Tue Sep 12 21:31:41 2017 -0600

    Constify some commands in regcache.c
    2017-09-27  Tom Tromey  <>
    	* regcache.c (regcache_print, maintenance_print_registers)
    	(maintenance_print_remote_registers): Constify.

commit 7776370010db4d85a89a0dfde391aa9170ac1bbe
Author: Tom Tromey <>
Date:   Tue Sep 12 21:30:50 2017 -0600

    Constify some commands in printcmd.c
    2017-09-27  Tom Tromey  <>
    	* printcmd.c (map_display_numbers, undisplay_command)
    	(enable_disable_display_command, enable_display_command)
    	(disable_display_command): Constify.

commit 4495129abde9922d77215233837fb47738722de9
Author: Tom Tromey <>
Date:   Tue Sep 12 21:25:07 2017 -0600

    Constify some commands in breakpoint.c
    This also makes delete_command static; but now I wonder if it is used
    in Insight and should not be touched.
    2017-09-27  Tom Tromey  <>
    	* breakpoint.h (delete_command): Don't declare.
    	* breakpoint.c (delete_command, enable_once_command)
    	(enable_count_command, enable_delete_command, breakpoint_1)
    	(maintenance_info_breakpoints, stopin_command, stopat_command)
    	(delete_command, delete_trace_command, save_breakpoints)
    	(save_breakpoints_command, save_tracepoints_command): Constify.

commit 3088cf40a57ec7b5276f192238603684b4608a90
Author: Tom Tromey <>
Date:   Tue Sep 12 21:22:55 2017 -0600

    Constify some commands in macrocmd.c
    2017-09-27  Tom Tromey  <>
    	* macrocmd.c (macro_expand_command, macro_expand_once_command)
    	(skip_ws, extract_identifier, macro_define_command)
    	(macro_undef_command, macro_list_command): Constify.

commit 69f476a36f475210807cb70d10183df9b838a9eb
Author: Tom Tromey <>
Date:   Tue Sep 12 21:20:36 2017 -0600

    Constify some commands in infcmd.c
    2017-09-27  Tom Tromey  <>
    	* infcmd.c (environment_info, set_environment_command)
    	(unset_environment_command, path_info, info_proc_cmd_1)
    	(info_proc_cmd_mappings, info_proc_cmd_stat)
    	(info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
    	(info_proc_cmd_exe, info_proc_cmd_all): Constify.

commit c4a3e68e33b78c68d63c35bbed01782ff9eff4d1
Author: Tom Tromey <>
Date:   Tue Sep 12 21:17:26 2017 -0600

    Constify some commands in i386-tdep.c
    2017-09-27  Tom Tromey  <>
    	* i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):

commit c9d31bd6579d5bbd672937a76258031675d40f34
Author: Tom Tromey <>
Date:   Tue Sep 12 21:17:01 2017 -0600

    Constify add_symbol_file_from_memory_command
    2017-09-27  Tom Tromey  <>
    	* symfile-mem.c (add_symbol_file_from_memory_command): Constify.

commit 1f3f85eba696bfff4fea5e66167ee001c07c4b0b
Author: Tom Tromey <>
Date:   Tue Sep 12 21:16:47 2017 -0600

    Constify demangle_command
    2017-09-27  Tom Tromey  <>
    	* demangle.c (demangle_command): Constify.

commit 9c504b5d34803ca2520e554aceaa2e69c141dc89
Author: Tom Tromey <>
Date:   Tue Sep 12 21:15:46 2017 -0600

    Constify maintenance_info_program_spaces_command
    2017-09-27  Tom Tromey  <>
    	* progspace.c (maintenance_info_program_spaces_command):

commit 6663cf9161f7ed9cbd1ac1c0afba36c952d84140
Author: Tom Tromey <>
Date:   Tue Sep 12 21:14:41 2017 -0600

    Constify some commands in compile.c
    2017-09-27  Tom Tromey  <>
    	* compile/compile.c (check_raw_argument, compile_file_command)
    	(compile_code_command, compile_print_command): Constify.

commit 34e5fa26b758250fca879799375f27c1fd8ed36d
Author: Tom Tromey <>
Date:   Tue Sep 12 21:13:51 2017 -0600

    Constify maintenance_print_reggroups
    2017-09-27  Tom Tromey  <>
    	* reggroups.c (maintenance_print_reggroups): Constify.

commit 8384c35618fdfa66ea3ec6e84072cccc6192dd48
Author: Tom Tromey <>
Date:   Tue Sep 12 21:13:40 2017 -0600

    Constify save_gdb_index_command
    2017-09-27  Tom Tromey  <>
    	* dwarf2read.c (save_gdb_index_command): Constify.

commit 884beb0c41d8479e3c05f3492cb65da05ed882d1
Author: Tom Tromey <>
Date:   Tue Sep 12 21:13:21 2017 -0600

    Constify info_probes_stap_command
    2017-09-27  Tom Tromey  <>
    	* stap-probe.c (info_probes_stap_command): Constify.

commit e0b2930cdc0153d871f80ad728d6e3fa90324b5e
Author: Tom Tromey <>
Date:   Tue Sep 12 21:13:03 2017 -0600

    Constify unset_exec_wrapper_command
    2017-09-27  Tom Tromey  <>
    	* fork-child.c (unset_exec_wrapper_command): Constify.

commit f938677d425cd0453e26f7f51d9e94c87c92a25d
Author: Tom Tromey <>
Date:   Tue Sep 12 21:12:42 2017 -0600

    Constify some commands in btrace.c
    2017-09-27  Tom Tromey  <>
    	* btrace.c (get_uint, get_context_size, no_chunk)
    	(maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
    	(maint_info_btrace_cmd): Constify.

commit 8949cb878d5daae969db6326e1e1323bfa3ad9d4
Author: Tom Tromey <>
Date:   Tue Sep 12 21:09:47 2017 -0600

    Constify delete_bookmark_command
    2017-09-27  Tom Tromey  <>
    	* reverse.c (delete_bookmark_command): Constify.

commit ac88e2de8314efd9aaa9132c5643ecbf715de508
Author: Tom Tromey <>
Date:   Tue Sep 12 21:09:35 2017 -0600

    Constify some commands in remote.c
    2017-09-27  Tom Tromey  <>
    	* remote.c (set_memory_packet_size)
    	(set_memory_write_packet_size, show_memory_write_packet_size)
    	(set_memory_read_packet_size, show_memory_read_packet_size)
    	(compare_sections_command, packet_command, remote_put_command)
    	(remote_get_command, remote_delete_command): Constify.

commit bd4c9dfe673d8af39cf400ba0118ffadb0e6111a
Author: Tom Tromey <>
Date:   Tue Sep 12 21:05:40 2017 -0600

    Constify some commands in mips-tdep.c
    2017-09-27  Tom Tromey  <>
    	* mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
    	(set_mipsfpu_double_command, set_mipsfpu_none_command)
    	(set_mipsfpu_auto_command): Constify.

commit 5e93d4c64bbc3b4fb306e54cdcd79bc8ff86b2f0
Author: Tom Tromey <>
Date:   Tue Sep 12 21:02:08 2017 -0600

    Constify cd_command
    2017-09-27  Tom Tromey  <>
    	* cli/cli-cmds.h (cd_command): Constify.
    	* cli/cli-cmds.c (cd_command): Constify.

commit fc41a75bee01fbd0883e6df1e031d4d9e998c437
Author: Tom Tromey <>
Date:   Tue Sep 12 20:45:21 2017 -0600

    Constify some commands in thread.c
    2017-09-27  Tom Tromey  <>
    	* thread.c (thread_name_command, thread_find_command): Constify.

commit 67810076681180b74d92f98d11c4a3d94885c9e5
Author: Tom Tromey <>
Date:   Tue Sep 12 20:42:32 2017 -0600

    Constify some commands in probes.c
    2017-09-27  Tom Tromey  <>
    	* probe.c (enable_probes_command, disable_probes_command):

commit 1d8b34a7a233d89938fd173389f7884aa7d105b3
Author: Tom Tromey <>
Date:   Tue Sep 12 18:39:07 2017 -0600

    Constify some commands in exec.c, plus symbol_file_command
    Note that this commit also changes deprecated_file_changed_hook -- not
    used in the tree, but Insight will require a (presumably minor)
    2017-09-27  Tom Tromey  <>
    	* symfile.c (symbol_file_command): Constify.
    	* gdbcore.h (deprecated_file_changed_hook): Constify.
    	* exec.c (deprecated_file_changed_hook, exec_file_command)
    	(file_command): Constify.
    	* defs.h (symbol_file_command): Constify.

commit 442019e118afb6bdbae490c0b072e8f024f2d9a2
Author: Tom Tromey <>
Date:   Tue Sep 12 18:38:19 2017 -0600

    Constify some commands in remote-fileio.c
    2017-09-27  Tom Tromey  <>
    	* remote-fileio.c (set_system_call_allowed)
    	(show_system_call_allowed): Constify.

commit 2983f7cbdb245e516799f1a5b8ddc0450bce98c9
Author: Tom Tromey <>
Date:   Tue Sep 12 18:37:46 2017 -0600

    Constify some commands in tracepoint.c
    In addition to the constification, this fixes a command-repeat bug.
    2017-09-27  Tom Tromey  <>
    	* tracepoint.c (delete_trace_variable_command)
    	(tfind_end_command, tfind_start_command, tfind_pc_command)
    	(tfind_tracepoint_command, tfind_line_command)
    	(tfind_range_command, tfind_outside_command): Constify.

commit 4fd41b2486e0c3407d39a6a4c0bbeedd057eb20e
Author: Tom Tromey <>
Date:   Tue Sep 12 15:00:06 2017 -0600

    Constify some commands in ax-gdb.c
    2017-09-27  Tom Tromey  <>
    	* ax-gdb.c (maint_agent_printf_command, agent_command)
    	(agent_eval_command): Constify.

commit f2fc30156cb71a3e616186f09f0ffa0da26780fa
Author: Tom Tromey <>
Date:   Tue Sep 12 18:32:41 2017 -0600

    Constify some linespec functions
    This changes a few linespec functions to work on "const char *" and
    then fixes up all the callers.  This allows further constification
    2017-09-27  Tom Tromey  <>
    	* tracepoint.c (info_scope_command): Constify.
    	* python/python.c (gdbpy_decode_line): Constify.
    	* python/py-breakpoint.c (bppy_init): Constify.
    	* mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
    	* location.h: (new_linespec_location)
    	(string_to_event_location_basic, string_to_event_location):
    	* location.c (new_linespec_location)
    	(string_to_event_location_basic, string_to_event_location):
    	* linespec.h (decode_line_with_current_source)
    	(decode_line_with_last_displayed, linespec_lex_to_end): Constify.
    	* linespec.c (linespec_lex_to_end)
    	(decode_line_with_last_displayed): Constify.
    	* guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
    	* cli/cli-cmds.c (edit_command, list_command): Constify.
    	* breakpoint.h (until_break_command, watch_command_wrapper)
    	(awatch_command_wrapper, rwatch_command_wrapper)
    	(init_ada_exception_breakpoint): Constify.
    	* breakpoint.c (break_command_1, dprintf_command)
    	(break_range_command, watch_command_wrapper)
    	(rwatch_command_wrapper, awatch_command_wrapper)
    	(until_break_command, init_ada_exception_breakpoint)
    	(strace_marker_create_sals_from_location, trace_command)
    	(ftrace_command, strace_command, struct tracepoint): Constify.
    	* ax-gdb.c (agent_command_1): Constify.
    	* ada-lang.c (ada_exception_sal): Constify.

commit 8c2f95f4346a4ed6593b1e0cb60d1839176e42c2
Author: Tom Tromey <>
Date:   Tue Sep 12 14:56:48 2017 -0600

    Constify some commands in record.c
    2017-09-27  Tom Tromey  <>
    	* record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
    	(cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
    	(get_context_size, no_chunk, get_insn_history_modifiers)
    	(cmd_record_insn_history, get_call_history_modifiers)
    	(cmd_record_call_history): Constify.

commit a0d65762f11272996095870affe18f4c2cf354dc
Author: Tom Tromey <>
Date:   Tue Sep 12 14:45:14 2017 -0600

    Constify some commands in source.c
    2017-09-27  Tom Tromey  <>
    	* source.c (show_substitute_path_command)
    	(unset_substitute_path_command, set_substitute_path_command):

commit 58971144622629bd11acc82b61140f8c47f0e306
Author: Tom Tromey <>
Date:   Tue Sep 12 14:40:43 2017 -0600

    Constify commands maint.c, plus maintenance_print_type
    In addition to the constification, this fixes a command-repeat bug.
    2017-09-27  Tom Tromey  <>
    	* typeprint.c (maintenance_print_type): Constify.
    	* maint.c (maintenance_dump_me, maintenance_demangle)
    	(maintenance_time_display, maintenance_info_sections)
    	(maintenance_print_statistics, maintenance_deprecate)
    	(maintenance_undeprecate): Constify.
    	(maintenance_do_deprecate): Constify.  Use std::string.
    	(maintenance_selftest): Constify.
    	* gdbtypes.h (maintenance_print_type): Constify.

commit c482f52ccfbd5609aef5482fb0872545bdcabaf2
Author: Tom Tromey <>
Date:   Sat Sep 9 21:52:56 2017 -0600

    Constify unwind_command
    2017-09-27  Tom Tromey  <>
    	* hppa-tdep.c (unwind_command): Constify.

commit e100df1a2ea356a8a311114bc2927215a33eefcb
Author: Tom Tromey <>
Date:   Sat Sep 9 21:52:05 2017 -0600

    Constify some commands in target-descriptions.c
    2017-09-27  Tom Tromey  <>
    	* target-descriptions.c (unset_tdesc_filename_cmd)
    	(maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):

commit 31d56ade0e943aca57acbc030334d65ae0b6f866
Author: Tom Tromey <>
Date:   Sat Sep 9 21:51:39 2017 -0600

    Constify maintenance_print_dummy_frames
    2017-09-27  Tom Tromey  <>
    	* dummy-frame.c (maintenance_print_dummy_frames): Constify.

commit b961da0bb033e0058059695fdc28c5fbe0057c1a
Author: Tom Tromey <>
Date:   Sat Sep 9 21:51:21 2017 -0600

    Constify some commands in tui.c
    2017-09-27  Tom Tromey  <>
    	* tui/tui.c (tui_enable_command, tui_disable_command): Constify.

commit e2d8ae16c0c9a4f6c61ddb9af3d6ec8b2b71db2a
Author: Tom Tromey <>
Date:   Sat Sep 9 21:51:10 2017 -0600

    Constify tui_reg_command
    2017-09-27  Tom Tromey  <>
    	* tui/tui-regs.c (tui_reg_command): Constify.

commit 863779b0c64917a1580a9e505762642ef5833575
Author: Tom Tromey <>
Date:   Sat Sep 9 21:50:56 2017 -0600

    Constify some commands in skip.c
    2017-09-27  Tom Tromey  <>
    	* skip.c (skip_file_command, skip_function_command)
    	(skip_enable_command, skip_disable_command, skip_delete_command):

commit cdb34d4a1cf2553a58dc993bfb6f78716e0d1c43
Author: Tom Tromey <>
Date:   Sat Sep 9 21:46:34 2017 -0600

    Constify some commands in record-btrace.c
    2017-09-27  Tom Tromey  <>
    	* record-btrace.c (cmd_record_btrace_bts_start)
    	(cmd_record_btrace_pt_start): Constify.

commit e99c83e741949cb7ae9f4ed449768e8f89ae02bf
Author: Tom Tromey <>
Date:   Sat Sep 9 21:45:47 2017 -0600

    Constify some commands in symmisc.c
    2017-09-27  Tom Tromey  <>
    	* symmisc.c (maintenance_print_symbols)
    	(maintenance_print_msymbols, maintenance_print_objfiles)
    	(maintenance_info_symtabs, maintenance_check_symtabs)
    	(maintenance_expand_symtabs, maintenance_info_line_tables):

commit 32faf971cd86d0a13c6b3db4626d4c8bd119e6c5
Author: Tom Tromey <>
Date:   Sat Sep 9 21:44:55 2017 -0600

    Constify new_ui_command
    2017-09-27  Tom Tromey  <>
    	* top.c (new_ui_command): Constify.

commit 2cf311ebadb5058afb983c61363fc2595c01b9e4
Author: Tom Tromey <>
Date:   Sat Sep 9 21:44:31 2017 -0600

    Constify some commands in symfile.c
    2017-09-27  Tom Tromey  <>
    	* symfile.c (add_symbol_file_command)
    	(remove_symbol_file_command, list_overlays_command)
    	(map_overlay_command, unmap_overlay_command)
    	(overlay_auto_command, overlay_manual_command)
    	(overlay_off_command, overlay_load_command): Constify.

commit e6738699f704ae1ece43e9758f60d084b45e5308
Author: Tom Tromey <>
Date:   Sat Sep 9 21:41:50 2017 -0600

    Constify some commands in spu-tdep.c
    2017-09-27  Tom Tromey  <>
    	* spu-tdep.c (info_spu_event_command, info_spu_signal_command)
    	(info_spu_mailbox_command, info_spu_dma_command)
    	(info_spu_proxydma_command): Constify.

commit aa360cd5dd21a527f67f93ef75db92bac6cf02d5
Author: Tom Tromey <>
Date:   Sat Sep 9 21:40:53 2017 -0600

    Constify some commands in cli-logging.c
    2017-09-27  Tom Tromey  <>
    	* cli/cli-logging.c (set_logging_on, set_logging_off): Constify.

commit 898241a5ba617eb3e0bad4eb0bafaa9320320178
Author: Tom Tromey <>
Date:   Sat Sep 9 21:40:16 2017 -0600

    Constify user_defined_command
    2017-09-27  Tom Tromey  <>
    	* cli/cli-script.c (user_defined_command): Constify.

commit 2d0ac1068babfe8800607b17ddb2f31189bdb334
Author: Tom Tromey <>
Date:   Sat Sep 9 21:39:18 2017 -0600

    Constify commands in cli-dump.c
    2017-09-27  Tom Tromey  <>
    	* cli/cli-dump.c (dump_memory_command, dump_value_command)
    	(dump_srec_memory, dump_srec_value, dump_ihex_memory)
    	(dump_ihex_value, dump_verilog_memory, dump_verilog_value)
    	(dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
    	(dump_binary_value, append_binary_memory, append_binary_value):
    	(struct dump_context) <func>: Constify.
    	(add_dump_command): Update.

commit dede02ce4d2267d044db41a0896af4d670647a04
Author: Tom Tromey <>
Date:   Sat Sep 9 21:37:20 2017 -0600

    Constify some commands in  cli-cmds.c
    2017-09-27  Tom Tromey  <>
    	* cli/cli-cmds.c (show_version, show_configuration)
    	(source_command, show_user): Constify.

commit d3cb6b99c5127911f94c782be8214e2093fbe82c
Author: Tom Tromey <>
Date:   Sat Sep 9 21:34:29 2017 -0600

    Constify maintenance_print_target_stack
    2017-09-27  Tom Tromey  <>
    	* target.c (maintenance_print_target_stack): Constify.

commit 1970a12f32f788f22b641737e846350e1ff9dd04
Author: Tom Tromey <>
Date:   Sat Sep 9 21:32:11 2017 -0600

    Constify interpreter_exec_cmd
    2017-09-27  Tom Tromey  <>
    	* interps.c (interpreter_exec_cmd): Constify.

commit 41243651350688a9a0f3a3542871d37e7f3c5f20
Author: Tom Tromey <>
Date:   Sat Sep 9 21:31:57 2017 -0600

    Constify cmd_record_full_restore
    2017-09-27  Tom Tromey  <>
    	* record-full.c (cmd_record_full_restore): Constify.

commit 4465d9db2f8962640f3799a17851bef3b1be1a33
Author: Tom Tromey <>
Date:   Sat Sep 9 21:30:40 2017 -0600

    Constify some functions in memattr.c
    2017-09-27  Tom Tromey  <>
    	* memattr.c (enable_mem_command, disable_mem_command)
    	(delete_mem_command): Constify.

commit ad25e4234a3f370a693b9c392c5b54216aab4592
Author: Tom Tromey <>
Date:   Sat Sep 9 21:29:57 2017 -0600

    Constify show_convenience
    2017-09-27  Tom Tromey  <>
    	* value.c (show_convenience): Constify.

commit d64097b17c88ae18781ecce59d1b265b41e9551a
Author: Tom Tromey <>
Date:   Sat Sep 9 21:25:44 2017 -0600

    Constify core_file_command
    2017-09-27  Tom Tromey  <>
    	* gdbcore.h (core_file_command): Update.
    	* corefile.c (core_file_command): Constify.

commit 4d4589ef76b975eead8da6bfa65db4a9dc85089a
Author: Tom Tromey <>
Date:   Sat Sep 9 21:24:08 2017 -0600

    Constify maintenance_print_user_registers
    2017-09-27  Tom Tromey  <>
    	* user-regs.c (maintenance_print_user_registers): Constify.

commit 32a7bf17c94a81c08535ea045f43fe8c8271d3fd
Author: Tom Tromey <>
Date:   Sat Sep 9 21:23:03 2017 -0600

    Constify maintenance_cplus_namespace
    2017-09-27  Tom Tromey  <>
    	* cp-namespace.c (maintenance_cplus_namespace): Constify.

commit 4a47555179bfcfd3c9e4ad2752e38ae398fc7dcd
Author: Tom Tromey <>
Date:   Sat Sep 9 21:22:52 2017 -0600

    Constify first_component_command
    2017-09-27  Tom Tromey  <>
    	* cp-support.c (first_component_command): Constify.

commit 990b9f9f5a301cef9c16035c341a7b0b7ccc983d
Author: Tom Tromey <>
Date:   Sat Sep 9 21:22:28 2017 -0600

    Constify some functions in psymtab.c
    2017-09-27  Tom Tromey  <>
    	* psymtab.c (maintenance_print_psymbols)
    	(maintenance_info_psymtabs, maintenance_check_psymtabs):

commit c281872eec33c92db0565afdbfdee91558e5d8e0
Author: Tom Tromey <>
Date:   Sat Sep 9 21:22:05 2017 -0600

    Constify display_tib
    2017-09-27  Tom Tromey  <>
    	* windows-tdep.c (display_tib): Constify.

commit 5b64bf744c04f550a9d15b49a8cb0245904afb13
Author: Tom Tromey <>
Date:   Sat Sep 9 21:00:26 2017 -0600

    Constify two functions in linux-fork.c
    2017-09-27  Tom Tromey  <>
    	* linux-fork.c (delete_checkpoint_command)
    	(detach_checkpoint_command): Constify.

commit 4ada038f6a8330b27769ad0227c7f716aa29b649
Author: Tom Tromey <>
Date:   Sat Sep 9 20:59:50 2017 -0600

    Constify two functions in cp-abi.c
    2017-09-27  Tom Tromey  <>
    	* cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.

commit 57f5a81bd240459edbdac1628800291e7535ed02
Author: Tom Tromey <>
Date:   Sat Sep 9 20:59:14 2017 -0600

    Constify dump_arc_instruction_command
    2017-09-27  Tom Tromey  <>
    	* arc-tdep.c (dump_arc_instruction_command): Constify.

commit b0a8e6c4431a2e762dac88f3d73efca4bc47c90a
Author: Tom Tromey <>
Date:   Sat Sep 9 20:58:42 2017 -0600

    Constify two functions in valprint.c
    2017-09-27  Tom Tromey  <>
    	* valprint.c (set_radix, show_radix): Constify.

commit 8d97dc1cea4d1dafff2ce2f55e0b84cfe444e6cf
Author: Tom Tromey <>
Date:   Sat Sep 9 20:57:56 2017 -0600

    Constify info_probes_dtrace_command
    2017-09-27  Tom Tromey  <>
    	* dtrace-probe.c (info_probes_dtrace_command): Constify.

commit eb7c454d737322be2d810e1a5a2dc7b88fd636e6
Author: Tom Tromey <>
Date:   Sat Sep 9 20:57:10 2017 -0600

    Constify not_just_help_class_command
    2017-09-27  Tom Tromey  <>
    	* command.h (not_just_help_class_command): Update.
    	* cli/cli-decode.h (not_just_help_class_command): Update.
    	* cli/cli-decode.c (not_just_help_class_command): Constify.

commit e4e3333549c96d2915bb888b7b347566c938e75a
Author: Tom Tromey <>
Date:   Sat Sep 9 20:55:20 2017 -0600

    Constify add_cmd gdb_bfd.c
    This constifies a command function in gdb_bfd.c.
    2017-09-27  Tom Tromey  <>
    	* gdb_bfd.c (maintenance_info_bfds): Constify.

commit 0450cc4ce8b4775c47e9aaa1c5a34e181b10ae98
Author: Tom Tromey <>
Date:   Sat Sep 9 20:51:33 2017 -0600

    Add add_cmd function overloads
    This adds two add_cmd overloads: one whose callback takes a const char *,
    and one that doesn't accept a function at all.  The no-function overload
    was introduced to avoid ambiguity when NULL was passed as the function.
    Long term the goal is for all commands to take const arguments, and
    for the non-const variants to be removed entirely.
    2017-09-27  Tom Tromey  <>
    	* cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
    	(do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
    	(do_const_cfunc): New function.
    	(cmd_cfunc_eq): New overload.
    	(cli_user_command_p): Check do_const_cfunc.
    	* cli/cli-decode.h (struct cmd_list_element) <function>: New field
    	* command.h (add_cmd): Add const overload and no-function
    	(set_cmd_cfunc): Add const overload.
    	(cmd_const_cfunc_ftype): Declare.
    	(cmd_cfunc_eq): Add const overload.
    	* breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
    	python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd

commit a9bbfbd85fddfea2db30810c33c4bb130a2ef773
Author: Tom Tromey <>
Date:   Sun Sep 17 20:36:41 2017 -0600

    Add support for __VA_OPT__
    C++2a adds a "__VA_OPT__" feature that can be used to control the
    pesky "," emission when the final (variable) argument of a variadic
    macro is empty.  This patch implements this feature for gdb.  (A patch
    to implement it for gcc is pending.)
    2017-09-27  Tom Tromey  <>
    	* macroexp.c (get_next_token_for_substitution): New function.
    	(substitute_args): Call it.  Check for __VA_OPT__.
    2017-09-27  Tom Tromey  <>
    	* gdb.base/macscp.exp: Add __VA_OPT__ tests.

commit 19485196044b2521af979f1e5c4a89bfb90fba0b
Author: Nick Clifton <>
Date:   Wed Sep 27 10:42:51 2017 +0100

    Prevent an infinite loop in the DWARF parsing code when encountering a CU structure with a small negative size.
    	PR 22219
    	* dwarf.c (process_debug_info): Add a check for a negative
    	cu_length field.

commit 6bd6a03d6975a96802b37741a99644570e52a72b
Author: Alan Modra <>
Date:   Wed Sep 27 15:14:00 2017 +0930

    PR22216, infinite loop in readelf process_symbol_table
    This should make readelf bombproof given a fuzzed DT_HASH.  Also
    removes a bogus check that would have resulted in wrong histograms.
    	PR 22216
    	* readelf.c (process_symbol_table): Check that DT_HASH symbol
    	chains are only visited once, and report an error if not.  Display
    	invalid symbol index if chain is out of range.  Use the same logic
    	when calculating histograms rather than the PR 17531 fix.  Delete
    	bogus check that chained index is less than number of buckets.

commit cd28e7aaf35f7de5033ecd619b56064136bb190b
Author: Kuan-Lin Chen <>
Date:   Wed Sep 27 13:04:35 2017 +0800

    nds32: Fix a tautological comparison.

commit 25c7861f70b2fcde6c4e3454c269da20ff141883
Author: GDB Administrator <>
Date:   Wed Sep 27 00:00:23 2017 +0000

    Automatic date update in

commit ac69a0d75bf472a140e5405c8a90420d5f63a998
Author: H.J. Lu <>
Date:   Tue Sep 26 14:41:22 2017 -0700

    x86-64: Don't pass output_bfd to info->callbacks->minfo
    Don't pass output_bfd to info->callbacks->minfo when dumping local IFUNC
    functions in the map file.
    	PR ld/22199
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't pass
    	output_bfd to info->callbacks->minfo.

commit 5230b05a94b964da335a0758686b92a8efcc823d
Author: Walfred Tedeschi <>
Date:   Tue Sep 26 18:26:41 2017 +0100

    dwarf2read: Restrict ICC workaround to ICC<14
    GDB has a workaround for DWARF output by ICC, related to missing
    DW_AT_declaration on incomplete types.  The bug was fixed in ICC 14,
    so this commit adjusts GDB accordingly.
    For the version check, this adds a new parser function for the ICC
    producer string.  While at it, it also adds unit tests for the
    producer parsing covering the new function and preexisting parsers.
    2017-09-26  Walfred Tedeschi  <>
    	    Pedro Alves <>
    	* dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
    	(producer_is_icc_lt_14): New function.
    	(check_producer): Add code for checking version of ICC.
    	(producer_is_icc): Move to producer.c.
    	(read_structure_type): Restrict ICC workaround to ICC<14.
    	* producer.c: Include selftest.h.
    	(producer_is_icc, producer_parsing_tests, _initialize_producer):
    	New functions.
    	* producer.h (producer_is_icc): New declaration.

commit b32b108aba2c0119d0e231d203d3284539da2379
Author: Walfred Tedeschi <>
Date:   Tue Sep 26 18:26:41 2017 +0100

    Move GDB producer parsing routines to a separate file
    2017-09-26  Walfred Tedeschi  <>
    	* (SFILES): Add producer.c.
    	(COMMON_OBS): Add producer.o
    	* amd64-tdep.c (producer.h): Add new include.
    	* dwarf2read.c (producer.h): Add new include.
    	* producer.c: New file.
    	* producer.h: New file.
    	* utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
    	* utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to

commit 75352e283fb2b265d14c750859156943f6eb2693
Author: Sergio Durigan Junior <>
Date:   Fri Sep 15 00:27:53 2017 -0400

    Use "switch_to_thread" more thoroughly on gdbserver
    This is a technical debt that I left when I ported "switch_to_thread"
    to gdbserver.  It's a simple patch that converts occurences of:
      current_thread = find_thread_ptid (ptid);
      switch_to_thread (ptid);
    This patch also converts a simple "if" to a "gdb_assert" on
    gdbserver's version of "switch_to_thread":
      gdb_assert (ptid != minus_one_ptid);
    This change makes the code more similar to what GDB already does.
    Regtested on BuildBot.
    2017-09-26  Sergio Durigan Junior  <>
    	* gdbthread.h: Include "common-gdbthread.h".
    	* inferiors.c (switch_to_thread): Use "gdb_assert" instead of
    	"if" when validating the ptid.
    	* remote-utils.c: Include "gdbthread.h".
    	(prepare_resume_reply): Use "switch_to_thread".
    	* target.c (done_accessing_memory): Likewise.

commit 5007d765ae09c10c7f3b18bb16841b9d2d59e181
Author: Matthias Klose <>
Date:   Tue Sep 26 16:23:19 2017 +0100

    Allow linking GDB with ncursesw
    Triggered by, to be able to cope
    with UTF-8 characters in gdbtui.
    2017-09-26  Matthias Klose  <>
    	* Search ncursesw before ncurses.
    	Check ncursesw/ncurses.h before ncurses/ncurses.h.
    	* gdb_curses.h: Include <ncursesw/ncurses.h>
    	*, configure: Regenerate.

commit 262c0a877f91b9102fd42523598b46ea79a8970e
Author: Nick Clifton <>
Date:   Tue Sep 26 16:03:10 2017 +0100

    Fix an assertion failure when parsing a fuzzed x86_64 ELF binary.
    	PR 22172
    	* elf64-x86-64.c (elf_x86_64_info_to_howto): Do not trigger an
    	assertion failure if elf_x86_64_rtype_to_howto has already issued
    	an error message.

commit 00956d3a8ab1b56fcdf63aee4ed5c5a1d46a7a48
Author: Cary Coutant <>
Date:   Tue Sep 26 07:33:04 2017 -0700

    Fix incorrect register mask.
    	PR gold/22213
    	* (Target_sparc): Fix incorrect register mask.

commit 33e0a9a056bd23e923b929a4f2ab049ade0b1c32
Author: Alan Modra <>
Date:   Tue Sep 26 23:20:06 2017 +0930

    Tidy reading data in read_formatted_entries
    Using read_attribute_value accomplishes two things: It checks for
    unexpected formats, and ensures the buffer pointer always increments.
    	PR 22210
    	* dwarf2.c (read_formatted_entries): Use read_attribute_value to
    	read data.

commit 30d0157a2ad64e64e5ff9fcc0dbe78a3e682f573
Author: Nick Clifton <>
Date:   Tue Sep 26 14:37:47 2017 +0100

    Avoid needless resource usage when processing a corrupt DWARF directory or file name table.
    	PR 22210
    	* dwarf2.c (read_formatted_entries): Fail early if we know that
    	the loop parsing data entries will overflow the end of the

commit 281c4447738409888d9659924937da182a65b4e1
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Tue Sep 26 15:19:10 2017 +0200

    Remove support for Solaris < 10 (PR gdb/22185)
    Given that GCC has obsoleted/removed support for Solaris 9 in GCC 4.9/5 in 2013:
    and the last gdb version that can be compiled with gcc 4.9 is 7.12.1 only when
    configured with --disable-build-with-cxx, it's time to obsolete/remove support
    for Solaris < 10.
    This patch does this, simplifying configure.nat along the way (only a single
    sol2 configuration with variants for i386 and sparc).
    Some configure checks for older Solaris versions can go, too, and the check
    for removed:
    * Since Solaris 10, dlopen has moved to libc and is just a
      filter on, so no need to check.
    * $RDYNAMIC is already handled above (and is a no-op with Solaris ld
    Both proc-service.c and sol-thread.c lose support for (Solaris-only)
    The attached revised patch has been tested on sparcv9-sun-solaris2.10,
    sparcv9-sun-solaris2.11.4, amd64-pc-solaris2.10, amd64-pc-solaris2.11.4,
    and x86_64-pc-linux-gnu.
    I've also started an i386-pc-solaris2.9 build to check that it really
    stops as expected.
    	PR gdb/22185
    	* <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
    	Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
    	Remove i386sol2 support.
    	* configure.nat <i386sol2>: Remove.
    	<sol2-64>: Fold into ...
    	<sol2>: ... this.
    	Move common settings to default section.
    	Add sol-thread.o.
    	* configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
    	x86_64-*-solaris2.1[0-9]*>: Rename to ...
    	<i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
    	<i[34567]86-*-solaris*>: Remove.
    	<sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
    	* Remove wctype in libw check.
    	(_MSE_INT_H): Don't define on Solaris 7-9.
    	<solaris*>: Remove check.
    	* configure: Regenerate.
    	* Regenerate.
    	* proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
    	(gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
    	(gdb_ps_size_t): Remove.
    	Use base types in users.
    	* sol-thread.c: Likewise, also for gdb_ps_addr_t.
    	* NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.

commit 39b06c208fb7b7edb98866252cbd05ba0918f666
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Tue Sep 26 14:58:53 2017 +0200

    Fix gdb 8.1 Solaris/SPARC compilation (PR build/22206)
    When testing my Solaris < 10 removal patch on Solaris/SPARC, I found
    that gdb mainline is currently broken there due to the recent SPARC M7
    ADI patches:
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:1876:0: error: "PSR_ICC" redefined [-Werror]
     #define PSR_ICC  0x00f00000
    In file included from /usr/include/v7/sys/privregs.h:24:0,
                     from /usr/include/sys/regset.h:420,
                     from /usr/include/sys/ucontext.h:21,
                     from /usr/include/sys/signal.h:231,
                     from /usr/include/sys/procset.h:23,
                     from /usr/include/sys/wait.h:25,
                     from /usr/include/stdlib.h:21,
                     from build-gnulib/import/stdlib.h:36,
                     from /vol/src/gnu/gdb/gdb/local/gdb/common/common-defs.h:53,
                     from /vol/src/gnu/gdb/gdb/local/gdb/defs.h:28,
                     from /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:20:
    /usr/include/v7/sys/psr.h:35:0: note: this is the location of the previous definition
     #define PSR_ICC  0x00F00000 /* integer condition codes */
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:1878:0: error: "PSR_IMPL" redefined [-Werror]
     #define PSR_IMPL 0xf0000000
    In file included from /usr/include/v7/sys/privregs.h:24:0,
                     from /usr/include/sys/regset.h:420,
                     from /usr/include/sys/ucontext.h:21,
                     from /usr/include/sys/signal.h:231,
                     from /usr/include/sys/procset.h:23,
                     from /usr/include/sys/wait.h:25,
                     from /usr/include/stdlib.h:21,
                     from build-gnulib/import/stdlib.h:36,
                     from /vol/src/gnu/gdb/gdb/local/gdb/common/common-defs.h:53,
                     from /vol/src/gnu/gdb/gdb/local/gdb/defs.h:28,
                     from /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:20:
    /usr/include/v7/sys/psr.h:41:0: note: this is the location of the previous definition
     #define PSR_IMPL 0xF0000000 /* implementation */
    Comparing Solaris 11.4 <v7/sys/psr.h> and sparc64-tdep.c, there are more
    #define	PSR_S		0x00000080	/* supervisor mode */
    #define	PSR_ICC		0x00F00000	/* integer condition codes */
    #define	PSR_VER		0x0F000000	/* mask version */
    #define	PSR_IMPL	0xF0000000	/* implementation */
    #define	PSR_RSV		0x000FC000	/* reserved */
    #define PSR_S		0x00000080
    #define PSR_ICC		0x00f00000
    #define PSR_VERS	0x0f000000
    #define PSR_IMPL	0xf0000000
    #define PSR_V8PLUS	0xff000000
    #define PSR_XCC		0x000f0000
    Apart from the capitalization differences that trip g++, the names
    differ (PSR_VER vs. PSR_VERS), PSR_XCC is included in Solaris' PSR_RSV,
    and there's no PSR_V8PLUS on Solaris either.
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c: In function `int adi_tag_fd()':
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:296:63: error: format `%d' expects argument of type `int', but argument 4 has type `pid_t {aka long int}' [-Werror=format=]
       snprintf (cl_name, sizeof(cl_name), "/proc/%d/adi/tags", pid);
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c: In function `bool adi_is_addr_mapped(CORE_ADDR, std::size_t)':
    /vol/src/gnu/gdb/gdb/local/gdb/sparc64-tdep.c:314:64: error: format `%d' expects argument of type `int', but argument 4 has type `pid_t {aka long int}' [-Werror=format=]
       snprintf (filename, sizeof filename, "/proc/%d/adi/maps", pid);
    You cannot always print a pid_t, which can be either int or long on
    Solaris, as an int.
    Obviously, the ADI patch which modifies code shared between all SPARC
    targets, hasn't been tested on anything but Linux/SPARC.
    The patch below includes the minimal fixes necessary to unbreak the
    Solaris/SPARC build.
    However, as detailed in the PR, there's more breakage here: apart from
    not bothering to implement ADI support on Solaris, the code contains
    several more changes to shared/common SPARC code that are simply wrong
    on anything but Linux/SPARC.
    The patch was tested on sparcv9-sun-solaris2.10 and
    sparcv9-sun-solaris2.11.4 (build and gdb/gdb gdb/gdb smoke test only).
    	PR build/22206
    	* sparc64-tdep.c (adi_tag_fd): Print pid as long.
    	(adi_is_addr_mapped): Likewise.
    	(PSR_ICC): Don't redefine.
    	(PSR_IMPL): Likewise.

commit 1b86808a86077722ee4f42ff97f836b12420bb2a
Author: Alan Modra <>
Date:   Tue Sep 26 21:47:24 2017 +0930

    PR22209, invalid memory read in find_abstract_instance_name
    This patch adds bounds checking for DW_FORM_ref_addr die refs, and
    calculates them relative to the first .debug_info section.  See the
    big comment for why calculating relative to the current .debug_info
    section was wrong for relocatable object files.
    	PR 22209
    	* dwarf2.c (struct comp_unit): Delete sec_info_ptr field.
    	(find_abstract_instance_name): Calculate DW_FORM_ref_addr relative
    	to stash->info_ptr_memory, and check die_ref is within that memory.
    	Set info_ptr_end correctly when another CU is refd.  Check die_ref
    	for DW_FORM_ref4 etc. is within CU.

commit 5c1c468d0eddd0fda1ec8c5f33888657f94e3266
Author: Nick Clifton <>
Date:   Tue Sep 26 12:14:42 2017 +0100

    Fix address violations when parsing a corrupt DWARF linenumber table.
    	PR 22154
    	* dwarf.c (get_line_filename_and_dirname): Add extra checks for
    	buffer overruns.

commit 28d810f7ffd7fefd88117e9d830e7588591fd35c
Author: Maciej W. Rozycki <>
Date:   Tue Sep 26 12:09:50 2017 +0100

    LD/testsuite: Fix undefined symbol tests for MIPS and S+core targets
    Fix commit 647d4de92e06 ("Test undefined symbols in shared libraries")
    and remove "undefined symbols in shared lib (dyn reloc)" test failures
    for MIPS and S+core targets.
    This test assumes 3 dynamic relocation entries, however the respective
    psABIs define an extra single dummy *_NONE relocation at the beginning
    of the dynamic relocation table, which results in test output like the
    following for MIPS:
    Relocation section '.rel.dyn' at offset 0x33c contains 4 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000000  00000000 R_MIPS_NONE
    00010364  00000903 R_MIPS_REL32      00000000   undef_pfun
    00010360  00000a03 R_MIPS_REL32      00000000   undef_data
    00010368  00000b03 R_MIPS_REL32      00000000   undef_notype
    and S+core:
    Relocation section '.rel.dyn' at offset 0x274 contains 4 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000000  00000000 R_SCORE_NONE
    5ffe0464  00000e12 R_SCORE_REL32     00000000   undef_notype
    5ffe045c  00000f12 R_SCORE_REL32     00000000   undef_data
    5ffe0460  00001012 R_SCORE_REL32     00000000   undef_pfun
    targets respectively, and also n64 MIPS targets pad relocation triplets
    they use with extra *_NONE relocations, resulting in output like this:
    Relocation section '.rel.dyn' at offset 0x4c0 contains 4 entries:
      Offset          Info           Type           Sym. Value    Sym. Name
    000000000000  000000000000 R_MIPS_NONE
                        Type2: R_MIPS_NONE
                        Type3: R_MIPS_NONE
    000000010508  000900001203 R_MIPS_REL32      0000000000000000 undef_pfun
                        Type2: R_MIPS_64
                        Type3: R_MIPS_NONE
    000000010500  000a00001203 R_MIPS_REL32      0000000000000000 undef_data
                        Type2: R_MIPS_64
                        Type3: R_MIPS_NONE
    000000010510  000b00001203 R_MIPS_REL32      0000000000000000 undef_notype
                        Type2: R_MIPS_64
                        Type3: R_MIPS_NONE
    Expect the right number of *_NONE relocations then, and adjust the total
    number of relocations expected accordingly.
    	* testsuite/ld-undefined/undefined.exp: Correct the dyn reloc
    	test for MIPS and S+core targets.

commit 58a0b827444d0d6baad47f5fd010f33e541ed16e
Author: Nick Clifton <>
Date:   Tue Sep 26 10:33:32 2017 +0100

    Allow the macw and macl instructions to be used on CPUs that have emacs support.
    From PR 22123:
      The common opcodes of emac and mac seem to be only implemented for mac.
      To reproduce:
        echo "macw %d3l,%a0l" > /tmp/dummy.S
        m68k-unknown-elf-as -m5208  /tmp/dummy.S
      Outputs something like:
        /tmp/dummy.S: Assembler messages:
        /tmp/dummy.S:1: Error: operands mismatch -- statement `macw %d3l,%a0l' ignored
      This behavior occurs only if the CPU supports only emac but not explicitly mac (but emac is a superset of mac).

commit 78b2179a8e085b34ad7872450e5fadff4f7e5eb0
Author: Nick Clifton <>
Date:   Tue Sep 26 10:07:23 2017 +0100

    Add README file for creating binutils releases

commit df8899e5c8b60ffbbe93e35315ebb76a9c80ee37
Author: Thomas Preud'homme <>
Date:   Tue Sep 26 09:57:18 2017 +0100

    Fix FAILs in compare-sections.exp
    compare-sections.exp has two cases that are not handled appropriately:
    1) value read with msb set
    2) error while patching that section
    This patch adapts the "get value of read-only section" test to print
    the value as an unsigned integer to fix 1) and test for the error
    message to not set the written variable if read-only section cannot
    be written to so as to solve 2).
    2017-09-26  Thomas Preud'homme  <>
    	    Pedro Alves  <>
    	* gdb.base/compare-sections.exp (get value of read-only section): Read
    	as unsigned value.
    	(corrupt read-only section): Likewise and don't set written if patching

commit 66cfc0fd0d9daadc2dac5a783b69b4050c0b1722
Author: Alan Modra <>
Date:   Tue Sep 26 11:28:04 2017 +0930

    PR21732, String-concatenated message can not be translated
    Preprocessor tokens like DWARF_VMA_FMT and BFD_VMA_FMT are not
    understood by gettext, and cause the translation string to be
    truncated.  Even if it were not truncated, we wouldn't want a value
    that changes depending on host or configure options to be put in a
    translation string.
    	PR 21732
    	* dwarf.c (READ_ULEB): Don't use DWARF_VMA_FMT in translated string.
    	(READ_SLEB): Likewise.
    	* readelf.c (bfd_vmatoa): New function.
    	(get_data, get_dynamic_data): Use it for printing error messages.

commit 6c3e20f177102519cf4f8b3c7e7e17996ed7cd7f
Author: Tom Tromey <>
Date:   Sat Sep 23 15:54:36 2017 -0600

    Remove the last cleanup from regcache.c
    This removes the last cleanup from regcache.c by changing one function
    to use std::string.
    2017-09-25  Tom Tromey  <>
    	* regcache.c (regcache::dump): Use string_printf.

commit b292235f666ff2123e26794db73d5a27a685e7be
Author: Tom Tromey <>
Date:   Sat Sep 23 15:53:30 2017 -0600

    Remove make_cleanup_regcache_invalidate
    This removes make_cleanup_regcache_invalidate in favor of a simple
    RAII class that handles register invalidation.
    2017-09-25  Tom Tromey  <>
    	* regcache.c (class regcache_invalidator): New.
    	(struct register_to_invalidate): Remove.
    	(make_cleanup_regcache_invalidate): Remove.
    	(regcache::raw_write): Use regcache_invalidator.

commit 9ac86b52da268147b2565e4920357432bb7a34c3
Author: Tom Tromey <>
Date:   Sat Sep 23 15:34:30 2017 -0600

    Remove make_cleanup_regcache_xfree
    This removes make_cleanup_regcache_xfree in favor of using
    std::unique_ptr as the return type of frame_save_as_regcache.
    2017-09-25  Tom Tromey  <>
    	* spu-tdep.c (spu2ppu_sniffer): Update.
    	* regcache.h (make_cleanup_regcache_xfree): Don't declare.
    	* regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
    	* ppc-linux-tdep.c (ppu2spu_sniffer): Update.
    	* mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
    	* frame.h (frame_save_as_regcache): Return std::unique_ptr.
    	* frame.c (frame_save_as_regcache): Return std::unique_ptr.
    	(frame_pop): Update.

commit c0e383c63818baee1daf51b8fb1bae34d1e0597f
Author: Tom Tromey <>
Date:   Sat Sep 23 14:41:07 2017 -0600

    Remove regcache_xfree
    This removes regcache_xfree in favor of plain "delete".
    2017-09-25  Tom Tromey  <>
    	* spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
    	* regcache.h (regcache_xfree): Don't declare.
    	* regcache.c (regcache_xfree): Remove.
    	(do_regcache_xfree): Use delete.
    	* ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
    	* linux-fork.c (free_fork): Use delete.
    	(fork_save_infrun_state): Likewise.
    	* jit.c (jit_dealloc_cache): Use delete.
    	* infrun.c (discard_infcall_suspend_state): Use delete.

commit 791199cc75fd294a4f5a228f83abdcbfb4c64c7e
Author: Tom Tromey <>
Date:   Sat Sep 23 14:39:56 2017 -0600

    Remove regcache_xmalloc
    This patch removes regcache_xmalloc in favor of plain "new".
    2017-09-25  Tom Tromey  <>
    	* regcache.h (regcache_xmalloc): Don't declare.
    	(regcache_raw_set_cached_value): Update comment.
    	* regcache.c (regcache_xmalloc): Remove.
    	* ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
    	* jit.c (jit_frame_sniffer): Use new.
    	* frame.c (frame_save_as_regcache): Use new.

commit a54018b72d75abf2e74bf36016702da06399c1d9
Author: Alan Modra <>
Date:   Tue Sep 26 09:38:26 2017 +0930

    PR22205, .debug_line file table NULL filename
    The PR22200 fuzzer testcase found one way to put NULLs into .debug_line
    file tables.  PR22205 finds another.  This patch gives up on trying to
    prevent NULL files in the file table and instead just copes with them.
    Arguably, this is better than giving up and showing no info from
    .debug_line.  I've also fixed a case where the fairly recent DWARF5
    support in handling broken DWARG could result in uninitialized memory
    reads, and made a small tidy.
    	PR 22205
    	* dwarf2.c (concat_filename): Return "<unknown>" on NULL filename.
    	(read_formatted_entries): Init "fe".
    	(decode_line_info <DW_LNE_define_file>): Use line_info_add_file_name.

commit e338894dc2e603683bed2172e8e9f25b29051005
Author: Alan Modra <>
Date:   Tue Sep 26 09:32:18 2017 +0930

    PR22204, Lack of DW_LNE_end_sequence causes "infinite" loop
    	PR 22204
    	* dwarf2.c (decode_line_info): Ensure line_ptr stays within
    	bounds in inner loop.

commit 898f57a89f3f75d542892c891e0736a8d91f42d3
Author: GDB Administrator <>
Date:   Tue Sep 26 00:00:21 2017 +0000

    Automatic date update in

commit 8dba52b60488265e66073130ef77c03f05dcaabc
Author: H.J. Lu <>
Date:   Mon Sep 25 14:07:01 2017 -0700

    Free memory returned from bfd_get_synthetic_symtab
    	PR binutils/22203
    	* nm.c (display_rel_file): Free memory returned from

commit 289e23aa03084b22c73ebdcf18371f1e6666ead0
Author: Andreas Arnez <>
Date:   Mon Sep 25 16:02:24 2017 +0200

    S390: Document guarded-storage register support
    This documents the newly added support for guarded-storage registers on
    IBM z.
    	* NEWS: Advertise support for guarded-storage registers on IBM z.
    	* gdb.texinfo (S/390 and System z Features): Document the new
    	features and org.gnu.gdb.s390.gsbc.

commit ad3396348e0ebb61fdf71cff307bac08175ed366
Author: Andreas Arnez <>
Date:   Mon Sep 25 16:02:23 2017 +0200

    S390: Add guarded-storage register support to gdbserver
    Enable gdbserver to deal with the new guarded-storage register sets.
    	* configure.srv (s390*-*-linux*): Add s390-gs-linux64.o and
    	s390x-gs-linux64.o to srv_regobj.  Add s390-gs-linux64.xml,
    	s390x-gs-linux64.xml, s390-gs.xml, and s390-gsbc.xml to
    	srv_xmlfiles.  Add s390-gs-linux64-ipa.o and
    	s390x-gs-linux64-ipa.o to ipa_obj.
    	* linux-s390-low.c (HWCAP_S390_GS): New define.
    	(s390_fill_gs, s390_store_gs, s390_fill_gsbc, s390_store_gsbc):
    	New functions.
    	(s390_regsets): Add regsets for NT_S390_GS_CB and NT_S390_GS_BC.
    	(s390_arch_setup): Check for guarded-storage support and choose
    	appropriate tdesc.
    	(initialize_low_arch): Invoke init_registers_s390_gs_linux64 and
    	* linux-s390-tdesc.h (enum s390_linux_tdesc) <S390_TDESC_GS>: New
    	enum value.
    	(init_registers_s390x_gs_linux64, tdesc_s390x_gs_linux64)
    	(init_registers_s390_gs_linux64, tdesc_s390_gs_linux64): Declare.

commit 1b63490c9173f8c9770b7885def720516aa9b9f8
Author: Andreas Arnez <>
Date:   Mon Sep 25 16:02:23 2017 +0200

    S390: Add guarded-storage register support to GDB
    Recognize targets with the new guarded-storage feature and then present
    the guarded-storage registers and the Linux-specific guarded-storage
    broadcast control block appropriately.
    	* s390-linux-nat.c (have_regset_gs): New static variable.
    	(s390_linux_fetch_inferior_registers): Handle guarded-storage
    	control block and guarded-storage broadcast control regsets.
    	(s390_read_description): Detect whether the target has
    	guarded-storage support, return appropriate tdesc.
    	* s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
    	(features/s390x-gs-linux64.c): Likewise.
    	(struct gdbarch_tdep) <have_gs>: New field.
    	(s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
    	(s390_gsbc_regset): New variables.
    	(s390_iterate_over_regset_sections): Iterate over s390_gs_regset
    	and s390_gsbc_regset, if applicable.
    	(s390_core_read_description): Check whether core file was from a
    	target with guarded-storage support; include appropriate regsets.
    	(s390_gdbarch_init): Add registers for guarded-storage support.
    	(_initialize_s390_tdep): Initialize new target descriptions that
    	include registers for guarded-storage support.
    	* s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
    	(S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
    	(S390_NUM_REGS): Adjust macro definition.
    	(s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
    	(tdesc_s390x_gs_linux64): New declarations.

commit 96235dc1ac3730c4e490d19db2e8287c0a40f307
Author: Andreas Arnez <>
Date:   Mon Sep 25 16:02:23 2017 +0200

    S390: Add guarded-storage register definitions and tdescs
    Newer Linux kernel versions offer two new register sets in support of the
    z/Architecture's guarded storage facility.  This patch adds XML
    descriptions and the respective autogenerated .c and .dat files for
    s390/s390x targets with this feature.
    	* features/s390-gs-linux64.xml: New file.
    	* features/s390-gs.xml: New file.
    	* features/s390-gsbc.xml: New file.
    	* features/s390x-gs-linux64.xml: New file.
    	* features/Makefile (WHICH): Add s390-gs-linux64 and
    	(s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
    	(XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
    	* features/s390-gs-linux64.c: New generated file.
    	* features/s390x-gs-linux64.c: New file.
    	* regformats/s390-gs-linux64.dat: New file.
    	* regformats/s390x-gs-linux64.dat: New file.

commit 1da5c9a485f3dcac4c45e96ef4b7dae5948314b5
Author: Alan Modra <>
Date:   Mon Sep 25 20:20:38 2017 +0930

    PR22202, buffer overflow in parse_die
    There was a complete lack of sanity checking in dwarf1.c
    	PR 22202
    	* dwarf1.c (parse_die): Sanity check pointer against section limit
    	before dereferencing.
    	(parse_line_table): Likewise.

commit 11855d8a1f11b102a702ab76e95b22082cccf2f8
Author: Alan Modra <>
Date:   Mon Sep 25 19:46:34 2017 +0930

    PR22201, DW_AT_name with out of bounds reference
    DW_AT_name ought to always have a string value.
    	PR 22201
    	* dwarf2.c (scan_unit_for_symbols): Ignore DW_AT_name unless it
    	has string form.
    	(parse_comp_unit): Likewise.

commit c361faae8d964db951b7100cada4dcdc983df1bf
Author: Alan Modra <>
Date:   Mon Sep 25 19:03:46 2017 +0930

    PR22200, DWARF5 .debug_line sanity check
    The format_count entry can't be zero unless the count is also zero.
    	PR 22200
    	* dwarf2.c (read_formatted_entries): Error on format_count zero.

commit 57a024f4650d7562e963efb6b00c4a4cd74185c4
Author: Sergio Durigan Junior <>
Date:   Thu Sep 21 11:46:48 2017 -0400

    Initialize 'imm' on opcodes/aarch64-opc.c:expand_fp_imm (and fix breakage on mingw)
    While compiling GDB using a mingw compiler from Fedora 26:
      ../gdb/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 \
        --disable-binutils --disable-ld --disable-gold --disable-gas --disable-sim \
        --disable-gprof  --enable-targets=all
    I stumbled upon a simple occurrence of -Werror=maybe-uninitialized:
      ../../gdb/opcodes/aarch64-opc.c: In function 'expand_fp_imm':
      ../../gdb/opcodes/aarch64-opc.c:2880:10: error: 'imm' may be used uninitialized in this function [-Werror=maybe-uninitialized]
         return imm;
    It is the compiler's fault, because this function always assigns to
    'imm' if the necessary conditions are met, and it calls "assert (0)"
    otherwise, but I thought it'd be clearer to have 'imm' explicitly set
    to zero anyway.
    2017-09-21  Sergio Durigan Junior  <>
    	* aarch64-opc.c (expand_fp_imm): Initialize 'imm'.

commit 5b3fd0aac2b70d860ba34f0e290d87773b09bd11
Author: GDB Administrator <>
Date:   Mon Sep 25 00:00:24 2017 +0000

    Automatic date update in

commit 52b36c51e5bf6d7600fdc6ba115b170b0e78e31d
Author: Alan Modra <>
Date:   Sun Sep 24 21:36:18 2017 +0930

    PR22197, buffer overflow in bfd_get_debug_link_info_1
    	PR 22197
    	* opncls.c (bfd_get_debug_link_info_1): Properly check that crc is
    	within section bounds.

commit a26a013f22a19e2c16729e64f40ef8a7dfcc086e
Author: Alan Modra <>
Date:   Sun Sep 24 17:10:14 2017 +0930

    PR22191, memory leak in dwarf2.c
    table->sequences is a linked list before it is replaced by a bfd_alloc
    array in sort_line_sequences.
    	PR 22191
    	* dwarf2.c (decode_line_info): Properly free line sequences on error.

commit 52a93b95ec0771c97e26f0bb28630a271a667bd2
Author: Alan Modra <>
Date:   Sun Sep 24 14:37:16 2017 +0930

    PR22187, infinite loop in find_abstract_instance_name
    This patch prevents the simple case of infinite recursion in
    find_abstract_instance_name by ensuring that the attributes being
    processed are not the same as the previous call.
    The patch also does a little cleanup, and leaves in place some changes
    to the nested_funcs array that I made when I wrongly thought looping
    might occur in scan_unit_for_symbols.
    	PR 22187
    	* dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
    	pname param.  Return status.  Make name const.  Don't abort,
    	return an error.  Formatting.  Exit if current info_ptr matches
    	orig_info_ptr.  Update callers.
    	(scan_unit_for_symbols): Start at nesting_level of zero.  Make
    	nested_funcs an array of structs for extensibility.  Formatting.

commit d8010d3e75ec7194a4703774090b27486b742d48
Author: Alan Modra <>
Date:   Sun Sep 24 14:36:48 2017 +0930

    PR22186, divide-by-zero in decode_line_info
    	PR 22186
    	* dwarf2.c (decode_line_info): Fail on lh.line_range of zero
    	rather than dividing by zero.

commit 515f23e63c0074ab531bc954f84ca40c6281a724
Author: Alan Modra <>
Date:   Sun Sep 24 14:36:16 2017 +0930

    PR22169, heap-based buffer overflow in read_1_byte
    The .debug_line header length field doesn't include the length field
    itself, ie. it's the size of the rest of .debug_line.
    	PR 22169
    	* dwarf2.c (decode_line_info): Correct .debug_line unit_length check.

commit 0d76029f92182c3682d8be2c833d45bc9a2068fe
Author: Alan Modra <>
Date:   Sun Sep 24 14:35:33 2017 +0930

    PR22167, NULL pointer dereference in scan_unit_for_symbols
    	PR 22167
    	* dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.

commit bd61e135492ecf624880e6b78e5fcde3c9716df6
Author: Alan Modra <>
Date:   Sun Sep 24 14:34:57 2017 +0930

    PR22166, SHT_GNU_verneed memory allocation
    The sanity check covers the previous minimim size, plus that the size
    is at least enough for sh_info verneed entries.
    Also, since we write all verneed fields or exit with an error, there
    isn't any need to zero the memory allocated for verneed entries.
    	PR 22166
    	* elf.c (_bfd_elf_slurp_version_tables): Test sh_info on
    	SHT_GNU_verneed section for sanity.  Don't zalloc memory for

commit 8d296e2d4d8ed6ffbe29bb8cc6548a3871de6ad1
Author: GDB Administrator <>
Date:   Sun Sep 24 00:00:26 2017 +0000

    Automatic date update in

commit b4a7c699688bd88313893cbb59ee0df5b8cd009b
Author: Tom Tromey <>
Date:   Sat Sep 23 14:00:21 2017 -0600

    Removed unused declaration
    An earlier patch of mine removed make_cleanup_override_quit_handler,
    but neglected to remove the declaration.  This patch removes it.
    Tested by rebuilding.  I'm committing this as obvious.
    2017-09-23  Tom Tromey  <>
    	* defs.h (make_cleanup_override_quit_handler): Don't declare.

commit 4102159923c90abd636d73e78777b98b1c680e53
Author: GDB Administrator <>
Date:   Sat Sep 23 00:00:27 2017 +0000

    Automatic date update in

commit c2f97536b77f9d9531a1a2c37008b454eb67a82e
Author: Tom Tromey <>
Date:   Thu Sep 21 09:54:25 2017 -0600

    Change type of scoped_input_handler::m_quit_handler
    Simon pointed out that scoped_input_handler::m_quit_handler must have
    the correct scoped_restore_tmpl type, to avoid binding to a temporary.
    This patch fixes the problem.
    2017-09-22  Tom Tromey  <>
    	* utils.c (class scoped_input_handler) <m_quit_handler>: Change
    	type to scoped_restore_tmpl.
    	<scoped_input_handler>: Initialize m_quit_handler directly.
    Reviewed-By: Pedro Alves <>

commit 61e3bf5f83f7e505b6bc51ef65426e5b31e6e360
Author: H.J. Lu <>
Date:   Fri Sep 22 14:15:40 2017 -0700

    x86: Guard against corrupted PLT
    There should be only one entry in PLT for a given symbol.  Set howto to
    NULL after processing a PLT entry to guard against corrupted PLT so that
    the duplicated PLT entries are skipped.
    	PR binutils/22170
    	* elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Guard against
    	corrupted PLT.

commit 59ca4c1bbd48a47073eed2c4b933045674cafe41
Author: H.J. Lu <>
Date:   Fri Sep 22 14:09:56 2017 -0700

    Update ChangeLog entry for PR 22163

commit 9f272209118972864b2c3799ddf2b39683c1a7b7
Author: Alexandre Oliva <>
Date:   Fri Sep 22 17:05:51 2017 -0300

    LVU: dump loclists with locviews
    When dumping location lists, also dump locview lists that may be
    interspersed with them, and bring view pairs next to the corresponding
    location list entries.
    This patch supports DW_AT_GNU_locviews as a separate attribute for
    DWARF4- loc_lists and split (dwo) loclists, as well as DWARF5
    It also supports, in DWARF5 loclists, the proposed
    DW_LLE_GNU_view_pair loclist entry type proposed for DWARF6.
    The tests use 32-bit DWARF, even on 64-bit targets, resolving offsets
    to constants so as to reduce the risk that relocations be created for
    them, or that the offsets be rejected as nonconstants.
    The patch also adds an xfail to an unrelated test, namely dw5, so that
    no unexpected fails remain on nds32*-elf, one of the tested targets.
    Reviewed-by: Alan Modra <>
    for  include/ChangeLog
    	* dwarf2.def (DW_AT_GNU_locviews): New.
    	* dwarf2.h (enum dwarf_location_list_entry_type): Add
    	(DW_LLE_view_pair): Define.
    for  binutils/ChangeLog
    	* dwarf.h (debug_info): Add loc_views and num_loc_views.
    	* dwarf.c (vm1): New constant.
    	(print_dwarf_view): New function.
    	(read_and_display_attr_value): Support DW_AT_GNU_locviews.
    	(process_debug_info): Keep num_loc_offsets and num_loc_views
    	in sync.
    	(display_view_pair_list): New function.
    	(display_loc_list_dwo): Take vstart_ptr; update it.  Dump
    	location view pairs before the range they apply to, when a
    	viewlist augments the loc list.
    	(display_loc_list): Likewise.  Check view numbers in range
    	(display_loclists_list): Likewise.  Handle view pair entries,
    	and warn on trailing ones.
    	(loc_views): New variable.
    	(loc_offsets_compar): Compare loc_views if loc_offsets are the
    	(display_debug_loc): Check and sort loc_views too.  Accept
    	loc_view as expected_start.  Skip if lists and views are the
    	same.  Dump locview list separately in order, and pass the
    	locview list base to each list dump function.  Warn and skip
    	overlap and hole checking if we find loclists and locviews to
    	not be adjacent.
    	* testsuite/binutils-all/locview-1.s: New.
    	* testsuite/binutils-all/readelf.locview-1: New.
    	* testsuite/binutils-all/locview-2.s: New.
    	* testsuite/binutils-all/readelf.locview-2: New.
    	* testsuite/binutils-all/readelf.exp: Run new tests.  Fix
    	option spelling in pr18374 fail message.  XFAIL dw5 test on

commit 43573013c9836f2b91b74b9b29dac35fdb41e06b
Author: Sergio Durigan Junior <>
Date:   Mon Sep 11 00:54:33 2017 -0400

    Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)"
    Currently we have "current_directory" and "gdb_dirbuf" globals, which
    means that we basically have two possible places to consult when we
    want to know GDB's current working directory.
    This is not ideal and can lead to confusion.  Moreover, the way we're
    using "gdb_difbuf" along with "getcwd" is problematic because we
    declare the buffer with "1024" elements hardcoded, which does not take
    into account longer pathnames that are possible in many filesystems.
    Using "PATH_MAX" would also not be a solution because of portability
    problems.  Therefore, the best solution is to rely on the fact that
    "getcwd (NULL, 0)" will "do the right thing" and return a
    heap-allocated string containing the full path.  With the new "getcwd"
    module from gnulib, it is now possible to do that without worrying
    about breaking some host.
    With this patch "current_directory" is now the only place to check for
    GDB's cwd.
    Reviewed-by: Pedro Alves <>
    2017-09-22  Sergio Durigan Junior  <>
    	* cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
    	(cd_command): Likewise.  Free "current_directory" before
    	assigning to it.
    	* main.c (captured_main_1): Use "getcwd (NULL, 0)".
    	* mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
    	* top.c (gdb_dirbuf): Remove global declaration.
    	* top.h (gdb_dirbuf): Likewise.

commit 6ec2e0f5bddc69d55e09fe56792edf7a109ff8ae
Author: Sergio Durigan Junior <>
Date:   Fri Sep 8 20:09:12 2017 -0400

    Import "glob" and "getcwd" modules from gnulib
    These two modules are necessary because of the rework that will be
    done in the "change directory" logic on GDB/gdbserver in the next
    First, we will get rid of the "gdb_dirbuf" global variable and instead
    rely on the fact that "getcwd (NULL, 0)", which is a GNU extension,
    returns a heap-allocated string with the necessary bytes to hold the
    full path.  This is a good practice not only because globals are not
    ideal but also because there is no good way to know beforehand the
    size of the full pathname allowed in the filesystem ("PATH_MAX" is not
    portable and does not reflect all the possible filesystems out there).
    We will also have a way to "cd" to a directory also on gdbserver, but
    in order to do that uniformly, there must be a way to do tilde
    expansion on directories provided by the user.  Currently, GDB uses
    "tilde_expand" from readline to do that, but gdbserver doesn't link
    against readline and therefore cannot use this function.  The solution
    is to use "glob" instead, which can perform tilde expansion as a GNU
    extension.  Therefore, we need gnulib's version of "glob".
    A special note is necessary for gdb/ser-tcp.c.  It defines "close" as
    "closesocket" on Win32 targets.  If we leave the code as is, this
    would conflict with gnulib's definition of "close".  Therefore, in
    order to keep the same code path from before this import, I decided to
    "#undef close" first, and then let the original (re)definition of it
    take place.
    2017-09-22  Sergio Durigan Junior  <>
    	* gnulib/aclocal.m4: Regenerate.
    	* gnulib/ Regenerate.
    	* gnulib/configure: Regenerate.
    	* gnulib/import/ Regenerate.
    	* gnulib/import/ Regenerate.
    	* gnulib/import/assure.h: New file.
    	* gnulib/import/at-func.c: Likewise
    	* gnulib/import/chdir-long.c: New file.
    	* gnulib/import/chdir-long.h: New file.
    	* gnulib/import/cloexec.c: New file.
    	* gnulib/import/cloexec.h: New file.
    	* gnulib/import/close.c: New file.
    	* gnulib/import/closedir.c: New file.
    	* gnulib/import/dirent-private.h: New file.
    	* gnulib/import/dup-safer.c: New file.
    	* gnulib/import/dup.c: New file.
    	* gnulib/import/dup2.c: New file.
    	* gnulib/import/error.c: New file.
    	* gnulib/import/error.h: New file.
    	* gnulib/import/exitfail.c: New file.
    	* gnulib/import/exitfail.h: New file.
    	* gnulib/import/fchdir.c: New file.
    	* gnulib/import/fcntl.c: New file.
    	* gnulib/import/ New file.
    	* gnulib/import/fd-hook.c: New file.
    	* gnulib/import/fd-hook.h: New file.
    	* gnulib/import/fd-safer.c: New file.
    	* gnulib/import/fdopendir.c: New file.
    	* gnulib/import/filename.h: New file.
    	* gnulib/import/filenamecat-lgpl.c: New file.
    	* gnulib/import/filenamecat.h: New file.
    	* gnulib/import/fstat.c: New file.
    	* gnulib/import/fstatat.c: New file.
    	* gnulib/import/getcwd-lgpl.c: New file.
    	* gnulib/import/getcwd.c: New file.
    	* gnulib/import/getdtablesize.c: New file.
    	* gnulib/import/getlogin_r.c: New file.
    	* gnulib/import/getprogname.c: New file.
    	* gnulib/import/getprogname.h: New file.
    	* gnulib/import/gettext.h: New file.
    	* gnulib/import/glob-libc.h: New file.
    	* gnulib/import/glob.c: New file.
    	* gnulib/import/ New file.
    	* gnulib/import/intprops.h: New file.
    	* gnulib/import/m4/chdir-long.m4: New file.
    	* gnulib/import/m4/close.m4: New file.
    	* gnulib/import/m4/closedir.m4: New file.
    	* gnulib/import/m4/d-ino.m4: New file.
    	* gnulib/import/m4/d-type.m4: New file.
    	* gnulib/import/m4/dup.m4: New file.
    	* gnulib/import/m4/dup2.m4: New file.
    	* gnulib/import/m4/error.m4: New file.
    	* gnulib/import/m4/fchdir.m4: New file.
    	* gnulib/import/m4/fcntl.m4: New file.
    	* gnulib/import/m4/fcntl_h.m4: New file.
    	* gnulib/import/m4/fdopendir.m4: New file.
    	* gnulib/import/m4/filenamecat.m4: New file.
    	* gnulib/import/m4/fstat.m4: New file.
    	* gnulib/import/m4/fstatat.m4: New file.
    	* gnulib/import/m4/getcwd-abort-bug.m4: New file.
    	* gnulib/import/m4/getcwd-path-max.m4: New file.
    	* gnulib/import/m4/getcwd.m4: New file.
    	* gnulib/import/m4/getdtablesize.m4: New file.
    	* gnulib/import/m4/getlogin_r.m4: New file.
    	* gnulib/import/m4/getprogname.m4: New file.
    	* gnulib/import/m4/glob.m4: New file.
    	* gnulib/import/m4/gnulib-cache.m4: Regenerate.
    	* gnulib/import/m4/gnulib-comp.m4: Regenerate.
    	* gnulib/import/m4/mempcpy.m4: New file.
    	* gnulib/import/m4/memrchr.m4: New file.
    	* gnulib/import/m4/mode_t.m4: New file.
    	* gnulib/import/m4/msvc-inval.m4: New file.
    	* gnulib/import/m4/msvc-nothrow.m4: New file.
    	* gnulib/import/m4/open.m4: New file.
    	* gnulib/import/m4/openat.m4: New file.
    	* gnulib/import/m4/opendir.m4: New file.
    	* gnulib/import/m4/readdir.m4: New file.
    	* gnulib/import/m4/realloc.m4: New file.
    	* gnulib/import/m4/rewinddir.m4: New file.
    	* gnulib/import/m4/save-cwd.m4: New file.
    	* gnulib/import/m4/strdup.m4: New file.
    	* gnulib/import/m4/strerror.m4: New file.
    	* gnulib/import/m4/unistd-safer.m4: New file.
    	* gnulib/import/mempcpy.c: New file.
    	* gnulib/import/memrchr.c: New file.
    	* gnulib/import/msvc-inval.c: New file.
    	* gnulib/import/msvc-inval.h: New file.
    	* gnulib/import/msvc-nothrow.c: New file.
    	* gnulib/import/msvc-nothrow.h: New file.
    	* gnulib/import/open.c: New file.
    	* gnulib/import/openat-die.c: New file.
    	* gnulib/import/openat-priv.h: New file.
    	* gnulib/import/openat-proc.c: New file.
    	* gnulib/import/openat.c: New file.
    	* gnulib/import/openat.h: New file.
    	* gnulib/import/opendir.c: New file.
    	* gnulib/import/pipe-safer.c: New file.
    	* gnulib/import/readdir.c: New file.
    	* gnulib/import/realloc.c: New file.
    	* gnulib/import/rewinddir.c: New file.
    	* gnulib/import/save-cwd.c: New file.
    	* gnulib/import/save-cwd.h: New file.
    	* gnulib/import/strdup.c: New file.
    	* gnulib/import/strerror-override.c: New file.
    	* gnulib/import/strerror-override.h: New file.
    	* gnulib/import/strerror.c: New file.
    	* gnulib/import/unistd--.h: New file.
    	* gnulib/import/unistd-safer.h: New file.
    	* gnulib/ (IMPORTED_GNULIB_MODULES): Add
    	"getcwd" and "glob".
    	* ser-tcp.c: Undefine "close" before redefining it.

commit 0cf44ec826eab1f149285b8919aa9dc4140d8d78
Author: Jim Wilson <>
Date:   Fri Sep 22 07:58:28 2017 -0700

    [GOLD] Set non-exec stack for aarch64
    GNU-stack notes added in 2004, aarch64 port added in 2012, so no old object
    files with missing GNU-stack notes that we need to worry about.
    	* (Target_aarch64::aarch64_info): Set
    	is_default_stack_executable to false.

commit cc4d742f4ce05bf933397a513b953c0feeae0663
Author: Simon Marchi <>
Date:   Fri Sep 22 16:51:55 2017 +0200

    gdbserver x86 on win32: call init_target_desc
    When trying to run gdbserver compiled for x86 win32 under wine, I get:
      $ wine ./gdbserver/gdbserver.exe --once :1234 ./test
      /home/emaisin/src/binutils-gdb/gdb/gdbserver/regcache.c:177: A problem internal to GDBserver has been detected.
      regcache* new_register_cache(const target_desc*): Assertion `tdesc->registers_size != 0' failed.
    It seems like on that platform, init_target_desc is never called, so
    registers_size is never computed.
    My first thought was to call init_target_desc somewhere in win32-low.c,
    but it turns out that when using win32 on arm, the target description is
    already initialized by the generated code.  My second thought was to
    call it in {i386,amd64}_create_target_description, but those functions
    are shared with GDB, and init_target_desc is gdbserver-specific.  So I
    ended up with the simplest fix, calling it in i386_arch_setup.
    Now I hit some other problem:
      $ wine ./gdbserver/gdbserver.exe --once :1234 ./test
      Killing process(es): 39
      No program to debug
    but still, I think fixing the tdesc issue this is a step forward.
    	* win32-i386-low.c (i386_arch_setup): Call init_target_desc.

commit b69e9267d15a09ce3f3d4599eae2952dfc6df502
Author: H.J. Lu <>
Date:   Fri Sep 22 07:25:16 2017 -0700

    x86: Return -1 if bfd_canonicalize_dynamic_reloc returns 0
    Stop if bfd_canonicalize_dynamic_reloc returns 0.
    	PR ld/22163
    	* elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Also return
    	-1 if bfd_canonicalize_dynamic_reloc returns 0.

commit be2b629f6427812a24f38802ba1c472a2cbfab7d
Author: H.J. Lu <>
Date:   Fri Sep 22 06:58:48 2017 -0700

    Add a test for PR ld/22150
    	PR ld/22150
    	* testsuite/ld-elf/pr22150.vd: New file.
    	* testsuite/ld-elf/pr22150.ver: Likewise.
    	* testsuite/ld-elf/pr22150a.s: Likewise.
    	* testsuite/ld-elf/pr22150b.s: Likewise.
    	* testsuite/ld-elf/shared.exp: Run PR ld/22150 tests.

commit b877d21f34211915953487d68a07697f4cb4f771
Author: Pedro Alves <>
Date:   Fri Sep 22 14:57:52 2017 +0100

    bfd/version.h: Add rationale for BFD_VERSION_DATE
    2017-09-22  Pedro Alves  <>
    	    Alan Modra  <>
    	* version.h: Add comment.

commit 432ae719d35c81324e01ae6bd9970cc43e69fa5e
Author: Simon Marchi <>
Date:   Thu Sep 21 16:37:40 2017 +0200

    Fix sometimes-uninitialized warning in gdbscm_value_address
    I am getting this warning with clang:
    /home/emaisin/src/binutils-gdb/gdb/guile/scm-value.c:439:11: error: variable 'address' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
          if (res_val != NULL)
    /home/emaisin/src/binutils-gdb/gdb/guile/scm-value.c:444:32: note: uninitialized use occurs here
          if (gdbscm_is_exception (address))
    /home/emaisin/src/binutils-gdb/gdb/guile/scm-value.c:439:7: note: remove the 'if' if its condition is always true
          if (res_val != NULL)
    /home/emaisin/src/binutils-gdb/gdb/guile/scm-value.c:427:18: note: initialize the variable 'address' to silence this warning
          SCM address;
                      = nullptr
    We can get rid of it with a small refactoring.  I think it's a bit
    cleaner/safer to initialize address with a pessimistic value and assign
    it on success.  Then there's no chance of using it uninitialized.  If I
    understand correctly, the NULL check on res_val was to check whether
    value_addr threw, and that if value_addr returns without throwing, the
    result will never be NULL.  If that's true, we can skip the res_val
    Tested by running gdb.guile/*.exp locally.
    	* guile/scm-value.c (gdbscm_value_address): Initialize address,
    	get rid of res_val.

commit 4fa7574eecb9a92ef40f77de572541e402a2749e
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Fri Sep 22 10:42:45 2017 +0200

    Fix gdb 8.1 Solaris compilation
    I just tried to compile gdb trunk on Solaris 11.4 (formerly 12), and
    failed for a couple of reasons:
    In file included from /usr/include/python2.7/Python.h:128:0,
                     from /vol/src/gnu/gdb/gdb/dist/gdb/python/python-internal.h:94,
                     from /vol/src/gnu/gdb/gdb/dist/gdb/python/py-instruction.h:23,
                     from /vol/src/gnu/gdb/gdb/dist/gdb/python/py-instruction.c:21:
    /usr/include/python2.7/ceval.h:67:0: error: ignoring #pragma no_inline  [-Werror=unknown-pragmas]
     #pragma no_inline(PyEval_EvalFrameEx)
      New in Solaris 11.4: <python2.7/ceval.h> uses a Studio-only #pragma.
      I've disabled the warning in warnings.m4.
    /vol/src/gnu/gdb/gdb/dist/gdb/ser-pipe.c: In function ‘int pipe_open(serial*, const char*)’:
    /vol/src/gnu/gdb/gdb/dist/gdb/ser-pipe.c:77:9: error: ‘pid_t vfork()’ is deprecated (declared at /usr/include/unistd.h:659) [-Werror=deprecated-declarations]
       pid = vfork ();
    /vol/src/gnu/gdb/gdb/dist/gdb/ser-pipe.c:77:16: error: ‘pid_t vfork()’ is deprecated (declared at /usr/include/unistd.h:659) [-Werror=deprecated-declarations]
       pid = vfork ();
      Since Solaris 11, vfork () is marked deprecated in <unistd.h>.
      cf. vfork(2):
           The  vfork()  and vforkx() functions are deprecated. Their sole legiti-
           mate use as a prelude to an immediate call to a function from the  exec
           family can be achieved safely by posix_spawn(3C) or posix_spawnp(3C).
      Again, I've disabled the warning.
    /vol/src/gnu/gdb/gdb/dist/gdb/cli/cli-cmds.c: In function ‘void shell_escape(const char*, int)’:
    /vol/src/gnu/gdb/gdb/dist/gdb/cli/cli-cmds.c:750:14: error: ‘pid_t vfork()’ is deprecated (declared at /usr/include/unistd.h:659) [-Werror=deprecated-declarations]
       if ((pid = vfork ()) == 0)
    /vol/src/gnu/gdb/gdb/dist/gdb/cli/cli-cmds.c:750:21: error: ‘pid_t vfork()’ is deprecated (declared at /usr/include/unistd.h:659) [-Werror=deprecated-declarations]
       if ((pid = vfork ()) == 0)
      Same problem.
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c: In function ‘void procfs_init_inferior(target_ops*, int)’:
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c:4380:30: error: ‘START_INFERIOR_TRAPS_EXPECTED’ was not declared in this scope
       gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED);
      defined in nat/fork-inferior.h, need to include that header
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c: In function ‘void procfs_create_inferior(target_ops*, const char*, const string&, char**, int)’:
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c:4605:38: error: ‘fork_inferior’ was not declared in this scope
              NULL, NULL, shell_file, NULL);
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c: In function ‘void procfs_info_proc(target_ops*, const char*, info_proc_what)’:
    /vol/src/gnu/gdb/gdb/dist/gdb/procfs.c:5124:20: error: ‘argv’ was not declared in this scope
       for (char *arg : argv)
      Typo, should be built_argv instead!
    Undefined                       first referenced
     symbol                             in file
    fork_inferior(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*)) procfs.o
    startup_inferior(int, int, target_waitstatus*, ptid_t*) fork-child.o
    ld: fatal: symbol referencing errors
    collect2: error: ld returned 1 exit status
    make[2]: *** [Makefile:2249: gdb] Error 1
      Need to add fork-inferior.o to NATDEPFILES.
    With the changes below, I can build gdb on sparcv9-sun-solaris2.11 and
    amd64-pc-solaris2.11 and a simple smoke test (gdb/gdb gdb/gdb) works.

commit 7790bd6c748fc8e46c621b065562729735114f6b
Author: Alan Modra <>
Date:   Fri Sep 22 15:11:12 2017 +0930

    [GOLD] clone assert breakage
    	* (clone): Fix got_offset_list test.

commit ec76901011c5af6a565936d4ad87247c51901b58
Author: Alan Modra <>
Date:   Fri Sep 22 11:04:41 2017 +0930

    [GOLD] Set non-exec stack for ppc64
    gcc doesn't emit stack notes for ELFv1, since ELFv1 never needs an
    executable stack.  Note that ELFv1 is usually big-endian and ELFv2
    little-endian, but the ABI is really orthogonal to endiannes.
    	* (Target_powerpc<64,*>::powerpc_info): Set
    	is_default_stack_executable false.

commit 11bb0c7abcb26fcc4ce75c66c38eca1f7b3e3480
Author: Alan Modra <>
Date:   Fri Sep 22 08:27:01 2017 +0930

    readelf tests
    We have multiple tests that report failure to assemble without saying
    exactly what test is failing.
    	* testsuite/binutils-all/readelf.exp: Don't perror and exit on
    	bintest.s assembly failure.  Report tests unresolved instead.
    	Likewise for version note test, pr18374, decompress, and dw5
    	(readelf_test): Set testname to include both option and binary
    	file name.  Use for pass/fail.

commit df52f331ed2dd79fc8461784abfaf3c1a9c827dc
Author: GDB Administrator <>
Date:   Fri Sep 22 00:00:27 2017 +0000

    Automatic date update in

commit ef272caa7482bd9031e82a2e6f1b81870fe2129e
Author: Maciej W. Rozycki <>
Date:   Fri Sep 22 00:54:19 2017 +0100

    readelf: Handle E_MIPS_MACH_5900
    Fix commit e407c74b5b60 ("Support for MIPS R5900 (Sony Playstation 2)"),
    <>, and add the
    handling of E_MIPS_MACH_5900, correctly showing `5900' among `Flags:' in
    the output of `-h' rather than `unknown CPU'.
    	* readelf.c (get_machine_flags) <E_MIPS_MACH_5900>: New case.
    	* testsuite/gas/mips/elf_mach_5900.d: New test.
    	* testsuite/gas/mips/mips.exp: Run it.

commit 42c0794e961fd7922ad1358bd7221a8c85278ccc
Author: James Cowgill <>
Date:   Fri Sep 22 00:54:19 2017 +0100

    PR gas/21762: MIPS: Fix .stabs directive marking labels as MIPS16
    If a .stabs directive was used before another .set directive in a MIPS
    source file, s_mips_stab would call mips_mark_labels without having
    initialized the mips_opts structure yet.  Fix this by calling
    file_mips_check_options which will initialize mips_opts if necessary.
    	PR gas/21762
    	* config/tc-mips.c (s_mips_stab): Insert call to
    	* testsuite/gas/mips/micromips@stabs-symbol-type.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    	* testsuite/gas/mips/mips16@stabs-symbol-type.d: New test.
    	* testsuite/gas/mips/stabs-symbol-type.d: New test.
    	* testsuite/gas/mips/stabs-symbol-type.s: New test source.

commit 757bf54bb48a8417154cfdd7128c1775d43478d8
Author: Kevin Buettner <>
Date:   Thu May 5 12:39:36 2016 -0700

    Test case for Inferior.thread_from_thread_handle
    As the title says, this is a test case for
    Inferior.thread_from_thread_handle, a python method which will,
    given a thread library dependent thread handle, find the GDB thread
    which corresponds to that thread handle (in the inferior under
    The C file for this test case causes the thread handles for the
    main thread and two child threads to be placed into an array.  The
    test case runs to one of the functions (do_something()) at which point,
    it retrieves the thread handles from the array and attempts to find the
    corresponding thread in GDB's internal thread list.
    I use barriers to make sure that both threads have actually started;
    execution will stop when one of the threads breaks at do_something.
    Thanks to Simon Marchi for suggestions for forcing the thread
    numbering to be stable.
    	* gdb.python/py-thrhandle.c, gdb.python/py-thrhandle.exp: New

commit f2ff95c5837bd41848e7156aa2677498518d0d18
Author: Kevin Buettner <>
Date:   Thu Apr 6 14:55:32 2017 -0700

    Documentation for qXfer:threads:read handle attribute
    	* gdb.texinfo (qXfer:threads:read): Add documentation for handle

commit f6327dcbf0bc91bb9d99e12232d2b1a2f959fce6
Author: Kevin Buettner <>
Date:   Tue Apr 4 16:17:05 2017 -0700

    Add thread_handle_to_thread_info support for remote targets
    This patch adds support to remote targets for converting a thread
    handle to a thread_info struct pointer.
    A thread handle is fetched via a "handle" attribute which has been
    added to the qXfer:threads:read query packet.  An implementation is
    provided in gdbserver for targets using the Linux kernel.
    	* linux-low.h (struct lwp_info): Add new field, thread_handle.
    	(thread_db_thread_handle): Declare.
    	* linux-low.c (linux_target_ops): Initialize thread_handle.
    	* server.c (handle_qxfer_threads_worker): Add support for
    	"handle" attribute.
    	* target.h (struct target_ops): Add new function pointer,
    	(target_thread_handle): Define.
    	* thread-db.c (find_one_thread, attach_thread): Set thread_handle
    	field in lwp.
    	(thread_db_thread_handle): New function.
    	* remote.c (vector): Include.
    	(struct private_thread_info): Add field, thread_handle.
    	(free_private_thread_info): Deallocate storage associated with
    	thread handle.
    	(get_private_info_thread): Initialize `thread_handle' field.
    	(struct thread_item): Add field, thread_handle.
    	(clear_threads_listing_context): Deallocate storage associated
    	with thread handle.
    	(start_thread): Add support for "handle" attribute.
    	(thread_attributes): Add "handle".
    	(remote_get_threads_with_qthreadinfo): Initialize thread_handle
    	(remote_update_thread_list): Update thread_handle.
    	(remote_thread_handle_to_thread_info): New function.
    	(init_remote_ops): Initialize to_thread_handle_to_thread_info.

commit 8629910955a751a93f2f12389ff1f497556cc260
Author: Kevin Buettner <>
Date:   Tue Apr 4 15:25:43 2017 -0700

    Add thread_db_notice_clone to gdbserver
    While working on a patch for fetching a thread handle in gdbserver, I
    ran into a circumstance in which tests in gdb.mi/mi-nsmoribund.exp
    would occasionally fail.  Over a large enough number of runs, it would
    fail roughly 2% of the time.
    That thread handle patch caused find_one_thread() to be called on
    every stop.  find_one_thread() calls td_ta_map_lwp2thr() which, in
    turn, can cause ps_get_thread_area() to be called.
    ps_get_thread_area() makes a call to ptrace() for getting the thread
    area address.  If this should happen when the thread is not stopped,
    the call to ptrace will return error which in turn propogates back to
    find_one_thread().  find_one_thread() calls error() in this instance
    which causes the program to die.
    This patch causes find_one_thread() to be called upon reciept of a
    clone event.  Since the clone is stopped, the circumstances described
    above cannot occur.
    	* linux-low.c (handle_extended_wait): Call thread_db_notice_clone().
    	* linux-low.h (thread_db_notice_clone): Declare.
    	* thread-db.c (thread_db_notice_clone): New function.

commit da2c323bff3405add97c37333668de3aad36ec70
Author: Kevin Buettner <>
Date:   Wed May 4 16:46:50 2016 -0700

    Documentation for Inferior.thread_from_thread_handle
    	* python.texi (Inferiors In Python): Add description for method

commit fbbe5337a6d839309c0415765803a19f3e38f6e4
Author: Kevin Buettner <>
Date:   Wed May 4 16:23:08 2016 -0700

    Add `thread_from_thread_handle' method to (Python) gdb.Inferior
    	* python/py-inferior.c (gdbpy_thread_from_thread_handle): New
    	(inferior_object_methods): Add gdbpy_thread_from_thread_handle.
    	* python/python-internal.h (thread_object_type): Declare.

commit e04ee09e24563f013c35cdebd7e9de3092b99b83
Author: Kevin Buettner <>
Date:   Wed May 4 15:21:12 2016 -0700

    Add target method for converting thread handle to thread_info struct pointer
    This patch adds a target method named `to_thread_handle_to_thread_info'.
    It is intended to map a thread library specific thread handle (such as
    pthread_t for the pthread library) to the corresponding GDB internal
    thread_info struct (pointer).
    An implementation is provided for Linux pthreads; see linux-thread-db.c.
    	* target.h (struct target_ops): Add to_thread_handle_to_thread_info.
    	(target_thread_handle_to_thread_info): Declare.
    	* target.c (target_thread_handle_to_thread_info): New function.
    	* target-delegates.c: Regenerate.
    	* gdbthread.h (find_thread_by_handle): Declare.
    	* thread.c (find_thread_by_handle): New function.
    	* linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
    	(init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.

commit f557a88ab120b75ddcc507c03d565c28e5f88c16
Author: Pedro Alves <>
Date:   Thu Sep 21 16:52:33 2017 +0100

    gdbserver: Remove traces of ancient Hc handling
    Back in commit f0db101d9897 ("gdbserver: don't pick a random thread if
    the current thread dies"), a couple years ago, the last references to
    set_desired_thread(0) [select the Hc thread] were removed, and all the
    remaining calls to set_desired_thread pass '1', meaning general
    thread.  This means we can simplify set_desired_thread.
    2017-09-21  Pedro Alves  <>
    	* server.c (gdb_read_memory, handle_status, process_serial_event)
    	(handle_serial_event, handle_target_event): Adjust to
    	set_desired_thread prototype change.
    	* target.c (set_desired_thread): Remove 'use_general' parameter
    	and adjust.
    	* target.h (set_desired_thread): Remove 'use_general' parameter.

commit 8fe09d7421db51bc13c9228547d63e6315bd6bd0
Author: Andreas Arnez <>
Date:   Thu Sep 21 17:45:18 2017 +0200

    S/390: Fix Elf note swap s390_gs_bc vs. s390_gs_cb
    Fix two typos that resulted in swapping the BFD names for the core note
    register sections NT_S390_GS_CB and NT_S390_GS_BC.
    	* elf.c (elfcore_grok_note): For the cases NT_S390_GS_CB and
    	NT_S390_GS_BC, correct the previously swapped invocations of
    	elfcore_grok_s390_gs_bc and elfcore_grok_s390_gs_cb.

commit ba52cbb9d024f2e51bd50fac36a18a15ab88344c
Author: Alan Modra <>
Date:   Thu Sep 21 09:54:04 2017 +0930

    Reduce excessive .eh_frame alignment for powerpc
    PowerPC64 .cfi directives use DW_EH_PE_sdata4 encoding for .eh_frame,
    so there is no real reason why .eh_frame should be 8 byte aligned.
    	* config/tc-ppc.h (EH_FRAME_ALIGNMENT): Define.
    	* testsuite/ld-powerpc/ Update for reduced alignment.

commit 1e5b66ed4285ecf063e7801a46178ebb0ce5be41
Author: Simon Marchi <>
Date:   Thu Sep 21 15:19:40 2017 +0200

    linux-waitpid: Get rid of format string warning
    Clang gives this warning:
    /home/emaisin/src/binutils-gdb/gdb/gdbserver/../nat/linux-waitpid.c:45:25: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
          vfprintf (stderr, format, args);
    Get rid of it by adding ATTRIBUTE_PRINTF.
    	* nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.

commit ebe48ba0856dcccaa7a60d873c61e6f1f96f5887
Author: Simon Marchi <>
Date:   Thu Sep 21 14:09:33 2017 +0200

    microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug
    I am getting this warning with clang:
    /home/emaisin/src/binutils-gdb/gdb/microblaze-tdep.c:94:28: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
           vprintf_unfiltered (fmt, args);
    Adding ATTRIBUTE_PRINTF to microblaze_debug gets rid of it.  Strangely,
    gcc doesn't warn about non-literal format strings when calling vprintf
    (or a vprintf-style function, like vprintf_unfiltered).  I filed this
    gcc bug:
    	* microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.

commit 0a0bf5dc149ad79b325cdffb6b4e57be6c5ecbc2
Author: Yao Qi <>
Date:   Thu Sep 21 09:19:23 2017 +0100

    Fix aarch64-freebsd build failure
    I happen to see that fbsd-tdep.o is missing for target aarch64-freebsd,
    and it causes the build failure,
    aarch64-fbsd-tdep.o: In function `aarch64_fbsd_init_abi(gdbarch_info, gdbarch*)':
    binutils-gdb/gdb/aarch64-fbsd-tdep.c:186: undefined reference to `fbsd_init_abi(gdbarch_info, gdbarch*)'
    binutils-gdb/gdb/aarch64-fbsd-tdep.c:189: undefined reference to `svr4_lp64_fetch_link_map_offsets()'
    binutils-gdb/gdb/aarch64-fbsd-tdep.c:189: undefined reference to `set_solib_svr4_fetch_link_map_offsets(gdbarch*, link_map_offsets* (*)())'
    This patch fixed it.
    2017-09-21  Yao Qi  <>
    	* configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
    	to gdb_target_obs.

commit ea5cf0fe291966845fb62f173d407a0dad69819b
Author: Nick Clifton <>
Date:   Thu Sep 21 09:04:43 2017 +0100

    oops - changelog entry omitted from previous delta

commit 88240b186d224d634633d9996832f1235364b6d4
Author: Yao Qi <>
Date:   Thu Sep 21 09:02:25 2017 +0100

    [SIM, ARM] Fix build failure
    This patch fixes the build failure by using disassembler to get
    disassemble function pointer, and do the disassembly, because
    print_insn_little_arm is no longer visible outside opcodes/
    binutils-gdb/sim/arm/wrapper.c:98:10: error: implicit declaration of function 'print_insn_little_arm' [-Werror=implicit-function-declaration]
       size = print_insn_little_arm (0, & info);
    2017-09-21  Yao Qi  <>
    	* wrapper.c (print_insn): Use disassembler instead of

commit d1b0a7bfd3df05fd2009b62b19b7535bbc6555c0
Author: Tom Tromey <>
Date:   Mon Aug 21 21:51:11 2017 -0600

    Change counted_command_line to a shared_ptr
    This changes counted_command_line to be a typedef for std::shared_ptr
    and removes the associated cleanups.  In the long run I believe that
    cmd_list_element should also be changed to use a shared_ptr.
    2017-09-20  Tom Tromey  <>
    	* breakpoint.c (struct counted_command_line): Remove.
    	(breakpoint_commands): Update.
    	(alloc_counted_command_line, incref_counted_command_line)
    	(decref_counted_command_line, do_cleanup_counted_command_line)
    	(make_cleanup_decref_counted_command_line): Remove.
    	(breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
    	(bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
    	(bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
    	(save_breakpoints): Update.
    	* breakpoint.h (counted_command_line): Now a typedef to
    	(struct breakpoint) <commands>: Now a counted_command_line.
    	(struct bpstats) <command>: Likewise.

commit 48649e1bfe2ef4cceff15a34e5a9e37201894ecd
Author: Tom Tromey <>
Date:   Mon Aug 21 21:37:45 2017 -0600

    Use function_view in a couple of places in breakpoint.c
    This changes iterate_over_related_breakpoints and
    map_breakpoint_numbers to take a function_view.  Then, it simplifies
    the callers by using lambdas.  This then allows the removal of some
    bookkeeping types.
    2017-09-20  Tom Tromey  <>
    	* breakpoint.c (struct commands_info, do_map_commands_command):
    	(commands_command_1): Update.
    	(iterate_over_related_breakpoints): Take a function_view.
    	(do_delete_breakpoint, do_map_delete_breakpoint): Remove.
    	(delete_command): Update.
    	(map_breakpoint_numbers): Take a function_view.
    	(do_disable_breakpoint, do_map_delete_breakpoint): Remove.
    	(disable_command): Update.
    	(do_enable_breakpoint, do_map_enable_breakpoint): Remove.
    	(enable_command): Update.
    	(struct disp_data, do_enable_breakpoint_disp)
    	(do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
    	(do_map_enable_delete_breakpoint): Remove.
    	(enable_once_command, enable_count_command, enable_delete_command)
    	(delete_trace_variable_command): Update.

commit 04afa70c8e1c931dd44db76eb9f0ddd4949ed00c
Author: Tom Tromey <>
Date:   Mon Aug 21 21:08:59 2017 -0600

    Allocate bpstats with new
    This changes struct bpstats to be allocated with new and freed with
    delete, adding constructors and a destructor in the process.  This
    allows the removal of one cleanup and clears the way for more to
    2017-09-20  Tom Tromey  <>
    	* breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
    	(bpstat_clear): Use delete.
    	(bpstats): New constructors.
    	(bpstat_copy, bpstat_stop_status): Use new.
    	(dprintf_after_condition_true): Update.
    	* breakpoint.h (bpstats::bpstats): Add constructors.
    	(bpstats::~bpstats): Add destructor.

commit f5b358c8aa564c58b0a3201b82cc782124d80bb9
Author: GDB Administrator <>
Date:   Thu Sep 21 00:00:27 2017 +0000

    Automatic date update in

commit c83833f49353e1fe7fa727291210be751161ade1
Author: Pedro Alves <>
Date:   Thu Sep 21 00:34:41 2017 +0100

    eval.c:evaluate_subexp_standard: Use RAII to avoid leaks
    While working on the no-debug-info debugging improvements series, I
    noticed these bare xfree calls, which lead to leaks if
    evaluate_subexp_standard throws.
    Fix that by reworking make_params as a RAII class.  Ends up
    eliminating a couple heap allocations too.
    2017-09-20  Pedro Alves  <>
    	* eval.c (make_params): Delete, refactored as ...
    	(class fake_method): ... this new type's ctor.
    	(fake_method::~fake_method): New.
    	(evaluate_subexp_standard): Use 'fake_method'.

commit ca464aac1b0a444f7debb8fc1e5e8b3f30602a35
Author: Teresa Johnson <>
Date:   Wed Sep 20 15:43:37 2017 -0700

    Check for export dynamic symbol options when doing symbol resolution in plugins.
    2017-09-20  Teresa Johnson  <>
    	* (is_visible_from_outside): Check for export dynamic symbol
            option and list.
    	* testsuite/ (plugin_test_12): New test.
    	* testsuite/ Regenerate.
    	* testsuite/ New test source.
    	* testsuite/ New test script.

commit 223ffa714ce1cf1dc6e0c361189fa80417ff90d9
Author: Tom Tromey <>
Date:   Tue Sep 19 21:56:36 2017 -0600

    Remove make_cleanup_restore_target_terminal
    This removes make_cleanup_restore_target_terminal and generally
    C++-ifies target terminal handling.  It changes all target_terminal_*
    functions to be static members of a new target_terminal class and
    changes the cleanup to be a scoped_* class.
    make_cleanup_override_quit_handler is also removed in favor of simply
    using scoped_restore.
    Note that there are some files in this patch that I could not compile.
    Considering that some of the rewrites were automated, and that none of
    these files involed cleanups, I feel that this is relatively safe.
    Regression tested by the buildbot.
    2017-09-20  Tom Tromey  <>
    	* windows-nat.c (get_windows_debug_event, windows_wait)
    	(do_initial_windows_stuff, windows_attach): Update.
    	* utils.c (vwarning, internal_vproblem): Update.
    	(prepare_to_handle_input): Remove.
    	(class scoped_input_handler): New.
    	(defaulted_query, prompt_for_continue): Update.
    	* tui/tui-hooks.c (tui_refresh_frame_and_register_information):
    	* top.c (undo_terminal_modifications_before_exit): Update.
    	* target/target.h (target_terminal_init, target_terminal_inferior)
    	(target_terminal_ours): Don't declare.
    	(class target_terminal): New.
    	* target.h (target_terminal_is_inferior, target_terminal_is_ours)
    	(make_cleanup_restore_target_terminal): Don't declare.
    	(target_terminal_info): Remove.
    	* target.c (enum terminal_state, terminal_state): Remove.
    	(target_terminal::terminal_state): Define.
    	(target_terminal::init): Rename from target_terminal_init.
    	(target_terminal::inferior): Rename from
    	(target_terminal::ours): Rename from target_terminal_ours.
    	(target_terminal::ours_for_output): Rename from
    	(target_terminal::info): New method.
    	(make_cleanup_restore_target_terminal): Remove.
    	* solib.c (handle_solib_event): Update.
    	* remote.c (remote_serial_quit_handler): Update.
    	(remote_terminal_inferior, remote_wait_as): Update.
    	* record-full.c (record_full_wait_1): Update.
    	* nto-procfs.c (procfs_create_inferior): Update.
    	* nat/fork-inferior.c (startup_inferior): Update.
    	* mi/mi-interp.c (mi_new_thread, mi_thread_exit)
    	(mi_record_changed, mi_inferior_added, mi_inferior_appeared)
    	(mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
    	(mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
    	(mi_breakpoint_created, mi_breakpoint_deleted)
    	(mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
    	(mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
    	(mi_user_selected_context_changed, report_initial_inferior):
    	* linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
    	(linux_nat_terminal_inferior): Update.
    	* infrun.c (follow_fork_inferior)
    	(handle_vfork_child_exec_or_exit, do_target_resume)
    	(check_curr_ui_sync_execution_done, handle_inferior_event_1)
    	(handle_signal_stop, maybe_remove_breakpoints, normal_stop):
    	* inflow.c (child_terminal_init, info_terminal_command): Update.
    	* infcmd.c (post_create_inferior, continue_1, prepare_one_step)
    	(attach_command): Update.
    	* infcall.c (call_thread_fsm_should_stop): Update.
    	* gnu-nat.c (gnu_attach): Update.
    	* extension.c (struct active_ext_lang_state)
    	(restore_active_ext_lang): Update.
    	* exceptions.c (print_flush): Update.
    	* event-top.c (async_enable_stdin, default_quit_handler): Update.
    	(struct quit_handler_cleanup_data, restore_quit_handler)
    	(restore_quit_handler_dtor, make_cleanup_override_quit_handler):
    	* cp-support.c (gdb_demangle): Update.
    	* breakpoint.c (update_inserted_breakpoint_locations)
    	(insert_breakpoint_locations, handle_jit_event)
    	(disable_breakpoints_in_unloaded_shlib): Update.
    	* annotate.c (annotate_breakpoints_invalid)
    	(annotate_frames_invalid): Update.
    2017-09-20  Tom Tromey  <>
    	* target.c (target_terminal::terminal_state): Define.
    	(target_terminal::init): Rename from target_terminal_init.
    	(target_terminal::inferior): Rename from
    	(target_terminal::ours): Rename from target_terminal_ours.
    	(target_terminal::ours_for_output, target_terminal::info): New.

commit 013af3fc8eba48d081f0e83303cd800097e5b7a8
Author: Tom Tromey <>
Date:   Tue Sep 12 14:14:33 2017 -0600

    Overload catch_command_errors
    This changes catch_command_errors_const to be an overload of
    catch_command_errors, which may mildly help future constification
    Tested by rebuilding.
    2017-09-20  Tom Tromey  <>
    	* main.c (catch_command_errors): Rename from
    	(captured_main_1): Update.

commit 06871ae84096ed1672eb76f44cea4d5dbe79ae24
Author: Pedro Alves <>
Date:   Wed Sep 20 16:12:54 2017 +0100

    Make "list ambiguous" show symbol names too
    Currently, with an ambiguous "list first,last", we get:
      (gdb) list bar,main
      Specified first line 'bar' is ambiguous:
      file: "src/gdb/testsuite/gdb.cp/", line number: 97
      file: "src/gdb/testsuite/gdb.cp/", line number: 98
    This commit makes gdb's output above a bit clearer by printing the
    symbol name as well:
      (gdb) list bar,main
      Specified first line 'bar' is ambiguous:
      file: "src/gdb/testsuite/gdb.cp/", line number: 97, symbol: "bar(A)"
      file: "src/gdb/testsuite/gdb.cp/", line number: 98, symbol: "bar(B)"
    And while at it, makes gdb print the symbol name when actually listing
    multiple locations too.  I.e., before (with "set listsize 2"):
      (gdb) list bar
      file: "src/gdb/testsuite/gdb.cp/", line number: 97
      97      int bar (A) { return 11; }
      file: "src/gdb/testsuite/gdb.cp/", line number: 98
      97      int bar (A) { return 11; }
      98      int bar (B) { return 22; }
      (gdb) list bar
      file: "src/gdb/testsuite/gdb.cp/", line number: 97, symbol: "bar(A)"
      97      int bar (A) { return 11; }
      file: "src/gdb/testsuite/gdb.cp/", line number: 98, symbol: "bar(B)"
      97      int bar (A) { return 11; }
      98      int bar (B) { return 22; }
    Currently, the result of decoding a linespec loses information about
    the original symbol that was found.  All we end up with is an address.
    This makes it difficult to find the original symbol again to get at
    its print name.  Fix that by storing a pointer to the symbol in the
    sal.  We already store the symtab and obj_section, so it feels like a
    natural progression to me.  This avoids having to do any extra symbol
    lookup too.
    2017-09-20  Pedro Alves  <>
    	* cli/cli-cmds.c (list_command): Use print_sal_location.
    	(print_sal_location): New function.
    	(ambiguous_line_spec): Use print_sal_location.
    	* linespec.c (symbol_to_sal): Record the symbol in the sal.
    	* symtab.c (find_function_start_sal): Likewise.
    	* symtab.h (symtab_and_line::symbol): New field.
    2017-09-20  Pedro Alves  <>
    	* gdb.base/list-ambiguous.exp (test_list_ambiguous_symbol): Expect
    	symbol names in gdb's output.
    	* gdb.cp/overload.exp ("list all overloads"): Likewise.

commit e5f25bc5d6dba5a5c4dd36e08afd57e918c63dea
Author: Pedro Alves <>
Date:   Wed Sep 20 16:12:54 2017 +0100

    Fix "list ambiguous_variable"
    The "list" command allows specifying the name of variables as
    argument, not just functions, so that users can type "list
    That support is a broken when it comes to ambiguous locations though.
    If there's more than one such global variable in the program, e.g.,
    static globals in different compilation units, GDB ends up listing the
    source of the first variable it finds, only.
    linespec.c does find both symbol and minsym locations for all the
    globals.  The problem is that it ends up merging all the resulting
    sals into one, because they all have address, zero.  I.e., all sals
    end up with sal.pc == 0, so maybe_add_address returns false for all
    but the first.
    The zero addresses appear because:
    - in the minsyms case, linespec.c:minsym_found incorrectly treats all
      minsyms as if they were function/text symbols.  In list mode we can
      end up with data symbols there, and we shouldn't be using
      find_pc_sect_line on data symbols.
    - in the debug symbols case, symbol_to_sal misses recording an address
      (sal.pc) for non-block, non-label symbols.
    2017-09-20  Pedro Alves  <>
    	* linespec.c (minsym_found): Handle non-text minsyms.
    	(symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
    2017-09-20  Pedro Alves  <>
    	* gdb.base/list-ambiguous.exp (test_list_ambiguous_function):
    	Rename to ...
    	(test_list_ambiguous_symbol): ... this and add a symbol name
    	parameter.  Adjust.
    	(test_list_ambiguous_function): Reimplement on top of
    	test_list_ambiguous_symbol and also test listing ambiguous
    	* gdb.base/list-ambiguous0.c (ambiguous): Rename to ...
    	(ambiguous_fun): ... this.
    	(ambiguous_var): New.
    	* gdb.base/list-ambiguous1.c (ambiguous): Rename to ...
    	(ambiguous_fun): ... this.
    	(ambiguous_var): New.

commit 1b7fa39ed9678fded7264636c1e5cc14c6d6ebc6
Author: Walfred Tedeschi <>
Date:   Wed Sep 20 15:24:47 2017 +0200

    [OBV] amd64-features-makefile: add missing backslash.
    In an old commit the backslash of was missing in the rule for creating the
    i386-avx-mpx-avx512-pku.dat file.  No need to regenerate the files, this
    was done by another commit from Yao.
    2017-09-20  Walfred Tedeschi  <>
    	* features/Makefile (i386-avx-mpx-avx512-pku.dat): Add backslash.

commit 37dd0825964048f8cb2b1ec0e5e43ab73b8bb69c
Author: Walfred Tedeschi <>
Date:   Wed Sep 20 14:47:04 2017 +0200

    add ChangeLog from previous commit

commit 6470a84860b11ba6e7258604ae78f047a1af2f5d
Author: Walfred Tedeschi <>
Date:   Wed Sep 20 13:42:21 2017 +0200

    gdb - avx512: tests were failing due to missing memory aligment.
    Test was running on a fault during code execution.  Analysis have shown
    that the wrong instruction had been used.  An instruction that takes
    not alligned memory is more appropriated for the task.
    2017-09-20  Walfred Tedeschi  <>
    	* gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
    	vmovups instead vmovaps.
    	(move_zmm_data_to_memory): Use vmovups instead vmovaps.
    Change-Id: I4a95560861ef1792ed6ce86578fdd726162863f1

commit 64b5d6d785eb4c337b7c071ab9607186541a8b14
Author: Alan Modra <>
Date:   Wed Sep 20 09:17:56 2017 +0930

    [GOLD] PowerPC function address in non-PIC
    ppc32, like many targets, defines the address of a function as the PLT
    call stub code for functions referenced but not defined in a non-PIC
    executable.  ppc32 gold, unlike other targets, inherits the ppc64
    multiple stub capability for dealing with very large binaries where
    one set of stubs can't be reached from all code locations.  This means
    there can be multiple choices of address for a function, which might
    cause function pointer comparison failures.  So for ppc32, make
    non-branch references always use the first stub group.
    (PowerPC64 ELFv1 is always PIC so doesn't need to define the address
    of an external function as the PLT stub.  PowerPC64 ELFv2 needs a
    special set of global entry stubs to serve as the address of external
    functions, so it too is not affected by this bug.)
    	* (Target_powerpc::Branch_info::make_stub): Put
    	stubs for ppc32 non-branch relocs in first stub table.
    	(Target_powerpc::Relocate::relocate): Resolve similarly.

commit dba74cb2b725ee8857dee865fb7f49c86aad1aed
Author: GDB Administrator <>
Date:   Wed Sep 20 00:00:30 2017 +0000

    Automatic date update in

commit 4e5a4f5850487740eb7549f1d0b8625ce577faab
Author: John Baldwin <>
Date:   Mon Sep 11 14:57:37 2017 -0700

    Add a 'starti' command.
    This works like 'start' but it stops at the first instruction rather
    than the first line in main().  This is useful if one wants to single
    step through runtime linker startup.
    While here, introduce a RUN_ARGS_HELP macro for shared help text
    between run, start, and starti.  This includes expanding the help for
    start and starti to include details from run's help text.
    	* NEWS (Changes since GDB 8.0): Add starti.
    	* infcmd.c (enum run_break): New.
    	(run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
    	(run_command): Use enum run_how.
    	(start_command): Likewise.
    	(starti_command): New function.
    	(RUN_ARGS_HELP): New macro.
    	(_initialize_infcmd): Use RUN_ARGS_HELP for run and start
    	commands.  Add starti command.
    	* gdb.texinfo (Starting your Program): Add description of
    	starti command.  Mention starti command as an alternative for
    	debugging the elaboration phase.
    	* gdb.base/starti.c: New file.
    	* gdb.base/starti.exp: New file.
    	* lib/gdb.exp (gdb_starti_cmd): New procedure.

commit b7f54058d9cd409ada192bfefd4c99c98caaef2e
Author: Maciej W. Rozycki <>
Date:   Tue Sep 19 15:20:41 2017 +0100

    MIPS/LD: Add OpenBSD/mips64 support
    Complement commit 26eebcf553d7 ("Update OpenBSD/mips64 support"),
    <>, which added
    OpenBSD/mips64 support to GAS, and also add it to LD, avoiding a build
    failure at the configuration stage, like:
    *** ld does not support target mips64-unknown-openbsd
    *** see ld/configure.tgt for supported targets
    make[1]: *** [configure-ld] Error 1
    As per OS support only include n64 MIPS emulations, and use the
    traditional ones, matching the choice already made with the addition of
    GAS support.
    	* configure.tgt <mips64el-*-openbsd*, mips64-*-openbsd*>: New

commit aa70c9f1950b25b48f8fd6770f5d38a8252c24a4
Author: Yao Qi <>
Date:   Tue Sep 19 10:18:57 2017 +0100

    Remove one explicit rule for monitor.o
    gdb/monitor.c was removed by 40e0b27 (Delete the remaining ROM monitor
    2017-09-19  Yao Qi  <>
    	* (monitor.o): Remove the rule.

commit d6541620447f43985b34e9a39488bafb38158221
Author: Yao Qi <>
Date:   Tue Sep 19 10:10:03 2017 +0100

    We have many classes that copy cotr and assignment operator are deleted,
    so this patch replaces these existing mechanical code with macro
    2017-09-19  Yao Qi  <>
    	* annotate.h (struct annotate_arg_emitter): Use
    	* common/refcounted-object.h (refcounted_object): Likewise.
    	* completer.h (struct completion_result): Likewise.
    	* dwarf2read.c (struct dwarf2_per_objfile): Likewise.
    	* filename-seen-cache.h (filename_seen_cache): Likewise.
    	* gdbcore.h (thread_section_name): Likewise.
    	* gdb_regex.h (compiled_regex): Likewise.
    	* gdbthread.h (scoped_restore_current_thread): Likewise.
    	* inferior.h (scoped_restore_current_inferior): Likewise.
    	* jit.c (jit_reader): Likewise.
    	* linespec.h (struct linespec_result): Likewise.
    	* mi/mi-parse.h (struct mi_parse): Likewise.
    	* nat/fork-inferior.c (execv_argv): Likewise.
    	* progspace.h (scoped_restore_current_program_space): Likewise.
    	* python/python-internal.h (class gdbpy_enter): Likewise.
    	* regcache.h (regcache): Likewise.
    	* target-descriptions.c (struct tdesc_reg): Likewise.
    	(struct tdesc_type): Likewise.
    	(struct tdesc_feature): Likewise.
    	* ui-out.h (ui_out_emit_type): Likewise.

commit 25516cc573ff3551a7ac0538e1d3de5811c7199e
Author: Alan Modra <>
Date:   Tue Sep 19 13:22:49 2017 +0930

    PowerPC64 stubs don't match calculated size
    After the PR 21411 fix, the linker generated .eh_frame for ppc64 glink
    can be edited by the generic code.  The sequence of events goes
    something like:
    1) Some object file adds .eh_frame aligned to 8, making the output
       .eh_frame aligned to at least 8, so linker generated .eh_frame FDE
       is padded to an 8 byte boundary.
    2) All .eh_frame past the glink .eh_frame is garbage collected.
    3) Generic code detects that last FDE (the glink .eh_frame) doesn't
       need to be padded to an 8 byte boundary, reducing size from 88 to
    4) elf64-ppc.c check fails.
    	PR 21441
    	* elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame

commit 3d13f3e9bda5aada68915f5d958f731ae79ed41d
Author: Alan Modra <>
Date:   Tue Sep 19 11:59:30 2017 +0930

    PR22150, ld keeps a version reference for gc'd symbols
    elf_gc_sweep_symbol should run after verdefs are calculated, since
    the verdef code creates symbols for the versions.  However,
    elf_gc_sweep_symbol needs to run before verrefs so as to not emit
    useless verrefs for symbols that are gc'd.
    I've also removed a _bfd_elf_link_renumber_dynsyms calls added by
    Maciej after I fussed about it when reviewing.  On further examination
    the call appears to be unnecessary.  Looking at renumber_dynsyms also
    made me realize that the test to exclude .gnu.version has been wrong
    since 2016-04-26 (git commit d5486c4372), so fix that too.
    	PR 22150
    	* elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
    	symbols before calculating verrefs.  Don't renumber dynsyms
    	after gc.  Exclude .gnu.version when zero or one dynsym.
    	Localize some vars and reindent.

commit ab502e635e78a6c6c9c8abf3072bfeedaca9c26f
Author: Alan Modra <>
Date:   Tue Sep 19 11:45:51 2017 +0930

    [GOLD, PowerPC] Add --no-stub-group-multi
    The trouble with stubs per output section is that ppc32 uses a plt
    stub as the address of a global function.  This needs to be unique,
    otherwise we'll get multiple addresses for a function.
    Obviously this is only a partial solution, since ppc32 will get
    multiple stubs when code is larger than 33M.  A proper fix will
    involve selecting a unique stub to use for non-branch relocs.
    	* options.h (stub-group-multi): Default to true.  Add

commit ced154d810b8e6ef10449030ba94fc8e66add468
Author: GDB Administrator <>
Date:   Tue Sep 19 00:00:29 2017 +0000

    Automatic date update in

commit 94670f6cf11fc29cc6db6814b38c4305d9bcac96
Author: H.J. Lu <>
Date:   Mon Sep 18 13:05:25 2017 -0700

    Check error return from bfd_canonicalize_dynamic_reloc
    Since bfd_canonicalize_dynamic_reloc returns -1 on error, check it in
    	PR ld/22148
    	* elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Check error
    	return from bfd_canonicalize_dynamic_reloc.

commit 0615127c587253a6386fe49468fd64abf827273e
Author: Simon Marchi <>
Date:   Mon Sep 18 13:09:20 2017 +0200

    dwarf2expr: Remove unused abort_expression label in execute_stack_op
    The label abort_expression is unused, so remove it.
    	* dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
    	label abort_expression.

commit e4114cb89e65c53839d5beb80cec956476ecb5dc
Author: Nick Clifton <>
Date:   Mon Sep 18 09:21:38 2017 +0100

    [PATCH] Sync libiberty/ & include/ with GCC - addendum: update elfcpp/dwarf.h with the new DW_CFA_DUP macro.
    From the original email:
      Note this brings in the interface files for libcc1/G++ as well, which
      we will be needing in GDB soon anyway.  That commit renamed a method
      in the C interface and that required a small update to GDB's compile/
      code, which I've included that in this patch to keep the tree
    From the follow up email:
      That breaks gold:
      g++ -DHAVE_CONFIG_H -I. -I../../binutils/gold  -I../../binutils/gold -I../../binutils/gold/../include -I../../binutils/gold/../elfcpp -DLOCALEDIR="\"/usr/share/locale\"" -DBINDIR="\"/usr/bin\"" -DTOOLBINDIR="\"/usr/x86_64-linux/bin\"" -DTOOLLIBDIR="\"/usr/x86_64-linux/lib\""   -W -Wall    -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=dwarf_reader.o  -O2 -g -MT dwarf_reader.o -MD -MP -MF .deps/dwarf_reader.Tpo -c -o dwarf_reader.o ../../binutils/gold/
      In file included from ../../binutils/gold/../elfcpp/dwarf.h:83:0,
                       from ../../binutils/gold/
      ../../binutils/gold/../include/dwarf2.def:781:1: error: expected ?}? before ?DW_CFA_DUP?
       DW_CFA_DUP (DW_CFA_AARCH64_negate_ra_state, 0x2d)

commit 35d3b1d74fd5e17174c97dac422f8c8d4ca0d8b8
Author: GDB Administrator <>
Date:   Mon Sep 18 00:00:30 2017 +0000

    Automatic date update in

commit d9d0d1bc3f90ce4c1a86070a9832f706f2fb9200
Author: GDB Administrator <>
Date:   Sun Sep 17 00:00:32 2017 +0000

    Automatic date update in

commit 04fd3ba9b63936653fff2b1657b3824c94a8efd6
Author: Simon Marchi <>
Date:   Sat Sep 16 14:22:11 2017 +0200

    Refactor handle_qxfer_libraries and friends to use std::string
    Using std::string in handle_qxfer_libraries and friends allow to
    simplify the code.  We don't have to manually free the buffer, and we
    don't have to pre-compute the required space.
    	* server.c (accumulate_file_name_length): Remove.
    	(emit_dll_description): Adjust to std::string change.
    	(handle_qxfer_libraries): Use std::string to hold document.

commit 5e1875543df7413d3cbc3831390445e347064b75
Author: Simon Marchi <>
Date:   Sat Sep 16 14:19:31 2017 +0200

    Make xml_escape_text return an std::string
    This is a simple replacement, it allows removing some manual free'ing in
    the callers.
    	* common/buffer.c (buffer_xml_printf): Adjust.
    	* common/xml-utils.c (xml_escape_text): Change return type to
    	std::string, update code accordingly.
    	* common/xml-utils.h (xml_escape_text): Change return type to
    	* rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
    	* windows-tdep.c (windows_xfer_shared_library): Adjust.
    	* unittests/xml-utils-selftests.c (test_xml_escape_text):
    	* linux-low.c (linux_qxfer_libraries_svr4): Adjust to change of
    	return type of xml_escape_text.
    	* server.c (emit_dll_description): Likewise.

commit c3d7b541fa920e6ecb0f06ffe1e0e3f070fa295d
Author: Simon Marchi <>
Date:   Sat Sep 16 14:16:27 2017 +0200

    Add unit test for xml_escape_text
    The following patch modifies xml_escape_text, so I took the opportunity
    to write a unit test for it.
    	* (SUBDIR_UNITTESTS_SRCS): Add new source file.
    	(SUBDIR_UNITTESTS_OBS): Add new object file.
    	* unittests/xml-utils-selftests.c: New file.

commit 1526853e34c063bef25bd7d0eb15c1449c28e999
Author: Simon Marchi <>
Date:   Sat Sep 16 14:06:03 2017 +0200

    Add selftests run filtering
    With the growing number of selftests, I think it would be useful to be
    able to run only a subset of the tests.  This patch associates a name to
    each registered selftest.  It then allows doing something like:
      (gdb) maintenance selftest aarch64
      Running self-tests.
      Running selftest aarch64-analyze-prologue.
      Running selftest aarch64-process-record.
      Ran 2 unit tests, 0 failed
    or with gdbserver:
      ./gdbserver --selftest=aarch64
    In both cases, only the tests that contain "aarch64" in their name are
    ran.  To help validate that the tests you want to run were actually ran,
    it also prints a message with the test name before running each test.
    Right now, all the arch-dependent tests are registered as a single test
    of the selftests.  To be able to filter those too, I made them
    "first-class citizen" selftests.  The selftest type is an interface,
    with different implementations for "simple selftests" and "arch
    selftests".  The run_tests function simply iterates on that an invokes
    operator() on each test.
    I changed the tests data structure from a vector to a map, because
      - it allows iterating in a stable (alphabetical) order
      - it allows to easily verify if a test with a given name has been
        registered, to avoid duplicates
    There's also a new command "maintenance info selftests" that lists the
    registered selftests.
    	* common/selftest.h (selftest): New struct/interface.
    	(register_test): Add name parameter, add new overload.
    	(run_tests): Add filter parameter.
    	(for_each_selftest_ftype): New typedef.
    	(for_each_selftest): New declaration.
    	* common/selftest.c (tests): Change type to
    	map<string, unique_ptr<selftest>>.
    	(simple_selftest): New struct.
    	(register_test): New function.
    	(register_test): Add name parameter and use it.
    	(run_tests): Add filter parameter and use it.  Add prints.
    	Adjust to vector -> map change.
    	* aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
    	registering selftests.
    	* arm-tdep.c (_initialize_arm_tdep): Likewise.
    	* disasm-selftests.c (_initialize_disasm_selftests): Likewise.
    	* dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
    	* dwarf2loc.c (_initialize_dwarf2loc): Likewise.
    	* findvar.c (_initialize_findvar): Likewise.
    	* gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
    	* maint.c (maintenance_selftest): Update call to run_tests.
    	(maintenance_info_selftests): New function.
    	(_initialize_maint_cmds): Register "maintenance info selftests"
    	command.  Update "maintenance selftest" doc.
    	* regcache.c (_initialize_regcache): Add names when registering
    	* rust-exp.y (_initialize_rust_exp): Likewise.
    	* selftest-arch.c (gdbarch_selftest): New struct.
    	(gdbarch_tests): Remove.
    	(register_test_foreach_arch): Add name parameter.  Call
    	(tests_with_arch): Remove, move most content to
    	(_initialize_selftests_foreach_arch): Remove.
    	* selftest-arch.h (register_test_foreach_arch): Add name
    	(run_tests_with_arch): New declaration.
    	* utils-selftests.c (_initialize_utils_selftests): Add names
    	when registering selftests.
    	* utils.c (_initialize_utils): Likewise.
    	* unittests/array-view-selftests.c
    	(_initialize_array_view_selftests): Likewise.
    	* unittests/environ-selftests.c (_initialize_environ_selftests):
    	* unittests/function-view-selftests.c
    	(_initialize_function_view_selftests): Likewise.
    	* unittests/offset-type-selftests.c
    	(_initialize_offset_type_selftests): Likewise.
    	* unittests/optional-selftests.c
    	(_initialize_optional_selftests): Likewise.
    	* unittests/scoped_restore-selftests.c
    	(_initialize_scoped_restore_selftests): Likewise.
    	* NEWS: Document "maintenance selftest" and "maint info
    	* server.c (captured_main): Accept argument for --selftest.
    	Update run_tests call.
    	* linux-x86-tdesc-selftest.c (initialize_low_tdesc): Add names
    	when registering selftests.
    	* gdb.texinfo (Maintenance Commands): Document filter parameter
    	of "maint selftest".  Document "maint info selftests" command.

commit 5846367a24e24f334077ceb7f7389acbd072b11a
Author: Simon Marchi <>
Date:   Sat Sep 16 13:45:56 2017 +0200

    mi_load_progress: Restore current_uiout using a scoped_restore
    Simply use a scoped_restore instead of manually saving and restoring
    	* mi/mi-main.c (mi_load_progress): Restore current_uiout using a

commit bd77e8ff276864d6622f2433b8a499bf4332fa65
Author: Simon Marchi <>
Date:   Sat Sep 16 13:45:55 2017 +0200

    mi_load_progress: Use unique_ptr to manage ui_out lifetime
    In mi_load_progress, we xfree a ui_out object.  Because ui_out is not
    trivially destructible, it should be freed with delete.  This patch
    makes use of a unique_ptr to do it.
    	* mi/mi-main.c (mi_load_progress): Make uiout variable
    	a unique_ptr.
    diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 0ee2605..0359dc1
    100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2325,7 +2325,6
    @@ mi_load_progress (const char *section_name, static char
    *previous_sect_name = NULL; int new_section; struct ui_out *saved_uiout;
    -  struct ui_out *uiout; struct mi_interp *mi = (struct mi_interp *)
       current_interpreter ();
       /* This function is called through deprecated_show_load_progress
    @@ -2333,17 +2332,19 @@ mi_load_progress (const char *section_name,
          of this function.  */
       saved_uiout = current_uiout;
    +  std::unique_ptr<ui_out> uiout;
       if (current_interp_named_p (INTERP_MI)
           || current_interp_named_p (INTERP_MI2))
    -    current_uiout = mi_out_new (2);
    +    uiout.reset (mi_out_new (2));
       else if (current_interp_named_p (INTERP_MI1))
    -    current_uiout = mi_out_new (1);
    +    uiout.reset (mi_out_new (1));
       else if (current_interp_named_p (INTERP_MI3))
    -    current_uiout = mi_out_new (3);
    +    uiout.reset (mi_out_new (3));
    -  uiout = current_uiout;
    +  current_uiout = uiout.get ();
       new_section = (previous_sect_name ?
     		 strcmp (previous_sect_name, section_name) : 1);
    @@ -2356,12 +2357,12 @@ mi_load_progress (const char *section_name,
     	fputs_unfiltered (current_token, mi->raw_stdout);
           fputs_unfiltered ("+download", mi->raw_stdout);
    -	ui_out_emit_tuple tuple_emitter (uiout, NULL);
    +	ui_out_emit_tuple tuple_emitter (uiout.get (), NULL);
     	uiout->field_string ("section", section_name);
     	uiout->field_int ("section-size", total_section);
     	uiout->field_int ("total-size", grand_total);
    -      mi_out_put (uiout, mi->raw_stdout);
    +      mi_out_put (uiout.get (), mi->raw_stdout);
           fputs_unfiltered ("\n", mi->raw_stdout);
           gdb_flush (mi->raw_stdout);
    @@ -2374,19 +2375,18 @@ mi_load_progress (const char *section_name,
     	fputs_unfiltered (current_token, mi->raw_stdout);
           fputs_unfiltered ("+download", mi->raw_stdout);
    -	ui_out_emit_tuple tuple_emitter (uiout, NULL);
    +	ui_out_emit_tuple tuple_emitter (uiout.get (), NULL);
     	uiout->field_string ("section", section_name);
     	uiout->field_int ("section-sent", sent_so_far);
     	uiout->field_int ("section-size", total_section);
     	uiout->field_int ("total-sent", total_sent);
     	uiout->field_int ("total-size", grand_total);
    -      mi_out_put (uiout, mi->raw_stdout);
    +      mi_out_put (uiout.get (), mi->raw_stdout);
           fputs_unfiltered ("\n", mi->raw_stdout);
           gdb_flush (mi->raw_stdout);
    -  xfree (uiout);
       current_uiout = saved_uiout;

commit c4dfafabc575f4995a5aa18241adc275e63c846c
Author: Sergio Durigan Junior <>
Date:   Sun Sep 10 12:17:18 2017 -0400

    Use std::vector on tdesc->reg_defs (gdbserver/tdesc.h)
    This is a followup patch to the build breakage fix on AArch64.  While
    doing the fix, I found it better to convert tdesc->reg_defs (on
    gdbserver/tdesc.h) from using VEC to using std::vector.  This makes
    the code easier to read and maintain, and also is one more step
    towards the C++fication.
    Regtested on BuildBot.
    2017-09-16  Sergio Durigan Junior  <>
    	* regcache.c (get_thread_regcache): Update code to use "std::vector"
    	instead of "VEC" for "target_desc.reg_defs".
    	(regcache_cpy): Likewise.
    	(registers_to_string): Likewise.
    	(registers_from_string): Likewise.
    	(find_regno): Likewise.
    	(supply_regblock): Likewise.
    	(regcache_raw_read_unsigned): Likewise.
    	* tdesc.c (init_target_desc): Likewise.
    	(tdesc_create_reg): Likewise.
    	* tdesc.h: Remove declaration of "tdesc_reg_p".  Include <vector>.
    	(struct target_desc) <reg_defs>: Convert to "std::vector".
    	(target_desc): Do not initialize "reg_defs".
    	(~target_desc): Update code to use "std::vector" instead of "VEC"
    	for "target_desc.reg_defs".
    	(operator==): Likewise.

commit ebee3285b3a44ef2854e9ec84a0c92f5cca4da68
Author: GDB Administrator <>
Date:   Sat Sep 16 00:00:34 2017 +0000

    Automatic date update in

commit 26a67918a501370a8fe62db18a74761a0073016f
Author: Pedro Alves <>
Date:   Fri Sep 15 17:40:33 2017 +0100

    Sync libiberty/ & include/ with GCC
    Note this brings in the interface files for libcc1/G++ as well, which
    we will be needing in GDB soon anyway.  That commit renamed a method
    in the C interface and that required a small update to GDB's compile/
    code, which I've included that in this patch to keep the tree
    2017-09-15  Pedro Alves  <>
    	* ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro.
    	2017-09-12  Jiong Wang  <>
    	* dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP.
    	* dwarf2.h (DW_CFA_DUP): New define.
    	2017-08-21  Richard Biener  <>
    	* simple-object.h (simple_object_copy_lto_debug_sections): New
    	2017-05-18  Martin Liska  <>
    	* ansidecl.h: Define CONSTEXPR macro.
    	2017-05-24  Nathan Sidwell  <>
    	* libiberty.h (ASTRDUP): Adjust cast to avoid warning.
    	2017-01-30  Alexandre Oliva <>
    	Introduce C++ support in libcc1.
    	* gcc-c-fe.def (int_type_v0): Rename from...
    	(int_type): ... this.  Introduce new version.
    	(float_type_v0): Rename from...
    	(float_type): ... this.  Introduce new version.
    	(char_type): New.
    	* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
    	(gcc_type_array): Move...
    	* gcc-interface.h: ... here.
    	* gcc-cp-fe.def: New.
    	* gcc-cp-interface.h: New.
    	2016-04-29  Oleg Endo  <>
    	* longlong.h (umul_ppmm): Remove SHMEDIA checks.
    	(__umulsidi3, count_leading_zeros): Remove SHMEDIA implementations.
    	2017-09-15  Yao Qi  <>
    	    Pedro Alves  <>
    	* ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro.
    	2017-09-12  Jiong Wang  <>
    	* dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP.
    	* dwarf2.h (DW_CFA_DUP): New define.
    	2017-08-21  Richard Biener  <>
    	* simple-object.h (simple_object_copy_lto_debug_sections): New
    	2017-05-18  Martin Liska  <>
    	* ansidecl.h: Define CONSTEXPR macro.
    	2017-05-24  Nathan Sidwell  <>
    	* libiberty.h (ASTRDUP): Adjust cast to avoid warning.
    	2017-01-30  Alexandre Oliva <>
    	Introduce C++ support in libcc1.
    	* gcc-c-fe.def (int_type_v0): Rename from...
    	(int_type): ... this.  Introduce new version.
    	(float_type_v0): Rename from...
    	(float_type): ... this.  Introduce new version.
    	(char_type): New.
    	* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
    	(gcc_type_array): Move...
    	* gcc-interface.h: ... here.
    	* gcc-cp-fe.def: New.
    	* gcc-cp-interface.h: New.
    	2016-04-29  Oleg Endo  <>
    	* longlong.h (umul_ppmm): Remove SHMEDIA checks.
    	(__umulsidi3, count_leading_zeros): Remove SHMEDIA implementations.
    2017-09-15  Nathan Sidwell  <>
    	PR demangler/82195
    	* cp-demangle.c (d_name): Add 'toplevel' parm.  Pass to	...
    	(d_local_name): ... here.  Parse trailing function args on nested
    	(d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls.
    	* testsuite/demangle-expected: Add tests.
    2017-09-15  Richard Biener  <>
    	PR lto/81968
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
    	Iterate marking dependent sections necessary.
    2017-09-15  Nathan Sidwell  <>
    	* cp-demangle.c (is_fnqual_component_type): Reimplement using
    	(d_encoding): Hold bare_function_type in local var.
    	(d_local_name): Build name in both cases and build result once.
    	Collapse switch-if to single conditional.
    	* testsuite/demangle-expected: Realign blank lines with tests.
    2017-09-12  Jiong Wang  <>
    	* dwarfnames.c (DW_CFA_DUP): New define.
    2017-09-15  Pedro Alves  <>
    	* compile/compile-c-types.c (convert_enum, convert_int)
    	(convert_float): Adjust to refer to int_type_v0 and float_type_v0.

commit 124aceb46dfd1f836f35d6075ead4e00e705f6f3
Author: Simon Marchi <>
Date:   Fri Sep 15 18:02:51 2017 +0200

    gdbserver: Remove thread_to_gdb_id
    As explained in the previous patch, the gdb_id concept is no longer
    relevant.  The function thread_to_gdb_id is trivial, it returns the
    thread's ptid.  Remove it and replace its usage with ptid_of.
    The changes in nto-low.c and lynx-low.c are fairly straightforward, but
    I was not able to build test them.
    	* inferiors.h (thread_to_gdb_id): Remove.
    	* inferiors.c (thread_to_gdb_id): Remove.
    	* server.c (handle_qxfer_threads_worker, handle_query): Adjust.
    	* lynx-low.c (lynx_resume, lynx_wait_1, lynx_fetch_registers,
    	lynx_store_registers, lynx_read_memory, lynx_write_memory):
    	* nto-low.c (nto_fetch_registers, nto_store_registers,
    	nto_stopped_by_watchpoint, nto_stopped_data_address): Likewise.

commit 96cde54f0adf2315404f3eba35dc3dfbc57f98c8
Author: Simon Marchi <>
Date:   Fri Sep 15 18:02:51 2017 +0200

    gdbserver: Remove gdb_id_to_thread_id
    From what I understand, this function is not doing anything useful as of
    Here's the result of my archeological research:
    - The field thread_info::gdb_id was added in
      a06660f7  Use LWP IDs for thread IDs in gdbserver
      There was problem when using a 32-bits gdb with a 64-bits gdbserver.
      For some reason that I don't fully understand, the thread ids
      exchanged between gdb and gdbserver could overflow a 32 bits data
      type.  My guess is that they were the thread address (e.g. the
      0x7ffff7f20b40 in "Thread 0x7ffff7f20b40 (LWP 1058)" today).  This
      patch changed that so gdb/gdbserver would talk in terms of the OS
      assigned numerical id (as shown in ps).  It therefore added a way to
      convert between this gdb_id (the numerical id) and the thread id (the
    - 95954743cb  Implement the multiprocess extensions, and add linux
                  multiprocess supportNon-stop mode support.
      This patch made gdbserver deal with threads using their numerical ids
      and not the address-like id.  Starting from there, the gdb_id <->
      thread id conversion was not needed anymore, since the remote protocol
      and gdbserver were using the same kind of ids again.  The gdb_id field
      in the thread_info structure was also unused starting there.
    - d50171e4  Teach linux gdbserver to step-over-breakpoints.
      This patch moved the thread_info structure around, and got rid of the
      gdb_id field (which was unused).
    Looking at the implementation of gdb_id_to_thread_id, it is not doing
    anything useful.  It is looking up a thread by ptid using
    find_thread_ptid, which basically loops over all threads looking at
    their field.  If a thread with that ptid is found, it returns
    its field.  So it will always return the same thing as it input
    (with the exception of if no thread exist with that ptid, then it will
    return null_ptid).
    	* inferiors.h (gdb_id_to_thread_id): Remove.
    	* inferiors.c (gdb_id_to_thread_id): Remove.
    	* server.c (process_serial_event): Adjust to gdb_id_to_thread_id
    	removal.  Move pid declaration closer to where it's used.

commit e8ca139ed036e6da8adf42fc6fbd93973b724d3c
Author: Simon Marchi <>
Date:   Fri Sep 15 17:59:37 2017 +0200

    gdbserver: Move detach code to its own function
    The code required to handle the 'D' packet is non trivial, so move it
    out to its own function.
    The moved out code is identical, except for the call to strtol and some
    breaks that became returns.
    Tested manually, and by running gdb.base/*detach*.exp with
    native-gdbserver and native-extended-gdbserver.
    	* server.c (handle_detach): New function.
    	(process_serial_event): Move code out, call handle_detach.

commit f8a4e1192032044cdae544848865636f6e07a925
Author: Simon Marchi <>
Date:   Fri Sep 15 17:59:36 2017 +0200

    Deduplicate require_running macros and move them up
    I find it very confusing to define the require_running in the middle of
    the file, and re-define it to something else later in the middle of the
    same file.  I think it would be better if those macros had different
    names so that we know exactly what they do.
    	* server.c (require_running): Rename to ...
    	(require_running_or_return): ... this ...
    	(require_running_or_break): ... and this.
    	(handle_query, process_serial_event): Adjust.

commit ef87240fd95c5f29a697eccf20b2f1f6dc3593a6
Author: Nick Clifton <>
Date:   Fri Sep 15 16:18:20 2017 +0100

    Add -l option to src-release script.
    Since we are updating I thought I would check in this
    small patch.  It adds the option to create lzip compressed tarballs
    via the -l command line option.
    	* (LZIPPROG): New define.  Provides the name of the
    	lzip program.
    	(do_lz): New function.  Compresses a tarball using the lzip
    	(do_compress): Add support for lzip compression.
    	(usage): Mention -l option.
    	(build_release): Support -l option to invoke lzip compression.

commit 0eb0a40713c6479e782e5a257793d28f647e38bd
Author: Simon Marchi <>
Date:   Fri Sep 15 16:41:35 2017 +0200

    linux-low: Remove unused variables
    	* linux-low.c (linux_set_resume_request): Remove unused

commit 3f8a7804287d3153fb4a8676b7304e67cca32be4
Author: Simon Marchi <>
Date:   Fri Sep 15 16:41:34 2017 +0200

    dwarf2read: Replace copy_string usages with savestring
    copy_string does the exact same thing as savestring, so replace the
    usages of the former with the latter.
    	* dwarf2read.c (copy_string): Remove.
    	(parse_macro_definition): Replace copy_string with savestring.

commit 785922a559529420ce9b11342d7abe6ad32b3595
Author: Simon Marchi <>
Date:   Fri Sep 15 14:53:07 2017 +0200

    gdbserver: Remove duplicate functions to find any thread of process
    We have about 6 functions/callbacks to find_inferior meant to find a
    thread that belongs to a given pid.  Remove all but
    find_any_thread_of_pid and replace their uses with
    	* server.c (first_thread_of): Remove.
    	(process_serial_event): Replace usage of first_thread_of with
    	* tracepoint.c (same_process_p): Remove.
    	(gdb_agent_about_to_close): Replace usage of same_process_p with
    	* linux-x86-low.c (same_process_callback): Remove.
    	(x86_arch_setup_process_callback): Replace usage of
    	same_process_callback with find_any_thread_of_pid.
    	* thread-db.c (any_thread_of): Remove.
    	(switch_to_process): Replace usage of any_thread_of with
    	* inferiors.c (thread_pid_matches_callback): Remove.
    	(find_thread_process): Adjust to use find_any_thread_of_pid.

commit 8d20070632b608587f372cf2d36ead339487e49c
Author: Yao Qi <>
Date:   Fri Sep 15 13:05:39 2017 +0100

    Fix x86 build failures
    Christophe Lyon told me that GDB build failed on i386-linux with
    --enable-64-bit-bfd=yes, so I audit the gdb/configure.tgt again.  I
    find that i386-darwin has the same issue too.  Additionally, GDB
    for solaris target fails to build too.  This patch fixes all of them.
    2017-09-15  Yao Qi  <>
    	* configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
    	(i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
    	(i[34567]86-*-linux*): Likewise.

commit 8fd138c43b3a820e1d7deec80c9290b458f09d63
Author: Alan Modra <>
Date:   Fri Sep 15 20:08:02 2017 +0930

    PR22118, Incorrectly-capitalized regexp
    	PR 22118
    	* testsuite/ld-aarch64/erratum843419.d: Correct regexp.

commit 817b77113459d8b66a75f4fdbba0a3f5f6936c9b
Author: Alan Modra <>
Date:   Fri Sep 15 14:33:58 2017 +0930

    Enable/disable various dirs in
    gold needs to be enabled for a binutils release, but it's rather odd
    to do so for gas, gdb or sim.  This patch passes various --enable and
    --disable options depending on the directories being released.
    	* (do_proto_toplev): Revert last patch.  Enable or
    	disable binutils, gas, gdb, gold, gprof, ld, libdecnumber, readline,
    	and sim depending on $tool and $support_files.  Echo configure line.

commit 21d0a60620b306d6471ddedff04ac23912596cc6
Author: Alan Modra <>
Date:   Fri Sep 15 10:22:13 2017 +0930

    Error when 32-bit ar tries to handle 4G or larger files
    We used to silently truncate the size returned by stat() to 32 bits.
    While it is possible to make binutils handle a 64-bit off_t on a
    32-bit host, to me the effort needed doesn't seem worth the benefit.
    Instead, error if we truncate the size.  I've written the test the way
    I have to avoid a signed/unsigned warning.
    	PR 22116
    	* archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size
    	overflows bfd_size_type.

commit cc3e190059e6c817203049a52c8bc4b37b58ce74
Author: GDB Administrator <>
Date:   Fri Sep 15 00:00:28 2017 +0000

    Automatic date update in

commit d185219da329805075ba5e0e72ec4c89c925cff2
Author: Simon Marchi <>
Date:   Thu Sep 14 22:36:57 2017 +0200

    Make dwarf_expr_context::stack an std::vector
    Replace the manually managed array with a vector.  It is mostly
    straightforward, except maybe one thing in execute_stack_op, in the
    handling of DW_OP_fbreg.  When the code stumbles on that opcode while
    evaluating an expression, it needs to evaluate a subexpression to find
    where the fb reg has been saved.  Rather than creating a new context, it
    reuses the current context.  It saves the size of the stack before and
    restores the stack to that size after.
    I think we can do a little bit better by saving the current stack
    locally and installing a new empty stack.  This way, if the
    subexpression is malformed and underflows, we'll get an exception.
    Before, it would have overwritten the top elements of the top-level
    expression.  The evaluation of the top-level expression would have then
    resumed with the same stack size, but possibly some corrupted elements.
    	* dwarf2expr.h (dwarf_stack_value): Add constructor.
    	(dwarf_expr_context) <~dwarf_expr_context>: Define as default.
    	<stack>: Change type to std::vector.
    	<stack_len, stack_allocated>: Remove.
    	<grow_stack>: Remove.
    	* dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
    	(dwarf_expr_context::~dwarf_expr_context): Remove.
    	(dwarf_expr_context::grow_stack): Remove.
    	(dwarf_expr_context::push): Adjust.
    	(dwarf_expr_context::pop): Adjust.
    	(dwarf_expr_context::fetch): Adjust.
    	(dwarf_expr_context::fetch_in_stack_memory): Adjust.
    	(dwarf_expr_context::stack_empty_p): Adjust.
    	(dwarf_expr_context::execute_stack_op): Adjust.

commit 79254a5260cf49887b4017700bd75b27f483b322
Author: H.J. Lu <>
Date:   Thu Sep 14 12:45:18 2017 -0700

    globalaudit.rd: Allow additional bits in DT_FLAGS_1
    With -PIE on x86-64, we get
     0x000000006ffffffb (FLAGS_1)            Flags: GLOBAUDIT PIE
    We should allow additional bits in DT_FLAGS_1.
    	PR ld/22139
    	* testsuite/ld-elf/globalaudit.rd: Allow additional bits in

commit 5e5e02aeca4a6edccbf11b5f900d95bba59b9932
Author: H.J. Lu <>
Date:   Thu Sep 14 11:41:58 2017 -0700

    x86: Cache section contents and relocations
    	PR ld/22135
    	* elf32-i386.c (elf_i386_convert_load_reloc): Add an argument
    	to indicate if conversion is performed.
    	(elf_i386_check_relocs): Cache section contents and relocations
    	if conversion is performed.
    	* elf64-x86-64.c (elf_x86_64_check_relocs): Cache section
    	contents and relocations if conversion is performed.
    	PR ld/22135
    	* testsuite/ld-i386/i386.exp: Run pr22135.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/pr22135.d: New file.
    	* testsuite/ld-i386/pr22135.s: Likewise.
    	* testsuite/ld-x86-64/pr22135.d: Likewise.
    	* testsuite/ld-x86-64/pr22135.s: Likewise.

commit 26e53f3eace35cabeec4559d417df99a48f6477a
Author: Pedro Alves <>
Date:   Thu Sep 14 18:09:42 2017 +0100

    gdb.base/nodebug.exp: Rename called functions
    I'm seeing these failures on my system:
      FAIL: gdb.base/nodebug.exp: p (double) mult (2.0, 3.0)
      FAIL: gdb.base/nodebug.exp: p ((double (*) (double, double)) mult)(2.0f, 3.0f)
      FAIL: gdb.base/nodebug.exp: p ((double (*) (double, double)) mult)(2, 3)
    The problem is simply that GDB is finding a symbol named "mult" from
    glibc's debug info:
      (gdb) ptype mult
      type = enum expression_operator {var, num, lnot, mult, divide, module, plus, minus, less_than, greater_than, less_or_equal, greater_or_equal, equal, not_equal, land, lor,  qmop}
      (gdb) info types expression_operator
      All types matching regular expression "expression_operator":
      File plural-exp.h:
      enum expression_operator;
    Fix this by unloading symbols from shared libraries.
    2017-09-14  Pedro Alves  <>
    	* gdb.base/nodebug.exp (nodebug_runto): New procedure.
    	(top level): Use it instead of runto.

commit eccd80d69487586578b7e085d8bd48657a4d7322
Author: Simon Marchi <>
Date:   Thu Sep 14 16:54:37 2017 +0200

    Make dwarf_expr_context::stack_empty_p return a bool
    	* dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
    	return type to bool.
    	* dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.

commit 690098826e36cbadf618e15eed5f6ebf606cbf74
Author: Simon Marchi <>
Date:   Thu Sep 14 16:13:33 2017 +0200

    Make dwarf_stack_value::in_stack_memory a bool
    Replace int with bool, because that's what it is.
    	* dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
    	Change type to bool.
    	(dwarf_stack_value) <in_stack_memory>: Likewise.
    	(dwarf_expr_context) <push_address>: Change parameter type to
    	<fetch_in_stack_memory>: Change return type to bool.
    	<push>: Change parameter type to bool.
    	* dwarf2expr.c (dwarf_expr_context::push): Change parameter type
    	to bool.
    	(dwarf_expr_context::push_address): Likewise.
    	(dwarf_expr_context::fetch_in_stack_memory): Change return type
    	to bool.
    	(dwarf_expr_context::execute_stack_op): Adjust.
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.

commit 1e467161932b6385b51d0bd365a91cf205b399b9
Author: Simon Marchi <>
Date:   Thu Sep 14 15:57:01 2017 +0200

    Make dwarf_expr_piece::pieces an std::vector
    Change the manually managed array dwarf_expr_piece::piece with an
    std::vector.  After passing the pieces array to allocate_piece_closure,
    dwarf2_evaluate_loc_desc_full doesn't need that data anymore.  We can
    therefore move the content of the vector to avoid copying it.
    Reg-tested on the buildbot.
    	* dwarf2expr.h (struct dwarf_expr_piece): Move up.
    	(struct dwarf_expr_context) <n_pieces>: Remove.
    	<pieces>: Change type to std::vector.
    	* dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
    	(dwarf_expr_context::~dwarf_expr_context): Don't manually free
    	(dwarf_expr_context::add_piece): Adjust.
    	* dwarf2loc.c (struct piece_closure): Initialize fields.
    	<n_pieces>: Remove.
    	<pieces>: Change type to std::vector.
    	(allocate_piece_closure): Adjust, change parameter to
    	std::vector rvalue and std::move it to piece_closure.
    	(rw_pieced_value): Adjust.
    	(check_pieced_synthetic_pointer): Adjust.
    	(indirect_synthetic_pointer): Adjust.
    	(coerce_pieced_ref): Adjust.
    	(free_pieced_value_closure):  Adjust.  Use delete to free
    	(dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
    	to allocate_piece_closure.
    	(dwarf2_loc_desc_get_symbol_read_needs): Adjust.

commit 4d465c689a8fb27212ef358d0aee89d60dee69a6
Author: Nick Clifton <>
Date:   Thu Sep 14 11:15:55 2017 +0100

    Fix address violation when parsing a corrupt PE binary.
    	PR binutils/22113
    	* peXXigen.c (pe_print_idata): Extend check for HintName vector

commit 255300f5a96079a9860934c44bb9521e7aca45de
Author: matt rice <>
Date:   Wed Sep 13 09:46:22 2017 -0700

    Add enable-gold and enable-ld to src-release
    So that the tarball picks up gold bison output.
    	* (do_proto_toplev): Enable gold during release process.

commit 2578f2f307f7e80caa0bce32c7fa880d579e736b
Author: Alan Modra <>
Date:   Thu Sep 14 10:19:31 2017 +0930

    PR22127, as segfaults assembling invalid .reloc
    "sec" gets set to NULL on errors in the offset expression.  This patch
    disables part of the reloc expression processing that needs "sec"
    valid.  I didn't disable the entire reloc expression handling so that
    errors in the reloc expression are reported even when the offset
    expression has an error.
    	PR 22127
    	* write.c (resolve_reloc_expr_symbols): Don't segfault when
    	sec has been set to NULL.

commit 0952b7101e85b205f93389216a7733caccb8f267
Author: GDB Administrator <>
Date:   Thu Sep 14 00:00:26 2017 +0000

    Automatic date update in

commit f47432d4b99a453f9107b7fd5e173384f983e679
Author: H.J. Lu <>
Date:   Wed Sep 13 04:25:14 2017 -0700

    elfxx-x86.h: Fix a typo in comments
    	* elfxx-x86.h: Fix a typo in comments.

commit 9f2815a079efa19ae520293c455ec2910a9879ac
Author: GDB Administrator <>
Date:   Wed Sep 13 00:00:31 2017 +0000

    Automatic date update in

commit 0782db848b52ecaf29e13d9f12a2c7cfabec2bdb
Author: Simon Marchi <>
Date:   Tue Sep 12 14:15:23 2017 +0200

    probe: Replace VEC(probe_ops_cp) with std::vector
    This patch replaces the usage of VEC to store pointers to probe_ops with
    an std::vector.  The sole usage of that vector type is one global
    variable that holds the ops for the various kinds of probes, so this is
    pretty straightforward (no allocation/deallocation issues).
    	* probe.h (probe_ops_cp): Remove typedef.
    	(DEF_VEC_P (probe_ops_cp)): Remove.
    	(all_probe_ops): Change type to std::vector.
    	* probe.c (info_probes_for_ops): Adjust to vector change.
    	(probe_linespec_to_ops): Likewise.
    	(all_probe_ops): Change type to std::vector.
    	(_initialize_probe): Adjust to vector change.
    	* dtrace-probe.c (_initialize_dtrace_probe): Likewise.
    	* elfread.c (elf_get_probes): Likewise.
    	* stap-probe.c (_initialize_stap_probe): Likewise.

commit 1eac6bea98f41ee12ba9e750a9578bd8585011c9
Author: Simon Marchi <>
Date:   Tue Sep 12 13:55:32 2017 +0200

    Make collect_probes return an std::vector
    Change collect_probes so it returns an std::vector<bound_probe> instead
    of a VEC(bound_probe_s).  This allows removing some cleanups.  It also
    seems like enable_probes_command and disable_probes_command were not
    freeing that vector.
    The comparison function compare_probes needs to be updated to return a
    bool indicating whether the first parameter is "less than" the second
    I defined two constructors to bound_probe.  The default constructor is
    needed, for example, so the instance in struct bp_location can be
    constructed without parameters.  The constructor with parameters is
    useful so we can use emplace_back and pass the values directly.
    The s390 builder on the buildbot shows a weird failure that I can't
    ../../binutils-gdb/gdb/elfread.c: In function void probe_key_free(bfd*, void*):
    ../../binutils-gdb/gdb/elfread.c:1346:8: error: types may not be defined in a for-range-declaration [-Werror]
       for (struct probe *probe : *probes)
    I guess it's a bug with that specific version< of the compiler, since no
    other gcc gives me that error.  It is using:
      g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
    Any idea about this problem?
    	* probe.h (struct bound_probe): Define constructors.
    	* probe.c (bound_probe_s): Remove typedef.
    	(DEF_VEC_O (bound_probe_s)): Remove VEC.
    	(collect_probes): Change return type to std::vector, remove
    	(compare_probes): Return bool, change parameter type.  Change
    	semantic to "less than".
    	(gen_ui_out_table_header_info): Change parameter to std::vector
    	and update.
    	(exists_probe_with_pops): Likewise.
    	(info_probes_for_ops): Update to std::vector change.
    	(enable_probes_command): Likewise.
    	(disable_probes_command): Likewise.

commit aaa63a31909946c4f68da64a93662147d67630bd
Author: Simon Marchi <>
Date:   Tue Sep 12 13:37:00 2017 +0200

    Make probe_ops::get_probes fill an std::vector
    This patch changes one usage of VEC to std::vector.  It is a relatively
    straightforward 1:1 change.  The implementations of
    sym_probe_fns::sym_get_probes return a borrowed reference to their probe
    vectors, meaning that the caller should not free it.  In the new code, I
    made them return a const reference to the vector.
    This patch and the following one were tested by the buildbot.  I didn't
    see any failures that looked related to this one.
    	* probe.h (struct probe_ops) <get_probes>: Change parameter from
    	vec to std::vector.
    	* probe.c (parse_probes_in_pspace): Update.
    	(find_probes_in_objfile): Update.
    	(find_probe_by_pc): Update.
    	(collect_probes): Update.
    	(probe_any_get_probes): Update.
    	* symfile.h (struct sym_probe_fns) <sym_get_probes> Change
    	return type to reference to std::vector.
    	* dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
    	std::vector and update.
    	(dtrace_process_dof): Likewise.
    	(dtrace_get_probes): Likewise.
    	* elfread.c (elf_get_probes): Change return type to std::vector,
    	store an std::vector in bfd_data.
    	(probe_key_free): Update to std::vector.
    	* stap-probe.c (handle_stap_probe): Change parameter to
    	std::vector and update.
    	(stap_get_probes): Likewise.
    	* symfile-debug.c (debug_sym_get_probes): Change return type to
    	std::vector and update.

commit 331f81b22cb6b2a8dec2acc0a728c4159c1c7b5e
Author: GDB Administrator <>
Date:   Tue Sep 12 00:00:28 2017 +0000

    Automatic date update in

commit cb85b21ba1c0014787129d3f53cb8755aba64930
Author: Tom Tromey <>
Date:   Sat Sep 9 10:47:10 2017 -0600

    Remove make_show_memory_breakpoints_cleanup
    This removes make_show_memory_breakpoints_cleanup, replacing it with
    make_scoped_restore_show_memory_breakpoints and updating all callers.
    2017-09-11  Tom Tromey  <>
    	* breakpoint.c (program_breakpoint_here_p): Update.
    	* target.c (make_scoped_restore_show_memory_breakpoints): Rename
    	from make_show_memory_breakpoints_cleanup.  Return a
    	(restore_show_memory_breakpoints): Remove.
    	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
    	* mem-break.c (memory_validate_breakpoint): Update.
    	* ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
    	(ia64_memory_remove_breakpoint): Update.
    	(ia64_breakpoint_from_pc): Update.
    	* target.h (make_scoped_restore_show_memory_breakpoints): Rename
    	from make_show_memory_breakpoints_cleanup.

commit 8fbc99ef16dfb49981e275f735cb591e68983d08
Author: Tom Tromey <>
Date:   Sat Sep 9 10:46:36 2017 -0600

    Use std::string in d-namespace.c
    This removes some cleanups from d-namespace.c by replacing manual
    string management with std::string.
    2017-09-11  Tom Tromey  <>
    	* d-namespace.c (d_lookup_symbol): Use std::string.
    	(find_symbol_in_baseclass): Likewise.

commit 50feb4bd435b86c73ea55049b7cf87cc709c1388
Author: Tom Tromey <>
Date:   Sat Sep 9 10:17:11 2017 -0600

    Use std::string in ctf_start
    This changes ctf_start to use std::string, allowing for some cleanup
    2017-09-11  Tom Tromey  <>
    	* ctf.c (ctf_start): Use std::string.

commit c6dc63a16299e22fcb5bc13b34cb402a1bfcf6b9
Author: Tom Tromey <>
Date:   Sat Sep 9 10:14:52 2017 -0600

    Remove cleanups from find_frame_funname
    This changes find_frame_funname to return a unique_xmalloc_ptr and
    then fixes up the callers.  This removes several cleanups.
    2017-09-11  Tom Tromey  <>
    	* ada-lang.c (is_known_support_routine): Update.
    	(ada_unhandled_exception_name_addr_from_raise): Update.
    	* guile/scm-frame.c (gdbscm_frame_name): Update.
    	* python/py-frame.c (frapy_name): Update.
    	(frapy_function): Update.
    	* stack.h (find_frame_funname): Update.
    	* stack.c (find_frame_funname): Return unique_xmalloc_ptr.
    	(print_frame): Update.

commit d6b9b80f9483b6c1a3a018c0fcaf813ca098d8af
Author: Tom Tromey <>
Date:   Sat Sep 9 09:56:27 2017 -0600

    Remove cleanups from findcmd.c
    This removes cleanups from findcmd.c, replacing manual buffer
    management with a gdb::byte_vector.
    2017-09-11  Tom Tromey  <>
    	* findcmd.c (put_bits): Take a gdb::byte_vector.
    	(parse_find_args): Return gdb::byte_vector.  "args" now const.
    	Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
    	(find_command): Update.

commit a9921622de0a7332a333c5206ce8cd632803df97
Author: Tom Tromey <>
Date:   Sun Aug 13 14:44:08 2017 -0600

    Replace clear_hook_in_cleanup with scoped_restore_hook_in
    This removes clear_hook_in_cleanup in favor of a scoped_restore-like
    class.  scoped_restore itself can't be used because hook_in is a
    2017-09-11  Tom Tromey  <>
    	* cli/cli-script.c (class scoped_restore_hook_in): New.
    	(clear_hook_in_cleanup): Remove.
    	(execute_cmd_pre_hook, execute_cmd_post_hook): Use

commit be0d7abb5e3b0be4cb928845e70a9134f1b19700
Author: Tom Tromey <>
Date:   Sun Aug 13 14:40:46 2017 -0600

    Replace interp_set_temp with scoped_restore_interp
    This removes interp_set_temp and an associated cleanup, in favor of a
    new RAII class, scoped_restore_interp.
    2017-09-11  Tom Tromey  <>
    	* cli/cli-script.c (restore_interp): Remove.
    	(read_command_lines): Use scoped_restore_interp.
    	* interps.c (scoped_restore_interp::set_temp): Rename from
    	* interps.h (class scoped_restore_interp): New.
    	(interp_set_temp): Remove.

commit 00f675ff65ff6f78712a46e9699856e935d86d86
Author: Tom Tromey <>
Date:   Sun Aug 13 10:55:28 2017 -0600

    Change setup_breakpoint_reporting to return a scoped_restore
    This changes setup_breakpoint_reporting to return a scoped_restore,
    allowing for some cleanup removal.
    2017-09-11  Tom Tromey  <>
    	* mi/mi-cmd-catch.c (mi_cmd_catch_assert)
    	(mi_cmd_catch_exception, mi_catch_load_unload): Update.
    	* mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
    	(mi_cmd_break_insert_1): Update.
    	* mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a

commit cb791d59489576280e416262eb61ab59765a0baf
Author: Tom Tromey <>
Date:   Sun Sep 10 14:48:30 2017 -0600

    Make extract_arg return a std::string
    Change extract_arg to return a std::string and fix up all the users.
    I think string is mildly better than unique_xmalloc_ptr<char>, when
    possible, because it provides a more robust API.
    I changed the error messages emitted from find_location_by_number to
    avoid either writing to a string or an extra allocation; this can be
    changed but I thought that the new message was not any less clear.
    You can see an example in the testsuite patch.
    2017-09-11  Tom Tromey  <>
    	* demangle.c (demangle_command): Update.
    	* breakpoint.c (disable_command): Update.
    	(enable_command): Update.
    	(find_location_by_number): Make "number" const.  Use
    	* cli/cli-utils.c (extract_arg): Return std::string.
    	* probe.c (parse_probe_linespec): Update.  Change types.
    	(collect_probes): Take string arguments.
    	(parse_probe_linespec): Likewise.
    	(info_probes_for_ops): Update.
    	(enable_probes_command): Update.
    	(disable_probes_command): Update.
    	* break-catch-sig.c (catch_signal_split_args): Update.
    	* mi/mi-parse.c (mi_parse): Update.
    2017-09-11  Tom Tromey  <>
    	* gdb.base/ena-dis-br.exp (test_ena_dis_br): Update test.

commit 2039bd9f0ce667f3f0ee99c18e25de1ea18a2288
Author: Tom Tromey <>
Date:   Sun Sep 10 14:29:22 2017 -0600

    Constify language_enum
    Change language_enum to take a const argument.
    2017-09-11  Tom Tromey  <>
    	* language.h (language_enum): Make argument const.
    	* language.c (language_enum): Make argument const.

commit f1735a53a63040cc4b4a735bf18a3f20d308e519
Author: Tom Tromey <>
Date:   Sun Sep 10 14:19:19 2017 -0600

    Rename _const functions to use overloading instead
    This renames a few functions -- skip_spaces_const,
    skip_to_space_const, get_number_const, extract_arg_const -- to drop
    the "_const" suffix and instead rely on overloading.
    This makes future const fixes simpler by reducing the number of lines
    that must be changed.  I think it is also not any less clear, as all
    these functions have the same interface as their non-const versions by
    design.  Furthermore there's an example of using an overload in-tree
    already, namely check_for_argument.
    This patch was largely created using some perl one-liners; then a few
    fixes were applied by hand.
    2017-09-11  Tom Tromey  <>
    	* common/common-utils.h (skip_to_space): Remove macro, redeclare
    	as function.
    	(skip_to_space): Rename from skip_to_space_const.
    	* common/common-utils.c (skip_to_space): New function.
    	(skip_to_space): Rename from skip_to_space_const.
    	* cli/cli-utils.h (get_number): Rename from get_number_const.
    	(extract_arg): Rename from extract_arg_const.
    	* cli/cli-utils.c (get_number): Rename from get_number_const.
    	(extract_arg): Rename from extract_arg_const.
    	(number_or_range_parser::get_number): Use ::get_number.
    	* aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
    	break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
    	cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
    	completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
    	linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
    	minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
    	python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
    	stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.

commit 7d221d749c0239f06ca571be6c9452cd22b5d582
Author: Tom Tromey <>
Date:   Fri Sep 8 15:38:12 2017 -0600

    Make it simpler to add events to Python
    The first patch in this series went through several iterations as I'd
    forgotten how many places had to be touched to add a new event and a
    new event type.
    This patch simplifies the process using two new ".def" files.  Now, a
    new event type can be added by adding a line to "py-event-types.def",
    and a new event registry can be added by adding a line to
    2017-09-11  Tom Tromey  <>
    	* python/python.c (do_start_initialization): Use
    	py-event-types.def to initialize types.
    	Define all object type structures.
    	* python/python-internal.h: Don't declare event initialization
    	* python/py-threadevent.c (thread_event_object_type): Don't
    	* python/py-stopevent.c (stop_event_object_type): Don't define.
    	* python/py-signalevent.c (signal_event_object_type): Don't
    	declare or define.
    	* python/py-newobjfileevent.c (new_objfile_event_object_type)
    	(clear_objfiles_event_object_type): Don't declare or define.
    	* python/py-infevents.c (inferior_call_pre_event_object_type)
    	(memory_changed_event_object_type): Don't declare or define.
    	* python/py-inferior.c (new_thread_event_object_type)
    	(inferior_deleted_event_object_type): Don't declare or define.
    	* python/py-exitedevent.c (exited_event_object_type): Don't
    	declare or define.
    	* python/py-evts.c (gdbpy_initialize_py_events): Use
    	* python/py-events.h (thread_event_object_type): Don't declare.
    	(events_object): Use py-all-events.def.
    	* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
    	* python/py-event-types.def: New file.
    	* python/py-continueevent.c (create_continue_event_object): Don't
    	declare or define.
    	* python/py-bpevent.c (breakpoint_event_object_type): Don't
    	declare or define.
    	* python/py-all-events.def: New file.

commit 35c61a1dd5462ceab42618c48c9a60238245761b
Author: Tom Tromey <>
Date:   Fri Sep 8 14:26:43 2017 -0600

    Small event ownership clean up in Python layer
    It seems cleaner to me for functions like create_thread_event_object,
    which pass object ownership to their callers, to directly return a
    gdb_ref<>.  This way the ownership transfer is part of the API.  This
    patch makes this change.
    2017-09-11  Tom Tromey  <>
    	* python/py-threadevent.c (create_thread_event_object): Return
    	* python/py-stopevent.h (create_stop_event_object)
    	(create_breakpoint_event_object, create_signal_event_object):
    	* python/py-stopevent.c (create_stop_event_object): Return
    	(emit_stop_event): Update.
    	* python/py-signalevent.c (create_signal_event_object): Return
    	* python/py-infevents.c (create_inferior_call_event_object):
    	* python/py-event.h (create_event_object)
    	(create_thread_event_object): Update.
    	* python/py-event.c (create_event_object): Return gdbpy_ref.
    	* python/py-continueevent.c: Return gdbpy_ref.
    	* python/py-bpevent.c (create_breakpoint_event_object): Return

commit 7c96f8c1dae023c7d0b1cabc5e50c4d18fd06960
Author: Tom Tromey <>
Date:   Tue Sep 5 12:07:00 2017 -0600

    Add new_inferior, inferior_deleted, and new_thread events
    This adds a few new events to gdb's Python layer: new_inferior,
    inferior_deleted, and new_thread.  I wanted to be able to add a
    combined inferior/thread display window to my GUI, and I needed a few
    events to make this work.  This is PR python/15622.
    2017-09-11  Tom Tromey  <>
    	PR python/15622:
    	* NEWS: Add entry.
    	* python/python.c (do_start_initialization): Initialize new event
    	* python/python-internal.h (gdbpy_initialize_new_inferior_event)
    	(gdbpy_initialize_new_thread_event): Declare.
    	* python/py-threadevent.c (create_thread_event_object): Add option
    	"thread" parameter.
    	* python/py-inferior.c (new_thread_event_object_type)
    	(inferior_deleted_event_object_type): Declare.
    	(python_new_inferior, python_inferior_deleted): New functions.
    	(add_thread_object): Emit new_thread event.
    	(gdbpy_initialize_inferior): Attach new functions to corresponding
    	(new_thread, new_inferior, inferior_deleted): Define new event
    	* python/py-evts.c (gdbpy_initialize_py_events): Add new
    	* python/py-events.h (events_object) <new_inferior,
    	inferior_deleted, new_thread>: New fields.
    	* python/py-event.h (create_thread_event_breakpoint): Add optional
    	"thread" parameter.
    2017-09-11  Tom Tromey  <>
    	* python.texi (Events In Python): Document new events.
    2017-09-11  Tom Tromey  <>
    	* gdb.python/py-infthread.exp: Add tests for new_thread event.
    	* gdb.python/py-inferior.exp: Add tests for new inferior events.

commit 4ec521f238627f7682306d699c8826390a2cc9e7
Author: Kuan-Lin Chen <>
Date:   Mon Sep 11 13:46:27 2017 +0800

    nds32: Rename __BIT() to N32_BIT().

commit 555cb1688148f41582b1e7e9af57e2fc3fbf21bf
Author: GDB Administrator <>
Date:   Mon Sep 11 00:00:31 2017 +0000

    Automatic date update in

commit a059f00c857d088a7fe55d2dbded9d3210af4989
Author: Sergio Durigan Junior <>
Date:   Sun Sep 10 17:50:29 2017 -0400

    Fix build breakage on GNU/Linux AArch64, take 2
    The last commit unfortunately was not enough to fix the build breakage
    on AArch64.  I made a mistake and did not test it alone on BuildBot,
    but along with another patch that was responsible for fixing the
    The failure is:
      In file included from /usr/include/string.h:640:0,
    		   from build-gnulib-gdbserver/import/string.h:41,
    		   from ../../../binutils-gdb/gdb/gdbserver/../common/common-defs.h:56,
    		   from ../../../binutils-gdb/gdb/gdbserver/server.h:22,
    		   from ../../../binutils-gdb/gdb/gdbserver/regcache.c:19:
      In function ‘void* memset(void*, int, size_t)’,
          inlined from ‘regcache* init_register_cache(regcache*, const target_desc*, unsigned char*)’ at ../../../binutils-gdb/gdb/gdbserver/regcache.c:150:50:
      /usr/include/aarch64-linux-gnu/bits/string3.h:81:32: error: call to ‘__warn_memset_zero_len’ declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [-Werror]
    	 __warn_memset_zero_len ();
      In function ‘void* memset(void*, int, size_t)’,
          inlined from ‘regcache* get_thread_regcache(thread_info*, int)’ at ../../../binutils-gdb/gdb/gdbserver/regcache.c:57:60:
      /usr/include/aarch64-linux-gnu/bits/string3.h:81:32: error: call to ‘__warn_memset_zero_len’ declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [-Werror]
    	 __warn_memset_zero_len ();
    This is likely due to a GCC bug, because for some reason the compiler
    assumes that the third argument to the memset:
      memset (regcache->register_status, REG_UNAVAILABLE,
    	  VEC_length (tdesc_reg_p, regcache->tdesc->reg_defs));
    is always zero, which is not always true.
    Anyway, the simple fix for this is to guard the memset calls with:
      if (!VEC_empty (tdesc_reg_p, regcache->tdesc->reg_defs))
    This time, I made sure to regtest only this patch on BuildBot, and it
    finally solved the breakage.
    2017-09-10  Sergio Durigan Junior  <>
    	* regcache.c (get_thread_regcache): Guard calls to "memset"
              with "!VEC_empty".

commit cc397f3a236509257acfd5cd17c2f15f87a482d7
Author: Sergio Durigan Junior <>
Date:   Sun Sep 10 12:16:54 2017 -0400

    Fix build breakage on GNU/Linux AArch64
    This patch fixes the build breakage that has been happening on AArch64
    since September 5th.  The breakage was introduced by the following
      author        Yao Qi <>
              Tue, 5 Sep 2017 04:54:52 -0400 (09:54 +0100)
      committer     Yao Qi <>
              Tue, 5 Sep 2017 04:54:52 -0400 (09:54 +0100)
      commit        f7000548a2b79d7e5cb924468117ca4245e6b820
      Use VEC for target_desc.reg_defs
    The build log for this commit can be seen here:
    And the underlying problem is that the code is not calling the new
    function "allocate_target_description" to allocate the "struct
    target_desc" using "new" instead of XNEW, which end up not properly
    initializing the fields of the structure.
    Regtested on BuildBot.
    2017-09-10  Sergio Durigan Junior  <>
    	* linux-low.c (handle_extended_wait): Use
    	"allocate_target_description" instead of "XNEW".
    	* linux-x86-low.c (initialize_low_arch): Likewise.

commit 72542b8ee6558677bed21dd880b68dc2e541c9c7
Author: Andrew Burgess <>
Date:   Sun Aug 6 21:45:08 2017 +0100

    gdb: Remove check for gdb_stderr == NULL
    Recent changes made gdb_stderr a macro:
      #define gdb_stderr (*current_ui_gdb_stderr_ptr ())
    and current_ui_gdb_stderr_ptr return this:
    The problem is that this is undefined if current_ui is NULL, which can
    happen early on during gdb start up.
    If we run into an error during early gdb start up then we write the
    error message to gdb_stderr.  However, if we are too early during the
    start up then current_ui is NULL, and using the gdb_stderr macro
    triggers undefined behaviour.
    We try to avoid this using a check 'gdb_stderr == NULL' which was fine
    before the recent changes, but now, still triggers undefined behaviour.
    A better check is instead 'current_ui == NULL' which is what I use in
    this patch.
    Triggering this failure is pretty hard, most of the really early errors
    are only triggered if pretty basic things are not as expected, for
    example, if the default signal handlers are not as expected.  Seeing one
    of these errors trigger usually means that someone working on gdb has
    made an incorrect change.  Still, the errors are present in gdb, and
    should we ever trigger one it would be nice if gdb didn't crash.
    For testing this change I've been applying this patch which adds an
    unconditional error into a function called early during gdb start up.
    Later in the same function is a real error call which, in some
    circumstances could be triggered:
      ## START ##
      diff --git a/gdb/common/signals-state-save-restore.c b/gdb/common/signals-state-save-restore.c
      index d11a9ae006c..d75ba70f894 100644
      --- a/gdb/common/signals-state-save-restore.c
      +++ b/gdb/common/signals-state-save-restore.c
      @@ -37,6 +37,9 @@ static sigset_t original_signal_mask;
       save_original_signals_state (void)
      +  internal_error (__FILE__, __LINE__, "example error");
       #ifdef HAVE_SIGACTION
         int i;
         int res;
      ## END ##
    	* utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
    	check current_ui instead.
    	(internal_vproblem): Likewise.

commit 502b834c1a6712d9bbe0beba98727c8365429cd2
Author: GDB Administrator <>
Date:   Sun Sep 10 00:00:33 2017 +0000

    Automatic date update in

commit 0d64823e51de0b0e0a94bdf88940310342a6e6fa
Author: Simon Marchi <>
Date:   Sat Sep 9 22:51:58 2017 +0200

    Remove unnecessary calls to is_mi_like_p in print_thread_info_1
    There are two calls to uiout->is_mi_like_p in the else branch of a
    if (uiout->is_mi_like_p ()), we already know they will return false.
    A bit lower, there are two if (!uiout->is_mi_like_p ()) that we can
    	* thread.c (print_thread_info_1): Remove unnecessary calls to

commit eb1e02fd05688c28686a02f197c5e7cb0a5d6a27
Author: Tom Tromey <>
Date:   Wed Sep 6 17:18:23 2017 -0600

    Use std::vector in add_using_directive
    This changes add_using_directive to accept a std::vector and then
    changes the callers.  This allows removing a cleanup.
    2017-09-09  Tom Tromey  <>
    	* namespace.h (add_using_directive): Update.
    	* namespace.c (add_using_directive): Change type of excludes to
    	* dwarf2read.c (read_import_statement): Use std::vector.
    	(read_namespace): Update.
    	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.

commit 0fc21fd8cf92de78c3c383378e70a2955e2631c3
Author: Tom Tromey <>
Date:   Wed Sep 6 16:16:38 2017 -0600

    Use gdb::def_vector in create_sals_line_offset
    This changes create_sals_line_offset to use gdb::def_vector, removing
    some cleanups.
    2017-09-09  Tom Tromey  <>
    	* linespec.c (create_sals_line_offset): Use gdb::def_vector.

commit 49663d051c70e1366f9b94f586459a329e9b7053
Author: Tom Tromey <>
Date:   Mon Aug 14 00:15:33 2017 -0600

    Use gdb::byte_vector in pascal_object_print_value
    This changes pascal_object_print_value to use a gdb::byte_vector.
    This removes a cleanup.  This change also points out how the previous
    code had a possible use-after-free bug.
    2017-09-09  Tom Tromey  <>
    	* p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.

commit 0b868b60c97b13566cefc8c8f1984225b0165eec
Author: Tom Tromey <>
Date:   Wed Sep 6 16:03:28 2017 -0600

    Use gdb::def_vector in func_command
    This changes func_command to use gdb::def_vector, removing a cleanup.
    2017-09-09  Tom Tromey  <>
    	* stack.c (func_command): Use gdb::def_vector.

commit c0470d489b47f0bbe57893b31d56d2d4ef945f4c
Author: Tom Tromey <>
Date:   Wed Sep 6 21:41:40 2017 -0600

    Use ui_out_emit_list and ui_out_emit_tuple with gdb::optional
    This changes a few spots to use ui_out_emit_list and/or
    ui_out_emit_tuple with gdb::optional, to preserve existing behavior.
    This allows for the removal of a few more cleanups.
    2017-09-09  Tom Tromey  <>
    	* mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
    	ui_out_emit_list, ui_out_emit_tuple.
    	(mi_cmd_var_update): Likewise.

commit ca5909c7de7353d8005bf8fdcc020b8f14cc1603
Author: Tom Tromey <>
Date:   Sun Aug 13 10:47:32 2017 -0600

    Remove make_cleanup_ui_out_redirect_pop
    This patch introduces ui_out_redirect_pop.  All uses of
    make_cleanup_ui_out_redirect_pop are replaced with this new class.
    2017-09-09  Tom Tromey  <>
    	* mi/mi-interp.c (mi_user_selected_context_changed): Use
    	* guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
    	* utils.c (do_ui_out_redirect_pop)
    	(make_cleanup_ui_out_redirect_pop): Remove.
    	* top.c (execute_command_to_string): Use ui_out_redirect_pop.
    	* utils.h (make_cleanup_ui_out_redirect_pop): Remove.
    	* ui-out.h (ui_out_redirect_pop): New class.

commit e6a2252ac3e3dc748df33b38ac66cd78c80be5ad
Author: Tom Tromey <>
Date:   Fri Aug 11 15:17:59 2017 -0600

    Use ui_out_emit_list in more places
    This changes various spots to use ui_out_emit_list, removing some
    2017-09-09  Tom Tromey  <>
    	* mi/mi-main.c (output_cores): Use ui_out_emit_list.
    	(list_available_thread_groups, mi_cmd_list_thread_groups)
    	(mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
    	(mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):

commit 393702cd59d21237c7db99c26dd8c4737a3ae303
Author: Tom Tromey <>
Date:   Fri Aug 11 15:17:26 2017 -0600

    Use ui_out_emit_tuple in disasm.c
    This changes one spot in disasm.c to use ui_out_emit_tuple.  This
    patch required a large reindentation, so I've separated it out.
    2017-09-09  Tom Tromey  <>
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use

commit 76f9c9cfd42eb8df90ce8455a92109c0f71b41e1
Author: Tom Tromey <>
Date:   Fri Aug 11 15:02:04 2017 -0600

    Use ui_out_emit_tuple in more places
    This changes more places to use ui_out_emit_tuple, removing cleanups.
    2017-09-09  Tom Tromey  <>
    	* target.c (flash_erase_command): Use ui_out_emit_tuple.
    	* stack.c (print_frame): Use ui_out_emit_tuple.
    	* spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
    	(info_spu_mailbox_command, info_spu_dma_command)
    	(info_spu_proxydma_command): Likewise.
    	* mi/mi-main.c (mi_cmd_trace_frame_collected): Use
    	ui_out_emit_tuple, gdb::byte_vector, bin2hex.
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
    	* breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.

commit dc9fe180a4437b437015a8b835d05e32d64dff3d
Author: Tom Tromey <>
Date:   Sat Sep 9 09:16:49 2017 -0600

    Remove make_cleanup_ui_out_table_begin_end
    This changes the few remaining uses of
    make_cleanup_ui_out_table_begin_end to use ui_out_emit_table instead,
    and then removes the cleanup.
    2017-09-09  Tom Tromey  <>
    	* ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
    	(class ui_out_emit_table): Update comment.
    	* ui-out.c (do_cleanup_table_end)
    	(make_cleanup_ui_out_table_begin_end): Remove.
    	* spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
    	(info_spu_dma_cmdlist): Likewise.
    	* probe.c (info_probes_for_ops): Use ui_out_emit_table.
    	* darwin-nat-info.c (darwin_debug_regions_recurse): Use

commit f8cc3da6e4548529eabb1ff4e9693261aae1cfee
Author: Tom Tromey <>
Date:   Sat Sep 9 09:15:23 2017 -0600

    Use ui_out_emit_table and ui_out_emit_list in print_thread_info_1
    This changes print_thread_info_1 to use ui_out_emit_table and
    ui_out_emit_list.  Which one is used depends on whether the ui-out is
    mi-like; so the emitters are wrapped in gdb::optional.
    2017-09-09  Tom Tromey  <>
    	* thread.c (print_thread_info_1): Use ui_out_emit_table,
    	ui_out_emit_list, gdb::optional.

commit 481695ed5f6e0a8a9c9c50bfac1cdd2b3151e6c9
Author: John Baldwin <>
Date:   Sat Sep 9 11:02:37 2017 -0700

    Remove unnecessary function prototypes.
    These prototypes were required when compiling GDB as C but are not
    required for C++.
    	* aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
    	* aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
    	* aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
    	* aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
    	* ada-exp.y: Remove _initialize_ada_exp prototype.
    	* ada-lang.c: Remove _initialize_ada_language prototype.
    	* ada-tasks.c: Remove _initialize_tasks prototype.
    	* addrmap.c: Remove _initialize_addrmap prototype.
    	* agent.c: Remove _initialize_agent prototype.
    	* aix-thread.c: Remove _initialize_aix_thread prototype.
    	* alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
    	* alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
    	* alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
    	* alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
    	* alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
    	* alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
    	* amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
    	* amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
    	* amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
    	* amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
    	* amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
    	* amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
    	* amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
    	* amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
    	* amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
    	* amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
    	* amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
    	* amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
    	* amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
    	* amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
    	* annotate.c: Remove _initialize_annotate prototype.
    	* arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
    	* arc-tdep.c: Remove _initialize_arc_tdep prototype.
    	* arch-utils.c: Remove _initialize_gdbarch_utils prototype.
    	* arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
    	* arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
    	* arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
    	* arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
    	* arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
    	* arm-tdep.c: Remove _initialize_arm_tdep prototype.
    	* arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
    	* auto-load.c: Remove _initialize_auto_load prototype.
    	* auxv.c: Remove _initialize_auxv prototype.
    	* avr-tdep.c: Remove _initialize_avr_tdep prototype.
    	* ax-gdb.c: Remove _initialize_ax_gdb prototype.
    	* bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
    	* bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
    	* break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
    	* break-catch-syscall.c: Remove _initialize_break_catch_syscall
    	* break-catch-throw.c: Remove _initialize_break_catch_throw
    	* breakpoint.c: Remove _initialize_breakpoint prototype.
    	* bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
    	* btrace.c: Remove _initialize_btrace prototype.
    	* charset.c: Remove _initialize_charset prototype.
    	* cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
    	* cli/cli-dump.c: Remove _initialize_cli_dump prototype.
    	* cli/cli-interp.c: Remove _initialize_cli_interp prototype.
    	* cli/cli-logging.c: Remove _initialize_cli_logging prototype.
    	* cli/cli-script.c: Remove _initialize_cli_script prototype.
    	* coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
    	* coffread.c: Remove _initialize_coffread prototype.
    	* compile/compile.c: Remove _initialize_compile prototype.
    	* complaints.c: Remove _initialize_complaints prototype.
    	* completer.c: Remove _initialize_completer prototype.
    	* copying.awk: Remove _initialize_copying prototype.
    	* copying.c: Regenerate.
    	* core-regset.c: Remove _initialize_core_regset prototype.
    	* corefile.c: Remove _initialize_core prototype.
    	* corelow.c: Remove _initialize_corelow prototype.
    	* cp-abi.c: Remove _initialize_cp_abi prototype.
    	* cp-namespace.c: Remove _initialize_cp_namespace prototype.
    	* cp-support.c: Remove _initialize_cp_support prototype.
    	* cp-valprint.c: Remove _initialize_cp_valprint prototype.
    	* cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
    	* cris-tdep.c: Remove _initialize_cris_tdep prototype.
    	* ctf.c: Remove _initialize_ctf prototype.
    	* d-lang.c: Remove _initialize_d_language prototype.
    	* darwin-nat-info.c: Remove _initialize_darwin_info_commands
    	* darwin-nat.c: Remove _initialize_darwin_inferior prototype.
    	* dbxread.c: Remove _initialize_dbxread prototype.
    	* dcache.c: Remove _initialize_dcache prototype.
    	* demangle.c: Remove _initialize_demangler prototype.
    	* disasm-selftests.c: Remove _initialize_disasm_selftests
    	* disasm.c: Remove _initialize_disasm prototype.
    	* dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
    	* dummy-frame.c: Remove _initialize_dummy_frame prototype.
    	* dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
    	* dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
    	* dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
    	* dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
    	* dwarf2read.c: Remove _initialize_dwarf2_read prototype.
    	* elfread.c: Remove _initialize_elfread prototype.
    	* exec.c: Remove _initialize_exec prototype.
    	* extension.c: Remove _initialize_extension prototype.
    	* f-lang.c: Remove _initialize_f_language prototype.
    	* f-valprint.c: Remove _initialize_f_valprint prototype.
    	* fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
    	* fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
    	* filesystem.c: Remove _initialize_filesystem prototype.
    	* findcmd.c: Remove _initialize_mem_search prototype.
    	* fork-child.c: Remove _initialize_fork_child prototype.
    	* frame-base.c: Remove _initialize_frame_base prototype.
    	* frame-unwind.c: Remove _initialize_frame_unwind prototype.
    	* frame.c: Remove _initialize_frame prototype.
    	* frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
    	* frv-tdep.c: Remove _initialize_frv_tdep prototype.
    	* ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
    	* gcore.c: Remove _initialize_gcore prototype.
    	* gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
    	* gdbarch.c: Regenerate.
    	* Remove _initialize_gdbarch prototype.
    	* gdbtypes.c: Remove _initialize_gdbtypes prototype.
    	* gnu-nat.c: Remove _initialize_gnu_nat prototype.
    	* gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
    	* gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
    	* go-lang.c: Remove _initialize_go_language prototype.
    	* go32-nat.c: Remove _initialize_go32_nat prototype.
    	* guile/guile.c: Remove _initialize_guile prototype.
    	* h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
    	* hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
    	* hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
    	* hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
    	* hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
    	* hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
    	* hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
    	* hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
    	* i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
    	* i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
    	* i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
    	* i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
    	* i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
    	* i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
    	* i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
    	* i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
    	* i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
    	* i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
    	* i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
    	* i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
    	* i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
    	* i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
    	* i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
    	* i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
    	* i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
    	* i386-tdep.c: Remove _initialize_i386_tdep prototype.
    	* i386-windows-nat.c: Remove _initialize_i386_windows_nat
    	* ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
    	* ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
    	* ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
    	* ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
    	* ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
    	* infcall.c: Remove _initialize_infcall prototype.
    	* infcmd.c: Remove _initialize_infcmd prototype.
    	* inferior.c: Remove _initialize_inferiors prototype.
    	* inflow.c: Remove _initialize_inflow prototype.
    	* infrun.c: Remove _initialize_infrun prototype.
    	* interps.c: Remove _initialize_interpreter prototype.
    	* iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
    	* jit.c: Remove _initialize_jit prototype.
    	* language.c: Remove _initialize_language prototype.
    	* linux-fork.c: Remove _initialize_linux_fork prototype.
    	* linux-nat.c: Remove _initialize_linux_nat prototype.
    	* linux-tdep.c: Remove _initialize_linux_tdep prototype.
    	* linux-thread-db.c: Remove _initialize_thread_db prototype.
    	* lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
    	* m2-lang.c: Remove _initialize_m2_language prototype.
    	* m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
    	* m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
    	* m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
    	* m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
    	* m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
    	* m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
    	* m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
    	* m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
    	* m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
    	* m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
    	* m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
    	* m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
    	* machoread.c: Remove _initialize_machoread prototype.
    	* macrocmd.c: Remove _initialize_macrocmd prototype.
    	* macroscope.c: Remove _initialize_macroscope prototype.
    	* maint.c: Remove _initialize_maint_cmds prototype.
    	* mdebugread.c: Remove _initialize_mdebugread prototype.
    	* memattr.c: Remove _initialize_mem prototype.
    	* mep-tdep.c: Remove _initialize_mep_tdep prototype.
    	* mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
    	* mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
    	* mi/mi-interp.c: Remove _initialize_mi_interp prototype.
    	* mi/mi-main.c: Remove _initialize_mi_main prototype.
    	* microblaze-linux-tdep.c: Remove
    	_initialize_microblaze_linux_tdep prototype.
    	* microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
    	* mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
    	* mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
    	* mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
    	* mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
    	* mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
    	* mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
    	* mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
    	* mips-tdep.c: Remove _initialize_mips_tdep prototype.
    	* mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
    	* mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
    	* mipsread.c: Remove _initialize_mipsread prototype.
    	* mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
    	* mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
    	* moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
    	* msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
    	* mt-tdep.c: Remove _initialize_mt_tdep prototype.
    	* nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
    	* nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
    	* nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
    	* nto-procfs.c: Remove _initialize_procfs prototype.
    	* nto-tdep.c: Remove _initialize_nto_tdep prototype.
    	* objc-lang.c: Remove _initialize_objc_language prototype.
    	* objfiles.c: Remove _initialize_objfiles prototype.
    	* observer.c: Remove observer_test_first_notification_function,
    	observer_test_third_notification_function, and
    	_initialize_observer prototypes.
    	* opencl-lang.c: Remove _initialize_opencl_language prototypes.
    	* osabi.c: Remove _initialize_gdb_osabi prototype.
    	* osdata.c: Remove _initialize_osdata prototype.
    	* p-valprint.c: Remove _initialize_pascal_valprint prototype.
    	* parse.c: Remove _initialize_parse prototype.
    	* ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
    	* ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
    	* ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
    	* ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
    	* ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
    	* ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
    	* ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
    	* ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
    	* printcmd.c: Remove _initialize_printcmd prototype.
    	* probe.c: Remove _initialize_probe prototype.
    	* proc-api.c: Remove _initialize_proc_api prototype.
    	* proc-events.c: Remove _initialize_proc_events prototype.
    	* proc-service.c: Remove _initialize_proc_service prototype.
    	* procfs.c: Remove _initialize_procfs prototype.
    	* psymtab.c: Remove _initialize_psymtab prototype.
    	* python/python.c: Remove _initialize_python prototype.
    	* ravenscar-thread.c: Remove _initialize_ravenscar prototype.
    	* record-btrace.c: Remove _initialize_record_btrace prototype.
    	* record-full.c: Remove _initialize_record_full prototype.
    	* record.c: Remove _initialize_record prototype.
    	* regcache.c: Remove _initialize_regcache prototype.
    	* reggroups.c: Remove _initialize_reggroup prototype.
    	* remote-notif.c: Remove _initialize_notif prototype.
    	* remote-sim.c: Remove _initialize_remote_sim prototype.
    	* remote.c: Remove _initialize_remote prototype.
    	* reverse.c: Remove _initialize_reverse prototype.
    	* rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
    	* rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
    	* rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
    	* rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
    	* rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
    	* rust-exp.y: Remove _initialize_rust_exp prototype.
    	* rx-tdep.c: Remove _initialize_rx_tdep prototype.
    	* s390-linux-nat.c: Remove _initialize_s390_nat prototype.
    	* s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
    	* score-tdep.c: Remove _initialize_score_tdep prototype.
    	* selftest-arch.c: Remove _initialize_selftests_foreach_arch
    	* ser-go32.c: Remove _initialize_ser_dos prototype.
    	* ser-mingw.c: Remove _initialize_ser_windows prototype.
    	* ser-pipe.c: Remove _initialize_ser_pipe prototype.
    	* ser-tcp.c: Remove _initialize_ser_tcp prototype.
    	* ser-unix.c: Remove _initialize_ser_hardwire prototype.
    	* serial.c: Remove _initialize_serial prototype.
    	* sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
    	* sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
    	* sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
    	* sh-tdep.c: Remove _initialize_sh_tdep prototype.
    	* skip.c: Remove _initialize_step_skip prototype.
    	* sol-thread.c: Remove _initialize_sol_thread prototype.
    	* solib-aix.c: Remove _initialize_solib_aix prototype.
    	* solib-darwin.c: Remove _initialize_darwin_solib prototype.
    	* solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
    	* solib-frv.c: Remove _initialize_frv_solib prototype.
    	* solib-spu.c: Remove _initialize_spu_solib prototype.
    	* solib-svr4.c: Remove _initialize_svr4_solib prototype.
    	* solib-target.c: Remove _initialize_solib_target prototype.
    	* solib.c: Remove _initialize_solib prototype.
    	* source.c: Remove _initialize_source prototype.
    	* sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
    	* sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
    	* sparc-nat.c: Remove _initialize_sparc_nat prototype.
    	* sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
    	* sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
    	* sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
    	* sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
    	* sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
    	* sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
    	* sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
    	* sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
    	* sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
    	* sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
    	* sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
    	* sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
    	* sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
    	* sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
    	* sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
    	* sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
    	* spu-linux-nat.c: Remove _initialize_spu_nat prototype.
    	* spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
    	* spu-tdep.c: Remove _initialize_spu_tdep prototype.
    	* stabsread.c: Remove _initialize_stabsread prototype.
    	* stack.c: Remove _initialize_stack prototype.
    	* stap-probe.c: Remove _initialize_stap_probe prototype.
    	* std-regs.c: Remove _initialize_frame_reg prototype.
    	* symfile-debug.c: Remove _initialize_symfile_debug prototype.
    	* symfile-mem.c: Remove _initialize_symfile_mem prototype.
    	* symfile.c: Remove _initialize_symfile prototype.
    	* symmisc.c: Remove _initialize_symmisc prototype.
    	* symtab.c: Remove _initialize_symtab prototype.
    	* target-dcache.c: Remove _initialize_target_dcache prototype.
    	* target-descriptions.c: Remove _initialize_target_descriptions
    	* thread.c: Remove _initialize_thread prototype.
    	* tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
    	* tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
    	* tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
    	* tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
    	* tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
    	* tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
    	* tracefile.c: Remove _initialize_tracefile prototype.
    	* tracepoint.c: Remove _initialize_tracepoint prototype.
    	* tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
    	* tui/tui-interp.c: Remove _initialize_tui_interp prototype.
    	* tui/tui-layout.c: Remove _initialize_tui_layout prototype.
    	* tui/tui-regs.c: Remove _initialize_tui_regs prototype.
    	* tui/tui-stack.c: Remove _initialize_tui_stack prototype.
    	* tui/tui-win.c: Remove _initialize_tui_win prototype.
    	* tui/tui.c: Remove _initialize_tui prototype.
    	* typeprint.c: Remove _initialize_typeprint prototype.
    	* user-regs.c: Remove _initialize_user_regs prototype.
    	* utils.c: Remove _initialize_utils prototype.
    	* v850-tdep.c: Remove _initialize_v850_tdep prototype.
    	* valarith.c: Remove _initialize_valarith prototype.
    	* valops.c: Remove _initialize_valops prototype.
    	* valprint.c: Remove _initialize_valprint prototype.
    	* value.c: Remove _initialize_values prototype.
    	* varobj.c: Remove _initialize_varobj prototype.
    	* vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
    	* vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
    	* vax-tdep.c: Remove _initialize_vax_tdep prototype.
    	* windows-nat.c: Remove _initialize_windows_nat,
    	_initialize_check_for_gdb_ini, and _initialize_loadable
    	* windows-tdep.c: Remove _initialize_windows_tdep prototype.
    	* xcoffread.c: Remove _initialize_xcoffread prototype.
    	* xml-support.c: Remove _initialize_xml_support prototype.
    	* xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
    	* xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
    	* xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
    	* xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.

commit 2420fff633eff03ec1f85eba82a926cd0ecf4229
Author: Alan Modra <>
Date:   Sat Sep 9 21:55:22 2017 +0930

    PowerPC64 --plt-align
    This changes the PowerPC64 --plt-align option to perform the usual
    alignment of code as suggested by its name, as well as the previous
    behaviour of padding so as to reduce boundary crossing.  The old
    behaviour is had by using a negative parameter.
    The default is also changed to align plt stub code by default to 32
    byte boundaries, the point being to get better bctr branch prediction
    on power8 and power9 hardware.
    	* elf64-ppp.c (plt_stub_pad): Handle positive and negative
    	* ld.texinfo (--plt-align): Describe new behaviour of option.
    	* emultempl/ppc64elf.em (params): Default plt_stub_align to 5.
    	* testsuite/ld-powerpc/powerpc.exp: Pass --no-plt-align for
    	selected tests.
    	* testsuite/ld-powerpc/relbrlt.d: Pass --no-plt-align.
    	* testsuite/ld-powerpc/elfv2so.d: Adjust expected output.

commit c5bce5c69721af8dae5c607e085e545cdba33ab1
Author: H.J. Lu <>
Date:   Sat Sep 9 07:29:15 2017 -0700

    Since the only information which SYMBOL_REFERENCES_LOCAL_P doesn't check
    is relocations, UNDEFINED_WEAK_RESOLVED_TO_ZERO only needs to check for
    relocations with SYMBOL_REFERENCES_LOCAL_P.
    	* elf32-i386.c (elf_i386_relocate_section): Update usage of
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
    	(_bfd_x86_elf_fixup_symbol): Likewise.

commit 8fbf0ba18c8a63bd4974086f6709b2bf050b0b0b
Author: H.J. Lu <>
Date:   Sat Sep 9 07:19:36 2017 -0700

    x86: Don't check has_non_got_reloc
    _bfd_x86_elf_link_symbol_references_local should depend only on symbol
    references, not relocations, to work in check_relocs.
    	* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
    	check has_non_got_reloc.

commit 4e9ac44a8925c7da81735ef24beb5456a0c0fa24
Author: H.J. Lu <>
Date:   Sat Sep 9 05:31:30 2017 -0700

    x86: Remove restriction on NOTRACK prefix position
    Since the NOTRACK prefix is no longer required to be the last prefix
    before the REX prefix, restriction on the NOTRACK prefix position is
    removed from assembler as well as disassembler.  Assembler encodes the
    NOTRACK prefix the same way as the DS segment register, which places
    it before other prefixes.  Disassembler displays prefixes in the order
    they appear.
    	* config/tc-i386.c (NOTRACK_PREFIX): Removed.
    	(REX_PREFIX): Updated.
    	(MAX_PREFIXES): Likewise.
    	(parse_insn): Remove restriction on NOTRACK prefix position.
    	* testsuite/gas/i386/notrack.s: Add tests with NOTRACK prefix
    	before other prefixes.
    	* testsuite/gas/i386/x86-64-notrack.s: Likewise.
    	* testsuite/gas/i386/notrackbad.s: Remove tests with NOTRACK
    	prefix before other prefixes.
    	* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
    	* testsuite/gas/i386/notrack-intel.d: Updated.
    	* testsuite/gas/i386/notrack.d: Likewise.
    	* testsuite/gas/i386/notrackbad.l: Likewise.
    	* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrack.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
    	* i386-dis.c (last_active_prefix): Removed.
    	(ckprefix): Don't set last_active_prefix.
    	(NOTRACK_Fixup): Don't check last_active_prefix.

commit 0a27fed72d4190cc70025c671b5133e6c58d9c09
Author: H.J. Lu <>
Date:   Sat Sep 9 05:05:16 2017 -0700

    x86: Properly handle __ehdr_start
    After _bfd_i386_elf_convert_load and _bfd_x86_64_elf_convert_load are
    removed, elf_i386_convert_load_reloc and elf_x86_64_convert_load_reloc
    see __ehdr_start as an undefined symbol when they are called from
    check_relocs to convert GOT relocations against local symbols.  But
    __ehdr_start will be defined as a hidden symbol by linker at the later
    stage if it is referenced.  This patch marks __ehdr_start as a defined
    local symbol at the start of check_relocs if it is referenced and not
    	PR ld/22115
    	* elf32-i386.c (elf_i386_convert_load_reloc): Check linker_def.
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Check
    	linker_def.  Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
    	* elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Set local_ref
    	and linker_def on __ehdr_start if it is referenced and not
    	(_bfd_x86_elf_link_symbol_references_local): Also set local_ref
    	and return TRUE when building executable, if a symbol has
    	non-GOT/non-PLT relocations in text section or there is no
    	dynamic linker.
    	* elfxx-x86.h (elf_x86_link_hash_entry): Add linker_def.
    	PR ld/22115
    	* ld-i386/i386.exp: Run PR ld/22115 tests,
    	* ld/testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/pr22115-1.s: New file.
    	* testsuite/ld-i386/pr22115-1a.d: Likewise.
    	* testsuite/ld-i386/pr22115-1b.d: Likewise.
    	* testsuite/ld-i386/pr22115-1c.d: Likewise.
    	* testsuite/ld-i386/pr22115-1d.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1.s: Likewise.
    	* testsuite/ld-x86-64/pr22115-1a-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1a.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1b-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1b.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1c-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1c.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1d-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr22115-1d.d: Likewise.

commit 90d499086b5d35ac5b58c925f23513f6af2c3639
Author: GDB Administrator <>
Date:   Sat Sep 9 00:00:19 2017 +0000

    Automatic date update in

commit a611b5cb00f47a47426bf1d4fdca9cf3b7eadb53
Author: Keith Seitz <>
Date:   Fri Sep 8 16:44:30 2017 -0700

    Remove unused field field_info.fnfields
    Since at least 7.3 the "fnfields" field in struct field_info has been
    unused.  This patch simply removes it.
    	* dwarf2read.c (struct field_info) <fnfields>: Remove unused

commit c7df954fc4be9eea78a812d04beb6a5534d9a5e7
Author: H.J. Lu <>
Date:   Fri Sep 8 09:15:25 2017 -0700

    x86: Update comments in elfxx-x86.h
    	* elfxx-x86.h: Update comments.

commit 469412dd9ccc4de5874fd3299b105833f36b34cd
Author: Christoph Weinmann <>
Date:   Fri Sep 8 15:11:47 2017 +0200

    Remove C/C++ relevant code in Fortran specific file.
    Remove code relevant for printing C/C++ Integer values in a
    Fortran specific file to unify printing of Fortran values.
    This does not change the output.

commit e0f86435f8b3c61e21070a232a07c03928c2d544
Author: Bernhard Heckel <>
Date:   Fri Sep 8 15:11:47 2017 +0200

    fortran: Testsuite, fix typos in vla-value.

commit 9e9af4be9f656f82922e6aaeb3b6421508403ea4
Author: Bernhard Heckel <>
Date:   Fri Sep 8 15:11:47 2017 +0200

    Fortran: Testsuite, fix differences in type naming.

commit a5ad232b3e6f39cf2955a8ec3aa4355359a9f72e
Author: Frank Penczek <>
Date:   Fri Sep 8 15:11:47 2017 +0200

    Fix indentation for printing Fortran types with pointers
    Printing the prefix "PTR TO -> (" resp. "REF TO ->(" ignored the active
    indentation level.  This caused inconsistent appearance of user-defined
    Fortran types containing pointers.  Fix by using "fprintfi_filtered" with the
    current indentation level for outputting the prefix string.  Add test case
    Example using 'ptype' on object of type:
      type TypeWithPointer
        integer i
        integer, pointer:: p
      end type TypeWithPointer
      type = Type typewithpointer
          integer(kind=4) :: i
      PTR TO -> ( integer(kind=4) :: p)
      End Type typewithpointer
      type = Type typewithpointer
          integer(kind=4) :: i
          PTR TO -> ( integer(kind=4) :: p)
      End Type typewithpointer

commit 1de031c80b121db6f59d189d150ab2b69f6ede21
Author: H.J. Lu <>
Date:   Fri Sep 8 04:10:34 2017 -0700

    x86: Replace elf_x86_plt_layout_table with elf_x86_init_table
    	* elf32-i386.c (elf_i386_link_setup_gnu_properties): Replace
    	elf_x86_plt_layout_table with elf_x86_init_table.
    	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
    	* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties):
    	* elfxx-x86.h (elf_x86_plt_layout_table): Renamed to ...
    	(elf_x86_init_table): This.
    	(_bfd_x86_elf_link_setup_gnu_properties): Replace
    	elf_x86_plt_layout_table with elf_x86_init_table.

commit 7a382c1c50fca0d4bc4c2e618ff6ac222c4e2137
Author: H.J. Lu <>
Date:   Thu Sep 7 17:19:10 2017 -0700

    x86; Don't add elf64-x86-64.lo nor elf64.lo together with elfxx-x86.lo
    Don't set r_info and r_sym fields in _bfd_x86_elf_link_hash_table_create.
    Instead, set them in _bfd_x86_elf_link_setup_gnu_properties.  We can
    avoid adding elf64-x86-64.lo and elf64.lo together with elfxx-x86.lo to
    	* (bfd_backends): Don't add elf64-x86-64.lo nor
    	elf64.lo together with elfxx-x86.lo for 64-bit BFD.
    	* configure: Regenerated.
    	* elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info
    	and r_sym fields of plt_layout.
    	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
    	* elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check.
    	(_bfd_x86_elf_link_hash_table_create): Likewise.  Don't set
    	r_info nor r_sym fields.
    	(_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym
    	fields of htab.
    	* elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.

commit bd757a5bf293aaed6c6aa79776bbef13ca2da92b
Author: GDB Administrator <>
Date:   Fri Sep 8 00:00:20 2017 +0000

    Automatic date update in

commit ed0816bd936492aa7dc00e4fbbf8ff8de1253854
Author: Palmer Dabbelt <>
Date:   Fri Jun 16 14:33:16 2017 -0700

    RISC-V: Avoid emitting invalid instructions in mixed RVC/no-RVC code
    When linking the following code
        .global _prog_start
                mv x1, x1
                mv x2, x2
        .align 2
        .option norvc
        .align 3
                mv x3, x3
    we currently emit an invalid two-byte 0 instruction.  The actual output
    code looks like
        0000000080000000 <_prog_start>:
            80000000:   8086                    mv      ra,ra
            80000002:   810a                    mv      sp,sp
        0000000080000004 <rvc_boundry>:
            80000004:   0000                    unimp
            80000006:   0001                    nop
            80000008:   00018193                mv      gp,gp
    This ends up manifesting due to the two-byte compressed NOP that's
    pessimisticly emitted by the ".align 2", which results in "rvc_boundry"
    being 2-byte aligned.  frag_align_code() then goes and outputs a 2-byte
    NOP (which is invalid in no-RVC mode) to align the code back to a 4-byte
    boundry, which can't be relaxed away by the linker as it's not part of
    the R_RISCV_RELAX relocation.
    The fix is to just always emit the worst case possible alignment into
    the output as a single R_RISCV_RELAX, which the linker will then fix up.
    With this patch I get the expected code generation
        0000000080000000 <_prog_start>:
            80000000:   8086                    mv      ra,ra
            80000002:   810a                    mv      sp,sp
        0000000080000004 <rvc_boundry>:
            80000004:   00000013                nop
            80000008:   00018193                mv      gp,gp
    2017-09-07  Palmer Dabbelt  <>
            * config/tc-riscv.c (riscv_frag_align_code): Emit the entire
            alignment sequence inside R_RISCV_ALIGN.

commit 9eb7b0acb54e18e7cbca196a8bdb320844a858b3
Author: Palmer Dabbelt <>
Date:   Fri Jun 16 14:19:55 2017 -0700

    RISC-V: Print an error when unable to align a section
    This used to just print "can't relax section: Success", which is a silly
    error message.
    2017-09-07  Palmer Dabbelt  <>
            * elfnn-riscv.c (_bfd_riscv_relax_align): Call bfd_set_error and
            print an error message when unable to relax a .align directive.

commit b1308d2c3749cc454f00b70768ee33724d919527
Author: Palmer Dabbelt <>
Date:   Wed Aug 16 10:41:56 2017 -0700

    RISC-V: Support PCREL_* relocations agaist weak undefined symbols
    I recently modified our Linux port's base address such the absolute
    address 0 is no longer addressable as a 32-bit PC-relative offset.
    Since Linux links a weak undefined symbol in an intermediate binary, it
    needs to be able to reference absolute address 0.
    This patch changes R_RISCV_PCREL_* relocations to absolute relocations
    while resolving them in order to allow these symbols to be referenced in
    PC-relative programs linked at high addresses.  Note that this doesn't
    apply to PIC, which also uses PC-relative relocations, just to
    position-dependent objects, which we use to allow programs to be linked
    at high addresses.
    In case some of our embedded users are using R_RISCV_PCREL_* as a hacked
    up method of getting position-independent binaries (which can work if
    you have very simple programs), we only convert the relocations when the
    PC-relative version would overflow.
    2017-09-07  Palmer Dabbelt  <>
            * elfnn-riscv.c (riscv_zero_pcrel_hi_reloc): New function.
            (riscv_record_pcrel_hi_reloc): Add absolute argument.
            (riscv_elf_relocate_section): Call riscv_zero_pcrel_hi_reloc for
            R_RISCV_PCREL_HI20 relocs, and pass the result to

commit e50142270b699c4960e56824a0300865589dc292
Author: Joel Brobecker <>
Date:   Thu Sep 7 07:40:10 2017 -0700

    Document the GDB 8.0.1 release in gdb/ChangeLog
    	GDB 8.0.1 released.

commit 63c99141deff52f22aa36b9d6cb02e7331aedd1c
Author: Joel Brobecker <>
Date:   Thu Sep 7 07:24:33 2017 -0700

    remove QStartupWithShell entry from NEWS::Changes in GDB 7.11
    This entry was added twice within the same commit, back in Dec 2017
    by the following change:
        commit aefd8b33d97bded58e51d75271f99e1eaec9fb28
        Date:   Thu Dec 22 22:14:02 2016 -0500
        Subject: Implement proper "startup-with-shell" support on gdbserver
    I think the second entry is just a rebase/merge oversight, and it wasn't
    meant to be added there, particularly since the 7.11 branch was no longer
    active at that time anymore.
    This patch just removes the entry.
    	* NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.

commit 6999821f8b1e898f02d0c1196c4c83337c3b565e
Author: H.J. Lu <>
Date:   Thu Sep 7 04:03:15 2017 -0700

    x86: Remove _bfd_{i386,x86_64}_elf_convert_load
    Instead of converting GOT relocations when sizing dynamic sections, we
    convert GOT relocations during relocation check.  Add a field, local_ref,
    to elf_x86_link_hash_entry to indicate if symbol references are always
    local with a new function to check if symbol references are always local,
    which works in check_relocs.
    	* elf32-i386.c (elf_i386_convert_load_reloc): Add an argument,
    	r_type_p.  Remove the converted argument.  Replace
    	the new relocation type via r_type_p.
    	(elf_i386_relocate_section): Likewise.
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	(need_convert_load): Removed.
    	(check_relocs_failed): Updated.
    	(elf_i386_check_relocs): Call elf_i386_convert_load_reloc,
    	instead of setting need_convert_load.
    	(_bfd_i386_elf_convert_load): Removed.
    	* elf64-x86-64.c (need_convert_load): Removed.
    	(check_relocs_failed): Updated.
    	(elf_x86_64_convert_load_reloc): Add an argument, r_type_p.
    	Return the new relocation type via r_type_p.
    	(elf_x86_64_check_relocs): Call elf_x86_64_convert_load_reloc,
    	instead of setting need_convert_load.
    	(elf_x86_64_check_relocs): Don't check PIC if relocation has
    	been converted.
    	(_bfd_x86_64_elf_convert_load): Removed.
    	(elf_x86_64_relocate_section): Replace SYMBOL_REFERENCES_LOCAL
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Don't
    	set convert_load.
    	(_bfd_x86_elf_size_dynamic_sections): Don't call convert_load.
    	(_bfd_x86_elf_link_symbol_references_local): New function.
    	* elfxx-x86.h (SYMBOL_REFERENCES_LOCAL_P): New.
    	(UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace elf.forced_local with
    	(elf_x86_link_hash_entry): Add local_ref.
    	(elf_x86_link_hash_table): Remove convert_load.
    	(_bfd_i386_elf_convert_load): Removed.
    	(_bfd_x86_64_elf_convert_load): Likewise.
    	(_bfd_x86_elf_link_symbol_references_local): New.

commit 639257e981e61472e5fc215eb60c5d545ac5e2ab
Author: GDB Administrator <>
Date:   Thu Sep 7 00:00:25 2017 +0000

    Automatic date update in

commit 69c1e056df50e931ca9cbb4b5881e574583cf9ab
Author: Tom Tromey <>
Date:   Sun Sep 3 21:50:47 2017 -0600

    Change funcall_chain to be a std::vector
    This simplifies the handling of funcall_chain, by changing it to be a
    std::vector<int> and then fixing the users.  This allows the removal
    of a cleanup.
    It would be even cleaner to replace this with better logic in the
    parsers; but a baby step seemed ok.
    2017-09-05  Tom Tromey  <>
    	* parse.c (funcall_chain): Now a std::vector.
    	(start_arglist, end_arglist): Simplify.
    	(free_funcalls): Remove.
    	(parse_exp_in_context_1): Remove cleanup.

commit fef704bfec3fdec29b08fca2bd0a5226a04c3113
Author: Tom Tromey <>
Date:   Sun Aug 13 10:40:35 2017 -0600

    Remove last cleanups from go-exp.y
    This removes the last remaining cleanups from go-exp.y.
    2017-09-05  Tom Tromey  <>
    	* go-exp.y (go_parse): Don't create a cleanup.

commit 5613c5857a020ca5189a73df7b58a234d0311bfb
Author: Tom Tromey <>
Date:   Sun Aug 13 10:38:53 2017 -0600

    Remove last cleanups from d-exp.y
    This removes the last remaining cleanups from d-exp.y.
    2017-09-05  Tom Tromey  <>
    	* d-exp.y (PrimaryExpression): Use std::string.
    	(d_parse): Don't create a cleanup.

commit eae49211e13efa075d57ab354ea4207666eadc96
Author: Tom Tromey <>
Date:   Sun Aug 13 10:37:13 2017 -0600

    Remove make_cleanup_clear_parser_state
    This removes make_cleanup_clear_parser_state in favor of
    2017-09-05  Tom Tromey  <>
    	* utils.c (do_clear_parser_state): Remove.
    	(make_cleanup_clear_parser_state): Remove.
    	* p-exp.y (pascal_parse): Use scoped_restore.
    	* m2-exp.y (m2_parse): Use scoped_restore.
    	* f-exp.y (f_parse): Use scoped_restore.
    	* d-exp.y (d_parse): Use scoped_restore.
    	* c-exp.y (c_parse): Use scoped_restore.
    	* ada-exp.y (ada_parse): Use scoped_restore.
    	* utils.h (make_cleanup_clear_parser_state): Remove.

commit 73b9be8b5301c4ac056e10c38a47414867ee892a
Author: Keith Seitz <>
Date:   Wed Sep 6 12:50:52 2017 -0700

    Introduce dw2_linkage_name and dw2_linkage_name_attr.
    The DWARF reader is littered with the following idiom to read a linkage name
    from the debug info:
      mangled = dwarf2_string_attr (die, DW_AT_linkage_name, cu);
      if (mangled == NULL)
        mangled = dwarf2_string_attr (die, DW_AT_MIPS_linkage_name, cu);
    This patch introduces functions to simplify this to:
      mangled = dw2_linkage_name (die, cu);
      attr = dw2_linkage_name_attr (die, cu);
    	* dwarf2read.c (dw2_linkage_name_attr): New function.
    	(dw2_linkage_name): New function.
    	(dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
    	(guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
    	(anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.

commit 5c887dd5f699f953e274ba5981fe331eec8e224d
Author: John Baldwin <>
Date:   Wed Sep 6 10:16:12 2017 -0700

    Honor an existing CC_FOR_BUILD in the environment for sim.
    This matches the equivalent bits in bfd/acinclude.m4
    	* Honor existing CC_FOR_BUILD in environment.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* acinclude.m4 (SIM_AC_COMMON) Honor existing CC_FOR_BUILD in
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.
    	* configure: Regenerate.

commit 5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10
Author: Tom Tromey <>
Date:   Wed Aug 30 16:12:56 2017 -0600

    Cast char constant to int in sizeof.exp
    PR gdb/22010 concerns a regression I introduced with the scalar
    printing changes.  The bug is that this code in sizeof.exp:
        set signof_byte [get_integer_valueof "'\\377'" -1]
    can incorrectly compute sizeof_byte.  One underlying problem here is
    that gdb's C parser doesn't treat a char constant as an int (this is
    PR 19973).
    However, it seems good to have an immediate fix for the regression.
    The simplest is to cast to an int here.
    2017-09-05  Tom Tromey  <>
    	PR gdb/22010:
    	* gdb.base/sizeof.exp (check_valueof): Cast char constant to int.

commit a102602bc56e418f9794d653ef103a65f08a5a49
Author: Kamil Rytarowski <>
Date:   Wed Sep 6 18:48:49 2017 +0200

    Correct shell compatibility issue detected with pkgsrc.
    String comparison of in a POSIX bourne shell must be done
    with '=', not '=='. For example the NetBSD sh(1) does not
    support it.
    2017-09-06  Kamil Rytarowski  <>
    	* config/djgpp/ Correct shell portability issue.

commit 8f8f815255bf36800cdfff93fd88a62aaa39ce16
Author: Thomas Preud'homme <>
Date:   Wed Sep 6 17:54:26 2017 +0100

    Fix calls in gdb.arch/thumb2-it.exp
    Tests in gdb.arch/thumb2-it.exp call functions defined in assembly
    without type debugging information. Since
    7022349d5c86bae74b49225515f42d2e221bd368 ("Stop assuming no-debug-info
    functions return int") this triggers an error which leads to many tests
    to FAIL. This patch cast the call to indicate the return type of the
    functions when calling them.
    2017-09-06  Thomas Preud'homme  <>
    	* gdb.arch/thumb2-it.exp: Cast call to assembly defined function.

commit 28ad437d7af2fe5bf83dafb4e733978d0b142edb
Author: Kamil Rytarowski <>
Date:   Wed Sep 6 18:33:46 2017 +0200

    NetBSD ships with gcore(1) againg since the version 2.0.
    This tool is functional and actively maintained.
    2017-09-06  Kamil Rytarowski  <>
    	* configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.

commit 351787dd4cb8439c0b49472648dd97ebedb5f575
Author: John Baldwin <>
Date:   Thu Aug 10 11:00:42 2017 -0700

    Add native target for FreeBSD/aarch64.
    	* (ALLDEPFILES): Add mips-fbsd-nat.c.
    	* NEWS: Mention new FreeBSD/mips native configuration.
    	* Add aarch64*-*-freebsd*.
    	* configure.nat: Likewise.
    	* aarch64-fbsd-nat.c: New file.

commit c0f84956d0df0f004e31a987ecc77ea0d293e62c
Author: John Baldwin <>
Date:   Tue Aug 8 23:25:42 2017 -0700

    Add FreeBSD/aarch64 architecture.
    Support for collecting and supplying general purpose and floating point
    register sets is provided along with signal frame unwinding.
    	* (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
    	(ALLDEPFILES): Add aarch64-fbsd-tdep.c.
    	* NEWS: Mention new FreeBSD/aarch64 target.
    	* configure.tgt: Add aarch64*-*-freebsd*.
    	* aarch64-fbsd-tdep.c: New file.
    	* aarch64-fbsd-tdep.h: New file.

commit 7610297ab578854a5e9ff1247a77398a60d70f91
Author: Kamil Rytarowski <>
Date:   Wed Sep 6 17:57:39 2017 +0200

    Add myself as a write-after-approval GDB maintainer.
    2017-09-06  Kamil Rytarowski  <>
    	* MAINTAINERS (Write After Approval): Add Kamil Rytarowski.

commit 78984959cb385388e29dcc88dc169449344f22d7
Author: H.J. Lu <>
Date:   Wed Sep 6 05:06:35 2017 -0700

    x86-64: Add R_X86_64_converted_reloc_bit
    Add R_X86_64_converted_reloc_bit to relocation type to indicate if a
    relocation is converted from a GOTPCREL relocation.  Linker now generates
    failed to convert GOTPCREL relocation; relink with --no-relax
    for all cases, including relocations against local symbols.
    	* elf64-x86-64.c (R_X86_64_converted_reloc_bit): New.
    	(elf_x86_64_info_to_howto): Get the real relocation type by
    	masking out R_X86_64_converted_reloc_bit.
    	(elf_x86_64_check_tls_transition): Get the real relocation type
    	by masking out R_X86_64_converted_reloc_bit.
    	(elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit
    	instead of setting converted_reloc.
    	(elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit
    	instead of converted_reloc. Get the real relocation type by
    	masking out R_X86_64_converted_reloc_bit.
    	(elf_x86_64_link_setup_gnu_properties): Verify that the value of
    	R_X86_64_converted_reloc_bit is valid.
    	* elfxx-x86.h (converted_reloc): Removed.
    	* testsuite/ld-x86-64/pr19609-2a.d: Updated.
    	* testsuite/ld-x86-64/pr19609-2b.d: Likewise.
    	* testsuite/ld-x86-64/pr19609-4a.d: Likewise.
    	* testsuite/ld-x86-64/pr19609-4c.d: Likewise.

commit 419414eafcee7cd749ee4622ef25020e48b52cc4
Author: H.J. Lu <>
Date:   Wed Sep 6 04:49:47 2017 -0700

    x86: Don't change r_type when performing TLS transitions
    Don't change r_type when performing TLS transitions to avoid getting
    the relocation type with ELF32_R_TYPE again.
    	* elf32-i386.c (elf_i386_relocate_section): Don't change r_type
    	when calling elf_i386_tls_transition.  Don't use ELF32_R_TYPE
    	to get the relocation type again.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Don't change
    	r_type when calling elf_x86_64_tls_transition.  Don't use
    	ELF32_R_TYPE to get the relocation type again.

commit fbd1b77155bd8139033b72871dbe7bf5be6031b1
Author: Jan Kratochvil <>
Date:   Wed Sep 6 12:32:46 2017 +0100

    Fix accessing TLS variables with no debug info
    Since 2273f0ac95a7 ("change minsyms not to be relocated at
    read-time"), printing TLS symbols of objfiles with a non-zero base
    address, without debug info, fails.
    E.g., with:
     $ mv /usr/lib/debug /usr/lib/debug-x
    to get debug info out of the way, we get:
     $ echo 'int main(){}' | gcc -pthread -x c -
     $ ./gdb -q -ex start -ex 'p (int) errno' ./a.out
     Cannot access memory at address 0xffffef7c0698
    instead of the expected:
     $1 = 0
    The regression is not visible with glibc debuginfo installed.
    The problem is that we compute the address of TLS minsyms incorrectly.
    To trigger the problem, it is important that the variable is in an
    objfile with a non-zero base address.  While glibc is a shared library
    for 'errno', it's easier for the testcase to use PIE instead of a
    shlib.  For TLS variables in PT_EXEC the regression obviously does not
    2017-09-06  Jan Kratochvil  <>
    	* parse.c (find_minsym_type_and_address): Don't relocate addresses
    	of TLS symbols.
    2017-09-06  Jan Kratochvil  <>
    	* gdb.threads/tls-nodebug-pie.c: New file.
    	* gdb.threads/tls-nodebug-pie.exp: New file.

commit 39250b0a1c788215a39aea51dee9ba4f9937d404
Author: GDB Administrator <>
Date:   Wed Sep 6 00:00:18 2017 +0000

    Automatic date update in

commit dc089072135ec2e30337879b1f6147b77c77b341
Author: H.J. Lu <>
Date:   Tue Sep 5 13:41:18 2017 -0700

    x86-64: Properly set converted_reloc
    Linker now generates
    failed to convert GOTPCREL relocation; relink with --no-relax
    for more cases.
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set
    	* testsuite/ld-x86-64/pr19609-5d.d: Updated.
    	* testsuite/ld-x86-64/pr19609-7a.d: Likewise.
    	* testsuite/ld-x86-64/pr19609-7c.d: Likewise.

commit 5ca79eae06a692cca5bb795045ffb8961e2b8ae8
Author: Philippe Waroquiers <>
Date:   Tue Sep 5 20:51:23 2017 +0200

    Fix leak of auto_obstack objfile_per_bfd_storage->storage_obstack;
      commit 23732b1e32dd58f7c731d9aee56ff0b22a645d53
      Author: Pedro Alves <>
      Date:   Tue Jun 27 16:22:08 2017 +0100
    changed objfile_per_bfd_storage->storage_obstack
    from  'struct obstack storage_obstack;'
    to    'auto_obstack storage_obstack;'
    So the obstack is auto allocated when the  objfile_per_bfd_storage ctor is
    manually called by get_objfile_bfd_data).
    However, the ctor call was still followed by a manual call to
          obstack_init (&storage->storage_obstack);
    This results in a bunch of leaks detected by valgrind, such as:
    ==24665== 4,064 bytes in 1 blocks are definitely lost in loss record 11,469 of 11,590
    ==24665==    at 0x4C27BF5: malloc (vg_replace_malloc.c:299)
    ==24665==    by 0x5437B7: xmalloc (common-utils.c:44)
    ==24665==    by 0x77CAA7: _obstack_begin_worker (obstack.c:141)
    ==24665==    by 0x60168F: auto_obstack (gdb_obstack.h:70)
    ==24665==    by 0x60168F: get_objfile_bfd_data(objfile*, bfd*) (objfiles.h:188)
    ==24665==    by 0x601DB6: allocate_objfile(bfd*, char const*, enum_flags<objfile_flag>) (objfiles.c:423)
    ==24665==    by 0x647753: symbol_file_add_with_addrs(bfd*, char const*, enum_flags<symfile_add_flag>, section_addr_info*, enum_flags<objfile_flag>, objfile*) (symfile.c:1158)
    ==24665==    by 0x647C7B: symbol_file_add_separate(bfd*, char const*, enum_flags<symfile_add_flag>, objfile*) (symfile.c:1252)
    ==24665==    by 0x4C7D79: elf_symfile_read(objfile*, enum_flags<symfile_add_flag>) (elfread.c:1270)
    ==24665==    by 0x647CB4: read_symbols(objfile*, enum_flags<symfile_add_flag>) (symfile.c:861)
    ==24665==    by 0x647809: syms_from_objfile_1 (symfile.c:1062)
    -> remove the manual call to obstack_init.
    Reg-tested on Debian 8/amd64, tests results are the same before/after the patch.
    valgrind still show some leaks, but less.
    2017-09-05  Philippe Waroquiers  <>
    	* objfiles.c (get_objfile_bfd_data): Remove useless obstack_init

commit 8b43e456886c5b3aaba1ef93195ed888b15de242
Author: H.J. Lu <>
Date:   Tue Sep 5 11:24:01 2017 -0700

    x86-64: Improve GOTPCREL relocation conversion
    When GOTPCREL relocation conversion leads to relocation overflow, we
    may get a mysterious linker message, like
    relocation truncated to fit: R_X86_64_32S against symbol `foo'
    This patch changes the linker message to
    failed to convert GOTPCREL relocation; relink with --no-relax
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Remove the sec
    	argument.  Don't check relocation overflow.  Avoid relocation
    	overflow if --no-relax is used.  Set converted_reloc on symbol
    	if a GOTPCREL relocation is converted.
    	(elf_x86_64_relocate_section): Issue a fatal error and suggest
    	--no-relax if GOTPCREL relocation conversion leads to relocation
    	* elfxx-x86.h (elf_x86_link_hash_entry): Add converted_reloc.
    	* testsuite/ld-x86-64/pr19609-4e.d: Updated.
    	* testsuite/ld-x86-64/pr19609-6a.d: Likewise.

commit 5eb5f85062a3d43bf449ded1b256d761d487f0d6
Author: Tom Tromey <>
Date:   Sun Sep 3 23:15:03 2017 -0600

    Don't use -fdiagnostics-color=never for rustc
    I noticed that the gdb.rust tests fail because the test suite passes
    -fdiagnostics-color=never to rustc.  This is not a recognized rustc
    option, and the test suite already handles passing the appropriate
    option to the Rust compiler.
    This patch fixes the problem.
    2017-09-05  Tom Tromey  <>
    	* lib/gdb.exp (gdb_compile): Don't use universal_compile_options
    	for rust.

commit ae780a21f25455e4ca4b2fa7e350e7f994e0f198
Author: Simon Marchi <>
Date:   Tue Sep 5 17:40:44 2017 +0200

    Test different follow-exec-mode settings in gdb.multi/multi-arch-exec.exp
    Using follow-exec-mode "new" takes a different code path than "same", so
    it's interesting to test this path in combination with a change in
    architecture of the inferior.  This test fails if you remove the
    previous patch.
    	* gdb.multi/multi-arch-exec.exp: Test with different
    	"follow-exec-mode" settings.
    	(do_test): New procedure.

commit bf93d7ba99319c4ff5f23f35d9645dc9c3d391c2
Author: Simon Marchi <>
Date:   Tue Sep 5 17:30:27 2017 +0200

    Add thread after updating gdbarch when exec'ing
    As mentioned in the previous patch, we should avoid doing register reads
    after a process does an exec and before we've updated that inferior's
    gdbarch.  Otherwise, we may interpret the registers using the wrong
    architecture.  When a process does an exec with "follow-exec-mode new",
    a new inferior is added by follow_exec.  The gdbarch of that new
    inferior is at first set to some default value, probably specific to the
    gdb build (I get "i386" here), which may not be the right one.  It is
    updated later by the call to target_find_description.  Before that
    point, if we try to read the inferior's registers, we may not interpret
    them correctly.  This has been exposed by a failure in
    gdb.base/foll-exec-mode.exp after the previous patch, with:
      Remote 'g' packet reply is too long (expected 312 bytes, got 816 bytes)
    The call to "add_thread" done just after adding the inferior is
    problematic, because it ends up reading the registers (because the ptid
    is re-used, we end up doing a switch_to_thread to it, which tries to
    update stop_pc).  The registers returned by gdbserver are the x86-64
    ones, while we try to interpret them using the "i386" gdbarch.
    Postponing the call to add_thread to until the target
    description/gdbarch has been updated seems to fix the issue.
    As to why this issue was uncovered by the previous patch: what I think
    happened before that patch is that since we were updating stop_pc before
    switching to the new inferior, we were filling the regcache associated
    to the ptid (this worked fine as long as the architectures of the
    previous and new process images were the same).  The call to
    switch_to_thread then worked, because the register read hit the
    regcache.  Now, it triggers a register read, while the gdbarch is not
    set correctly, leading to the "reply is too long" error.  If this is
    right, it sounds wrong that we delete and re-add a thread with the same
    ptid, and are able to access the registers from the deleted thread.
    When we delete a thread, should we clear the regcache associated to that
    ptid, so that the new thread starts with a fresh/empty regcache?
    	* infrun.c (follow_exec): Call add_thread after

commit 1bb7c059779218d2db7dc4668f998617603e86df
Author: Simon Marchi <>
Date:   Tue Sep 5 16:45:10 2017 +0200

    Read stop_pc after updating the gdbarch when exec'ing
    When an inferior execs and changes architecture (e.g. 64 bits to 32
    bits), the gdbarch associated to the inferior is updated by the
    follow_exec call in handle_inferior_event_1.  We should avoid doing any
    register read before that point, because the registers sent by the
    remote side will be those of the new architecture, but we would
    interpret them using the old architecture.  We do just that by setting
    stop_pc during this window, which obviously requires reading the
    registers.  This results in gdb.multi/multi-arch-exec.exp failing, GDB
    outputting the following error:
      Truncated register 50 in remote 'g' packet
    This patch fixes that by postponing the setting of stop_pc to after
    we've updated the inferior gdbarch.
    This bug was hiding another problem, and as such introduces some
    failures in gdb.base/foll-exec-mode.exp.  The following patch takes care
    of that.
    	* infrun.c (handle_inferior_event_1): When exec'ing, read
    	stop_pc after follow_exec.

commit fc8098275751f48404a547fd027b2671c5350302
Author: Simon Marchi <>
Date:   Tue Sep 5 16:43:07 2017 +0200

    Improve "'g' reply is is to long" error message
    ... by adding the expected size, and the received size.  I found this
    useful when debugging gdbarch/remote issues, since it gives a hint of
    what gdb expects and what the remote sent.
    	* remote.c (process_g_packet): Update error message.

commit d2fcdd85466668c06dda0fa02ac8c1f4cef3910d
Author: Yao Qi <>
Date:   Tue Sep 5 14:46:47 2017 +0100

    Add i386.o to gdb_target_obs for x86_64-* targets
    This patch fixes the build failure caused by 22916b0
    (Convert the rest x86 target descriptions).
    2017-09-05  Yao Qi  <>
    	* configure.tgt (gdb_target_obs): Add i386.o for x86_64-*

commit e69570ee1886d64fb60c5d9d31f2e6ed76ab2dfc
Author: Pedro Alves <>
Date:   Tue Sep 5 12:13:57 2017 +0100

    eval.c:evaluate_subexp_standard: Factor out function call handling
    While working on the no-debug-info debugging improvements, I found
    evaluate_subexp_standard's function call code unnecessarily long and
    hard to navigate and debug.  The use of goto doesn't help either.
    This commit tries to improve things by factoring out the
    function-call-related code to separate helper functions.
    2017-09-05  Pedro Alves  <>
    	* eval.c (eval_call, evaluate_funcall): New functions, factored
    	out from ...
    	(evaluate_subexp_standard): ... this.

commit f17e9d8ab58474cfa24910f9066f3b9823e190e7
Author: Nick Clifton <>
Date:   Tue Sep 5 12:09:14 2017 +0100

    Fix a buffer overrun when parsing a corrupt MIPS ELF binary.
    	PR 21995
    	* readelf.c (process_mips_specific): Add checks for a NULL data

commit 22916b0786336394bf84f68ba71875ac3cd48fea
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    Convert the rest x86 target descriptions
    This patch changes the rest of x86 target descriptions in GDB and
    2017-09-05  Yao Qi  <>
    	* amd64-tdep.c (amd64_target_description): Create target
    	(_initialize_amd64_tdep): Don't call functions
    	initialize_tdesc_amd64_*.  Add self tests.
    	* arch/amd64.c (amd64_create_target_description): Add parameter
    	is_linux.  Call set_tdesc_osabi if is_linux is true.
    	* arch/amd64.h (amd64_create_target_description): Update the
    	* arch/i386.c (i386_create_target_description): Add parameter
    	is_linux.  Call set_tdesc_osabi if is_linux is true.
    	* arch/i386.h (i386_create_target_description): Update
    	* configure.tgt: Add i386.o to gdb_target_obs.
    	* features/Makefile (XMLTOC): Remove i386/*.xml.
    	* features/i386/amd64-avx-avx512.c: Remove.
    	* features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
    	* features/i386/amd64-avx-mpx.c: Remove.
    	* features/i386/amd64-avx.c: Remove.
    	* features/i386/amd64-mpx.c: Remove.
    	* features/i386/amd64.c: Remove.
    	* features/i386/i386-avx-avx512.c: Remove.
    	* features/i386/i386-avx-mpx-avx512-pku.c: Remove.
    	* features/i386/i386-avx-mpx.c: Remove.
    	* features/i386/i386-avx.c: Remove.
    	* features/i386/i386-mmx.c: Remove.
    	* features/i386/i386-mpx.c: Remove.
    	* features/i386/i386.c: Remove.
    	* i386-tdep.c: Don't include features/i386/i386*.c., include
    	target-descriptions.h and arch/i386.h.
    	(i386_target_description): Create target descriptions.
    	(i386_gdbarch_init): Don't call initialize_tdesc_i386_*
    	functions.  Do self tests.
    2017-09-05  Yao Qi  <>
    	* configure.srv (srv_i386_regobj): Remove.
    	(srv_amd64_regobj): Remove.
    	(srv_regobj): Set it to "" for x86 non-linux targets.
    	* linux-x86-tdesc.c (i386_linux_read_description):
    	* lynx-i386-low.c: Include x86-xstate.h and arch/i386.h.
    	(init_registers_i386): Remove the declaration.
    	(tdesc_i386): Remove the declaration.
    	(lynx_i386_arch_setup): Call i386_create_target_description.
    	* nto-x86-low.c: Likewise.
    	* win32-i386-low.c [__x86_64__]: include arch/amd64.h.
    	[!__x86_64__]: include arch/i386.h.
    	(i386_arch_setup) [__x86_64__]: Call amd64_create_target_description.

commit 0854b7b1878dc9f8b8519e2efed605acecc14745
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    Remove features/i386/amd64-*linux.c and features/i386/x32-*linux.c
    2017-09-05  Yao Qi  <>
    	* features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
    	* features/i386/amd64-avx-avx512-linux.c: Removed.
    	* features/i386/amd64-avx-linux.c: Removed.
    	* features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
    	* features/i386/amd64-avx-mpx-linux.c: Removed.
    	* features/i386/amd64-linux.c: Removed.
    	* features/i386/amd64-mpx-linux.c: Removed.
    	* features/i386/x32-avx-avx512-linux.c: Removed.
    	* features/i386/x32-avx-linux.c: Removed.
    	* features/i386/x32-linux.c: Removed.

commit 38602d55e09bc9a28b5476ec3614a2483153ccaa
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    [GDBserver] Shorten srv_amd64_linux_xmlfiles
    GDBserver now is able to generate target descriptions from features, so
    don't need to remember these target description files.
    Note that it should be i386/amd64-avx-avx512-linux.xml instead of
    i386/amd64-avx-avx512.xml in $srv_amd64_linux_xmlfiles.  This patch
    removes it anyway.
    2017-09-05  Yao Qi  <>
    	* configure.srv (srv_amd64_linux_xmlfiles): Remove
    	i386/amd64-XXX-linux from it.

commit 44b886ff15eccb555dda65f93c269ac9d8dd793b
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    [GDBserver] Use pre-generated amd64-linux tdesc as test
    Now, all these amd64-linux pre-generated tdesc can be used as test, so
    don't need to build them if $development is false.
    2017-09-05  Yao Qi  <>
    	* configure.srv: Empty srv_amd64_linux_regobj if $development is
    	(ipa_amd64_linux_regobj): Remove.
    	(ipa_x32_linux_regobj): Remove.

commit b4570e4b3032f9f4a508dbacd8136f79cf42c249
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    Convert amd64-linux target descriptions
    This patch changes amd64-linux target descriptions so that they can be
    dynamically generated in both GDB and GDBserver.
    2017-09-05  Yao Qi  <>
    	* (arch-amd64.o): New rule.
    	* configure.srv: Append arch-amd64.o.
    	* linux-amd64-ipa.c: Include common/x86-xstate.h.
    	(get_ipa_tdesc): Call amd64_linux_read_description.
    	(initialize_low_tracepoint): Don't call init_registers_x32_XXX
    	and init_registers_amd64_XXX.
    	* linux-x86-low.c (x86_linux_read_description): Call
    	(x86_get_ipa_tdesc_idx): Call amd64_get_ipa_tdesc_idx.
    	(initialize_low_arch): Don't call init_registers_x32_XXX and
    	* linux-x86-tdesc-selftest.c: Declare init_registers_amd64_XXX
    	and tdesc_amd64_XXX.
    	[__x86_64__] (amd64_tdesc_test): New function.
    	(initialize_low_tdesc) [__x86_64__]: Call init_registers_x32_XXX
    	and init_registers_amd64_XXX.
    	* linux-x86-tdesc.c: Include arch/amd64.h.
    	(xcr0_to_tdesc_idx): New function.
    	(i386_linux_read_description): New function.
    	(amd64_get_ipa_tdesc_idx): New function.
    	* linux-x86-tdesc.h (amd64_get_ipa_tdesc_idx): Declare.
    	(amd64_get_ipa_tdesc): Declare.
    2017-09-05  Yao Qi  <>
    	* amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
    	(amd64_linux_read_description): Call
    	* arch/amd64.c: New file.
    	* arch/amd64.h: New file.
    	* configure.tgt (x86_64-*-linux*): Append amd64.o.
    	* (ALL_64_TARGET_OBS): Append amd64.o.

commit 6c73f67f9c545425befde590f06d690a068a69e2
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:54 2017 +0100

    Lazily and dynamically create amd64-linux target descriptions
    This patch starts to use the generate c feature files to dynamically
    create amd64-linux target descriptions.
    2017-09-05  Yao Qi  <>
    	* amd64-linux-tdep.c: Don't include amd64-XXX-linux and
    	x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
    	(amd64_linux_read_description): Create target descriptions.
    	(_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
    	functions.  Add unit tests.
    	* features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
    	* features/i386/64bit-avx.c: Generated.
    	* features/i386/64bit-avx512.c: Generated.
    	* features/i386/64bit-core.c: Generated.
    	* features/i386/64bit-linux.c: Generated.
    	* features/i386/64bit-mpx.c: Generated.
    	* features/i386/64bit-pkeys.c: Generated.
    	* features/i386/64bit-segments.c: Generated.
    	* features/i386/64bit-sse.c: Generated.
    	* features/i386/x32-core.c: Generated.
    	* target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
    	c files for amd64-linux and x32-linux.

commit 9d3d478be5e21151d3755d7b2e6f1cd8ff92d726
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    Centralize amd64-linux target descriptions
    This patch adds a new function amd64_linux_read_description, which
    creates amd64-linux target descriptions according to its two
    arguments, xcr0 and is_x32.
    2017-09-05  Yao Qi  <>
    	* amd64-linux-tdep.c (amd64_linux_read_description): New
    	(amd64_linux_core_read_description): Call
    	(amd64_linux_init_abi): Likewise.
    	(amd64_x32_linux_init_abi): Likewise.
    	* amd64-linux-tdep.h (amd64_linux_read_description): Declare.
    	* x86-linux-nat.c (x86_linux_read_description): Call

commit b9f1d50ffcac4c4b65cb05c2971106cb06e8774c
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    Update comments in amd64_linux_core_read_description
    2017-09-05  Yao Qi  <>
    	* amd64-linux-tdep.c (amd64_linux_core_read_description): Update

commit d1f28ea24a5232d3ea690de9bc8abfb77837f2c7
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    [GDBserver] Shorten srv_i386_linux_xmlfiles
    GDBserver now is able to generate target descriptions from features, so
    don't need to remember these target description files.
    2017-09-05  Yao Qi  <>
    	* configure.srv (srv_i386_linux_xmlfiles): Remove
    	i386/i386-XXX-linux.xml from it.

commit 25a93583f34f5abfe9c1b24393738547a8de657c
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    [GDBserver] Use pre-generated tdesc as test
    Now, these *-generate.c files are only used in GDBserver for unit test.
    If $development is false (in release), these *-generate.c files won't be
    used at all.
    2017-09-05  Yao Qi  <>
    	* configure.srv: Set srv_i386_linux_regobj empty if $development
    	is false.
    	* linux-i386-ipa.c (initialize_low_tracepoint): Don't call
    	* linux-x86-low.c (initialize_low_arch): Wrap initialize_low_tdesc
    	with #if initialize_low_tdesc.
    	* linux-x86-tdesc-selftest.c: New file.
    	* linux-x86-tdesc.c: Move code to linux-x86-tdesc-selftest.c.

commit 188c9e6dcb2f1342f1ca51e8f68c22852522277e
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    Remove features/i386/i386-*linux.c
    Now, features/i386/i386-XXX-linux.c are not used, remove them.
    2017-09-05  Yao Qi  <>
    	* features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
    	* features/i386/i386-avx-avx512-linux.c: Remove.
    	* features/i386/i386-avx-linux.c: Remove.
    	* features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
    	* features/i386/i386-avx-mpx-linux.c: Remove.
    	* features/i386/i386-linux.c: Remove.
    	* features/i386/i386-mmx-linux.c: Remove.
    	* features/i386/i386-mpx-linux.c: Remove.

commit 5f035c0716c3b6b310a736841b16088d984be917
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    Share i386-linux target description between GDB and GDBserver
    The code on creating i386-linux target descriptions are quite similar
    between GDB and GDBserver, so this patch moves them into a shared file
    arch/i386.c.  I didn't name it as i386-linux.c, because I want to reuse it
    to create other i386 non-linux target descriptions later.
    2017-09-05  Yao Qi  <>
    	* (ALL_TARGET_OBS): Add i386.o.
    	(SFILES): Add arch/i386.c.
    	(HFILES_NO_SRCDIR): Add arch/i386.h.
    	* arch/i386.c: New file.
    	* arch/i386.h: New file.
    	* arch/tdesc.h (allocate_target_description): Declare.
    	(set_tdesc_architecture): Declare.
    	(set_tdesc_osabi): Declare.
    	* configure.tgt (i[34567]86-*-linux*): Add i386.o.
    	* i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
    	include arch/i386.h.
    	(i386_linux_read_description): Remove code and call
    	(set_tdesc_architecture): New function.
    	(set_tdesc_osabi): New function.
    	* target-descriptions.h (allocate_target_description): Remove.
    2017-09-05  Yao Qi  <>
    	* (arch-i386.o): New rule.
    	* configure.srv (i[34567]86-*-linux*): Add arch-i386.o.
    	(x86_64-*-linux*): Likewise.
    	* linux-x86-tdesc.c: Don't include ../features/i386/32bit-XXX.c,
    	include arch/i386.h.
    	(i386_linux_read_description): Remove code and call
    	* tdesc.c (allocate_target_description): New function.
    	* tdesc.h (set_tdesc_architecture): Remove declaration.
    	(set_tdesc_osabi): Likewise.

commit 0abe8a8992948559d225ff120095e42a1a6a36f4
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    Dynamically composite xml in reply to GDB
    GDBserver still uses pre-generated target descriptions in order to
    reply to GDB's query on target description (see xml-builtin-generated.c
    in GDBserver build directory).  This patch teaches GDBserver to
    create XML contents according to the target descriptions rather than
    using pre-generated ones.
    First, change target feature c files to pass the feature xml file
    name to tdesc_create_feature, so that target description in GDBserver
    can record them, and create XML contents from these features in
    buffer, like
      <xi:include href="$FEATURE1_XML_NAME"/>
      <xi:include href="$FEATURE2_XML_NAME"/>
    and send this buffer back to GDB.
    Note that this patch reuses target_desc.xmltarget a little bit, which is
    to hold the XML contents dynamically generated in tdesc_get_features_xml.
    However, it is not xfree'ed in ~target_desc, because we can't tell it is
    from xstrdup or a literal string.  Since we don't delete target_desc,
    there is no memory leak yet.  After we change all target descriptions to
    the new style, target_desc.xmltarget is from xstrdup, then, we can safely
    xfree it in ~target_desc.
    2017-09-05  Yao Qi  <>
    	* arch/tdesc.h (tdesc_create_feature): Add an argument xml.
    	* target-descriptions.c (tdesc_create_feature): Likewise, and
    	adjust code.
    	* features/i386/32bit-avx.c: Re-generated.
    	* features/i386/32bit-avx512.c: Re-generated.
    	* features/i386/32bit-core.c: Re-generated.
    	* features/i386/32bit-linux.c: Re-generated.
    	* features/i386/32bit-mpx.c: Re-generated.
    	* features/i386/32bit-pkeys.c: Re-generated.
    	* features/i386/32bit-sse.c: Re-generated.
    2017-09-05  Yao Qi  <>
    	* linux-x86-tdesc.c: Don't include <inttypes.h>.
    	(i386_linux_read_description) [!IN_PROCESS_AGENT]: Call
    	set_tdesc_architecture and set_tdesc_osabi.  Remove code setting
    	* server.c (get_features_xml): Call tdesc_get_features_xml.
    	* tdesc.c (set_tdesc_architecture): New function.
    	(set_tdesc_osabi): New function.
    	(tdesc_get_features_xml): New function.
    	(tdesc_create_feature): Add an argument.
    	* tdesc.h (struct target_desc) <features>: New field.
    	<arch, osabi>: New field.
    	(~target_desc): xfree features, arch, and osabi.
    	(target_desc::oerator==): Don't compare .xmltarget.
    	[!IN_PROCESS_AGENT] (set_tdesc_architecture): Declare.
    	(set_tdesc_osabi): Likewise.
    	(tdesc_get_features_xml): Likewise.

commit 0a188386c032126045979b7fb7c238d715c81eb5
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    [GDBserver] unit test to i386_tdesc
    This patch adds a unit test in GDBserver to test dynamically created
    target descriptions equal these pre-generated ones.
    2017-09-05  Yao Qi  <>
    	* linux-x86-tdesc.c: Include selftest.h.
    	(i386_tdesc_test): New function.
    	(initialize_low_tdesc): Call selftests::register_test.
    	* tdesc.h: Include regdef.h.
    	(target_desc): Override operator == and !=.
    2017-09-05  Yao Qi  <>
    	* regformats/regdef.h (struct reg): Override operator == and !=.

commit f49ff00066929bf7c38f9c89ad640561bbb331f6
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:53 2017 +0100

    [GDBserver] Centralize tdesc for i386-linux
    tdesc_i386_XXX_linux is used in many places in linux-x86-low.c and this
    patch adds a new function i386_linux_read_description to return the right
    tdesc according to xcr0.  i386_linux_read_description is quite similar to
    the counterpart in GDB, and the following patch will share the duplicated
    code, so this patch adds arch/tdesc.h includes the declarations of various
    tdesc apis which are used by the shared code.  The generated c feature
    files can include arch/tdesc.h only.
    2017-09-05  Yao Qi  <>
    	* configure.srv (srv_tgtobj): Append linux-x86-tdesc.o.
    	(ipa_obj): Likewise.
    	* linux-i386-ipa.c: Include common/x86-xstate.h
    	(get_ipa_tdesc): Call i386_linux_read_description.
    	(initialize_low_tracepoint): Don't call  init_registers_XXX
    	functions, call initialize_low_tdesc instead.
    	* linux-x86-low.c (x86_linux_read_description): Call
    	(initialize_low_arch): Don't call init_registers_i386_XXX
    	functions, call initialize_low_tdesc.
    	* linux-x86-tdesc.c: New file.
    	* linux-x86-tdesc.h (x86_linux_tdesc): New X86_TDESC_LAST.
    	(i386_get_ipa_tdesc_idx): Declare.
    	(i386_get_ipa_tdesc): Declare.
    	(initialize_low_tdesc): Declare.
    2017-09-05  Yao Qi  <>
    	* arch/tdesc.h: New file.
    	* regformats/ Generate code using tdesc_create_reg.
    	* target-descriptions.c: Update comments.
    	* target-descriptions.h: Include "arch/tdesc.h".  Remove the
    	* features/i386/32bit-avx.c: Re-generated.
    	* features/i386/32bit-avx512.c: Re-generated.
    	* features/i386/32bit-core.c: Re-generated.
    	* features/i386/32bit-linux.c: Re-generated.
    	* features/i386/32bit-mpx.c: Re-generated.
    	* features/i386/32bit-pkeys.c: Re-generated.
    	* features/i386/32bit-sse.c: Re-generated.

commit 2b68ef2f11daef3ab3c6941ebf53dfcd0fb79fbf
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:52 2017 +0100

    Return X86_TDESC_MMX in x86_get_ipa_tdesc_idx
    2017-09-05  Yao Qi  <>
    	* linux-x86-low.c (x86_get_ipa_tdesc_idx): Use X86_TDESC_MMX
    	instead of 0.

commit f7000548a2b79d7e5cb924468117ca4245e6b820
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:52 2017 +0100

    Use VEC for target_desc.reg_defs
    Nowadays, target_desc.reg_defs is a pointer points to a pre-generated
    array, which is not flexible.  This patch changes it from an array
    to a VEC so that GDBserver can create target descriptions dynamically
    later.  Instead of using pre-generated array, the -generated.c calls
    VEC_safe_push to add each register to vector.
    Since target_desc.reg_defs is used in IPA, we need to build common/vec.c
    for IPA too.
    2017-09-05  Yao Qi  <>
    	* (IPA_OBJS): Add vec-ipa.o
    	* regcache.c (get_thread_regcache): Use VEC_length.
    	(init_register_cache): Likewise.
    	(regcache_cpy): Likewise.
    	(registers_to_string): Iterate reg_defs via VEC_iterate.
    	(find_regno): Likewise.
    	(find_register_by_number): Use VEC_index.
    	(register_size): Call find_register_by_number.
    	(register_data): Call find_register_by_number.
    	(supply_regblock): Use VEC_length.
    	(regcache_raw_read_unsigned): Likewise.
    	* tdesc.c (init_target_desc): Iterate reg_defs via
    	(default_description): Update initializer.
    	(copy_target_description): Don't update field num_registers.
    	* tdesc.h (struct target_desc) <reg_defs>: Change it to VEC.
    	<num_registers>: Remove.
    2017-09-05  Yao Qi  <>
    	* regformats/ Update generated code.

commit c9a5e2a5b2b20d83f60026459d3a6b68481566c9
Author: Yao Qi <>
Date:   Tue Sep 5 09:54:52 2017 +0100

    Adjust code generated by regformats/
    regformats/ generate some *-generated.c files when GDBserver
    is built.  Each .c file has some static variables, which are only used
    within function init_registers_XXX, like this,
    static struct reg regs_i386_linux[] = {
      { "eax", 0, 32 },
      { "ecx", 32, 32 },
    static const char *expedite_regs_i386_linux[] = { "ebp", "esp", "eip", 0 };
    static const char *xmltarget_i386_linux = "i386-linux.xml";
    init_registers_i386_linux (void)
    This patch moves these static variables' definitions to function
    init_registers_XXX, so the generated files look like this,
    init_registers_i386_linux (void)
      static struct target_desc tdesc_i386_linux_s;
      struct target_desc *result = &tdesc_i386_linux_s;
    static struct reg regs_i386_linux[] = {
    static const char *expedite_regs_i386_linux[] = { "ebp", "esp", "eip", 0 };
    static const char *xmltarget_i386_linux = "i386-linux.xml";
    We want GDBserver create target descriptions dynamically in each
    init_registers_XXXX functions, so this patch moves all the related code
    into function init_registers_XXXX, so that the following patch can easily
    change function init_registers_XXXX to create target description
    dynamically, rather than using current pre-generated array.
    2017-09-05  Yao Qi  <>
    	* regformats/ Adjust code order.

commit d6b687ac7a2bfd0c3962f45ea5e1a72310f4e07e
Author: Simon Marchi <>
Date:   Tue Sep 5 09:00:42 2017 +0200

    expprint: Fix format string warning
    My compiler (gcc 5.4.0, clang 3.8) gives this warning:
    /home/emaisin/src/binutils-gdb/gdb/expprint.c: In lambda function:
    /home/emaisin/src/binutils-gdb/gdb/expprint.c:1055:35: error: format not a string literal and no format arguments [-Werror=format-security]
          fprintf_filtered (stream, mod);
    Fix it by not using the passed string as the format string.
    	* expprint.c (dump_subexp_body_standard): Use constant format
    	string in fprintf_filtered call.

commit 625ce09c1cfb557725310f602ee66ac1475d780e
Author: John Baldwin <>
Date:   Mon Sep 4 19:53:50 2017 -0700

    Define an error function in the PPC simulator library.
    Previously this used the error function from GDB directly when linked
    against GDB instead of the error method in the host callbacks
    structure.  This was exposed via a link error when GDB was converted
    to C++.  The error function invokes the error callback similar to
    Note that there are also error functions in sim/ppc/main.c and
    sim/ppc/misc.c.  The ppc libsim.a expects each consumer to provide
    several symbols used by the library including "error".  sim-calls.c
    provides these symbols when the library is linked into gdb.  The dgen,
    igen, tmp-filter, tmp-ld-decode, tmp-ld-cache, and tmp-ld-insn programs
    use the functions from misc.c.  psim uses the functions from main.c.
    	PR sim/20863
    	* sim_calls.c (error): New function.

commit a379bfd00effbbb0fb4df02dc686c2c110023cea
Author: John Baldwin <>
Date:   Mon Sep 4 19:34:48 2017 -0700

    Enable support for x86 debug registers on NetBSD.
    NetBSD recently added PT_GETDBREGS and PT_SETDBREGS ptrace operations
    that match the existing ones supported by x86-bsd-nat.c.  NetBSD's
    headers do not provide the DBREG_DRX helper macro, so define a local
    version in x86-bsd-nat.c.  In addition, add the x86-nat.o and x86-dregs.o
    object files to the native NetBSD x86 build targets.
    	* configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
    	* x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.

commit f7efc967ba45350b688e0f661a31eecc15d5e052
Author: John Baldwin <>
Date:   Mon Sep 4 19:34:48 2017 -0700

    Make <sys/user.h> include in bsd-kvm.c conditional on HAVE_SYS_USER_H.
    NetBSD has recently removed <sys/user.h>.
    	* bsd-kvm.c: Make <sys/user.h> conditional on HAVE_SYS_USER_H.

commit c49fbc6c79e0c479371e0ba7be0c8d1137016864
Author: John Baldwin <>
Date:   Mon Sep 4 19:34:48 2017 -0700

    Define _KMEMUSER before including BSD kernel headers.
    Recent versions of NetBSD hide certain kernel structures needed by the
    KVM target from userland unless this macro is defined.
    	* bsd-kvm.o: Define _KMEMUSER.
    	* Define _KMEMUSER when checking for "struct lwp".
    	* configure: Regenerate.

commit 26562e73d8eb20c9b8289911cee557de8e5272c3
Author: John Baldwin <>
Date:   Mon Sep 4 19:31:33 2017 -0700

    Include "x86-xstate.h" for X86_XSTATE_* constants.
    	* amd64-fbsd-nat.c: Add include of "x86-xstate.h".
    	* i386-fbsd-nat.c: Likewise.

commit 0097251b8a2fcee7f536807328ea2b73a2f7c41c
Author: GDB Administrator <>
Date:   Tue Sep 5 00:00:18 2017 +0000

    Automatic date update in

commit 83eef883581525d04df3a8e53a82c01d0d12b56a
Author: Alexander Fedotov-B55613 <>
Date:   Tue Sep 5 08:22:17 2017 +0930

    Missing relocation R_PPC_VLE_ADDR20 and add VLE flag to details in readelf
    	* elf/ppc.h (R_PPC_VLE_ADDR20): New relocation.
    	* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_VLE_ADDR20.
    	(ppc_elf_check_relocs): Handle it.
    	(ppc_elf_vle_split20): New function.
    	(ppc_elf_relocate_section): Handle R_PPC_VLE_ADDR20.
    	* readelf.c (get_elf_section_flags): Add VLE.
    	(process_section_headers): Add VLE key to details.
    	* config/tc-ppc.c (md_parse_option): Handle "mno-vle" flag.
    	(ppc_elf_section_letter): New function.
    	* config/tc-ppc.h (md_elf_section_letter): New.
    	* testsuite/gas/elf/section10.d: Adjust for VLE.

commit 31cf148787509fcf33bc6adb05bbf16bee48835d
Author: John Baldwin <>
Date:   Mon Sep 4 15:58:38 2017 -0700

    Explicitly include <array> for std::array<>.
    	* unittests/array-view-selftests.c: Add include of <array>.

commit 5b9f8a7c6e3873f97365569f50883a866b0a984a
Author: John Baldwin <>
Date:   Mon Sep 4 15:57:02 2017 -0700

    Catch up to recent changes to call_function_by_hand().
    	* spu-tdep.c (flush_ea_cache): Add missing argument to

commit d69cf9b2076d63bad3842bc6406a679598851727
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:16 2017 +0100

    Document "no debug info debugging" improvements
    Here's the documentation bits for all the improvements done in
    previous commits.
    Note that the original "weak alias functions" paragraph ends up
    disappearing, because this patch, which I'm considering kind of part
    of this series, makes the alias case Just Work:
    2017-09-04  Pedro Alves  <>
    	* NEWS (Safer support for debugging with no debug info): New.
    2017-09-04  Pedro Alves  <>
    	* gdb.texinfo (Variables) <Program Variables>: Document inspecting
    	no-debug-info variables.
    	(Symbols) <Examining the Symbol Table>: Document inspecting
    	no-debug-info types.
    	(Calling) <Calling functions with no debug info>: New subsection,
    	documenting calling no-debug-info functions.
    	(Non-debug DLL Symbols) <Working with Minimal Symbols>: Update.

commit 3693fdb3c8ec14bd8ecb4ebb39e4384b330a2999
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:16 2017 +0100

    Make "p S::method() const::static_var" work too
    Trying to print a function local static variable of a const-qualified
    method still doesn't work after the previous fixes:
      (gdb) p 'S::method() const'::static_var
      $1 = {i1 = 1, i2 = 2, i3 = 3}
      (gdb) p S::method() const::static_var
      No symbol "static_var" in specified context.
    The reason is that the expression parser/evaluator loses the "const",
    and the above unquoted case is just like trying to print a variable of
    the non-const overload, if it exists, even.  As if the above unquoted
    case had been written as:
      (gdb) p S::method()::static_var
      No symbol "static_var" in specified context.
    We can see the problem without static vars in the picture.  With:
     struct S
        void method ();
        void method () const;
      (gdb) print 'S::method(void) const'
      $1 = {void (const S * const)} 0x400606 <S::method() const>
      (gdb) print S::method(void) const
      $2 = {void (S * const)} 0x4005d8 <S::method()>   # wrong method!
    That's what we need to fix.  If we fix that, the function local static
    case starts working.
    The grammar production for function/method types is this one:
      exp:       exp '(' parameter_typelist ')' const_or_volatile
    This results in a TYPE_INSTANCE expression evaluator operator.  For
    the example above, we get something like this ("set debug expression 1"):
                0  TYPE_INSTANCE         1 TypeInstance: Type @0x560fda958be0 (void)
                5    OP_SCOPE              Type @0x560fdaa544d8 (S) Field name: `method'
    While evaluating TYPE_INSTANCE, we end up in
    value_struct_elt_for_reference, trying to find the method named
    "method" that has the prototype recorded in TYPE_INSTANCE.  In this
    case, TYPE_INSTANCE says that we're looking for a method that has
    "(void)" as parameters (that's what "1 TypeInstance: Type
    @0x560fda958be0 (void)" above means.  The trouble is that nowhere in
    this mechanism do we communicate to value_struct_elt_for_reference
    that we're looking for the _const_ overload.
    value_struct_elt_for_reference only compared parameters, and the
    non-const "method()" overload has matching parameters, so it's
    considered the right match...
    Conveniently, the "const_or_volatile" production in the grammar
    already records "const" and "volatile" info in the type stack.  The
    type stack is not used in this code path, but we can borrow the
    information.  The patch converts the info in the type stack to an
    "instance flags" enum, and adds that as another element in
    TYPE_INSTANCE operators.  This type instance flags is then applied to
    the temporary type that is passed to value_struct_elt_for_reference
    for matching.
    The other side of the problem is that methods in the debug info aren't
    marked const/volatile, so with that in place, the matching never finds
    const/volatile-qualified methods.
    The problem is that in the DWARF, there's no indication at all whether
    a method is const/volatile qualified...  For example (c++filt applied
    to the linkage name for convenience):
       <2><d3>: Abbrev Number: 6 (DW_TAG_subprogram)
          <d4>   DW_AT_external    : 1
          <d4>   DW_AT_name        : (indirect string, offset: 0x3df): method
          <d8>   DW_AT_decl_file   : 1
          <d9>   DW_AT_decl_line   : 58
          <da>   DW_AT_linkage_name: (indirect string, offset: 0x5b2): S::method() const
          <de>   DW_AT_declaration : 1
          <de>   DW_AT_object_pointer: <0xe6>
          <e2>   DW_AT_sibling     : <0xec>
    I see the same with both GCC and Clang.  The patch works around this
    by extracting the cv qualification from the "const" and "volatile" in
    the demangled name.  This will need further tweaking for "&" and
    "const &" overloads, but we don't support them in the parser yet,
    The TYPE_CONST changes were necessary otherwise the comparisons in valops.c:
      if (TYPE_CONST (intype) != TYPE_FN_FIELD_CONST (f, j))
    would fail, because when both TYPE_CONST() TYPE_FN_FIELD_CONST() were
    true, their values were different.
    BTW, I'm recording the const/volatile-ness of methods in the
    TYPE_FN_FIELD info because #1 - I'm not sure it's kosher to change the
    method's type directly (vs having to call make_cv_type to create a new
    type), and #2 it's what stabsread.c does:
    	    case 'A':		/* Normal functions.  */
    	      new_sublist->fn_field.is_const = 0;
    	      new_sublist->fn_field.is_volatile = 0;
    	    case 'B':		/* `const' member functions.  */
    	      new_sublist->fn_field.is_const = 1;
    	      new_sublist->fn_field.is_volatile = 0;
    After all this, this finally all works:
      print S::method(void) const
      $1 = {void (const S * const)} 0x400606 <S::method() const>
      (gdb) p S::method() const::static_var
      $2 = {i1 = 1, i2 = 2, i3 = 3}
    2017-09-04  Pedro Alves  <>
    	* c-exp.y (function_method, function_method_void): Add current
    	instance flags to TYPE_INSTANCE.
    	* dwarf2read.c (check_modifier): New.
    	(compute_delayed_physnames): Assert that only C++ adds delayed
    	physnames.  Mark fn_fields as const/volatile depending on
    	* eval.c (make_params): New type_instance_flags parameter.  Use
    	it as the new type's instance flags.
    	(evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
    	flags element and pass it to make_params.
    	* expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
    	instance flags element.
    	(dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
    	* gdbtypes.h: Include "enum-flags.h".
    	(type_instance_flags): New enum-flags type.
    	(TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
    	* parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
    	(follow_type_instance_flags): New function.
    	(operator_check_standard) <TYPE_INSTANCE>: Adjust.
    	* parser-defs.h (follow_type_instance_flags): Declare.
    	* valops.c (value_struct_elt_for_reference): const/volatile must
    	match too.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/func-static.c (S::method const, S::method volatile)
    	(S::method volatile const): New methods.
    	(c_s, v_s, cv_s): New instances.
    	(main): Call method() on them.
    	* gdb.base/func-static.exp (syntax_re, cannot_resolve_re): New variables.
    	(cannot_resolve): New procedure.
    	(cxx_scopes_list): Test cv methods.  Add print-scope-quote and
    	print-quote-unquoted columns.
    	(do_test): Test printing each scope too.

commit e68cb8e00166d2f8a9e23c60f68bec04ef0a90f0
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:16 2017 +0100

    Handle "p 'S::method()::static_var'" (quoted) in symbol lookup
    While the previous commit made "p method()::static_var" (no
    single-quotes) Just Work, if users (or frontends) try wrapping the
    expression with quotes, they'll get:
      (gdb) p 'S::method()::static_var'
      'S::method()::static_var' has unknown type; cast it to its declared type
    even if we _do_ have debug info for that variable.  That's better than
    the bogus/confusing value what GDB would print before the
    stop-assuming-int patch:
      (gdb) p 'S::method()::static_var'
      $1 = 1
    but I think it'd still be nice to make this case Just Work too.
    In this case, due to the quoting, the C/C++ parser (c-exp.y)
    interprets the whole expression/string as a single symbol name, and we
    end up calling lookup_symbol on that name.  There's no debug symbol
    with that fully-qualified name, but since the compiler gives the
    static variable a mangled linkage name exactly like the above, it
    appears in the mininal symbols:
      $ nm -A local-static | c++filt | grep static_var
      local-static:0000000000601040 d S::method()::static_var
    ... and that's what GDB happens to find/print.  This only happens in
    C++, note, since for C the compiler uses different linkage names:
      local-static-c:0000000000601040 d static_var.1848
    So while (in C++, not C) function local static variables are given a
    mangled name that demangles to the same syntax that GDB
    documents/expects as the way to access function local statics, there's
    no global symbol in the debug info with that name at all.  The debug
    info for a static local variable for a non-inline function looks like
     <1><2a1>: Abbrev Number: 19 (DW_TAG_subprogram)
     <2><2f7>: Abbrev Number: 20 (DW_TAG_variable)
        <2f8>   DW_AT_name        : (indirect string, offset: 0x4e9): static_var
        <2fc>   DW_AT_decl_file   : 1
        <2fd>   DW_AT_decl_line   : 64
        <2fe>   DW_AT_type        : <0x25>
        <302>   DW_AT_location    : 9 byte block: 3 40 10 60 0 0 0 0 0      (DW_OP_addr: 601040)
    and for an inline function, it looks like this (linkage name run
    through c++filt for convenience):
     <2><21b>: Abbrev Number: 16 (DW_TAG_variable)
        <21c>   DW_AT_name        : (indirect string, offset: 0x21a): static_var
        <220>   DW_AT_decl_file   : 1
        <221>   DW_AT_decl_line   : 48
        <222>   DW_AT_linkage_name: (indirect string, offset: 0x200): S::inline_method()::static_var
        <226>   DW_AT_type        : <0x25>
        <22a>   DW_AT_external    : 1
        <22a>   DW_AT_location    : 9 byte block: 3 a0 10 60 0 0 0 0 0      (DW_OP_addr: 6010a0)
    (The inline case makes the variable external so that the linker can
    merge the different inlined copies.  It seems like GCC never outputs
    the linkage name for non-extern globals.)
    When we read the DWARF, we record the static_var variable as a regular
    variable of the containing function's block.  This makes stopping in
    the function and printing the variable as usual.  The variable just so
    happens to have a memory address as location.
    So one way to make "p 'S::method()::static_var'" work would be to
    record _two_ copies of the symbols for these variables.  One in the
    function's scope/block, with "static_var" as name, as we currently do,
    and another in the static or global blocks (depending on whether the
    symbol is external), with a fully-qualified name.  I wrote a prototype
    patch for that, and it works.  For the non-inline case above, since
    the debug info doesn't point to the linkage same, that patch built the
    physname of the static local variable as the concat of the physname of
    the containing function, plus "::", plus the variable's name.  We
    could make that approach work for C too, though it kind of feels
    awkward to record fake symbol names like that in C.
    The other approach I tried is to change the C++ symbol lookup routines
    instead.  This is the approach this commit takes.  We can already
    lookup up symbol in namespaces and classes, so this feels like a good
    fit, and was easy enough.  The advantage is that this doesn't require
    recording extra symbols.
    The test in gdb.cp/m-static.exp that exposed the need for this is
    removed, since the same functionality is now covered by
    2017-09-04  Pedro Alves  <>
    	* cp-namespace.c (cp_search_static_and_baseclasses): Handle
    	function/method scopes; lookup the nested name as a function local
    	static variable.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/local-static.exp: Also test with
    	class::method::variable wholly quoted.
    	* gdb.cp/m-static.exp (class::method::variable): Remove test.

commit 858be34c5a03bb8973679ebf00d360182434dc00
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:15 2017 +0100

    Handle "p S::method()::static_var" in the C++ parser
    This commit makes "print S::method()::static_var" actually find the
    debug symbol for static_var.  Currently, you get:
      (gdb) print S::method()::static_var
      A syntax error in expression, near `'.
    Quoting the whole string would seemingly work before the previous
    patch that made GDB stop assuming int for no-debug-info variables:
      (gdb) p 'S::method()::static_var'
      $1 = 1
    ... except that's incorrect output, because:
      (gdb) ptype 'S::method()::static_var'
      type = <data variable, no debug info>
    The way to make it work correctly currently is by quoting the
    function/method part, like this:
      (gdb) print 'S::method()'::static_var
      $1 = {i1 = 1, i2 = 2, i3 = 3}
      (gdb) ptype 'S::method()'::static_var
      type = struct aggregate {
          int i1;
          int i2;
          int i3;
    At least after the "stop assuming int" patch, this is what we
    now get:
      (gdb) p 'S::method()::static_var'
      'S::method()::static_var' has unknown type; cast it to its declared type
      (gdb) p (struct aggregate) 'S::method()::static_var'
      $1 = {i1 = 1, i2 = 2, i3 = 3}
    However, IMO, users shouldn't really have to care about any of this.
    GDB should Just Work, without quoting, IMO.
    So here's a patch that implements support for that in the C++ parser.
    With this patch, you now get:
      (gdb) p S::method()::S_M_s_var_aggregate
      $1 = {i1 = 1, i2 = 2, i3 = 3}
      (gdb) ptype S::method()::S_M_s_var_aggregate
      type = struct aggregate {
          int i1;
          int i2;
          int i3;
    2017-09-04  Pedro Alves  <>
    	(%type <voidval>): Add function_method.
    	* c-exp.y (exp): New production for calls with no arguments.
    	(function_method, function_method_void_or_typelist): New
    	(exp): New production for "method()::static_var".
    	* eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
    	* expprint.c (print_subexp_standard, dump_subexp_body_standard):
    	* parse.c (operator_length_standard):
    	* std-operator.def (OP_FUNC_STATIC_VAR): New.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/local-static.c: New.
    	* gdb.base/ New.
    	* gdb.base/local-static.exp:  New.

commit dd5901a6a5bba75f3dee49f9a27640eedad90afe
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:15 2017 +0100

    Eliminate UNOP_MEMVAL_TLS
    Since minsym references now go via OP_VAR_MSYM_VALUE, UNOP_MEMVAL_TLS
    is no longer used anywhere.
    2017-09-04  Pedro Alves  <>
    	* eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
    	* expprint.c (print_subexp_standard, dump_subexp_body_standard):
    	* parse.c (operator_length_standard, operator_check_standard):
    	* std-operator.def (UNOP_MEMVAL_TLS): Delete.

commit 46a4882b3c7d9ec981568b8b13a3c9c39c8f8e61
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:15 2017 +0100

    Stop assuming no-debug-info variables have type int
    An earlier commit made GDB no longer assume no-debug-info functions
    return int.  This commit gives the same treatment to variables.
    Currently, you can end misled by GDB over output like this:
      (gdb) p var
      $1 = -1
      (gdb) p /x var
      $2 = 0xffffffff
    until you realize that GDB is assuming that the variable is an "int",
      (gdb) ptype var
      type = <data variable, no debug info>
    You may try to fix it by casting, but that doesn't really help:
      (gdb) p /x (unsigned long long) var
      $3 = 0xffffffffffffffff            # incorrect
    That's incorrect output, because the variable was defined like this:
      uint64_t var = 0x7fffffffffffffff;
    What happened is that with the cast, GDB did an int -> 'unsigned long
    long' conversion instead of reinterpreting the variable as the cast-to
    type.  To get at the variable properly you have to reinterpret the
    variable's address manually instead, with either:
      (gdb) p /x *(unsigned long long *) &var
      $4 = 0x7fffffffffffffff
      (gdb) p /x {unsigned long long} &var
      $5 = 0x7fffffffffffffff
    After this commit GDB does it for you.  This is what you'll get
      (gdb) p var
      'var' has unknown type; cast it to its declared type
      (gdb) p /x (unsigned long long) var
      $1 = 0x7fffffffffffffff
    As in the functions patch, the "compile" machinery doesn't currently
    have the cast-to type handy, so it continues assuming no-debug
    variables have int type, though now at least it warns.
    The change to gdb.cp/m-static.exp deserves an explanation:
     - gdb_test "print 'gnu_obj_1::method()::sintvar'" "\\$\[0-9\]+ = 4" \
     + gdb_test "print (int) 'gnu_obj_1::method()::sintvar'" "\\$\[0-9\]+ = 4" \
    That's printing the "sintvar" function local static of the
    "gnu_obj_1::method()" method.
    The problem with that test is that that "'S::method()::static_var'"
    syntax doesn't really work in C++ as you'd expect.  The way to make it
    work correctly currently is to quote the method part, not the whole
    expression, like:
      (gdb) print 'gnu_obj_1::method()'::sintvar
    If you wrap the whole expression in quotes, like in m-static.exp, what
    really happens is that the parser considers the whole string as a
    symbol name, but there's no debug symbol with that name.  However,
    local statics have linkage and are given a mangled name that demangles
    to the same string as the full expression, so that's what GDB prints.
    After this commit, and without the cast, the print in m-static.exp
    would error out saying that the variable has unknown type:
      (gdb) p 'gnu_obj_1::method()::sintvar'
      'gnu_obj_1::method()::sintvar' has unknown type; cast it to its declared type
    TBC, if currently (even before this series) you try to print any
    function local static variable of type other than int, you'll get
    bogus results.  You can see that with as is, even.
    Printing the "svar" local, which is a boolean (1 byte) still prints as
    "int" (4 bytes):
      (gdb) p 'gnu_obj_1::method()::svar'
      $1 = 1
      (gdb) ptype 'gnu_obj_1::method()::svar'
      type = <data variable, no debug info>
    This probably prints some random bogus value on big endian machines.
    If 'svar' was of some aggregate type (etc.) we'd still print it as
    int, so the problem would have been more obvious...  After this
    commit, you'll get instead:
      (gdb) p 'gnu_obj_1::method()::svar'
      'gnu_obj_1::method()::svar' has unknown type; cast it to its declared type
    ... so at least GDB is no longer misleading.  Making GDB find the real
    local static debug symbol is the subject of the following patches.  In
    the end, it'll all "Just Work".
    2017-09-04  Pedro Alves  <>
    	* ax-gdb.c: Include "typeprint.h".
    	(gen_expr_for_cast): New function.
    	(gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
    	<OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
    	type is unknown.
    	* dwarf2read.c (new_symbol_full): Fallback to int instead of
    	* eval.c: Include "typeprint.h".
    	(evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
    	Error out if symbol has unknown type.
    	<UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
    	(evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
    	(evaluate_subexp_for_cast): New function.
    	* gdbtypes.c (init_nodebug_var_type): New function.
    	(objfile_type): Use it to initialize types of variables with no
    	debug info.
    	* typeprint.c (error_unknown_type): New.
    	* typeprint.h (error_unknown_type): New declaration.
    	* compile/compile-c-types.c (convert_type_basic): Handle
    	TYPE_CODE_ERROR; warn and fallback to int for variables with
    	unknown type.
    2017-09-04  Pedro Alves  <>
    	* gdb.asm/asm-source.exp: Add casts to int.
    	* gdb.base/nodebug.c (dataglobal8, dataglobal32_1, dataglobal32_2)
    	(dataglobal64_1, dataglobal64_2): New globals.
    	* gdb.base/nodebug.exp: Test different expressions involving the
    	new globals, with print, whatis and ptype.  Add casts to int.
    	* gdb.base/solib-display.exp: Add casts to int.
    	* gdb.compile/compile-ifunc.exp: Expect warning.  Add cast to int.
    	* gdb.cp/m-static.exp: Add cast to int.
    	* gdb.dwarf2/dw2-skip-prologue.exp: Add cast to int.
    	* gdb.threads/tls-nodebug.exp: Check that gdb errors out printing
    	tls variable with no debug info without a cast.  Test with a cast
    	to int too.
    	* gdb.trace/entry-values.exp: Add casts.

commit fe13dfecbf7d5a9ba3a5d9f52e33e0ddacb39bcc
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:14 2017 +0100

    evaluate_subexp_standard: Factor out OP_VAR_VALUE handling.
    A following patch will want to call the new evaluate_var_value
    function in another spot.
    2017-09-04  Pedro Alves  <>
    	* eval.c (evaluate_var_value): New function, factored out from ...
    	(evaluate_subexp_standard): ... here.

commit d008ee21562d9f823b3d081b9b60e86509a5e85a
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:14 2017 +0100

    evaluate_subexp_standard: Remove useless assignments
    2017-09-04  Pedro Alves  <>
    	* eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
    	Remove useless assignments to 'op'.

commit 827d0c517e2000102ac7d457109baa63e085c435
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:14 2017 +0100

    evaluate_subexp_standard: Eliminate one goto
    A following patch will want to factor out a bit of
    evaluate_subexp_standard, and it'd be handy to reuse the code under the
    "nosideret:" label there too.  This commits moves it to a separate
    function as preparation for that.
    2017-09-04  Pedro Alves  <>
    	* eval.c (eval_skip_value): New function.
    	(evaluate_subexp_standard): Use it.

commit 2c5a2be1902b50e34411baa57ff0b747e8e20e8b
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:14 2017 +0100

    Make ptype/whatis print function name of functions with no debug info too
    The patch to make GDB stop assuming functions return int left GDB with
    an inconsistency.  While with normal expression evaluation the
    "unknown return type" error shows the name of the function that misses
    debug info:
      (gdb) p getenv ("PATH")
      'getenv' has unknown return type; cast the call to its declared return type
    which is handy in more complicated expressions, "ptype" does not:
      (gdb) ptype getenv ("PATH")
      function has unknown return type; cast the call to its declared return type
    This commit builds on the new OP_VAR_MSYM_VALUE to fix it, by making
    OP_FUNCALL extract the function name from the symbol stored in
    OP_VAR_VALUE/OP_VAR_MSYM_VALUE.  We now get the same error in "print"
    vs "ptype":
      (gdb) ptype getenv()
      'getenv' has unknown return type; cast the call to its declared return type
      (gdb) p getenv()
      'getenv' has unknown return type; cast the call to its declared return type
    2017-09-04  Pedro Alves  <>
    	* eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
    	function name from symbol/minsym and pass it to
    2017-09-04  Pedro Alves  <>
    	* gdb.base/nodebug.exp: Test that ptype's error about functions
    	with unknown return type includes the function name too.

commit 74ea4be48e1247b8f7c50fd3578c468f2ff1ae25
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:13 2017 +0100

    Introduce OP_VAR_MSYM_VALUE
    The previous patch left GDB with an inconsistency.  While with normal
    expression evaluation the "unknown return type" error shows the name
    of the function that misses debug info:
      (gdb) p getenv ("PATH")
      'getenv' has unknown return type; cast the call to its declared return type
    which can by handy in more complicated expressions, "ptype" does not:
      (gdb) ptype getenv ("PATH")
      function has unknown return type; cast the call to its declared return type
    This commit is a step toward fixing it.
    The problem is that while evaluating the expression above, we have no
    reference to the minimal symbol where we could extract the name from.
    This is because the resulting expression tree has no reference to the
    minsym at all.  During parsing, the type and address of the minsym are
    extracted and an UNOP_MEMVAL / UNOP_MEMVAL_TLS operator is generated
    (see write_exp_elt_msym).  With "set debug expression", here's what
    you see:
                0  OP_FUNCALL            Number of args: 0
                3    UNOP_MEMVAL           Type @0x565334a51930 (<text variable, no debug info>)
                6      OP_LONG               Type @0x565334a51c60 (__CORE_ADDR), value 140737345035648 (0x7ffff7751d80)
    The "print" case finds the function name, because
    call_function_by_hand looks up the function by address again.
    However, for "ptype", we don't reach that code, because obviously we
    don't really call the function.
    Unlike minsym references, references to variables with debug info have
    a pointer to the variable's symbol in the expression tree, with
      (gdb) ptype main()
                0  OP_FUNCALL            Number of args: 0
                3    OP_VAR_VALUE          Block @0x0, symbol @0x559bbbd9b358 (main(int, char**))
    so I don't see why do minsyms need to be different.  So to prepare for
    fixing the missing function name issue, this commit adds a new
    OP_VAR_MSYM_VALUE operator that mimics OP_VAR_VALUE, except that it's
    for minsyms instead of debug symbols.  For infcalls, we now get
    expressions like these:
                0  OP_FUNCALL            Number of args: 0
                3    OP_VAR_MSYM_VALUE     Objfile @0x1e41bf0, msymbol @0x7fffe599b000 (getenv)
    In the following patch, we'll make OP_FUNCALL extract the function
    name from the symbol stored in OP_VAR_VALUE/OP_VAR_MSYM_VALUE.
    OP_VAR_MSYM_VALUE will be used more in a later patch in the series
    2017-09-04  Pedro Alves  <>
    	* ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
    	* ax-gdb.c (gen_msym_var_ref): New function.
    	(gen_expr): Handle OP_VAR_MSYM_VALUE.
    	* eval.c (evaluate_var_msym_value): New function.
    	* eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
    	<OP_FUNCALL>: Extract function name from symbol/minsym and pass it
    	to call_function_by_hand.
    	* expprint.c (print_subexp_standard, dump_subexp_body_standard):
    	Handle OP_VAR_MSYM_VALUE.
    	(union exp_element) <msymbol>: New field.
    	* minsyms.h (struct type): Forward declare.
    	(find_minsym_type_and_address): Declare.
    	* parse.c (write_exp_elt_msym): New function.
    	(write_exp_msymbol): Delete, refactored as ...
    	(find_minsym_type_and_address): ... this new function.
    	(write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
    	(operator_length_standard, operator_check_standard): Handle
    	* std-operator.def (OP_VAR_MSYM_VALUE): New.

commit 7022349d5c86bae74b49225515f42d2e221bd368
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:13 2017 +0100

    Stop assuming no-debug-info functions return int
    The fact that GDB defaults to assuming that functions return int, when
    it has no debug info for the function has been a recurring source of
    user confusion.  Recently this came up on the errno pretty printer
    discussions.  Shortly after, it came up again on IRC, with someone
    wondering why does getenv() in GDB return a negative int:
      (gdb) p getenv("PATH")
      $1 = -6185
    This question (with s/getenv/random-other-C-runtime-function) is a FAQ
    on IRC.
    The reason for the above is:
     (gdb) p getenv
     $2 = {<text variable, no debug info>} 0x7ffff7751d80 <getenv>
     (gdb) ptype getenv
     type = int ()
    ... which means that GDB truncated the 64-bit pointer that is actually
    returned from getent to 32-bit, and then sign-extended it:
     (gdb) p /x -6185
     $6 = 0xffffe7d7
    The workaround is to cast the function to the right type, like:
     (gdb) p ((char *(*) (const char *)) getenv) ("PATH")
     $3 = 0x7fffffffe7d7 "/usr/local/bin:/"...
    IMO, we should do better than this.
    I see the "assume-int" issue the same way I see printing bogus values
    for optimized-out variables instead of "<optimized out>" -- I'd much
    rather that the debugger tells me "I don't know" and tells me how to
    fix it than showing me bogus misleading results, making me go around
    tilting at windmills.
    If GDB prints a signed integer when you're expecting a pointer or
    aggregate, you at least have some sense that something is off, but
    consider the case of the function actually returning a 64-bit integer.
    For example, compile this without debug info:
     unsigned long long
     function ()
       return 0x7fffffffffffffff;
    Currently, with pristine GDB, you get:
     (gdb) p function ()
     $1 = -1                      # incorrect
     (gdb) p /x function ()
     $2 = 0xffffffff              # incorrect
    maybe after spending a few hours debugging you suspect something is
    wrong with that -1, and do:
     (gdb) ptype function
     type = int ()
    and maybe, just maybe, you realize that the function actually returns
    unsigned long long.  And you try to fix it with:
    (gdb) p /x (unsigned long long) function ()
     $3 = 0xffffffffffffffff      # incorrect
    ... which still produces the wrong result, because GDB simply applied
    int to unsigned long long conversion.  Meaning, it sign-extended the
    integer that it extracted from the return of the function, to 64-bits.
    and then maybe, after asking around on IRC, you realize you have to
    cast the function to a pointer of the right type, and call that.  It
    won't be easy, but after a few missteps, you'll get to it:
    .....  (gdb) p /x ((unsigned long long(*) ()) function) ()
     $666 = 0x7fffffffffffffff             # finally! :-)
    So to improve on the user experience, this patch does the following
    (interrelated) things:
     - makes no-debug-info functions no longer default to "int" as return
       type.  Instead, they're left with NULL/"<unknown return type>"
       return type.
        (gdb) ptype getenv
        type = <unknown return type> ()
     - makes calling a function with unknown return type an error.
        (gdb) p getenv ("PATH")
        'getenv' has unknown return type; cast the call to its declared return type
     - and then to make it easier to call the function, makes it possible
       to _only_ cast the return of the function to the right type,
       instead of having to cast the function to a function pointer:
        (gdb) p (char *) getenv ("PATH")                      # now Just Works
        $3 = 0x7fffffffe7d7 "/usr/local/bin:/"...
        (gdb) p ((char *(*) (const char *)) getenv) ("PATH")  # continues working
        $4 = 0x7fffffffe7d7 "/usr/local/bin:/"...
       I.e., it makes GDB default the function's return type to the type
       of the cast, and the function's parameters to the type of the
       arguments passed down.
    After this patch, here's what you'll get for the "unsigned long long"
    example above:
     (gdb) p function ()
     'function' has unknown return type; cast the call to its declared return type
     (gdb) p /x (unsigned long long) function ()
     $4 = 0x7fffffffffffffff     # correct!
    Note that while with "print" GDB shows the name of the function that
    has the problem:
      (gdb) p getenv ("PATH")
      'getenv' has unknown return type; cast the call to its declared return type
    which can by handy in more complicated expressions, "ptype" does not:
      (gdb) ptype getenv ("PATH")
      function has unknown return type; cast the call to its declared return type
    This will be fixed in the next patch.
    2017-09-04  Pedro Alves  <>
    	* ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
    	TYPE_GNU_IFUNC specially here.  Throw error if return type is
    	* ada-typeprint.c (print_func_type): Handle functions with unknown
    	return type.
    	* c-typeprint.c (c_type_print_base): Handle functions and methods
    	with unknown return type.
    	* compile/compile-c-symbols.c (convert_symbol_bmsym)
    	<mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
    	* compile/compile-c-types.c: Include "objfiles.h".
    	(convert_func): For functions with unknown return type, warn and
    	default to int.
    	* compile/compile-object-run.c (compile_object_run): Adjust call
    	to call_function_by_hand_dummy.
    	* elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
    	* eval.c (evaluate_subexp_standard): Adjust calls to
    	call_function_by_hand.  Handle functions and methods with unknown
    	return type.  Pass expect_type to call_function_by_hand.
    	* f-typeprint.c (f_type_print_base): Handle functions with unknown
    	return type.
    	* gcore.c (call_target_sbrk): Adjust call to
    	* gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
    	return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
    	an integer address type instead of nodebug.
    	* guile/scm-value.c (gdbscm_value_call): Adjust call to
    	* infcall.c (error_call_unknown_return_type): New function.
    	(call_function_by_hand): New "default_return_type" parameter.
    	Pass it down.
    	(call_function_by_hand_dummy): New "default_return_type"
    	parameter.  Use it instead of defaulting to int.  If there's no
    	default and the return type is unknown, throw an error.  If
    	there's a default return type, and the called function has no
    	debug info, then assume the function is prototyped.
    	* infcall.h (call_function_by_hand, call_function_by_hand_dummy):
    	New "default_return_type" parameter.
    	(error_call_unknown_return_type): New declaration.
    	* linux-fork.c (call_lseek): Cast return type of lseek.
    	(inferior_call_waitpid, checkpoint_command): Adjust calls to
    	* linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
    	calls to call_function_by_hand.
    	* m2-typeprint.c (m2_procedure): Handle functions with unknown
    	return type.
    	* objc-lang.c (lookup_objc_class, lookup_child_selector)
    	(value_nsstring, print_object_command): Adjust calls to
    	* p-typeprint.c (pascal_type_print_varspec_prefix): Handle
    	functions with unknown return type.
    	(pascal_type_print_func_varspec_suffix): New function.
    	(pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
    	TYPE_CODE_METHOD>: Use it.
    	* python/py-value.c (valpy_call): Adjust call to
    	* rust-lang.c (rust_evaluate_funcall): Adjust call to
    	* valarith.c (value_x_binop, value_x_unop): Adjust calls to
    	* valops.c (value_allocate_space_in_inferior): Adjust call to
    	* typeprint.c (type_print_unknown_return_type): New function.
    	* typeprint.h (type_print_unknown_return_type): New declaration.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/break-main-file-remove-fail.exp (test_remove_bp): Cast
    	return type of munmap in infcall.
    	* gdb.base/break-probes.exp: Cast return type of foo in infcall.
    	* gdb.base/checkpoint.exp: Simplify using for loop.  Cast return
    	type of ftell in infcall.
    	* gdb.base/dprintf-detach.exp (dprintf_detach_test): Cast return
    	type of getpid in infcall.
    	* gdb.base/infcall-exec.exp: Cast return type of execlp in
    	* gdb.base/info-os.exp: Cast return type of getpid in infcall.
    	Bail on failure to extract the pid.
    	* gdb.base/nodebug.c: #include <stdint.h>.
    	(multf, multf_noproto, mult, mult_noproto, add8, add8_noproto):
    	New functions.
    	* gdb.base/nodebug.exp (test_call_promotion): New procedure.
    	Change expected output of print/whatis/ptype with functions with
    	no debug info.  Test all supported languages.  Call
    	* gdb.compile/compile.exp: Adjust expected output to expect
    	* gdb.threads/siginfo-threads.exp: Likewise.

commit 54990598c4c74b6af113baf801064d3b1837973f
Author: Pedro Alves <>
Date:   Mon Sep 4 20:21:13 2017 +0100

    Fix calling prototyped functions via function pointers
    Calling a prototyped function via a function pointer with the right
    prototype doesn't work correctly, if the called function requires
    argument coercion...  Like, e.g., with:
      float mult (float f1, float f2) { return f1 * f2; }
      (gdb) p mult (2, 3.5)
      $1 = 7
      (gdb) p ((float (*) (float, float)) mult) (2, 3.5)
      $2 = 0
    both calls should have returned the same, of course.  The problem is
    that GDB misses marking the type of the function pointer target as
    Without the fix, the new test fails like this:
     (gdb) p ((int (*) (float, float)) t_float_values2)(3.14159,float_val2)
     $30 = 0
     (gdb) FAIL: gdb.base/callfuncs.exp: p ((int (*) (float, float)) t_float_values2)(3.14159,float_val2)
    2017-09-04  Pedro Alves  <>
    	* gdbtypes.c (lookup_function_type_with_arguments): Mark function
    	types with more than one parameter as prototyped.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/callfuncs.exp (do_function_calls): New parameter
    	"prototypes".  Test calling float functions via prototyped and
    	unprototyped function pointers.
    	(perform_all_tests): New parameter "prototypes".  Pass it down.
    	(top level): Pass down "prototypes" parameter to

commit 34d16ea2a144cdac8a89050d9aab723fb675cb45
Author: Simon Marchi <>
Date:   Mon Sep 4 21:19:17 2017 +0200

    gdb.base/commands.exp: Test loop_break and loop_continue in nested loops
    This patch improves the loop_break and loop_continue tests to verify
    that they work as expected when multiple loops are nested (they affect
    the inner loop).
    	* gdb.base/commands.exp (loop_break_test, loop_continue_test):
    	Test with nested loops.

commit 9a24775b97646827396073d0d7e510b9694331ab
Author: Pedro Alves <>
Date:   Mon Sep 4 18:23:22 2017 +0100

    Introduce gdb_disassembly_flags
    For some reason I ended up staring at some of the "int flags" in
    btrace-related code, and I got confused because I had no clue what the
    flags where supposed to indicate.
    Fix that by using enum_flags, so that:
      #1 - it's clear from the type what the flags are about, and
      #2 - the compiler can catch mismatching mistakes
    2017-09-04  Pedro Alves  <>
    	* cli/cli-cmds.c (print_disassembly, disassemble_current_function)
    	(disassemble_command): Use gdb_disassembly_flags instead of bare
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
    	(dump_insns, do_mixed_source_and_assembly_deprecated)
    	(do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
    	Use gdb_disassembly_flags instead of bare int.
    	(DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
    	(enum gdb_disassembly_flag): ... values of this new enumeration.
    	(gdb_disassembly_flags): Define.
    	(gdb_pretty_print_disassembler::pretty_print_insn): Use it.
    	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
    	gdb_disassembly_flags instead of bare int.
    	* record-btrace.c (btrace_insn_history)
    	(record_btrace_insn_history, record_btrace_insn_history_range)
    	(record_btrace_insn_history_from): Use gdb_disassembly_flags
    	instead of bare int.
    	* record.c (get_insn_history_modifiers, cmd_record_insn_history):
    	Use gdb_disassembly_flags instead of bare int.
    	* target-debug.h (target_debug_print_gdb_disassembly_flags):
    	* target-delegates.c: Regenerate.
    	* target.c (target_insn_history, target_insn_history_from)
    	(target_insn_history_range): Use gdb_disassembly_flags instead of
    	bare int.
    	* target.h: Include "disasm.h".
    	(struct target_ops) <to_insn_history, to_insn_history_from,
    	to_insn_history_range>: Use gdb_disassembly_flags instead of bare
    	(target_insn_history, target_insn_history_from)
    	(target_insn_history_range): Use gdb_disassembly_flags instead of
    	bare int.

commit 9521ecda6835b338d61b1b06e1a91706711b1d0b
Author: Simon Marchi <>
Date:   Mon Sep 4 19:15:59 2017 +0200

    Add tests for loop_break and loop_continue commands
    I grepped the testsuite for loop_break and loop_continue and didn't find
    anything, so I wrote some simple tests for those.
    	* gdb.base/commands.exp: Call the new procedures.
    	(loop_break_test, loop_continue_test): New procedures.

commit 80a65e9b8fbc93d4a7548ac17b8094ced23f66a7
Author: Simon Marchi <>
Date:   Mon Sep 4 19:13:08 2017 +0200

    Error out immediatly when using if command without args in command list
    When using "if" (or while) without args directly on gdb's command line,
    you get this:
      (gdb) if
      if/while commands require arguments
    When doing the same when entering a command list, you only get an error
    when the command is executed, when parse_exp_in_context_1 fails to
    evaluate the expression.
      (gdb) define foo
      Type commands for definition of "foo".
      End with a line saying just "end".
      (gdb) foo
      Argument required (expression to compute).
    I think it would make more sense to error out when inputting the command
    list directly:
      (gdb) define foo
      Type commands for definition of "foo".
      End with a line saying just "end".
      if/while commands require arguments.
    The only required change is to check whether args is an empty string in
    	* cli/cli-script.c (build_command_line): For if/while commands,
    	check whether args is empty.
    	* gdb.base/commands.exp: Call new procedure.
    	(define_if_without_arg_test): New procedure.

commit 6b66338c70422d670637623cea8dc3b62e05e7de
Author: Simon Marchi <>
Date:   Mon Sep 4 19:09:12 2017 +0200

    Move command lines types/declarations to cli-script.h
    I think it would make more sense if the types and function declarations
    related to command lines were in cli-script.h rather than defs.h, since
    the related function definitions are in cli-script.c.
    I had to add a few includes here and there.  I also had to rename the
    "lines" parameter of command_lines_deleter::operator(), because ncurses
    has a "#define lines ..." that was interfering when cli-script.h is
    included by some TUI source files that also include ncurses header files.
    	* cli/cli-script.h (enum misc_command_type): Move from defs.h.
    	(enum command_control_type): Likewise.
    	(struct command_line): Likewise.
    	(free_command_lines): Likewise.
    	(struct command_lines_deleter): Likewise.
    	(command_line_up): Likewise.
    	(read_command_lines): Likewise.
    	(read_command_lines_1): Likewise.
    	* defs.h (enum misc_command_type): Move to cli/cli-script.h.
    	(enum command_control_type): Likewise.
    	(struct command_line): Likewise.
    	(free_command_lines): Likewise.
    	(struct command_lines_deleter): Likewise.
    	(command_line_up): Likewise.
    	(read_command_lines): Likewise.
    	(read_command_lines_1): Likewise.
    	* breakpoint.h: Include cli/cli-script.h.
    	* extension-priv.h: Likewise.
    	* gdbcmd.h: Likewise.

commit 50a421ac3ad82886afb0916b112ddeac4f9f73dc
Author: Simon Marchi <>
Date:   Mon Sep 4 19:02:56 2017 +0200

    gdbserver Makefile: don't delete intermediary files
    If you "make" from scratch in gdbserver/, you'll notice that make
    deletes the files it considers as intermediary at the end:
      $ make clean && make
      rm i386-mmx-linux-generated.c x32-avx-avx512-linux-generated.c ...
    Then, if you type make again, make will rebuild these files and rebuild
    gdbserver.  To avoid this, we can add the .SECONDARY special target.  If
    it has no pre-requisites, all intermediary files will be kept.
    	* (.SECONDARY): Define target.

commit 51abb421302bdd86946827727aebc878b5c756e3
Author: Pedro Alves <>
Date:   Mon Sep 4 17:10:13 2017 +0100

    Kill init_sal
    Instead, make symtab_and_line initialize its members itself.  Many
    symtab_and_line declarations are moved to where the object is
    initialized at the same time both for clarity and to avoid double
    initialization.  A few functions, like e.g., find_frame_sal are
    adjusted to return the sal using normal function return instead of an
    output parameter likewise to avoid having to default-construct a sal
    and then immediately have the object overwritten.
    2017-09-04  Pedro Alves  <>
    	* ada-lang.c (is_known_support_routine): Move sal declaration to
    	where it is initialized.
    	* breakpoint.c (create_internal_breakpoint, init_catchpoint)
    	(parse_breakpoint_sals, decode_static_tracepoint_spec)
    	(clear_command, update_static_tracepoint): Remove init_sal
    	references.  Move declarations closer to initializations.
    	* cli/cli-cmds.c (list_command): Move sal declarations closer to
    	* elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
    	references.  Move sal declarations closer to initializations.
    	* frame.c (find_frame_sal): Return a symtab_and_line via function
    	return instead of output parameter.  Remove init_sal references.
    	* frame.h (find_frame_sal): Return a symtab_and_line via function
    	return instead of output parameter.
    	* guile/scm-frame.c (gdbscm_frame_sal): Adjust.
    	* guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
    	instead of memset.
    	(gdbscm_find_pc_line): Remove init_sal reference.
    	* infcall.c (call_function_by_hand_dummy): Remove init_sal
    	references.  Move declarations closer to initializations.
    	* infcmd.c (set_step_frame): Update.  Move declarations closer to
    	(finish_backward): Remove init_sal references.  Move declarations
    	closer to initializations.
    	* infrun.c (process_event_stop_test, handle_step_into_function)
    	(insert_step_resume_breakpoint_at_caller): Likewise.
    	* linespec.c (create_sals_line_offset, decode_digits_ordinary)
    	(symbol_to_sal): Likewise.
    	* probe.c (parse_probes_in_pspace): Remove init_sal reference.
    	* python/py-frame.c (frapy_find_sal): Move sal declaration closer
    	to its initialization.
    	* reverse.c (save_bookmark_command): Use new/delete.  Remove
    	init_sal references.  Move declarations closer to initializations.
    	* source.c (get_current_source_symtab_and_line): Remove brace
    	(set_current_source_symtab_and_line): Now takes the sal by const
    	reference.  Remove brace initialization.
    	(line_info): Remove init_sal reference.
    	* source.h (set_current_source_symtab_and_line): Now takes a
    	symtab_and_line via const reference.
    	* stack.c (set_current_sal_from_frame): Adjust.
    	(print_frame_info): Adjust.
    	(get_last_displayed_sal): Return the sal via function return
    	instead of via output parameter.  Simplify.
    	(frame_info): Adjust.
    	* stack.h (get_last_displayed_sal): Return the sal via function
    	return instead of via output parameter.
    	* symtab.c (init_sal): Delete.
    	(find_pc_sect_line): Remove init_sal references.  Move
    	declarations closer to initializations.
    	(find_function_start_sal): Remove init_sal references.  Move
    	declarations closer to initializations.
    	* symtab.h (struct symtab_and_line): In-class initialize all
    	* tracepoint.c (set_traceframe_context)
    	(print_one_static_tracepoint_marker): Remove init_sal references.
    	Move declarations closer to initializations.
    	* tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
    	* tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
    	declarations closer to initializations.
    	* tui/tui-winsource.c (tui_update_source_window_as_is): Remove
    	init_sal references.  Adjust.

commit 6c5b2ebeacc2538cf342cfd13c4c98ff018e6c9a
Author: Pedro Alves <>
Date:   Mon Sep 4 17:10:13 2017 +0100

    struct symtabs_and_lines -> std::vector<symtab_and_line>
    This replaces "struct symtabs_and_lines" with
    std::vector<symtab_and_line> in most cases.  This removes a number of
    In some cases, the sals objects do not own the sals they point at.
    Instead they point at some sal that lives on the stack.  Typically
    something like this:
      struct symtab_and_line sal;
      struct symtabs_and_lines sals;
      // fill in sal
      sals.nelts = 1;
      sals.sals = &sal;
      // use sals
    Instead of switching those cases to std::vector too, such usages are
    replaced by gdb::array_view<symtab_and_line> instead.  This avoids
    introducing heap allocations.
    2017-09-04  Pedro Alves  <>
    	* ax-gdb.c (agent_command_1): Use range-for.
    	* break-catch-throw.c (re_set_exception_catchpoint): Update.
    	* breakpoint.c: Include "common/array-view.h".
    	(init_breakpoint_sal, create_breakpoint_sal): Change sals
    	parameter from struct symtabs_and_lines to
    	array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
    	(breakpoint_sals_to_pc): Change sals parameter from struct
    	symtabs_and_lines to std::vector reference.
    	(check_fast_tracepoint_sals): Change sals parameter from struct
    	symtabs_and_lines to std::array_view.  Use range-for.
    	(decode_static_tracepoint_spec): Return a std::vector instead of
    	symtabs_and_lines.  Update.
    	(create_breakpoint): Update.
    	(break_range_command, until_break_command, clear_command): Update.
    	(base_breakpoint_decode_location, bkpt_decode_location)
    	(bkpt_probe_decode_location, tracepoint_decode_location)
    	(strace_marker_create_sals_from_location): Return a std::vector
    	instead of symtabs_and_lines.
    	(strace_marker_create_breakpoints_sal): Update.
    	(strace_marker_decode_location): Return a std::vector instead of
    	symtabs_and_lines.  Update.
    	(update_breakpoint_locations): Change struct symtabs_and_lines
    	parameters to gdb::array_view.  Adjust.
    	(location_to_sals): Return a std::vector instead of
    	symtabs_and_lines.  Update.
    	(breakpoint_re_set_default): Use std::vector instead of struct
    	(decode_location_default): Return a std::vector instead of
    	symtabs_and_lines.  Update.
    	* breakpoint.h: Include "common/array-view.h".
    	(struct breakpoint_ops) <decode_location>: Now returns a
    	std::vector instead of returning a symtabs_and_lines via output
    	(update_breakpoint_locations): Change sals parameters to use
    	* cli/cli-cmds.c (edit_command, list_command): Update to use
    	std::vector and gdb::array_view.
    	(ambiguous_line_spec): Adjust to use gdb::array_view and
    	(compare_symtabs): Rename to ...
    	(cmp_symtabs): ... this.  Change parameters to symtab_and_line
    	const reference and adjust.
    	(filter_sals): Rewrite using std::vector and standard algorithms.
    	* elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
    	(jump_command): Update to use std::vector.
    	* linespec.c (struct linespec_state) <canonical_names>: Update
    	(add_sal_to_sals_basic): Delete.
    	(add_sal_to_sals, filter_results, convert_results_to_lsals)
    	(decode_line_2, create_sals_line_offset)
    	(convert_address_location_to_sals, convert_linespec_to_sals)
    	(convert_explicit_location_to_sals, parse_linespec)
    	(event_location_to_sals, decode_line_full, decode_line_1)
    	(decode_line_with_last_displayed, decode_objc)
    	(decode_digits_list_mode, decode_digits_ordinary, minsym_found)
    	(linespec_result::~linespec_result): Adjust to use std::vector
    	instead of symtabs_and_lines.
    	* linespec.h (linespec_sals::sals): Now a std::vector.
    	(struct linespec_result): Use std::vector, bool, and in-class
    	(decode_line_1, decode_line_with_current_source)
    	(decode_line_with_last_displayed): Return std::vector.
    	* macrocmd.c (info_macros_command): Use std::vector.
    	* mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
    	* probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
    	* probe.h (parse_probes): Return a std::vector.
    	* python/python.c (gdbpy_decode_line): Use std::vector and
    	* source.c (select_source_symtab, line_info): Use std::vector.
    	* stack.c (func_command): Use std::vector.
    	* symtab.h (struct symtabs_and_lines): Delete.
    	* tracepoint.c (tfind_line_command, scope_info): Use std::vector.

commit 7c44b49cb63662b76c6301fdc8e022d7aca655bf
Author: Pedro Alves <>
Date:   Mon Sep 4 17:10:12 2017 +0100

    Introduce gdb::array_view
    An array_view is an abstraction that provides a non-owning view over a
    sequence of contiguous objects.
    A way to put it is that array_view is to std::vector (and std::array
    and built-in arrays with rank==1) like std::string_view is to
    The main intent of array_view is to use it as function input parameter
    type, making it possible to pass in any sequence of contiguous
    objects, irrespective of whether the objects live on the stack or heap
    and what actual container owns them.  Implicit construction from the
    element type is supported too, making it easy to call functions that
    expect an array of elements when you only have one element (usually on
    the stack).  For example:
     struct A { .... };
     void function (gdb::array_view<A> as);
     std::vector<A> std_vec = ...;
     std::array<A, N> std_array = ...;
     A array[] = {...};
     A elem;
     function (std_vec);
     function (std_array);
     function (array);
     function (elem);
    Views can be either mutable or const.  A const view is simply created
    by specifying a const T as array_view template parameter, in which
    case operator[] of non-const array_view objects ends up returning
    const references.  (Making the array_view itself const is analogous to
    making a pointer itself be const.  I.e., disables re-seating the
    view/pointer.)  Normally functions will pass around array_views by
    Uses of gdb::array_view (other than the ones in the unit tests) will
    be added in a follow up patch.
    2017-09-04  Pedro Alves  <>
    	(SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
    	* common/array-view.h: New file.
    	* unittests/array-view-selftests.c: New file.

commit e439fa140afdaedb28a97acaa2b0432b884d8a91
Author: Pedro Alves <>
Date:   Mon Sep 4 16:49:29 2017 +0100

    Clarify "list" output when specified lines are ambiguous
    Currently, with "list LINESPEC1,LINESPEC2", if one of the linespecs is
    ambiguous, i.e., if it expands to multiple locations, you get this
    seemingly odd output:
     (gdb) list foo,bar
     file: "file0.c", line number: 26
     file: "file1.c", line number: 29
    Since "foo" above expands to multiple locations, the specified range
    is indeterminate, and GDB is trying to be helpful by showing you what
    was ambiguous.  It looks confusing to me, though.  I think it'd be
    much more user friendly if GDB actually told you that, like this:
     (gdb) list foo,bar
     Specified first line 'foo' is ambiguous:
     file: "file0.c", line number: 26
     file: "file1.c", line number: 29
     (gdb) list bar,foo
     Specified last line 'foo' is ambiguous:
     file: "file0.c", line number: 26
     file: "file1.c", line number: 29
    Note, I'm using "first" and "last" in the output because that's what
    the manual uses:
     list first,last
         Print lines from first to last. [...]
    Tested on x86-64 GNU/Linux.
    2017-09-04  Pedro Alves  <>
    	* cli/cli-cmds.c (edit_command): Pass message to
    	(list_command): Pass message to ambiguous_line_spec.  Say
    	"first"/"last" instead of "start" and "end" to be consistent with
    	the manual.
    	(ambiguous_line_spec): Add 'format' and vararg parameters.  Use
    	them to print formatted message.
    2017-09-04  Pedro Alves  <>
    	* gdb.base/list-ambiguous.exp: New file.
    	* gdb.base/list-ambiguous0.c: New file.
    	* gdb.base/list-ambiguous1.c: New file.
    	* gdb.base/list.exp (test_list_range): Adjust expected output.

commit 7525b645dfaa302091591d0f87d9682ce988ed13
Author: Pedro Alves <>
Date:   Mon Sep 4 16:01:17 2017 +0100

    Fix build breakage when libipt is available
    Fix build regression introduced by 0860c437cbe4 ("btrace: Store
    btrace_insn in an std::vector"):
      src/gdb/btrace.c: In function ‘void ftrace_add_pt(btrace_thread_info*, pt_insn_decoder*, int*, std::vector<unsigned int>&)’:
      src/gdb/btrace.c:1329:38: error: invalid initialization of reference of type ‘const btrace_insn&’ from expression of type ‘btrace_insn*’
          ftrace_update_insns (bfun, &btinsn);
      src/gdb/btrace.c:648:1: note: in passing argument 2 of ‘void ftrace_update_insns(btrace_function*, const btrace_insn&)’
       ftrace_update_insns (struct btrace_function *bfun, const btrace_insn &insn)
    2017-09-04  Pedro Alves  <>
    	* btrace.c (ftrace_add_pt): Pass btrace_insn to
    	ftrace_update_insns by reference instead of pointer.

commit 6c869779dad0cf028bd787e6ebbc0780ee4afe13
Author: Anthony Green <>
Date:   Mon Sep 4 10:00:37 2017 -0400

    Fix simulator

commit badc00202024619e1c868b8cf70fe6351fc028c3
Author: Yao Qi <>
Date:   Mon Sep 4 11:33:56 2017 +0100

    Let i386_target_description return tdesc_i386_mmx
    This patch remove the usage of tdesc_i386_mmx in i386-go32-tdep.c, and use
    i386_target_description to get it instead.
    2017-09-04  Yao Qi  <>
    	* i386-go32-tdep.c: Include x86-xstate.h.
    	(i386_go32_init_abi): Call i386_target_description.
    	* i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
    	if xcr0 is X86_XSTATE_X87_MASK.
    	* i386-tdep.h (tdesc_i386): Remove the declaration.
    	(tdesc_i386_mmx): Likewise.

commit d78bdb54ac94e1c38dc4b8f0d50b5fd202890887
Author: Yao Qi <>
Date:   Mon Sep 4 11:33:56 2017 +0100

    Return X86_XSTATE_SSE_MASK instead of 0 in i386fbsd_core_read_xcr0
    i386fbsd_core_read_xcr0 reads the value of xcr0 from the corefile.  If
    it fails, returns 0.  This makes its caller {i386,amd64}_target_description
    has to handle this special value.  IMO, i386fbsd_core_read_xcr0 should
    return the default xcr0 in case of error.
    2017-09-04  Yao Qi  <>
    	* i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
    	X86_XSTATE_SSE_MASK instead of 0.

commit ca1fa5eef2912262a0a33875e9a23f2e79a72328
Author: Yao Qi <>
Date:   Mon Sep 4 11:33:56 2017 +0100

    Use i386_target_description to get tdesc_i386
    GDB can call function i386_target_description to get the right target
    description rather than tdesc_i386
    2017-09-04  Yao Qi  <>
    	* amd64-fbsd-nat.c (amd64fbsd_read_description): Call
    	* i386-fbsd-nat.c (i386fbsd_read_description): Call
    	* i386-tdep.c (i386_gdbarch_init): Likewise.

commit 2434b0199ddcd9419c55742552953b0a79d00ebc
Author: Yao Qi <>
Date:   Mon Sep 4 11:33:56 2017 +0100

    Use amd64_target_description to get tdesc_amd64
    This patch changes amd64-*-tdep.c files to use function
    amd64_target_description to get the right target description rather than
    use the variable tdesd_amd64.
    2017-09-04  Yao Qi  <>
    	* amd64-darwin-tdep.c: Include "x86-xstate.h".
    	(x86_darwin_init_abi_64): Call amd64_target_description.
    	* amd64-dicos-tdep.c: Likewise.
    	* amd64-fbsd-nat.c: Likewise.
    	* amd64-fbsd-tdep.c: Likewise.
    	* amd64-nbsd-tdep.c: Likewise.
    	* amd64-obsd-tdep.c: Likewise.
    	* amd64-sol2-tdep.c: Likewise.
    	* amd64-windows-tdep.c: Likewise.
    	* amd64-tdep.h (tdesc_amd64): Remove the declaration.

commit 0860c437cbe4efd8752531d0464007f448fc8274
Author: Simon Marchi <>
Date:   Mon Sep 4 10:46:36 2017 +0200

    btrace: Store btrace_insn in an std::vector
    Because it contains a non-POD type field (flags), the type btrace_insn
    should be new'ed/delete'd.  Replace the VEC (btrace_insn_s) in
    btrace_function with an std::vector.
    	* btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
    	(btrace_function) <insn>: Change type to use std::vector.
    	* btrace.c (ftrace_debug, ftrace_call_num_insn,
    	ftrace_find_call, ftrace_new_gap, ftrace_update_function,
    	ftrace_update_insns, ftrace_compute_global_level_offset,
    	btrace_stitch_bts, btrace_clear, btrace_insn_get,
    	btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
    	change to std::vector.
    	(ftrace_update_insns): Adjust to change to std::vector, change
    	type of INSN parameter.
    	(btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
    	* record-btrace.c (btrace_call_history_insn_range,
    	record_btrace_frame_prev_register): Adjust to change to
    	* python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
    	to change to std::vector.

commit a826403eb6f0ad2fb8c88b45ea3cf5ba39cdaa75
Author: GDB Administrator <>
Date:   Mon Sep 4 00:00:29 2017 +0000

    Automatic date update in

commit 0638b7f90293ac01233dc6406e4c9d5da0ed9e24
Author: Tom Tromey <>
Date:   Mon Aug 14 00:18:06 2017 -0600

    Use std::string in reopen_exec_file
    This changes reopen_exec_file to use a std::string, removing a
    2017-09-03  Tom Tromey  <>
    	* corefile.c (reopen_exec_file): Use std::string.

commit 8f84fb0ee87e8f149523e13815c58e1b664d184f
Author: Tom Tromey <>
Date:   Mon Aug 14 00:03:02 2017 -0600

    Use std::string and unique_xmalloc_ptr in compile/ code
    Change various things in the compile/ code to use std::string or
    unique_xmalloc_ptr as appropriate.  This allows the removal of some
    2017-09-03  Tom Tromey  <>
    	* compile/compile.c (compile_register_name_mangled): Return
    	* compile/compile-loc2c.c (pushf_register_address): Update.
    	(pushf_register): Update.
    	* compile/compile-c-types.c (convert_array): Update.
    	* compile/compile-c-symbols.c (generate_vla_size): Update.
    	(error_symbol_once): Use a gdb::unique_xmalloc_ptr.
    	(symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
    	(convert_one_symbol): Update.
    	(generate_c_for_for_one_variable): Update.
    	* compile/compile-c-support.c (c_get_range_decl_name): Return a
    	(generate_register_struct): Update.
    	* compile/compile-internal.h (c_get_range_decl_name): Return a
    	(compile_register_name_mangled): Return std::string.

commit 18e9961f02b326923553f34682f4dcca0f25702e
Author: Tom Tromey <>
Date:   Sun Aug 13 23:47:01 2017 -0600

    Return std::string from perror_string
    Change perror_string to return a std::string, removing a cleanup in
    the process.
    2017-09-03  Tom Tromey  <>
    	* utils.c (perror_string): Return a std::string.
    	(throw_perror_with_name, perror_warning_with_name): Update.

commit 453437863c82afc8ed5bfcb937a2e297957fc212
Author: Tom Tromey <>
Date:   Sun Aug 13 23:38:09 2017 -0600

    Use std::string and unique_xmalloc_ptr in demangle_command
    Change demangle_command to use std::string and unique_xmalloc_ptr,
    removing some cleanups.
    2017-09-03  Tom Tromey  <>
    	* demangle.c (demangle_command): Use std::string,

commit b57af50345945f32e6615391ac62a4f589c0fada
Author: Tom Tromey <>
Date:   Sun Aug 13 14:45:17 2017 -0600

    Use std::string in do_set_command
    Change do_set_command to use std::string, removing a cleanup and some
    manual resizing code.
    2017-09-03  Tom Tromey  <>
    	* cli/cli-setshow.c (do_set_command): Use std::string.

commit 6eecf35f97e1d37e49e385ba599797dd1c8afd1f
Author: Tom Tromey <>
Date:   Sun Aug 13 14:34:59 2017 -0600

    Use unique_xmalloc_ptr in cd_command
    Change cd_command to use unique_xmalloc_ptr, removing a cleanup.
    2017-09-03  Tom Tromey  <>
    	* cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.

commit 56496dd4d6519c26bb375a78588bf56b28b13512
Author: Tom Tromey <>
Date:   Sun Aug 13 11:04:37 2017 -0600

    Use std::string in mi_cmd_interpreter_exec
    Change mi_cmd_interpreter_exec to use std::string, removing a cleanup.
    2017-09-03  Tom Tromey  <>
    	* mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.

commit e91a1fa7d49482565b5f96a2ca9e51ce6327c4ae
Author: Tom Tromey <>
Date:   Sun Aug 13 10:57:05 2017 -0600

    Use unique_xmalloc_ptr in env_execute_cli_command
    Change env_execute_cli_command to use unique_xmalloc_ptr, removing a
    2017-09-03  Tom Tromey  <>
    	* mi/mi-cmd-env.c (env_execute_cli_command): Use

commit 7ffd83d70f2792a8a538e8599959a6ed7f5b751d
Author: Tom Tromey <>
Date:   Fri Aug 11 14:48:17 2017 -0600

    Use std::string thread.c
    This changes a few spots in thread.c to use std::string, removing some
    2017-09-03  Tom Tromey  <>
    	* thread.c (print_thread_info_1): Use string_printf.
    	(thread_apply_command, thread_apply_all_command): Use

commit 1ccbe9985f607b291bb6fc920beda60225f1bf83
Author: Tom Tromey <>
Date:   Sat Aug 5 16:23:18 2017 -0600

    Return std::string from memory_error_message
    This changes memory_error_message to return a std::string and fixes up
    the callers.  This removes some cleanups.
    2017-09-03  Tom Tromey  <>
    	* valprint.c (val_print_string): Update.
    	* gdbcore.h (memory_error_message): Return std::string.
    	* corefile.c (memory_error_message): Return std::string.
    	(memory_error): Update.
    	* breakpoint.c (insert_bp_location): Update.

commit 0e30d991804de9dfd368653d6a88bf3766a27ffc
Author: H.J. Lu <>
Date:   Sun Sep 3 10:18:24 2017 -0700

    x86-64: Set tlsdesc_plt if GOT_TLS_GDESC_P is true
    We need to set tlsdesc_plt for x86-64 if GOT_TLS_GDESC_P is true when
    allocating dynamic relocations so that _bfd_x86_elf_size_dynamic_sections
    will generate TLSDESC_PLT and TLSDESC_GOT in x86-64 output.
    	PR ld/22071
    	* elfxx-x86.c (elf_x86_allocate_dynrelocs): Set tlsdesc_plt
    	for x86-64 if GOT_TLS_GDESC_P is true.
    	PR ld/22071
    	* testsuite/ld-x86-64/pr22071.d: New file.
    	* testsuite/ld-x86-64/pr22071.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr22071.

commit 1cf58434bf9d90ea0669f97514c63dc1ccf38f7c
Author: Alan Modra <>
Date:   Sun Sep 3 22:04:09 2017 +0930

    PR22067, x86 check_relocs invalid read
    	PR 22067
    	* elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first.

commit 23fdd69e42180578b3e15ba8f053fadde965bfe8
Author: Simon Marchi <>
Date:   Sun Sep 3 10:23:31 2017 +0200

    Make target_waitstatus_to_string return an std::string
    A quite straightforward change.  It does "fix" leaks in record-btrace.c,
    although since this is only used in debug printing code, it has no real
    world impact.
    	* target/waitstatus.h (target_waitstatus_to_string): Change
    	return type to std::string.
    	* target/waitstatus.c (target_waitstatus_to_string): Return
    	* target.h (target_waitstatus_to_string): Remove declaration.
    	* infrun.c (resume, clear_proceed_status_thread,
    	print_target_wait_results, do_target_wait, save_waitstatus,
    	stop_all_threads): Adjust.
    	* record-btrace.c (record_btrace_wait): Adjust.
    	* target-debug.h
    	(target_debug_print_struct_target_waitstatus_p): Adjust.
    	* linux-low.c (linux_wait_1): Adjust.
    	* server.c (queue_stop_reply_callback): Adjust.

commit f04bdfa7b261402bfa9dbdde58b2feb14becd8a3
Author: H.J. Lu <>
Date:   Sat Sep 2 22:14:58 2017 -0700

    Initialize tls_get_addr for x86-64 in one place
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
    	tls_get_addr for x86-64 in one place.

commit d47a80260cd52e800ffea7eaea366c34a31e663c
Author: H.J. Lu <>
Date:   Sat Sep 2 22:10:39 2017 -0700

    Add missing ChangeLog entries

commit 2ac3a7f5ce10dfdbda70a7d16414ba780677fe38
Author: H.J. Lu <>
Date:   Sat Sep 2 22:04:27 2017 -0700

    Add elf64-x86-64.lo together with elfxx-x86.lo for 64-bit BFD
    Since elfxx-x86.lo needs elf64-x86-64.lo with 64-bit BFD now, add
    elf64-x86-64.lo together with elfxx-x86.lo to bfd_backends for 64-bit
    	* (bfd_backends): Add elf64-x86-64.lo together
    	with elfxx-x86.lo for 64-bit BFD.
    	* configure: Regenerated.

commit aed02419fb32cdf3153e81aa3474ef41248f34b0
Author: GDB Administrator <>
Date:   Sun Sep 3 00:00:30 2017 +0000

    Automatic date update in

commit 5e2ac45d561dffec63af4c83a545b46db032c70c
Author: H.J. Lu <>
Date:   Sat Sep 2 07:37:05 2017 -0700

    x86: Add _bfd_x86_elf_size_dynamic_sections
    elf_i386_size_dynamic_sections and elf_x86_64_size_dynamic_sections are
    very similar, except for the followings:
    1. elf_i386_size_dynamic_sections checks GOT_TLS_IE and GOT_TLS_IE_BOTH.
    elf_x86_64_size_dynamic_sections checks only GOT_TLS_IE.  Since
    GOT_TLS_IE_BOTH is never true for x86-64, it is OK to check GOT_TLS_IE
    for both i386 and x86-64.
    2, x86-64 sets tlsdesc_plt, but i386 doesn't.  We set tlsdesc_plt only
    if target_id == X86_64_ELF_DATA.
    3. x86-64 has
    	  if (s != htab->elf.srelplt)
    	    s->reloc_count = 0;
    and i386 has
    	  s->reloc_count = 0;
    i386 did have
    	  if (s != htab->srelplt)
    	    s->reloc_count = 0;
    in the original commit:
    commit 67a4f2b710581acc83afecff55424af285ecbc28
    Author: Alexandre Oliva <>
    Date:   Wed Jan 18 21:07:51 2006 +0000
    But it was removed by
    commit 5ae0bfb60a576344d7f701605346282c1144499e
    Author: Richard Sandiford <>
    Date:   Tue Feb 28 07:16:12 2006 +0000
                * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
                (elf_i386_link_hash_table_create): Initialize it.
                (elf_i386_compute_jump_table_size): Use it instead of
                (allocate_dynrelocs): Likewise.
                (elf_i386_size_dynamic_sections): Likewise.
                (elf_i386_relocate_section): Likewise.
    A later commit:
    commit e1f987424b7b3f5ac63a2a6ae044a202a44b8ff8
    Author: H.J. Lu <>
    Date:   Fri Oct 21 15:13:37 2011 +0000
        Put IRELATIVE relocations after JUMP_SLOT.
        2011-10-21  H.J. Lu  <>
                PR ld/13302
                * elf32-i386.c (elf_i386_link_hash_table): Add next_jump_slot_index
                and next_irelative_index.
                (elf_i386_link_hash_table_create): Initialize next_jump_slot_index
                and next_irelative_index.
                (elf_i386_allocate_dynrelocs): Increment reloc_count instead of
                (elf_i386_size_dynamic_sections): Set next_tls_desc_index and
                next_irelative_index from reloc_count.
                (elf_i386_finish_dynamic_symbol): Put R_386_IRELATIVE after
    changed it back to use reloc_count again. So it is correct to use
    	  if (s != htab->elf.srelplt)
    	    s->reloc_count = 0;
    for both i386 and x86-64 now.
    4. i386 and x86-64 use different DT_XXXs.  They are handled by adding
    them to elf_x86_link_hash_table.
    With these changes, we can share _bfd_x86_elf_size_dynamic_sections in
    elf32-i386.c and elf64-x86-64.c.
    	* elf32-i386.c (elf_i386_convert_load): Renamed to ...
    	(_bfd_i386_elf_convert_load): This.  Remove static.
    	(elf_i386_size_dynamic_sections): Removed.
    	(elf_backend_size_dynamic_sections): Likewise.
    	* elf64-x86-64.c (elf_x86_64_convert_load): Renamed to ...
    	(_bfd_x86_64_elf_convert_load): This.  Remove static.
    	(elf_x86_64_size_dynamic_sections): Removed.
    	(elf_backend_size_dynamic_sections): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): Renamed to ...
    	(elf_x86_allocate_dynrelocs): This.  Make it static.
    	(_bfd_x86_elf_allocate_local_dynrelocs): Renamed to ...
    	(elf_x86_allocate_local_dynreloc): This.  Make it static.
    	(elf_i386_is_reloc_section): New function.
    	(elf_x86_64_is_reloc_section): Likewise.
    	(_bfd_x86_elf_link_hash_table_create): Initialize convert_load,
    	is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
    	Rearrange got_entry_size initialization.
    	(_bfd_x86_elf_size_dynamic_sections): New function.
    	* elfxx-x86.h (elf_x86_link_hash_table): Add convert_load,
    	is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
    	(_bfd_i386_elf_convert_load): New.
    	(_bfd_x86_64_elf_convert_load): Likewise.
    	(_bfd_x86_elf_size_dynamic_sections): Likewise.
    	(elf_backend_size_dynamic_sections): Likewise.
    	(_bfd_x86_elf_allocate_dynrelocs): Removed.
    	(_bfd_x86_elf_allocate_local_dynrelocs): Likewise.

commit 2926eb2c326c625f54db61796fbe034b31f0958f
Author: H.J. Lu <>
Date:   Sat Sep 2 13:05:49 2017 -0700

    x86: Rearrange fields and update comments
    	* elfxx-x86.h (elf_x86_link_hash_table): Rearrange fields and
    	update comments.

commit 92c10f5f61e8342eda76fb6927dcc1c885eda96a
Author: H.J. Lu <>
Date:   Sat Sep 2 11:18:30 2017 -0700

    i386: Update sgotplt_jump_table_size setting
    elf_i386_size_dynamic_sections has
          htab->next_tls_desc_index = htab->elf.srelplt->reloc_count;
          htab->sgotplt_jump_table_size = htab->next_tls_desc_index * 4;
    This patch changes it to
    	= elf_x86_compute_jump_table_size (htab)
    Since elf_x86_compute_jump_table_size is defined as
      ((htab)->elf.srelplt->reloc_count * (htab)->got_entry_size)
    there is no change in output.  It makes elf_i386_size_dynamic_sections
    the same as elf_x86_64_size_dynamic_sections.
    	* elf32-i386.c (elf_i386_size_dynamic_sections): Set
    	sgotplt_jump_table_size with elf_x86_compute_jump_table_size.

commit aa595247af472bb95bcd36c166335c851e3e752d
Author: H.J. Lu <>
Date:   Sat Sep 2 11:10:51 2017 -0700

    x86: Define PLT_CIE_LENGTH and PLT_FDE_* in elfxx-x86.h
    PLT_FDE_LEN_OFFSET are identical in elf32-i386.c and elf64-x86-64.c,
    they can be defined in elfxx-x86.h.
    	* elf32-i386.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
    	* elfxx-x86.h (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
    	* elf64-x86-64.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,

commit b9ce864ca8dcd0e52e2b7c655603b181fa19cfbf
Author: H.J. Lu <>
Date:   Sat Sep 2 07:26:54 2017 -0700

    x86: Add _bfd_x86_elf_allocate_dynrelocs
    Share _bfd_x86_elf_allocate_dynrelocs in elf32-i386.c and elf64-x86-64.c.
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Removed.
    	(elf_i386_allocate_local_dynrelocs): Likewise.
    	(elf_i386_size_dynamic_sections): Replace
    	with _bfd_x86_elf_allocate_dynrelocs and
    	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Removed.
    	(elf_x86_64_allocate_local_dynrelocs): Likewise.
    	(elf_x86_64_size_dynamic_sections): Replace
    	with _bfd_x86_elf_allocate_dynrelocs and
    	* elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): New function.
    	(_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
    	* elfxx-x86.h (_bfd_x86_elf_allocate_dynrelocs): New prototype.
    	(_bfd_x86_elf_allocate_local_dynrelocs): Likewise.

commit fe53b4a4c47df9c0bb2fa7f0de5a241f21cf352c
Author: H.J. Lu <>
Date:   Sat Sep 2 07:23:46 2017 -0700

    x86: Add is_x86_elf
    Share is_x86_elf in elf32-i386.c and elf64-x86-64.c.
    	* elf32-i386.c (is_i386_elf): Removed.
    	(elf_i386_check_relocs): Replace is_i386_elf with is_x86_elf.
    	(elf_i386_size_dynamic_sections): Likewise.
    	(elf_i386_relocate_section): Likewise.
    	* elf64-x86-64.c (is_x86_64_elf): Removed.
    	(elf_x86_64_check_relocs): Replace is_x86_64_elf with
    	(elf_x86_64_size_dynamic_sections): Likewise.
    	(elf_x86_64_relocate_section): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
    	* elfxx-x86.h (elf_x86_link_hash_table): Add target_id.
    	(is_x86_elf): New.

commit 9ff114ca5d2c2753f1ac110f8586d0040c27a7a3
Author: H.J. Lu <>
Date:   Sat Sep 2 07:16:33 2017 -0700

    x86: Add elf_x86_compute_jump_table_size
    Share elf_x86_compute_jump_table_size in elf32-i386.c and
    	* elf32-i386.c (elf_i386_compute_jump_table_size): Removed.
    	(elf_i386_allocate_dynrelocs): Replace
    	elf_i386_compute_jump_table_size with
    	(elf_i386_size_dynamic_sections): Likewise.
    	* elf64-x86-64.c (elf_x86_64_compute_jump_table_size): Removed.
    	(elf_x86_64_allocate_dynrelocs): Replace
    	elf_x86_64_compute_jump_table_size with
    	(elf_x86_64_size_dynamic_sections): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
    	* elfxx-x86.h (elf_x86_link_hash_table): Add got_entry_size.
    	(elf_x86_compute_jump_table_size): New.

commit 503294e755498eb6545ca72b338c5037facab7f7
Author: H.J. Lu <>
Date:   Sat Sep 2 05:55:25 2017 -0700

    x86: Add sizeof_reloc to elf_x86_link_hash_table
    Initialize htab->sizeof_reloc once, instead of computing it every time.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
    	(_bfd_x86_elf_adjust_dynamic_symbol): Use sizeof_reloc.
    	* elfxx-x86.h (elf_x86_link_hash_table): Add sizeof_reloc.

commit 9a742a902f48369144cdbf5333392f128c74ab7b
Author: H.J. Lu <>
Date:   Sat Sep 2 05:05:30 2017 -0700

    i386: Check VxWorks with htab->is_vxworks
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check VxWorks
    	with htab->is_vxworks.
    	(elf_i386_size_dynamic_sections): Likewise.
    	(elf_i386_relocate_section): Likewise.
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	(elf_i386_finish_dynamic_sections): Likewise.

commit 6b9553e2a5d2ba0e43d0bdf382bbc6b5011032a1
Author: H.J. Lu <>
Date:   Sat Sep 2 04:52:00 2017 -0700

    x86: Move GOT_TLS_* in elf32-i386.c to elfxx-x86.h
    elf64-x86-64.c can use GOT_TLS_* definitions in elf32-i386.c with
    	* elf32-i386.c (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
    	* elfxx-x86.h (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
    	* elf64-x86-64.c (GOT_TLS_IE, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,

commit 1fa4ec6ae707402c6b61cde33cfe4bdeafd53f82
Author: Alan Modra <>
Date:   Sat Sep 2 11:08:05 2017 +0930

    LTO rescan archives
    ld ought to be more clever about where it puts LTO recompiled objects.
    Ideally the recompiled objects ought to be ordered to the same place
    their IR objects were, and files extracted from archives on the second
    pass ought to go in the same place as they would if extracted on the
    first pass.  This patch addresses the archive problem.  Without this
    fix, objects extracted from archives might be placed after the crt
    files intended to go at the end of an executable or shared library,
    possibly causing exception handling failures.
    	* ldlang.h (lang_input_statement_type): Expand comments.
    	(LANG_FOR_EACH_INPUT_STATEMENT): Rewrite without casts.
    	* ldlang.c (lang_for_each_input_file): Likewise.
    	(load_symbols): Set usrdata for archives.
    	(find_rescan_insertion): New function.
    	(lang_process): Trim off and reinsert entries added to file chain
    	when rescanning archives for LTO.
    	* ldmain.c (add_archive_element): Set my_archive input_statement
    	next pointer to last element added.

commit ad71ce8de7dba823f5fc478e6d5eba03f1a2e822
Author: H.J. Lu <>
Date:   Fri Sep 1 18:53:26 2017 -0700

    x86-64: Check ELF_COMMON_DEF_P for common symbols
    	PR ld/22064
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
    	ELF_COMMON_DEF_P for common symbols.
    	PR ld/22064
    	* testsuite/ld-x86-64/pr22064a.S: New file.
    	* testsuite/ld-x86-64/pr22064b.c: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/22064 test.

commit 96d01d93c4025cddeff197c98c7947e2b8f427bd
Author: Alan Modra <>
Date:   Sat Sep 2 11:00:02 2017 +0930

    -Og warning fixes
    Found when building with gcc 4.9.4 using -Og.
    	* elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
    	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
    	* emultempl/msp430.em (eval_upper_either_sections): Make base_sec_name
    	a const char*.
    	(eval_lower_either_sections): Likewise.
    	(msp430_elf_after_allocation): Likewise, and don't needlessly concat
    	and free.  Warning fix.

commit 96fbe52eaafef0e7abffc3e4d25fd89ae8464c88
Author: GDB Administrator <>
Date:   Sat Sep 2 00:00:25 2017 +0000

    Automatic date update in

commit 4f501a245f67d0b43f245b09515c87bfeec983ec
Author: H.J. Lu <>
Date:   Fri Sep 1 14:51:58 2017 -0700

    x86: Add _bfd_x86_elf_gc_mark_hook
    Since R_X86_64_GNU_VTINHERIT == R_386_GNU_VTINHERIT and
    R_X86_64_GNU_VTENTRY == R_386_GNU_VTENTRY, we can share
    _bfd_x86_elf_gc_mark_hook in elf32-i386.c and elf64-x86-64.c.
    	* elf32-i386.c (elf_i386_gc_mark_hook): Removed.
    	(elf_backend_gc_mark_hook): Likewise.
    	* elf64-x86-64.c (elf_x86_64_gc_mark_hook): Likewise.
    	(elf_backend_gc_mark_hook): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_gc_mark_hook): New function.
    	* elfxx-x86.h (_bfd_x86_elf_gc_mark_hook): New.
    	(elf_backend_gc_mark_hook): Likewise.

commit eeb2f20a764bee3a6a1edb9872467d044aaad848
Author: H.J. Lu <>
Date:   Fri Sep 1 13:03:40 2017 -0700

    x86: Add _bfd_x86_elf_adjust_dynamic_symbol
    Share _bfd_x86_elf_adjust_dynamic_symbol in elf32-i386.c and
    	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Removed.
    	(elf_backend_adjust_dynamic_symbol): Likewise.
    	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
    	(elf_backend_adjust_dynamic_symbol): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_adjust_dynamic_symbol): New function.
    	(_bfd_x86_elf_link_setup_gnu_properties): Copy is_vxworks.
    	* elfxx-x86.h (elf_x86_link_hash_table): Add is_vxworks.
    	(_bfd_x86_elf_adjust_dynamic_symbol): New.
    	(elf_backend_adjust_dynamic_symbol): Likewise.

commit 18da07cd128d8d33bb6d01b2c59f12bd7f77324a
Author: H.J. Lu <>
Date:   Fri Sep 1 13:01:23 2017 -0700

    Correct ChangeLog entry

commit c6295c2290d4dd89e588e26f6772c023ab154858
Author: H.J. Lu <>
Date:   Fri Sep 1 12:39:38 2017 -0700

    elfxx-x86.h: Fix a typo in comments
    	* elfxx-x86.h (elf_x86_plt_layout_table): Fix a typo in

commit 39946cc227a1bfbae6d6a2a968f4935d9f8b92a7
Author: H.J. Lu <>
Date:   Fri Sep 1 12:09:03 2017 -0700

    x86: Add _bfd_x86_elf_mkobject
    Share _bfd_x86_elf_mkobject in elf32-i386.c and elf64-x86-64.c.
    	* elf32-i386.c (elf_i386_mkobject): Removed.
    	(bfd_elf32_mkobject): Likewise.
    	* elf64-x86-64.c (elf_x86_64_mkobject): Likewise.
    	(bfd_elf64_mkobject): Likewise.
    	(bfd_elf32_mkobject): Likewise.
    	* elfxx-x86.c (_bfd_x86_elf_mkobject): New function.
    	(_bfd_x86_elf_mkobject): New.
    	(bfd_elf64_mkobject): Likewise.
    	(bfd_elf32_mkobject): Likewise.

commit a6798baba212170e427d2f9bd99af12f1078b162
Author: H.J. Lu <>
Date:   Fri Sep 1 08:00:36 2017 -0700

    x86: Add _bfd_x86_elf_link_setup_gnu_properties
    Extract the common parts of elf_i386_link_setup_gnu_properties and
    elf_x86_64_link_setup_gnu_properties into a new function.
    For x86-64, since PIC PLT layouts are the same as non-PIC PLT layouts,
    initialize pic_plt0_entry and pic_plt_entry fields in PLT layouts with
    the non-PIC PLT entries.
    	* elf32-i386.c (elf_i386_link_setup_gnu_properties): Updated.
    	Call _bfd_x86_elf_link_setup_gnu_properties.
    	* elf64-x86-64.c (elf_x86_lazy_plt_layout): Initialize
    	pic_plt0_entry and pic_plt_entry fields with the non-PIC PLT
    	(elf_x86_64_non_lazy_plt): Likewise.
    	(elf_x86_64_lazy_bnd_plt): Likewise.
    	(elf_x86_64_non_lazy_bnd_plt): Likewise.
    	(elf_x86_64_lazy_ibt_plt): Likewise.
    	(elf_x32_lazy_ibt_plt): Likewise.
    	(elf_x86_64_non_lazy_ibt_plt): Likewise.
    	(elf_x32_non_lazy_ibt_plt): Likewise.
    	(elf_x86_64_nacl_plt): Likewise.
    	(elf_x86_64_link_setup_gnu_properties): Updated.  Call
    	* elfxx-x86.c: Include elf-vxworks.h".
    	(_bfd_x86_elf_link_setup_gnu_properties): New function.
    	* elfxx-x86.h (elf_x86_lazy_plt_layout): Remove "for i386 only"
    	comments for pic_plt0_entry and pic_plt_entry.
    	(elf_x86_non_lazy_plt_layout): Likewise.
    	(elf_x86_plt_layout_table): New.
    	(_bfd_x86_elf_link_setup_gnu_properties): Likewise.

commit 376dc015f275575e0aa7be9c46476db5506ff836
Author: H.J. Lu <>
Date:   Fri Sep 1 06:14:39 2017 -0700

    Import latest fixes to libiberty from GCC
    Fix warning for simple-object-elf.c.
    2017-09-01  Martin Liska  <>
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
    	Remove duplicite declaration.

commit e10c9c620c3335731bb0052987affdc40942fd71
Author: H.J. Lu <>
Date:   Fri Sep 1 06:11:54 2017 -0700

    x86: Correct unwind information for the second PLT
    For i386, generate unwind information for the second PLT.  For x32,
    correct alignment of .eh_frame section for the second PLT.
    	PR ld/22061
    	* elf32-i386.c (elf_i386_link_setup_gnu_properties): Create
    	.eh_frame section for the second PLT.
    	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Correct
    	alignment of .eh_frame section for the second PLT.
    	PR ld/22061
    	* testsuite/ld-i386/ibt-plt-1.d: Updated.
    	* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-2b.d: Pass --hash-style=sysv to ld
    	and dump unwind information.
    	* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3b.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.

commit 1c5c938ad860811644774ecea66e044110967cf2
Author: Tamar Christina <>
Date:   Fri Sep 1 11:43:51 2017 +0100

    Enable support for the AArch64 dot-prod instruction in the Cortex A55 and A75 cpus.
    	* config/tc-aarch64.c (aarch64_cpus): Enable DOTPROD for
    	cortex-a55 and cortx-a75.

commit 7e8b60085eb3e6f2c41bc0c00c0d759fa7f72780
Author: Nick Clifton <>
Date:   Fri Sep 1 11:20:51 2017 +0100

    Prevent an address violation parsing corrupt DWARF information by fixing the test for an overlong debug line info structure.
    	PR 22059
    	* dwarf2.c (decode_line_info): Fix test for an overlong line info

commit f8ad2513754f5a53fecb407cf64fcb586836b60c
Author: Nick Clifton <>
Date:   Fri Sep 1 10:52:53 2017 +0100

    Import latest fixes to libiberty from GCC.
    	PR lto/81968
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
    	Keep names of removed global symbols.
    	* simple-object-xcoff.c (simple_object_xcoff_find_sections):
    	Improve .go_export csect handling.  Don't make assumptions
    	on containing section or number of auxiliary entries.
    	PR lto/81968
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
    	Adjust field with for sh_type write, set SHF_EXCLUDE only for
    	removed sections.
    	PR lto/81925
    	* simple-object-elf.c (simple_object_elf_write_shdr): Adjust
    	type of sh_addralign and sh_entsize and properly write
    	sh_entsize as Elf_Addr.
    	(simple_object_elf_write_to_file): Read sh_entsize as Elf_Addr.
    	* simple-object-common.h (struct simple_object_functions): Add
    	copy_lto_debug_sections hook.
    	* simple-object.c: Include fcntl.h.
    	(handle_lto_debug_sections): New helper function.
    	(simple_object_copy_lto_debug_sections): New function copying
    	early LTO debug sections to regular debug sections in a new file.
    	(simple_object_start_write): Handle NULL segment_name.
    	* simple-object-coff.c (simple_object_coff_functions): Adjust
    	for not implemented copy_lto_debug_sections hook.
    	* simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
    	* simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
    	* simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
    	SHT_GROUP): Add various sectopn header types.
    	(SHF_EXCLUDE): Add flag.
    	(Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
    	(ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
    	(STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
    	(STV_DEFAULT): Add symbol visibility.
    	(SHN_COMMON): Add special section index name.
    	(struct simple_object_elf_write): New.
    	(simple_object_elf_start_write): Adjust for new private data.
    	(simple_object_elf_write_shdr): Pass in values for all fields
    	we write.
    	(simple_object_elf_write_to_file): Adjust.  Copy from recorded
    	section headers if requested.
    	(simple_object_elf_release_write): Release private data.
    	(simple_object_elf_copy_lto_debug_sections): Copy and rename sections
    	as denoted by PFN and all their dependences, symbols and relocations
    	to the empty destination file.
    	(simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
    	* simple-object-xcoff.c (simple_object_xcoff_find_sections):
    	Search symbol table for .go_export symbol and apply pfn if found.

commit 2a143b99fc4a5094a9cf128f3184d8e6818c8229
Author: Nick Clifton <>
Date:   Fri Sep 1 09:57:44 2017 +0100

    Fix buffer overrun when parsing an ELF attribute string that is not NUL terminated.
    	PR 22058
    	* elf-attrs.c (_bfd_elf_parse_attributes): Ensure that the
    	attribute buffer is NUL terminated.

commit 5c811d30d12b6f7c6c6f4ce6d03408d987154548
Author: Jan Kratochvil <>
Date:   Fri Sep 1 06:13:40 2017 +0200

    PR gdb/22046: Fix T-stopped detach regression on old Linux kernels
    On <=RHEL6 hosts Fedora/RHEL GDB started to 'kill -STOP' all processes it
    detached.  Even those not originally T-stopped.  This is a Fedora-specific
    patch which is based on upstream GDB's PROC_STATE_STOPPED state.
    I believe (I did not verify) this patch did regress it:
    commit d617208bb06bd461b52ce041d89f7127e3044762
    Author: Pedro Alves <>
    Date:   Mon Jul 25 12:42:17 2016 +0100
        linux-procfs: Introduce enum proc_state
    As originally there was strstr() but now there is strcmp() and so the missing
    trailing '\n' no longer matches.
    The Bug was found by Michal Kolar.
    $ gdb -p $PID
    (gdb) quit
    $ ...
    Actual results:
    RHEL6.9 x86_64 # scl enable devtoolset-7 bash
    RHEL6.9 x86_64 # which gdb
    RHEL6.9 x86_64 # ./
    24737 pts/0    S+     0:00 /bin/sleep 4
    24737 pts/0    T+     0:00 /bin/sleep 4
    RHEL6.9 x86_64 #
    Expected results:
    RHEL6.9 x86_64 # which gdb
    RHEL6.9 x86_64 # ./
    24708 pts/0    S+     0:00 /bin/sleep 4
    24708 pts/0    S+     0:00 /bin/sleep 4
    ./ line 20: kill: (24708) - No such process
    RHEL6.9 x86_64 #
    2017-09-01  Jan Kratochvil  <>
    	PR gdb/22046
    	* nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED

commit 1f0c13579f6833edc85b5399486edf95b4b9630e
Author: GDB Administrator <>
Date:   Fri Sep 1 00:00:25 2017 +0000

    Automatic date update in

commit 0a2dde4a321d2f7bd2ded9a558b9ae92892de0e2
Author: Sergio Durigan Junior <>
Date:   Thu Jun 29 15:06:07 2017 -0400

    Implement the ability to set/unset environment variables to GDBserver when starting the inferior
    This patch implements the ability to set/unset environment variables
    on the remote target, mimicking what GDB already offers to the user.
    There are two features present here: user-set and user-unset
    environment variables.
    User-set environment variables are only the variables that are
    explicitly set by the user, using the 'set environment' command.  This
    means that variables that were already present in the environment when
    starting GDB/GDBserver are not transmitted/considered by this feature.
    User-unset environment variables are variables that are explicitly
    unset by the user, using the 'unset environment' command.
    The idea behind this patch is to store user-set and user-unset
    environment variables in two separate sets, both part of gdb_environ.
    Then, when extended_remote_create_inferior is preparing to start the
    inferior, it will iterate over the two sets and set/unset variables
    accordingly.  Three new packets are introduced:
    - QEnvironmentHexEncoded, which is used to set environment variables,
      and contains an hex-encoded string in the format "VAR=VALUE" (VALUE
      can be empty if the user set a variable with a null value, by doing
      'set environment VAR=').
    - QEnvironmentUnset, which is used to unset environment variables, and
      contains an hex-encoded string in the format "VAR".
    - QEnvironmentReset, which is always the first packet to be
      transmitted, and is used to reset the environment, i.e., discard any
      changes made by the user on previous runs.
    The QEnvironmentHexEncoded packet is inspired on LLDB's extensions to
    the RSP.  Details about it can be seen here:
    I decided not to implement the QEnvironment packet because it is
    considered deprecated by LLDB.  This packet, on LLDB, serves the same
    purpose of QEnvironmentHexEncoded, but sends the information using a
    plain text, non-hex-encoded string.
    The other two packets are new.
    This patch also includes updates to the documentation, testsuite, and
    unit tests, without introducing regressions.
    2017-08-31  Sergio Durigan Junior  <>
    	* NEWS (Changes since GDB 8.0): Add entry mentioning new support
    	for setting/unsetting environment variables on the remote target.
    	(New remote packets): Add entries for QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset.
    	* common/environ.c (gdb_environ::operator=): Extend method to
    	handle m_user_set_env_list and m_user_unset_env_list.
    	(gdb_environ::clear): Likewise.
    	(match_var_in_string): Change type of first parameter from 'char
    	*' to 'const char *'.
    	(gdb_environ::set): Extend method to handle
    	m_user_set_env_list and m_user_unset_env_list.
    	(gdb_environ::unset): Likewise.
    	(gdb_environ::clear_user_set_env): New method.
    	(gdb_environ::user_set_envp): Likewise.
    	(gdb_environ::user_unset_envp): Likewise.
    	* common/environ.h (gdb_environ): Handle m_user_set_env_list and
    	m_user_unset_env_list on move constructor/assignment.
    	(unset): Add new default parameter 'update_unset_list = true'.
    	(clear_user_set_env): New method.
    	(user_set_envp): Likewise.
    	(user_unset_envp): Likewise.
    	(m_user_set_env_list): New std::set.
    	(m_user_unset_env_list): Likewise.
    	* common/rsp-low.c (hex2str): New function.
    	(bin2hex): New overload for bin2hex function.
    	* common/rsp-low.c (hex2str): New prototype.
    	(str2hex): New overload prototype.
    	* remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset.
    	(remote_protocol_features): Add QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset packets.
    	(send_environment_packet): New function.
    	(extended_remote_environment_support): Likewise.
    	(extended_remote_create_inferior): Call
    	(_initialize_remote): Add QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset packet configs.
    	* unittests/environ-selftests.c (gdb_selftest_env_var):
    	New variable.
    	(test_vector_initialization): New function.
    	(test_init_from_host_environ): Likewise.
    	(test_reinit_from_host_environ): Likewise.
    	(test_unset_set_empty_vector): Likewise.
    	(test_vector_clear): Likewise.
    	(test_std_move): Likewise.
    	(test_self_move): Likewise.
    	(test_set_unset_reset): Likewise.
    	(run_tests): Rewrite in terms of the functions above.
    2017-08-31  Sergio Durigan Junior  <>
    	* server.c (handle_general_set): Handle QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset packets.
    	(handle_query): Inform remote that QEnvironmentHexEncoded,
    	QEnvironmentUnset and QEnvironmentReset are supported.
    2017-08-31  Sergio Durigan Junior  <>
    	* gdb.texinfo (set environment): Add @anchor.  Explain that
    	environment variables set by the user are sent to GDBserver.
    	(unset environment): Likewise, but for unsetting variables.
    	(Connecting) <Remote Packet>: Add "environment-hex-encoded",
    	"QEnvironmentHexEncoded", "environment-unset", "QEnvironmentUnset",
    	"environment-reset" and "QEnvironmentReset" to the table.
    	(Remote Protocol) <QEnvironmentHexEncoded, QEnvironmentUnset,
    	QEnvironmentReset>: New item, explaining the packet.
    2017-08-31  Sergio Durigan Junior  <>
    	* gdb.base/share-env-with-gdbserver.c: New file.
    	* gdb.base/share-env-with-gdbserver.exp: Likewise.

commit e4f2723003859dc6b33ca0dadbc4a7659ebf1643
Author: Nick Clifton <>
Date:   Thu Aug 31 17:03:23 2017 +0100

    Fix buffer read overrun by ensuring that DWARF sections containing strings always end in a NUL byte.
    	PR 22047
    	* dwarf2.c (read_section): If necessary add a terminating NUL byte
    	to dwarf string sections.

commit b55f3386e45d8ba4af1a70f0684bc0089060d600
Author: Nick Clifton <>
Date:   Thu Aug 31 14:33:56 2017 +0100

    Add updated French translations for opcodes and gprof

commit d7de64088c7ce0d642c73feb66f408c601cffb0d
Author: H.J. Lu <>
Date:   Thu Aug 31 03:53:44 2017 -0700

    Add a test for PR ld/22048
    	PR ld/22048
    	* testsuite/ld-x86-64/pr22048.d: New file.
    	* testsuite/ld-x86-64/pr22048a.s: Likewise.
    	* testsuite/ld-x86-64/pr22048b.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr22048.

commit 686335cd3c7d4eef6ce4e3e54ef0e75929b5e4fb
Author: Alan Modra <>
Date:   Thu Aug 31 20:07:13 2017 +0930

    	* po/ Regenerate.

commit 9866ffe25a0fe73f5153f2720650baf0dd9cc828
Author: Alan Modra <>
Date:   Thu Aug 31 19:39:14 2017 +0930

    Remove .eh_frame zero terminators
    The machinery to do this was there, but not enabled if the terminator
    was the only thing in the section.
    	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Don't exit early
    	for a section containing just a terminator.  Allow multiple
    	terminators at end of section.
    	* elflink.c (bfd_elf_discard_info): Iterate over .eh_frame
    	sections when not adding alignment.  Assert on terminator in
    	the middle of FDEs.
    	* testsuite/ld-elf/eh3.d: Update.
    	* testsuite/ld-elf/eh4.d: Update.

commit 654670a4f0928e3eddc6395d6804deb2e61a0614
Author: Weimin Pan <>
Date:   Fri Aug 25 19:33:25 2017 -0500

    Unbreak gdb build on 32-bit host with ADI support
    The problem of failing to build with arm-linux-gnueabihf-g++-4.8 was
    that type CORE_ADDR is of "unsigned long" on a 64-bit machine so it's
    OK to use %lx but is of type "unsigned long long" on a 32 bit system.
    Fixed the problem in three places - (1) use a temp variable of type
    CORE_ADDR as argument 3 when calling target_auxv_search() then assign
    its value to "blksize" and "nbits" in 2 calls; (2) redo
    adi_normalize_address() using masks and xor operators to calculate
    normalized address; (3) call paddress() to print CORE_ADDR in either
    printf_filtered() or error(). Thank you, Pedro, for all your
    2017-08-31  Weimin Pan  <>
    	* sparc64-tdep.c (adi_stat_t): Fix comment formatting.
    	(adi_available): Use a temp variable of type CORE_ADDR as argument
    	3 when calling target_auxv_search.
    	(adi_normalize_address): Use masks and xor operators to calculate
    	normalized address.
    	(adi_read_versions, adi_write_versions, adi_print_versions)
    	(do_examine, do_assign): Use paddress.

commit af471f828cc74d65b50a7531ba2c69522266cfe9
Author: Alan Modra <>
Date:   Thu Aug 31 12:48:37 2017 +0930

    PR22048, Incorrect .eh_frame section in
    	PR 21441
    	PR 22048
    	* elflink.c (bfd_elf_discard_info): Don't pad embedded zero

commit 3321e42bf2b5819b76ca36e8964fe7cf9a8ae9a2
Author: H.J. Lu <>
Date:   Wed Aug 30 19:55:45 2017 -0700

    Add elf64.lo together with elfxx-x86.lo for 64-bit BFD
    Since elfxx-x86.lo needs elf64.lo with 64-bit BFD, add elf64.lo together
    with elfxx-x86.lo to bfd_backends for 64-bit BFD.
    	* (bfd_backends): Add elf64.lo together with
    	elfxx-x86.lo for 64-bit BFD.
    	* configure: Regenerated.

commit 59e8523bf8f92db8371d3a10bd7e4d7fe03d417d
Author: James Bowman <>
Date:   Wed Aug 30 19:51:49 2017 -0700

    FT32: improve disassembly readability
    For opcode fields that are not addresses, display as
    integers instead of using print_address_func.
    2017-08-31  James Bowman  <>
    	* ft32-dis.c (print_insn_ft32): Correct display of non-address

commit ef32532f22be7e98c25480449fbc7a80d1030e1e
Author: James Bowman <>
Date:   Wed Aug 30 19:44:58 2017 -0700

    FT32: Permit R_FT32_18 overflow
    The howto for R_FT32_18 was using complain_overflow_signed. But some
    valid address calculations exceed the range of this reloc.  Changing it
    to complain_overflow_dont allows them.
    	* elf32-ft32.c (ft32_elf_howto_table): Use
    	complain_overflow_dont for R_FT32_18.

commit e234de6be5cc96286e0efb90e8d9fce51239e901
Author: Alan Modra <>
Date:   Thu Aug 31 08:46:47 2017 +0930

    bfd_close_all_done calling _close_and_cleanup
    elf64_vms_close_and_cleanup calls bfd_get_size, which calls
    iovec->bstat.  cache_bstat ends up adding the bfd to the cache lru
    list, negating the bfd_cache_close call in bfd_close_all_done.  So
    there is a dangling pointer into the freed and then reused bfd.  Thus,
    bfd_cache_close must be called after _close_and_cleanup, or better,
    via iovec->bclose.
    	PR binutils/22032
    	* opncls.c (bfd_close_all_done): Don't call bfd_cache_close
    	before _close_and_cleanup.  Call iovec->bclose after.
    	(bfd_close): Remove code common to, and call, bfd_close_all_done.

commit e69f32654ac724c46c0f4f645c8a49189c7b43e4
Author: GDB Administrator <>
Date:   Thu Aug 31 00:00:22 2017 +0000

    Automatic date update in

commit 5dda32094f668a3e9738ea9b3aaea530d2bba7cb
Author: Maciej W. Rozycki <>
Date:   Wed Aug 30 22:55:14 2017 +0100

    LD/testsuite: Also discard `.MIPS.options' in orphan tests
    Complement commit 5b5f4e6f8cd2 ("ld: Early detection of orphans we know
    will be discarded") and add `.MIPS.options' to the list of sections
    discarded with orphan tests, removing failures like:
    ./ld-new: error: unplaced orphan section `.MIPS.options' from `tmpdir/orphan-11.o'.
    FAIL: ld-elf/orphan-11
    ./ld-new: error: unplaced orphan section `.MIPS.options' from `tmpdir/orphan-12.o'.
    FAIL: ld-elf/orphan-12
    from n64 MIPS testing.
    	* testsuite/ld-elf/orphan-11.ld: Also discard `.MIPS.options'

commit f493882dab762fb49ecb8685c18a85edfab5e6d3
Author: H.J. Lu <>
Date:   Wed Aug 30 12:27:17 2017 -0700

    x86: Add _bfd_x86_elf_get_synthetic_symtab
    Move the common codes in elf_i386_get_synthetic_symtab and
    elf_x86_64_get_synthetic_symtab to _bfd_x86_elf_get_synthetic_symtab.
    	* elf32-i386.c (elf_i386_plt_type): Removed.
    	(elf_i386_plt): Likewise.
    	(elf_i386_get_synthetic_symtab): Updated.   Call
    	* elf64-x86-64.c (elf_x86_64_plt_type): Removed.
    	(elf_x86_64_plt): Likewise.
    	(elf_x86_64_get_synthetic_symtab): Updated.  Call
    	* elfxx-x86.c (elf_i386_get_plt_got_vma): New function.
    	(elf_x86_64_get_plt_got_vma): Likewise.
    	(elf_i386_valid_plt_reloc_p): Likewise.
    	(elf_x86_64_valid_plt_reloc_p): Likewise.
    	(_bfd_x86_elf_get_synthetic_symtab): Likewise.
    	* elfxx-x86.h (elf_x86_plt_type): New.
    	(elf_x86_plt): Likewise.
    	(_bfd_x86_elf_get_synthetic_symtab): Likewise.

commit 5b86dbf4549af98c4428da4764182e03f22c58ab
Author: H.J. Lu <>
Date:   Wed Aug 30 11:13:32 2017 -0700

    x86: Check target_id instead of elf_machine_code
    Since both elf32-i386.c and elf64-x86-64.c support targets with
    different ELF_MACHINE_CODEs, _bfd_x86_elf_link_hash_table_create
    should check target_id instead of elf_machine_code.
    	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
    	target_id instead of elf_machine_code.

commit 765e526c75506a7d9644bc7c137ac1923fdb1369
Author: H.J. Lu <>
Date:   Wed Aug 30 09:10:08 2017 -0700

    x86: Add _bfd_x86_elf_link_hash_table_create
    Share _bfd_x86_elf_link_hash_table_create in elf32-i386.c and
    elf64-x86-64.c by:
    1. Replace elf_i386_lazy_plt_layout, elf_i386_non_lazy_plt_layout,
    elf_i386_plt_layout, elf_x86_64_lazy_plt_layout,
    elf_x86_64_non_lazy_plt_layout and elf_x86_64_plt_layout with
    elf_x86_lazy_plt_layout, elf_x86_non_lazy_plt_layout and
    2. Move plt, lazy_plt, non_lazy_plt, srelplt2 and next_tls_desc_index
    from elf_i386_link_hash_table to elf_x86_link_hash_table.
    3. Remove elf_i386_link_hash_table and elf_x86_64_link_hash_table.
    	* elf32-i386.c (ELF_DYNAMIC_INTERPRETER): Removed.
    	(elf_i386_lazy_plt_layout): Likewise.
    	(elf_i386_non_lazy_plt_layout): Likewise.
    	(elf_i386_plt_layout): Likewise.
    	(elf_i386_link_hash_table): Likewise.
    	(elf_i386_next_tls_desc_index): Likewise.
    	(elf_i386_srelplt2): Likewise.
    	(elf_i386_plt): Likewise.
    	(elf_i386_lazy_plt): Likewise.
    	(elf_i386_non_lazy_plt): Likewise.
    	(elf_i386_link_hash_table_create): Likewise.
    	(bfd_elf32_bfd_link_hash_table_create): Likewise.
    	(elf_i386_lazy_plt): Updated.
    	(elf_i386_non_lazy_plt): Likewise.
    	(elf_i386_lazy_ibt_plt): Likewise.
    	(elf_i386_non_lazy_ibt_plt): Likewise.
    	(elf_i386_allocate_dynrelocs): Likewise.
    	(elf_i386_size_dynamic_sections): Likewise.
    	(elf_i386_relocate_section): Likewise.
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	(elf_i386_finish_dynamic_sections): Likewise.
    	(elf_i386_get_synthetic_symtab): Likewise.
    	(elf_i386_link_setup_gnu_properties): Likewise.
    	(elf_i386_nacl_plt): Likewise.
    	* elf64-x86-64.c (ABI_64_P): Removed.
    	(elf_x86_64_lazy_plt_layout): Likewise.
    	(elf_x86_64_non_lazy_plt_layout): Likewise.
    	(elf_x86_64_plt_layout): Likewise.
    	(elf_x86_64_link_hash_table): Likewise.
    	(elf_x86_64_plt): Likewise.
    	(elf_x86_64_lazy_plt): Likewise.
    	(elf_x86_64_non_lazy_plt): Likewise.
    	(elf_x86_64_link_hash_table_create): Likewise.
    	(bfd_elf64_bfd_link_hash_table_create): Likewise.
    	(bfd_elf32_bfd_link_hash_table_create): Likewise.
    	(elf_x86_64_lazy_plt): Updated.
    	(elf_x86_64_non_lazy_plt): Likewise.
    	(elf_x86_64_lazy_bnd_plt): Likewise.
    	(elf_x86_64_non_lazy_bnd_plt): Likewise.
    	(elf_x86_64_lazy_ibt_plt): Likewise.
    	(elf_x32_lazy_ibt_plt): Likewise.
    	(elf_x86_64_non_lazy_ibt_plt): Likewise.
    	(elf_x32_non_lazy_ibt_plt): Likewise.
    	(elf_x86_64_allocate_dynrelocs): Likewise.
    	(elf_x86_64_size_dynamic_sections): Likewise.
    	(elf_x86_64_relocate_section): Likewise.
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    	(elf_x86_64_finish_dynamic_sections): Likewise.
    	(elf_x86_64_get_synthetic_symtab): Likewise.
    	(elf_x86_64_link_setup_gnu_properties): Likewise.
    	(elf_x86_64_nacl_plt): Likewise.
    	* elfxx-x86.c: Include "objalloc.h", "elf/i386.h" and
    	(_bfd_x86_elf_link_hash_table_create): Likewise.
    	(_bfd_x86_elf_link_hash_table_free): Renamed to ...
    	(elf_x86_link_hash_table_free): This.  Make it static.
    	* elfxx-x86.h: Don't include "objalloc.h".
    	(ABI_64_P): New.
    	(elf_x86_lazy_plt_layout): Likewise.
    	(elf_x86_non_lazy_plt_layout): Likewise.
    	(elf_x86_plt_layout): Likewise.
    	(_bfd_x86_elf_link_hash_table_create): Likewise.
    	(bfd_elf64_bfd_link_hash_table_create): Likewise.
    	(bfd_elf32_bfd_link_hash_table_create): Likewise.
    	(elf_x86_link_hash_table): Add plt, lazy_plt, non_lazy_plt,
    	srelplt2 and next_tls_desc_index.
    	(_bfd_x86_elf_link_hash_table_free): Removed.

commit 70e65ca8e5d1fc984d58f6137c290e807fe772a5
Author: Maciej W. Rozycki <>
Date:   Wed Aug 30 16:03:31 2017 +0100

    MIPS/BFD: Correct microMIPS cross-mode BAL to JALX relaxation
    Fix a bug in commit a6ebf6169a1b ("MIPS: Convert cross-mode BAL to
    JALX") and in BFD linker relaxation correct the microMIPS interpretation
    of the branch offset, which is supposed to be shifted by 1 bit, rather
    than 2 as in the regular MIPS case.
    	* elfxx-mips.c (mips_elf_perform_relocation): Correct microMIPS
    	branch offset interpretation.
    	* testsuite/gas/mips/branch-addend-micromips.d: New test.
    	* testsuite/gas/mips/branch-addend-micromips-n32.d: New test.
    	* testsuite/gas/mips/branch-addend-micromips-n64.d: New test.
    	* testsuite/gas/mips/branch-addend-micromips.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    	* testsuite/ld-mips-elf/bal-jalx-addend-micromips.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-addend-micromips-n32.d: New
    	* testsuite/ld-mips-elf/bal-jalx-addend-micromips-n64.d: New
    	* testsuite/ld-mips-elf/bal-jalx-local-micromips.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-local-micromips-n32.d: New
    	* testsuite/ld-mips-elf/bal-jalx-local-micromips-n64.d: New
    	* testsuite/ld-mips-elf/bal-jalx-pic-micromips.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips.d: New
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips-n32.d: New
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips-n64.d: New
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 37b2d327512baf2f39020e44958fd1f11db46a91
Author: Maciej W. Rozycki <>
Date:   Wed Aug 30 15:54:19 2017 +0100

    MIPS/GAS: Also respect `-mignore-branch-isa' with MIPS16 code
    Fix a bug in commit 8b10b0b3e100 ("MIPS: Add options to control branch
    ISA checks") and with the `-mignore-branch-isa' command-line option also
    lift a GAS check for invalid MIPS16 branches between ISA modes, which is
    made separately from regular MIPS and microMIPS checks.
    	* config/tc-mips.c (md_convert_frag): Respect
    	* testsuite/gas/mips/branch-local-5.d: New test.
    	* testsuite/gas/mips/branch-local-n32-5.d: New test.
    	* testsuite/gas/mips/branch-local-n64-5.d: New test.
    	* testsuite/gas/mips/branch-local-6.d: New test.
    	* testsuite/gas/mips/branch-local-n32-6.d: New test.
    	* testsuite/gas/mips/branch-local-n64-6.d: New test.
    	* testsuite/gas/mips/branch-local-7.d: New test.
    	* testsuite/gas/mips/branch-local-n32-7.d: New test.
    	* testsuite/gas/mips/branch-local-n64-7.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-5.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n32-5.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n64-5.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-6.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n32-6.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n64-6.d: New test.
    	* testsuite/gas/mips/branch-local-5.l: New stderr output.
    	* testsuite/gas/mips/branch-local-6.l: New stderr output.
    	* testsuite/gas/mips/branch-local-5.s: New test source.
    	* testsuite/gas/mips/branch-local-6.s: New test source.
    	* testsuite/gas/mips/branch-local-7.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 7c0ed39626e3193adb70aeb98d3633787579d6ec
Author: H.J. Lu <>
Date:   Wed Aug 30 06:17:28 2017 -0700

    Call _close_and_cleanup in bfd_close_all_done
    	PR binutils/22032
    	* opncls.c (bfd_close_all_done): Call _close_and_cleanup.