public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] tromey/python: Port/fix missing: current_interp_command_loop()
@ 2016-06-30 21:26 jkratoch
0 siblings, 0 replies; only message in thread
From: jkratoch @ 2016-06-30 21:26 UTC (permalink / raw)
To: archer-commits
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2533162 bytes --]
The branch, tromey/python has been updated
via eb8923695844762b85211cc23a36c6ffa7b875d6 (commit)
via c1dcd084ab320d4e271e697e2d058cccaae1b5ed (commit)
via 8d6f5ac3ae69a94a50d19244c4478d8d42098cd2 (commit)
via 838441e4a2a041e3a5dd26e886c67be22529502d (commit)
via 99e7978bd25ab7b39ce2596b19a437eed7d7fd69 (commit)
via 5e35670ba76690524dc69cc7a2bc8d7df8eb4249 (commit)
via 93a24ba79b59ec343611c16cd0024a116a705274 (commit)
via 038d48680941f014349256aeb7bab14b3f01d58e (commit)
via 994e9c834d916af85e0fe0e8c3e18259aa4be389 (commit)
via 9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61 (commit)
via 534dbe460e692a9befd9aca0eb0812db47459a30 (commit)
via c7be441465094e5ffce2f4205ea887676965d0be (commit)
via 6e2565079204ae2d2c0a5fa15fcd233e9c614f0b (commit)
via 8db8e6948a12faaba4aa5445770b1064ad32e39d (commit)
via 068e05badb9c3802961d67bc90e39c12798e8488 (commit)
via 1a8da38cff4fdede3a1865d1b4ff9cb5ad194b3e (commit)
via e56534680d0df0e2ca313086b1758480c9374615 (commit)
via 4e3e1fdf327b225b28b754d96a4d592fb3a23df0 (commit)
via 803b47e5d4dc86b953aba0bc44865de287726dbe (commit)
via 9d78f827e0da9ab6fda2d6ef2d59cebb805b411f (commit)
via b287eca391bbb10e709fb8ba9a56be166ab2ff1d (commit)
via ad961eab9a010e79d17a4ea7e6bb977fe6dd86c2 (commit)
via 9bf74fb27dc6e2a9679403d66fe919215e3c2a45 (commit)
via 28244707d9e4f35cab1f9069cee1d44b38be095f (commit)
via 042c94de565ae62640c064f1cb33d28484aeb9d3 (commit)
via a405c2281ad29b5c7f9f2a4d58b7cfef2b74ba99 (commit)
via d691934d08a4132506a19ac8d7565f1a0461a80a (commit)
via 6844c0ccea23157d9f965524d02f656a9f89f48e (commit)
via c8ec4434b0657d908609f996544c8c0ac65b28d7 (commit)
via 6d44f09a7645d7a2cb2f712c4d2f1f3512e848f5 (commit)
via 2fafa20b344ef572d2e1b5002ba9a39e10d1c44c (commit)
via bebf013204dd89601ecdaaeb1c5fcb3e8ac83b7d (commit)
via 1275dd72471e6059d82685dd8a4d96e30e0f3afc (commit)
via 38ac44ac99b59a97e72502716e056ad60a433501 (commit)
via 59ae9ffe142b9e39b728fa43282025e239a7614f (commit)
via 5627d875bc059b5c008b408470dcb869b0a8ebd6 (commit)
via 3a4f096e5ff41e2a3b832cf6c815ad1f28437c63 (commit)
via 8032ac03390ca5bc33f8efe29447d0a4bc492950 (commit)
via f224a3c59068fc8060c261d329f54bdc7374d63a (commit)
via 9abdce70ac7a3ee8f92285c314fa7728d3c1aa43 (commit)
via 2ac09a5bbbff78d363ede2f038c31a9b1cb0887b (commit)
via bb95c51a232dffb46067c402ac62f1f3303b6bbd (commit)
via f4ab0e2d1d4e14cfdddf46ac846c48ae55f4e14a (commit)
via 1b857aeed3f5cfddc4b5b1f5836ccd341aeb9f5d (commit)
via 50c901ede915776db734ea77225ebd3558fab2f6 (commit)
via eb9bb5b4ece9208257d85bc22a0f32ddf33f6a46 (commit)
via fca2a38fdb391f810e309a12d5279047d4edac34 (commit)
via 8b9a915daf91027050ad7145853ce8874034e60b (commit)
via 79e7fd4f78e0c33e77dd0b69d7de8167a60af06a (commit)
via 061fc021d5d110cc37a4c06c4ed94b87be00610a (commit)
via 4cc32bec04aadc5c070d0f4aee656313a4854c11 (commit)
via a31d2f068fa1384c505b540ea595d2d97813ba5f (commit)
via 7160c10d6530b79ea45d435933b07765f610f54d (commit)
via 6c9a7fb62fcddbcafba8ab765e6fe190482c3d0a (commit)
via d48796b5054fa2a9165bf3b3f27cc1cdfe8933a1 (commit)
via 56a30421eea2253213a567bbe23d67c77c2c6a0f (commit)
via f2b2af2c9f403ead49de8f0e01a9c149b0b420f9 (commit)
via dab26bf4e7c8b48e0c5ffbef1c5400807b78072c (commit)
via c9775dde32773c57d4eb5dfb4265eda9cb8adbe8 (commit)
via bac13b9c13a0169aea400335776310b1f1ff2d16 (commit)
via 6763d566a8d30d1ad65dfd060a919c621dad86c4 (commit)
via 921d8f549f9e35d3f83c7b1a381146a7dc1246f4 (commit)
via 45a54ee57764e34fe2fe8b7655fabef38936a696 (commit)
via 42b7a39bf6eb2e90fb1b07c2d53d7a93263508d2 (commit)
via 95daf21060008545515e94aeba501082e8710cc0 (commit)
via 2edb36e77f3ff468eac2b2c8954e9c031148e724 (commit)
via c9301e31817019c38ab52da0e72fa1e3bf75332c (commit)
via f4952523968703caa027a5922263eb97b88bedc3 (commit)
via 3cd72572cbbf3bb720a41af1db26e81898c318c2 (commit)
via 48afb19489cf39cb7f48e24fe7c567a9cd438b95 (commit)
via e066bf5f74fd776657accf02dececb7df120412f (commit)
via 0708347f66e1d8e01b215fb1fe71f634249c5fc9 (commit)
via cd529d78e5b6b645e0e49f2e845121c568bddc56 (commit)
via 081bae6c18d02279cc5c86a72468d31df1b3bb8e (commit)
via 8a0b252a9bf7f9985ce6c16c932ad11f847ae2da (commit)
via 5703197e0421f490c3dc25ecd9ea04ca59750b64 (commit)
via 4b92e38839652e05e7cdc86487dd18c3a2048339 (commit)
via 7c2c4aa12f4931fb79f94d787ef60e88960bb2a7 (commit)
via 9e8a8ea8feadb0d3cd6443a1bc773b1dc835767e (commit)
via fccb08f8cd2035b50a2b0a5e09983180b7411685 (commit)
via b5a4b3c5e711be9096423f9765623eda449d8f4d (commit)
via 6b8505468e64c2be8d0eea1f2b8db86fa3897600 (commit)
via e0204c4d4ceb9be0b0ccf8f92ab683aab54f67cd (commit)
via 88a7ef1689279e498354094e123191926a801002 (commit)
via 2907f41490b2b5602f47c5acdf9ad7ae94eaeff9 (commit)
via e6cdd38e8f0fead14cd3c528e9a4b666e1871752 (commit)
via 82372b2f2747d347e24bb10ddc7bc7e828222a42 (commit)
via 2faa34476d9e6120eaf389b7f91b7227183fa2ce (commit)
via 3350c5f5de3d2e62dd9de2a76cf2d5d8728d2600 (commit)
via 7697fc9ec3a970f05abb836107653c46ada466ad (commit)
via aa1ed4a93a2eb0fb90d274c15288f3aad1791f60 (commit)
via b00f86d0720d2cf44f3edb6101682074da1abe5d (commit)
via 6e321fa8f89da924026d758461a07e8a7faa0133 (commit)
via 08ce1d723ea3360a8ae52a4a4bd395ec984563eb (commit)
via 9cc0123fea25379a1d57b700c078c7a9d0992f61 (commit)
via 78da3bc1eeb8ed227f86154ef915635fe9047a64 (commit)
via 5c0ff16372013f4865230b90344eff39c14fdc43 (commit)
via 43339b1d1cac16ee3e3b556ff5ab3f031d03b5eb (commit)
via da4463c7d74ca0314fcab31f4a98dca3fd98e250 (commit)
via 8b302db80cb07f5f3264b50e1b51fdb8ecb29183 (commit)
via 56618e20bc50e55b49ed224df2a2a7e0840056fe (commit)
via 3fcf0b0d5a8cf04da4b4210121e7276ca1f20101 (commit)
via 0c72ed4ca21e7a9f78f19179584f3886bf463689 (commit)
via 5153607fc679517c0f404807d2d821e547ed0207 (commit)
via 3ca25b560af813ca576821b500a0f0885829b500 (commit)
via 2ec060b71cc1cddb506d3a38475aadc184e25985 (commit)
via 17621150cc18737f0a80314cfd2f884b0c2e44b5 (commit)
via 0e9c5a5c9916efc8a6c518c84ffdd50a745482c3 (commit)
via ce440d638d271d76cc491bd22dc34f6a5760140e (commit)
via f215c83b5f4ccc6d8e14c21ccaac65d4b72e0354 (commit)
via 4041bc9b02df6404d7b2b3ff04d4e9f8bcfd43af (commit)
via 4861b80420856a420c372b93782f32b7626c7037 (commit)
via 8cec2cfe27b40a2d61bae931d1dc17046d7e108d (commit)
via 6fd3a02da5548c71ff469f978444ef6c3af18783 (commit)
via 6b4778968b298715ba78208bf047d72243961d49 (commit)
via 96037eb0b8c22e0b080863362bee4a4f6fc476ed (commit)
via 6b1edb94fedc7103b4929354d27304d0bd756f49 (commit)
via 647e4d46495f2bfb0950fd1066c8a660173cca40 (commit)
via 6edaf4d75b45ff08d7296095506904663b8f0576 (commit)
via b0b793434ef492aa5afc95e0a9f787bdf860a1c1 (commit)
via d5b07ef44713fc26f283cb1fa8b98d62caf703be (commit)
via cbf55359ca3fdcb2590619e0165f2c8fa10b2f04 (commit)
via 41947d9e38c4fd27b17843f328d58138193e4f19 (commit)
via 717ba204e06d88ed68441e236da3688a92cf054c (commit)
via 51f6035b9ec8b4a23d73bed6688804e5f595e1c2 (commit)
via 912815f079a8f3c40c0968ba5140619de079e199 (commit)
via 5f68df25f869d74f0235276a81536392fd376e6d (commit)
via 04d59df6f311bcc20d74ada64a5e15a4bbb40026 (commit)
via bdd582dbf14f12998a0003b5aa772d7868bc3dc7 (commit)
via 782c112285467b906296b020f8fce3fb76cc5bb5 (commit)
via 34a60ddbad3b76d8f327250527cf4915839943d7 (commit)
via f70be8a445d4ff75766073f16e92c313f9bdc0ca (commit)
via ac69f7863a6b5dbd1792356275de437371b8c879 (commit)
via 49940788ab38b9d58c663cf38855f29c0ebb1b55 (commit)
via ef274d26b57336b3baa5bb0ae93b49178bc45631 (commit)
via 468afe6c5fc9c80b8c175f3f13702ffaa6308400 (commit)
via 51f77c3704a6e5c28fdcdd6d6e0aeb97ebdb343f (commit)
via 86f78169c82095eced3a4d1b30f8e002ec841d79 (commit)
via 60eb5395fa7a7b8e3cd1841e38b6d1a0c16be0d0 (commit)
via 268a799a454ce862f516ff2215290fae08eca7fa (commit)
via 07169ff772077f566c6540f623d7d609babc4c81 (commit)
via 98d9f24ed15c5ca33bff06647d87b85e22e586d2 (commit)
via eaae60fd9421cd055c88584bf783942888b8c68e (commit)
via 8980e177bb62ec64875b335cf8733b41f3aae2fd (commit)
via 26cde2cc30c25ba4d5666ea502db51ee6cb5b069 (commit)
via a8836c9358a11055a08d11ecacc5d7c8f6d5e7a8 (commit)
via 3b12939dfc2399200f243851fd55d0e392b64165 (commit)
via dbf30ca3f5fec91671b37592f1a6644a2c36f67a (commit)
via b2d86570b316c347384c4ba9bb3933ed5e807fca (commit)
via 9204d6922cb80f34dd799e57f7f0c74bc86e7027 (commit)
via 05beb2750cd51a0ae1e8bb429aacda567acceba4 (commit)
via 215d3118fe5f120c1deba66943329e30073ed780 (commit)
via c61db772bf5dc21bf8e0db9acfa8796804f945ab (commit)
via 3c216924d6ae534ea6c2f6bdcc4b42238af52ab1 (commit)
via b6dcde571e1a230d12fc483ba6d38a1253ab097e (commit)
via 23ff98d2fed4a1eaeb815e18cd4169e5aa7aaa60 (commit)
via 694ec099d2fca9e7d47848e8a7fc40ea3aa47a32 (commit)
via 41fd2b0f5d958fe3056da5c7af4032b1b99d726f (commit)
via f38d3ad186f1820596743a04b7394b0749942501 (commit)
via 7c36c34e4c5c9438f17373a72773d741a17dc7b3 (commit)
via 73ab01a07dfef77a9d845be2ef87754435eeffa1 (commit)
via 8322445e0584be846f5873b9aab257dc9fbda05d (commit)
via cb814510676f7f6c08b329af2f57006fa598b619 (commit)
via 79aa2fe86f105fae162f780f760d655f212eaeb6 (commit)
via a74e1786ac24d4ef1ce8a92a1ab06c727a462881 (commit)
via 45db7c09c37c9aceb3a7e149a6577388fc566432 (commit)
via 5a069ab36dead610ac759c4b37f6635419f09306 (commit)
via 4fdf8fa60425dccd4b174ac0af9280d7eccec105 (commit)
via ff03d62a82aa11d05bb7c3f3a38622b8e9aa2708 (commit)
via 507dcb323ac8bc02a54cfa5762d954deed7aad80 (commit)
via 8474a88fd23a3c9c33dfc8ded31a9a15e31e7765 (commit)
via a8ecc9fe61d0fdb1f694c5f3fac910802468d43f (commit)
via beceef50438ccf2917744147a4fdadcc84db7d78 (commit)
via f5b117594fd27b73be9c1b4bb10e171883783450 (commit)
via 7dc3990e4002e0062007c1d41b56e04b5b8ec1ec (commit)
via 9f99c22eb74a66e691b778cd15c24437f46d5818 (commit)
via 0616a2803812f5c13f8936d281bd71c3d9c09655 (commit)
via 6336b4b7370b8034091364f500184c0a8674a340 (commit)
via 9a4f2f5dad3e61de46f095c72da61a0e150382b0 (commit)
via 49f30d83f659591d7d2b14a18dc8308b3fdb8dd5 (commit)
via 233cc9c13af8e8182d0ce5b306526b59f5b11f37 (commit)
via 854594f5ce00381eb0ed57e3c7fa08b5971eabec (commit)
via 2838cc1d36e55bf6d45cf971bf401f895e575849 (commit)
via 80c135e55489435f47bbeeb3715b42289c51e30e (commit)
via 21a770913c24ab085fe66a5274ebe7cf9e031982 (commit)
via 2e7b624b851c34f6bc2ab75fcbc94db75f72eb3a (commit)
via 8a81c5d7a7cc3ec4d60032d2a911d2f6c3eb8328 (commit)
via f50bf8e5153e3cdddd1ad5d3f7d16f2b4e5adb3c (commit)
via 8376a3cbf73ca8b623db1daa8f9c49fb83ac54bd (commit)
via f79b145de30d6eaafc1f3f5b2aa913519fcd311f (commit)
via a28d8e5037333291991f7b0036b273e8ca1ffc34 (commit)
via 96074adc6a780c7984645e3e42434be368974737 (commit)
via 7a10c22feb4dfb7e56855033d579338a6258722d (commit)
via 8b8c7c9f49992750f66f81b4601d593a3858d98c (commit)
via 4f26fb3a1b1369a044ac642d1e82bf6fc6dfa9d9 (commit)
via e7622e5214f5e099641426691d63f8179651e8a5 (commit)
via ca45f6e9905edbe4066e1c8f30cc22fb6a0716f9 (commit)
via bf52d7c72035679e6b3ab601133c56a4388f4dc9 (commit)
via f92339b8f316de65add11aeb9cd8ea72630aa556 (commit)
via 081b1afe5a8cfa02bf3b3cdefb80c266705c17d1 (commit)
via 4c23f2ffa8fbd467bca51956130a1f30cfe34371 (commit)
via 77b1142d4e709cb12a460bdfad6f109d67260457 (commit)
via 3a4b0e0f9670679f8942f2bd57aa86ae0412b171 (commit)
via 3ee6e4fbec4a4e0451f20efce50acb720e921a9f (commit)
via 02f3be19f6fca3a46794f8f32350cc090ac38d0e (commit)
via 31eef93e717c59975b3e6f37619ab956302ca37a (commit)
via 2a1d8bb3471a074ce35eb8ab9d8eb2093a5ecdb5 (commit)
via 6f9f37ed752457a0dca8aaf166d328752a31e99d (commit)
via 4bf5402d913e9a5d17d9ffb8701dbd054e1d158c (commit)
via 683cd65eb4787e3e2921076699e0ca9b00762df3 (commit)
via bec734b212d68d96560e309f49a584d98b98fbdc (commit)
via 99a54ef6f705eedb20f8f4baf3fdd47cc5ca8a92 (commit)
via eecc1a7faa15327d4a1fc574d9b54e86bb07cbec (commit)
via c428ce9d900c4acc4a7ee74791c55676d96f0818 (commit)
via 897463b12ba936df7d2070755eaac94f87fcedfb (commit)
via 28215275a6bbb7c4b4c2d683a1d94fead7dacc35 (commit)
via 9ba75c884776383174cd894948bd8b3cbca62897 (commit)
via 14053c1903cc0e4f0130570f61aee2825661cd7d (commit)
via d2dfe54d6c4c307dd64a5e6bdcc7d1081b17233a (commit)
via 60a019a089177f3f58f636580857414d769b8c11 (commit)
via 0aa7f5862e5619194b3956d5bd45b93970635bde (commit)
via 3860d2b4b72feeef4cf045c6c9907a0476f46f3d (commit)
via b0cffb47671ffbaac559c1f17a9f248256ea6c42 (commit)
via 57bc0e78e9d1fc318e1265f22280e1c3b7527d65 (commit)
via 3328c04b103286c3422aed59b97595bbbd9bbef5 (commit)
via 712ec27916b5604d29d928dec060fd1ba0fd9edb (commit)
via ca8c86efe7765262e25ebb08004012ba2fdadf52 (commit)
via 97f50151221de0a023a8317559b1992a90f9cb8f (commit)
via 0c9663cbd41c27a8e20ca88a53ba3deae374f1d8 (commit)
via 815dc1bcdc1de926bfbb63fb15e0725c9bbc7671 (commit)
via cad8e26d2a2c7cee04954624fbaf91f03eec50ec (commit)
via 82f46e2cc1caefff2902d1f368edaa37d6ff8d77 (commit)
via 3b63d2cee1e6b894981cab59183480ac0972146a (commit)
via 2ab2f40d58e6ad530667b018e42dd71519556f1b (commit)
via 0f7f3789ca97ecaf0c4169c6d82e205f69fa0580 (commit)
via e46dd0f46b9a2ac2b07343b91c447620ede47d26 (commit)
via 0a8be2fe269b769c01b0daa1b967eba51dea4af5 (commit)
via 69c9e028b6c29f98b6f71faf52242aaaeb03a659 (commit)
via 1d3843e0b714cfceed7fb3604ce7b88f0beb47e9 (commit)
via 6d84fed1a0e39acec9283e7aabfa6c9bbce9fa5d (commit)
via 74d7f0aa5b1e27da215349fb32337e1d83aca7d7 (commit)
via 0a41a307caca19383b05c8b558c25cf888c1c3f0 (commit)
via b52717c0e104eb603e8189c3c0d3658ef5d903f5 (commit)
via 0eaf2e1b589472d635e85d2ce708faa35a23a90a (commit)
via ef53be89160126f2fa5dec8f1ec3bd6d99fb0681 (commit)
via de5b02b698cb34f1a7f7f0be87d140f88297da0e (commit)
via 82e498727a5086d51656a7407977a69d3f45720c (commit)
via 695bfa52ccf22058e371828c3636a3d74424ec5b (commit)
via 347dc1025db1c0acf616ab6520c3f36448f25e8b (commit)
via edef7b8cf3d811ce8630591dbed1257ba16164ff (commit)
via b2cc3f6fc2c5abc0a5ac7e0f2b5fb2365e89d33f (commit)
via 5e13cf25436bf72d851d81f132fcd49b0c636607 (commit)
via bb556f1facb86cdd1591d490f2d2d670bdd5a1ee (commit)
via c040f3fb55315f06ceb9e6de6ac167a95a445ace (commit)
via 936f2d3c42debba253227a6361fb1c56c92ec4fe (commit)
via cd41072b273e60438fc4db9bacdb0fc16c471a43 (commit)
via 4dee35314b3bae66125faf69e1d2949ff7b00b49 (commit)
via a080d84da0051128a7ec12c0fa87696589bcbeb7 (commit)
via 5c41dbc302c2dd87e201e4fd1d9ae3186f6e51a0 (commit)
via 1857fe72aff6f254217956d141bff4b9ca454bc5 (commit)
via 337c570c5f4442459d3324c9429ad80840094015 (commit)
via 08d3b0cc99459a14c398d513ca9dcf7fc0c60667 (commit)
via 6b10ba223fde5021fd2d66cf80c05b700dfa810d (commit)
via ffc89b17f2a432389ef15485fa887231a0d2b6c3 (commit)
via dcc03cb3662740029b2dde3e0a3c10692ebda054 (commit)
via 6eaa7fb59b32beaca017abf139a67bbe87592d9b (commit)
via 010bc3ce6c651455e3a27c0857021c228780523c (commit)
via 1f26b7ae3367e144a9dd028fd672039c0a3d6845 (commit)
via d9aee8d5f77e0b1b923e0fb1ad5d8050eb0240b8 (commit)
via 33c2b983b4854cf4dbbeefa45506a1812a60328e (commit)
via 3b67f09464f771466473e64d44aa258f832d8b2d (commit)
via 1aec0b6ad6eae1fa97bb1a4a47959ff204aa15a2 (commit)
via 1133012c60bf2a6fe66dc5d8d923e03a001e3813 (commit)
via 161db2790500827b74ef835ebe515dce04021316 (commit)
via 14b57c7c6a53c747a8819fed3da858eae4195a0e (commit)
via 2091da296fd563f62d856dcb5a049a63484ed65e (commit)
via 4d1464f294405a064d84e3d4f15c1ceff3639add (commit)
via e5f5f1fc4982db8f1d4859b91a4caf4caef2e127 (commit)
via 38b022b4452f996fb5a8598f80d850b594621bcf (commit)
via e2cbcd9156d1606a9f2153aecd93a89fe6e29180 (commit)
via 67cb102be0846384ebe3c17ca19669deee2cdda8 (commit)
via 852a1d494228a2042f11426eb2fa681c4d27418a (commit)
via c4212e111cdd46d3b7da8b60c5adf39b8654e3c6 (commit)
via b5966800eaa13f4b886f94fed01a7fdfac2b3965 (commit)
via 73a229c755847ada2425c767ce15c40cc5801b6b (commit)
via 1704fca7dab2f0c1d64ccdade61275de4ef41e94 (commit)
via a8067ea8594da345428ec9cf428a3a847ef4f98d (commit)
via 2ac27cd3c16ad828f96991f8f7b83a4bc10cae6c (commit)
via de3da6457440a16311c7972e673a3c33e9621763 (commit)
via 026122a670440bc51266f8e013e5c5877c19b54e (commit)
via 07f5af7d3c635234284e7a0f7dd7a410b1628b8b (commit)
via 1aa70332cab048c3a7bb6dd7dc8b7a1b686ea657 (commit)
via 362a3ebacae32b55b4d86dca0b9f5a5cdfcad2ad (commit)
via 0ae534d2cfef358bcde3166ce3a29faf85bc632a (commit)
via b1058ce98878654d8c19b7b6741d84615795b9a1 (commit)
via e94321588dab8a50728b5c625f0045b4d1e732a3 (commit)
via 1b40ec0559f4b24ccdf6b073610c526c4aa33c4d (commit)
via 99914dfd71d74bc700bb6d15647895ac0c8cc8e1 (commit)
via c09ec62dde0fa128994402ddb09c3d0dfcd35e40 (commit)
via bcc3a8bca12aa077e6d40880f2d41f05864d4798 (commit)
via 193bd37899bc7e301b195929bc7e335bea03d4e4 (commit)
via 4ad0bb5f3a5b2d03079819cf419b174a762c2d52 (commit)
via 3ddf1bdd423a127564d5d13cabde8863431576a3 (commit)
via 4eb6f892502bad1ec4e1828d0140959bb004a3b6 (commit)
via 5b6312fd20ef39f1531e37e7d2601c54d5658119 (commit)
via 5b677558bc6c7b2477bb33c709e6017e68e7ae8c (commit)
via c273521c9aad56a596202dfaedc54182cf5543eb (commit)
via 1fe0971e41a4097610862acabf54a896695fe834 (commit)
via 814f1489e9d1d92a30d94d69a0066addcc564bd2 (commit)
via d05584d3eeab4cb1c1d85d8dfdfef56827e03b3d (commit)
via 5e429f4cdcf2e0bf12309c843ffb3b2619bcb287 (commit)
via 65ce606bc4e69aee57c5624c855b718f71daacf7 (commit)
via 885a10879eea3cf7ccbb324109a56f0bc391dcfa (commit)
via bb7c96deb1a14ef7e8b51d5339a65a8064515c78 (commit)
via 315f180f2f0a59af561180e4ed9387f4c7bada78 (commit)
via 51403f74d96cc69f391fbd31389a9153a230b431 (commit)
via e3b5daf9f735999259c5a8f68b422850c59897e5 (commit)
via 03d73f1fd9d89d89bdd021cad26693e4f6abc07a (commit)
via a2b5fccc630a7cb7e1c241e5249bf6e8917d917d (commit)
via c799dec78a78240678e591bb7b849c071bc814af (commit)
via 75c039be62179ff617818249ff1b50547b089d19 (commit)
via 3326303bf5ae4c92f2fbbff387ce231a16c1c8bf (commit)
via f7433f011ef27838551aded73b8666a86d26b8ec (commit)
via c12969f8b53659f0d70b5e049c49b97a96826a3f (commit)
via c7022704e9919b724a9e935b4d0bae877946c735 (commit)
via 40d85a7f9c3446db070bd792d9f2106dc9adaf8c (commit)
via 825c8ef28fc669bdf4eab64b43d7a64761fbd677 (commit)
via 2320162a6219c664a8da2e2ff68b08d6f6c2ffcc (commit)
via a781823347ec9cd84e5ccc0bb8ddde48f8d302b6 (commit)
via 0d33646690c2e88624cd9646539d63d4144d03e8 (commit)
via 7faeb45ae36426b827c49457cf7186d73756cccc (commit)
via e385593eef98ac92be57159e141f4b805dadbbb3 (commit)
via 3a2b436ae9958a1029545c03201b7223ff33c150 (commit)
via 2adb06b571adc7c56702e2f57fa53db97d69c0fa (commit)
via aab3c527d779a8e833a469203336afcc17512559 (commit)
via c64e0f6165537efda112a9744e588f4ecac8ca41 (commit)
via 0cbd0046fa3e9b5e789fe5cfa3ff70a6d10584d4 (commit)
via 144b71e2a88e02d0b54d4f09cc652f353b46e455 (commit)
via bb69990f869ed8cb932eec52e38c7ec8111794f0 (commit)
via 0597bdc443005c70f0fd474279098ee17db882eb (commit)
via 99aefae6818be07a77739e0366121f2032916d9c (commit)
via 3b4412a0419d0faa42432df1e4faab880fe43b35 (commit)
via 7743482350c9c97484a429070db7d994a643a9eb (commit)
via 1a72702bb30ec3f94627cfcae684823b413f20b9 (commit)
via d5dca95ffc284d4380fddc063be43e155b7eb731 (commit)
via bc27bb0573a5e1ce1a6365fc06aeab9bd891fc3a (commit)
via ceab86af75e9870ecf2da772a0d867ca12521a24 (commit)
via 1848e567343e9c50979453463f34e0a55ba892eb (commit)
via 744608cc854a365661e93d307aadf22ab6e6bd7c (commit)
via e92bae62606702c1c07e095789ffed103e0e34c5 (commit)
via c185ba27ca74b02bcca8d016e2d82b09aa6df28b (commit)
via e89c5eaa7208f06e927a79facff0316f4e550f6f (commit)
via 1690f1db1ac7a4e91d81ae968b8158af2b7ff91f (commit)
via 77d66e7b303f6fa65dd2ca4abce6393d6ea70a8f (commit)
via 51415b9f309443261016ad1b63b9e350bbe3903d (commit)
via ac775bf4d35b7a2d5715e0ccf3d648d4670213fd (commit)
via 9d07ebe108f4e11508e350eaf2ba10d7480636fa (commit)
via 19dfcc89e8d94526f011242041b700ede8834996 (commit)
via 5e0bc41893d659b2935fca7595411c08ed18546c (commit)
via 8d5b9a5a3012a5e4a39823cc51afc559c354d76f (commit)
via 81cead6f5e9b765788483ad66f490f7540264eba (commit)
via 79052aaec9ec394bb6c8ec9d68e7e86d5838e42b (commit)
via ed53407eec9eba3b55a3a00fb7eaa7eddbf01363 (commit)
via 0d832c8ea736150cb246f8988b2f9f78bf58de5e (commit)
via 94740f9c4b20ec88a5e33823a4da13d6da311a22 (commit)
via d7b61136f9b7ace0c66a16ae4085cbef18223c0a (commit)
via 73b090a922a5f43931f0ec10b1b1b9507c819ebf (commit)
via de341542a60f7d3a80cc339db7d341b615cfa52f (commit)
via f3ad76370f8c79e4ae74ca6826e23bf417d5283a (commit)
via f1360d5830fc7695cd26214257c62f34b73070c8 (commit)
via 293f5f65435c4d309cbf463e941a8bd5ae50c02d (commit)
via e6cc316af931911da20249e19f9342e5cf8aeeff (commit)
via b95a0a3177bcf797c8f5ad6a7d276fb6275352b7 (commit)
via 7bd787e8774f96712d2e15a4094f094e00ff45ba (commit)
via ee4d7613b9b5b4a96a01717663676a3eea3d3862 (commit)
via 934c26326909f953aaa15edb423dd4af6f33c448 (commit)
via 2bbad2ea1102733a2a4143be4afe195caf730cd0 (commit)
via 8b70175dfa76c97e28d83cd09f3604933a7c05f5 (commit)
via 86d8a84882643db4d8c28cea8e4a358465cb11f5 (commit)
via e188eb36215c031304aa7d2630447e2d0726adf5 (commit)
via 9b2db1fd27cea1323a7ae0beb9399c8e1c4a3741 (commit)
via 72b1705502a891e07d40ad215146c71193920801 (commit)
via 3cd81d8df727cc961b9333d5e977718c622bf9c3 (commit)
via e4c1704d7af52f3eeb2b8a676912da41d4b19c9e (commit)
via 7db9a74e9f03427ed2844a17cebecc5e793f38ef (commit)
via ddae946278bf4269370f7d945732485ad13469fa (commit)
via e2b7f516fc688975ea22ad3cf2066c6972454fdc (commit)
via 1957f6b89f3db02d51e3e3361de6af073a03f19d (commit)
via 224f10c1ae5d815b6d2efddb479052b79ea4d256 (commit)
via 026a91747567565bf2956fae98fed6a958151aab (commit)
via 72b049d38ce85c51fc9f97ee64b00a47be5ebe94 (commit)
via 774113b02f41ded4d9ba4d18571ee5024312ad1b (commit)
via 1ad3de988d2f41c72de66613c68ed78507a3abbd (commit)
via 95e94c3f18aaf34fadcd9a2a882ffe6147b9acc3 (commit)
via aa01bd3689d204ce3d657cf7eb17b8343d79a080 (commit)
via 44d3da2338157ad7acfd6facbcfb38ed6ec94fa1 (commit)
via 4512dafa508c4b148996f2d67222a82dd018cdd3 (commit)
via cc34adb29049afb367107bad78b163d7deddac3e (commit)
via c023823f5f7bff47977658ca8978d8961d2544ef (commit)
via 049efc6495c229476f6cf5bc27021e7c167fe1fb (commit)
via b19e0aeb53c77e0dbb2083c18dcb0a154db99d17 (commit)
via e5e27b0769acf1c864ac9e41544c0747d1058cd5 (commit)
via 6610dc6daa661b7cd042bc6313a29859b87263d9 (commit)
via e70a7231e6347212258d43d2a46a20f7f7584386 (commit)
via 00a3cb9c7c69cf65fdce73079a445cb379ae7842 (commit)
via c17cd1124866bf2f9bcd2bffefc0f568da40b720 (commit)
via b7f28d873c8bb26500e46828d34445cebfab7fd4 (commit)
via 7eb895307f53af3435440d3fe67c0e4e679d99b2 (commit)
via 0f6ed0e0efe2c4dcd35b0e483dc3b5da7fe4edf0 (commit)
via d9eca1df01c0e6f7f22566c154e63b1df9315790 (commit)
via 87789e08e5cb2191af1122ed98af2d6c023b3a0a (commit)
via c810e0b87a2084656af944fe269d8c2680ba5469 (commit)
via ffd19d610b3807bd5e2622440e225adb12a6766b (commit)
via d26a14db86600ccc1f05cbe35d99c6995475c271 (commit)
via a2bea3245ecf4ff67f923c85adf57aa78423eb45 (commit)
via d0571b9934241e58a5325fc6e09298d0e3396280 (commit)
via b43b853577ed4fb6cc19b1faa17e8fbea3c58be7 (commit)
via d7c5bd02f73408553992db3650b95b14e73820d4 (commit)
via daa4adae63f91377fe9b3e8d7421a0ceb4a51e26 (commit)
via 37773e7803b370802302719a48c9c46f64c602b4 (commit)
via f10e0aef4f9cb98d8c49c237ef3987f0ca3ee90f (commit)
via 2900e701e0f0216b17e04e4fff1ca4711a9c072f (commit)
via 3d207518c117df7a6c58f20bc2693171b7690650 (commit)
via 82418e18f81ea76deb633b7531f197b13e77bc8f (commit)
via 666a13303cef83e977c8bf10fc23aac1737ac9dc (commit)
via c8eaca27fff44f076896046ba3260164c896e10e (commit)
via 52bf37dd91e5dd983ed20d1329293d077fe71e41 (commit)
via a4968f42e78972fa10b1a84a5e72afd4b65b0eca (commit)
via 4e21640f674499048157fa62f08b16f6039f78f6 (commit)
via 17c6c9d9f3e71459edb4b6af5ec75125f0d06f87 (commit)
via 134c0c8bf4a258ba10e72b724eadf40f731bb7ec (commit)
via d310f46e3343f2575465fed65079fc6912dee9cf (commit)
via 6eeb0170bbb43ffb73e8f01b8b481adde8194c21 (commit)
via 15eb1bebe1525ba8baf1f56e9df791cff146a352 (commit)
via 7d4d970973c4735dcdd2a69d645309f167a1d9d4 (commit)
via 606851fbf66c4a9e47c958014579dd363a74ba76 (commit)
via bfb0d950a58edc4eb1f102174af38a364f4f43f7 (commit)
via fc3eec7ebd155d31c1a58e6446cc231ddb6e361b (commit)
via c0913ebfafa2c3b94e08856c3304037fa9f0906e (commit)
via 3c8adacaf910480e3cda19ac9566133864a781d1 (commit)
via c4107a7def0ea68cb3177ca97a09a5cbef48f8fb (commit)
via 6b200de0f7a7008f74cde68fe87aa62b7729cd9a (commit)
via 514e58b726338c24b672d96bd48f8ce8a47f7803 (commit)
via e43de63c8fd11a15d7c6c852747c81664c0beb2a (commit)
via 82bc9362f1b0851bb992515d44871e6438c2020c (commit)
via f1b2ca70c95ac45883cd0b5ec94fb1e9beb7a59b (commit)
via 57e7d118480f4adf8cf1c8a82f234463d15d509d (commit)
via 9f284bf9da3ecc689405cb7b698c7714acdf1ab0 (commit)
via 6472871146e43446c43deaca0a8bb352b67f8f8e (commit)
via 38cd8a0de838966a045ddef4ad31c715ef720a42 (commit)
via 9e32d9ae97bf54078f993955a7de2f5a9247c497 (commit)
via fe779266b39080e49b04e61160e6af8be439c182 (commit)
via 3b889a787863d22694bb53eb08160c94ab52c58d (commit)
via 45f4ed92d14ddf891be1470556f53de6c94c8dc2 (commit)
via f507bebf459de9b145bd8ccfcfa2f5f6690adac4 (commit)
via 9e8f9b05add4517189d7724ff3ed7c16f7b04daf (commit)
via 28addb40c77db5a5873172b62b6b7b43e5e05014 (commit)
via 1401d2fe675c5b0634a97e84e6b094eea527e63e (commit)
via 5049806017a546184b87fc3282a586d686b8d98f (commit)
via 42e58860e260edf7d92734c01b95fccf9ddb2431 (commit)
via 4bfaa1cae74531b8c7a7ccfb95e202ab9772dfdd (commit)
via eb408eaac923140f561d8307cb63da9c9550096a (commit)
via b42e9fa8cc214f0fa94598da86aa112713a9b192 (commit)
via d1f70bdcab6cffce423617c6e081a5128d9dabe0 (commit)
via 7f9919700d0023db7d66fee9f437251a263f5d53 (commit)
via c69075ac096c9de1b8a532123b493173f8fe0975 (commit)
via a255f00a28d31979293d10cd2b121a1ca8d1fcf9 (commit)
via dec880ee27480b00fd7ce32196fc39a208f2fce5 (commit)
via 61c6156df6e3c638eb3bdb4a6e3d418a43a6eb70 (commit)
via 01739a3b6a564f6552acf6c01617aa21ab4d8833 (commit)
via 0bdfa368bc8dbea2f39706e34306c9b67883bbb1 (commit)
via 67218854b1987d89593ccaf5feaf5b29b1b976f2 (commit)
via c44af4ebc000f606d16b42224cba2cfe80391d5c (commit)
via 00272ec4b0cc22c1b9d60d39ce7bf5b2d5512582 (commit)
via dcd1f97951b432032fd0728992b1384064663701 (commit)
via e4b8a1c839b88c345b82c37c90814a89c7f0c3c2 (commit)
via 9ab0bb2a673875ba15d6956f2c587c9c31f40357 (commit)
via 5ff087ac1870878ad980503f5c8b60b6ffa32350 (commit)
via 68bce0209f2be6d0f852ef7092b9d412d78fd43a (commit)
via 23b5dc392be051ab5a86d7f1734c29d5222b9e1f (commit)
via 659f032c0a57467e19a1d81aba7cf6df36ae689a (commit)
via 1bdc036f254394412f32b2ae89a6575ececc7031 (commit)
via a43942db49b07a457ee4f960d0f118b23641ec38 (commit)
via fcdad592cd1f76046c5e4b7a2b0337e146d1e796 (commit)
via acac2e457a32e84814c212183ab2824869a27b5b (commit)
via 155b7f573bf6a9fffcb00108ab7a5fc12ed2f727 (commit)
via 71de341392d18d7951b5a00fe68b6309e2dfbb47 (commit)
via 7b14583ef0c858dc8f29c127f70b034f7f5d4ad2 (commit)
via 0591130a7c17645db7a62598f6768e9a1cc8d839 (commit)
via 9117cd3e10673e8f80fc0c64f1a32215d9638fc2 (commit)
via e18382406ce321517210e0fdb6a8a0d417078fef (commit)
via 69a1c8561a541b00b483115eb80a260062a4bb8e (commit)
via 558e50badbe8e1dd1d49222caf08cb8d61b184bc (commit)
via 9dfa3e63479d3c3106c7e5e86764a0ed8e22aa7f (commit)
via 180c87d999b4ae31b8ee092369b11cd9c840123b (commit)
via ea0ebc4fd8be2530a46159ba9741366488d06454 (commit)
via bf6f87e726c7e585402575a0976c717c6edd9817 (commit)
via 34ac9af335c2243f85f1e569e21506b35521dd7a (commit)
via 1178da445ad5faf37f9cc2be3aaa69d916f10f62 (commit)
via 2168b2688ae343a61c467450068503295a5e3deb (commit)
via d2edc834f769d9d05756c66f01c3bf05349a7fb7 (commit)
via 4ade44b727ee77adaa9c22719935d012e253a5e6 (commit)
via c8e44c6d168f8e68b7bbb1119065e0059a16fe34 (commit)
via add39d2344036db9334bdeb1ec20a90beaa3ca49 (commit)
via 29a2809e4210d5055291e95de861b493c55b9c0a (commit)
via 59441ccdbd5d74575ae0149c6cf7b4663b56ff6d (commit)
via 3355cb3b643bd50aafae768e7cf990d4bec40fe1 (commit)
via 8ddd5a6cd692ca8c4041d9fb64cbb4e0585d4aa1 (commit)
via 58c7f094c0093a7773e939938f22a9a063c4b9a8 (commit)
via 1997c9943a1979a7407f3c70ead92493a799e13e (commit)
via 001c250f57f5ef42189de5391db9eac9225b5971 (commit)
via d5e74e8d3e6207251486bc0d88f54d3e70cb1240 (commit)
via 8f4f9071ad5fe6076c3554a75d59536e74e6a3fe (commit)
via a464198b013940745d43cff029330b9e7dda71c2 (commit)
via 3bd43ebcb6025a8a43f119238f490e2e238697a2 (commit)
via a6684f0dddb292873f962dc36b20e6db00ef6b09 (commit)
via 4e7fbb34f0546360e86b56dcd32b4d6478662b41 (commit)
via 4179a6a209f22354a605413e0de9ac10331c108b (commit)
via be5c445b697febda5111c0cc3fb9924f9162c037 (commit)
via df140a0bc3140bca133cd7ced6e18903db69c396 (commit)
via aa79adb05d96728b8b35015eaf902266d9b53d0b (commit)
via 8bc526963edde8cf8789ce82072d05fd2bcc90c4 (commit)
via 4f4faa4d43aeaf5dd0a5fe0aff2fde89df3e5b8c (commit)
via 39d911fc3c6519799ca1af4365d4b56f9d71ca94 (commit)
via 6bde4c52fb2d49572d365612f222a42b4d316f09 (commit)
via b715f643ef3810bd77d50cc97fe4f7a3116b1556 (commit)
via 8d9d9490142a0cd6edb7cfec820a7c8f28b88395 (commit)
via 15afaa63f39a44563e49bb3b9fb38ed43e8b48ed (commit)
via d942732e829030b8eab483dd48b979f8eed7c9e2 (commit)
via 16a1fa25be5705102b84ef0ea6eea71312328c2c (commit)
via 29f4fdc42db187300b208ba4310920bedb300a04 (commit)
via d63a50b79e50b9a48570a9d9fdb86d7c692f3c18 (commit)
via 66a368220cc109070a30ac2bbf24057c8b07a2b0 (commit)
via a932d108b10518994c873b38a363af9f21bc2e87 (commit)
via 5c28a5038108d75652e1ee9753aa2f1ffe8176db (commit)
via 315350be6598235df12a0190a5a4c21447eead36 (commit)
via 9239bbd3a6bf901dba1c0170622c50c78f6d1096 (commit)
via 73597c183c78ed0bea291897de6d8867ec640208 (commit)
via 924bc11ba455cfe5e44afa3cb24e4dbe24536734 (commit)
via d751b79ea6bd7721367f1d78d22b70cee161fc26 (commit)
via 6eb7d83039db70127a6eb3e4b64ecae782c42f00 (commit)
via a64f5ba148ca55949677dc4a99727f1f6c02d17d (commit)
via ae1bb197269ca8f7aa560168c0dfd0bb80730e0f (commit)
via cc969da947681b3199a2091ca4ad7d550ee19ac9 (commit)
via 4612fb8101a70a9585b6464b1a43f6a6e44b116d (commit)
via 870f88f7551b0f2d6aaaa36fb684b5ff8f468107 (commit)
via 9852e3081f1f500ab725af96f0536eb2986c5f60 (commit)
via 9c088cc0590087cd918408f8ec0dd2e8b9f1a676 (commit)
via 97196564c7e981bab7b968e19b171c5dfcb28c3c (commit)
via 030e823caf4243a3337c2134a4a2f38490d3cf3d (commit)
via 887cf7913771a045a28b8ce43ed78a9a6c1dd2f0 (commit)
via f85d59c30681f55150bf28225b3873fe2d4b6bf7 (commit)
via 2856a6272397d159aa2a21fd2ef0f1a6e80f5e41 (commit)
via fd7ed446fbee07c70ebc7d1e92f1ece665d7fc64 (commit)
via 405b757bdf23ea6612e0943bca05297049291612 (commit)
via 004b1309187a673f078d52f3fe9c770461dcb708 (commit)
via d7adef8baf2589aa88ddf4f498e215fbcd81a4f0 (commit)
via cbe14bcfada1e6f88811f82260f804167e95ac6f (commit)
via c175a65796a6f1d6a69ed0d7e3bce6f048c8e983 (commit)
via bedfd056d4d58a3ebaf8d396c8453f0d0468576f (commit)
via 9e78496443ec1525ee94c54249779639b4cded0b (commit)
via cf2ebb6e0958c9193c7c65620cd7a8b990d8b316 (commit)
via d4758f96f74225319f8cc9412acd72c228a187b9 (commit)
via d286e29293b181d6bb6f199f39f0a7ecace69af2 (commit)
via c1aebf87fd3887ae02e5e62fb41889c9fa37a8a9 (commit)
via c3fbf828add04de391d40883e4bdaf51500300d1 (commit)
via 945e0f82dad31db89a107b496532886fe215c011 (commit)
via edf689f02787121a49ea0e36cfaa051b06852c8b (commit)
via 02e370d94ee3abc6f910602e79c6d4515d9c720d (commit)
via 8929ad8bbca9a8b036eba0397992d6f3b4d1966b (commit)
via 4a85cc09258dfe2ab3cefb503221696a0f439c63 (commit)
via 1d2a41dbbdca96017cc5e1ecb8a9fb05bb1897cc (commit)
via 6c4474237ab3356b100ebbdd6ff1a8839745023d (commit)
via a1ec3d244a75a6e6a2f54235c26e6b1e3b8a2482 (commit)
via 6d6a648c0789fb227ee2adfb089fe0ce8174708d (commit)
via 99d1b2682145c2b154a8a0d91787e55321f2b269 (commit)
via 86f1abec458df24ea7d4a38a7b3e21861c5b9bd8 (commit)
via 1aa96702887a9c0f66b5d7cab034bf6718796708 (commit)
via 1f56df9d0d5ad89806c24e71f296576d82344613 (commit)
via 20f55f3866ab70778d08fec2c09626cff9ed781d (commit)
via b782c63d52a9caf15f1f3ec2e09c9268b48bf065 (commit)
via a2076b34e146a1f181ef58b5954815571fbcd6c6 (commit)
via a4a1c15754d144d14dc48cd8ff62601f977e908c (commit)
via 1b4f615e4087a3ae9feba5912312cdcabc25e6a5 (commit)
via b631e59ba05af7c888838d3e2d6d408bfe60b57f (commit)
via a1da4399c724fac367bf084e68a25cce0f86f8a5 (commit)
via 444e826c911693e6dad1cf907d81eb9dc1bef7d2 (commit)
via 740feeaa2049d0f9a7e5928191124583a1a8c645 (commit)
via 1270fac69d2f7e89161ccb780ce3b17466da34ea (commit)
via 2e1fb61c58b4a5579a43d9ff3cae8382347e323e (commit)
via 7d8e7981db043f19b6fc171742152c276aeee0bf (commit)
via 94af22593bc6a3649f52b06a9367e8abeb9f8721 (commit)
via 493f652c956f2037c1c638c1887b634d67da0835 (commit)
via e62b9723fdfcf655ecbd46ea455567593e333f47 (commit)
via 010f98a5859620001aed9f27f213ed681c73a59a (commit)
via d347c9df495036dcbe5bc710ac5a07079bdd59ad (commit)
via c337a1627c7e0edf6d46e66dee513c56975d0625 (commit)
via afd9acee15d55fccf2a25b72c99303f7cbaaa1c2 (commit)
via 5522f910cb539905d6adfdceab208ddfa5e84557 (commit)
via 2deb93c7a7708ed164e4b10afb9d6a885d4615c6 (commit)
via 0400cf2f56c41896ecf52b88baa1d6178eb10432 (commit)
via 9080ac9d99e5326286a7df806955a326fcd655b2 (commit)
via 35fd2deb6916e972248d52b1bc1d584fa9059f8f (commit)
via 952ebca5831911a8ef2a79f6e1e7a2c24f71a388 (commit)
via 786a118cdf1aa33a8c232c63307e6711a0c00dfb (commit)
via f166f943f30a91792e8754cbca9d7652fc400aae (commit)
via 4bd13cde17a27c342b79b72bde9ef8e1b5373344 (commit)
via a3a65e6e1d8b31bf2c8b0abca1903106ae48e092 (commit)
via 83a471c3a112bfce3b13085e51209c826be8257d (commit)
via d9019901f830e58b0b16793ffe6e70b9afd26ea6 (commit)
via fca4cfd9ec8f28d0883cb8bbd55b82aa3418576b (commit)
via 57809e5e5a506664eb54433ded81ab0785168a83 (commit)
via 91f8bf69a526912f86da81070407bba6a050e27f (commit)
via 11cf4ffb5e256d268a8f4cea0fc88a0a46bf824c (commit)
via 476350ba4800f1144b125f6511a5e25b223cc90b (commit)
via 310cdbb65119c60959578460576ad316e3e2fb11 (commit)
via 2d681be471cf8aff8f296cb7713c39e9aa4fc2bb (commit)
via 52728a42a8c0a169537e55b74613146d9c67bac8 (commit)
via 7881f69ee902b06433f071fd8cbdee1b401c9b76 (commit)
via 2cdad34c4fba2c6319584d6bb42b84020a9244ac (commit)
via 13b8c3356bc76abc3624ea9348cc8e834594dfe0 (commit)
via 25771140e2dc735712d052ba621c57eeb7248d9f (commit)
via a6a4679fc0ad12e99e0d8374752ecce9ef097ec2 (commit)
via 28cc9170c3d0bc0c5e82b45a10015e4bbcb01125 (commit)
via ffbad59e36154c69cd95d2ed59223e9449206314 (commit)
via 3e2e34f8623d9eeb6710d8f3883f26af8b07bbd1 (commit)
via 8f07e298b16e6419a11f9e9d75b15658e42ea775 (commit)
via 9920b4348edbdd83e3f91c85d7174cb92bba204d (commit)
via d5486c43728b4fa17c111a301c30a1e072eaec6a (commit)
via 3283f4fb4c772f21d2c5f0091569ffcfc7eb6dec (commit)
via 731bb67af7ba357164095a035749e3aaa9ac1f4f (commit)
via 0e03d18a4eeb90d3dc17814d5e4c05c5812f50ba (commit)
via f3abeff575541dd80e1facd6d0f920e10f77fede (commit)
via 484b3c325d8182cd7b7da4ceeaedc238c7f80b5c (commit)
via 85ba7d867af39fe1408accd1f9ea4ca3dcb84b99 (commit)
via 20249ae4551ae7b2193caed73d9ce8d594f38754 (commit)
via 21edc42f4e1ec6fe8cfce171232bab27ad4af372 (commit)
via 101ae4cd3167bcb6fa1becee4f0c3ad1ffc41f15 (commit)
via 08ff6104911fde281df28046e45791f14277b2b2 (commit)
via c0f92bf9430546707f2154b8a2656974e5c7093c (commit)
via 0ca76ec3e5a987238d3d9932f5dc4dae9b3138ab (commit)
via 0154d99053a95392380cd4629a89b0ac46df3737 (commit)
via 0a5d52f0ec8dd56b7953764a9bc1dc71ff6b69ca (commit)
via 6d7e9d3b8dbbf46a0cd5dc4f6341c1f9eb8cd6ae (commit)
via b3f11165aad39586cca0352ed5fe32b721699c76 (commit)
via 6290672f89d5638a9da5ce10b2f4ba793dcc6396 (commit)
via 89525768cd086a0798a504c81fdf7ebcd4c904e1 (commit)
via 3c610247abdf7fd6d22d21f11552d223be1e12cd (commit)
via 3539aa13fbcadd930b0b6d8a97f9f125f02a73dc (commit)
via 495346f6f07ea711662106f0e6f8d684fe489cd8 (commit)
via 0f60e29b5a13066f7625dfeadcc329aeefd9d5a5 (commit)
via 7915f48c28e24927d2842cc66ad001947776dcd8 (commit)
via 4a7e075c3fdb862d1a9632fc3500c6e5111013fc (commit)
via 5b061e98860ad84315704c732a1a43525f494946 (commit)
via 5c5dc57fcf2f543b7b8bdd2c3cfdabc74c39041b (commit)
via 6645479e9dc9470d22393d5bc4ef2ef2d391e848 (commit)
via 6cd255ca1f03550291bd05ac4548e383bca88c5f (commit)
via 22522f880a8e17a17c4f195796ec89caece7652b (commit)
via 3877922e56a9e44fed0ca72e64cad7578e6b1ed5 (commit)
via cdf5d16da56a0f0ca179467f93e8a99050b30ec4 (commit)
via 88c3cd8dcb60606a25a16ea11149219db00f847b (commit)
via 00f4a6024f23a592a34b8a9bf46e28aa0b747fc5 (commit)
via 4f3b23b390640efdc36c575dbda2175e61154bc9 (commit)
via 71829b1a3f9b4825150747b138b5cfadf0c5fcba (commit)
via 3451269c4128c4b74f4614d9781cb75207c5ee34 (commit)
via b36cec19e826c19648964576ef2d20d63f99e888 (commit)
via 96bf8cb07d2cc8d6f7b509c4430be9966fff1fdd (commit)
via e66cdd681f47dc51beaeee3d813f1c9cba27dedf (commit)
via 5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064 (commit)
via fbf05aa70d7a6ad3dd92ca718faa4bb383b975ee (commit)
via 1a7272c0f9080ca18a724c91ab37a10fa45ad9e4 (commit)
via a23585089d7ba710b238d3d1ab3d34320afa48d0 (commit)
via 5ae0055212a4835793815dbd8fa120d8c63fc7e8 (commit)
via d9436c7c71f13df84182371c6b2fb6e356051d14 (commit)
via 597e448caf30996be7e4583847da720f8021b20c (commit)
via c7ce9410351ea64fb4c250ceb6ed796090ae49d9 (commit)
via 03f2309aa27e955b75634fc066b5d15d67e05321 (commit)
via 126697d1e4cb6e5936ecb62dafe57880717473ab (commit)
via 338c190a92871c063847caef51bdc066372d4550 (commit)
via 6c739336e5aadd6670909059fba889f50caa9cea (commit)
via 8cef59a2e32816d5fbbe1cfebfca3e3d6abd4d33 (commit)
via 466ee2af4a927fc6aaaaa62b0abd3b0cff9bcef7 (commit)
via d968975277ba280372002800c6c25bb1b29f496e (commit)
via 6885166d994162c92dc9053bdf2d87e67a452db3 (commit)
via 7cc9c114fef05bc603111c0ceb6d2275c0275deb (commit)
via e6c7cdec063514bb9ffe2a62fb280e5ec676cac0 (commit)
via b98e6871247e1ef764360f6d042254ce4af62ca4 (commit)
via 2533af11baa8a9a330798a2add1a59183e3b5c75 (commit)
via 52176c676da5f4b7339f254dc83cb35a0789bf20 (commit)
via 50cc854c48e79d9b8a2c55c117918d6a719bea38 (commit)
via 87d455c042d2236b2afb1d6e13f337df36256bb0 (commit)
via b73bf8516f99a6b04bd77337c5783b206922e79c (commit)
via 21002a635bf3da33367592e3a3ab3cce24fe5299 (commit)
via f39c07acc8c4039534a9c6f1757de82afe66ecd5 (commit)
via 537aefaf18444430df8126b474cf11ff7201b4c6 (commit)
via c8f785f220bab3c17fc93445ac509495d00d5afe (commit)
via ee2915c993e333c2a1c26499da1a918516d2f1cc (commit)
via d04c1a59f3b6ae23f16988961cd74b561ed6f8d6 (commit)
via 85c10f77b70007a0c528bdc9dbba1add947b3085 (commit)
via a55411b9ff672c73172fff98319eb87af5a5fb4c (commit)
via 73e6209faecc21516a981ed86a27b259f506098c (commit)
via f42bf748e417cf9120fc57d144b6eaaf3adda247 (commit)
via 2b863f512dce3c2469cf40e4559fb571b1b01658 (commit)
via bb7dc663abaa72601edfdce3ca7aff6fdb43bffe (commit)
via 48eac74cb73499ac32fb7a38dde498a8b3e4c6e2 (commit)
via eabc9d9f964d4c78b63c265bef6d33695c92b177 (commit)
via 9b30624b65697a5f51bb7120c48686ab5506067f (commit)
via a22df60ad216517bbca4b391bec09f9ded06ab7b (commit)
via 0c13f7e559afe5f973a59311b0e401296c48d96c (commit)
via 9b9b09e9020aa32ade1a86461804a1950d967abb (commit)
via a14d1f4dfc08edc8fe92b17b36a55d89203fb89f (commit)
via cdf969539c718acb1f3f031b2c55d5274a538717 (commit)
via 5947319ef398728052a22575e1d0de0e94e4220f (commit)
via 5c3c7aa89ba10ac923796855f5c97098fbfdb4be (commit)
via 644aca26b524733be8bc1267e059b62c9971e77e (commit)
via 35cf27b027b061038a07de2506dec7746353c361 (commit)
via 9a452709fe126ea6da23a53426362e4435d2dc06 (commit)
via 5e001f26addc4443eb0a7af90ad67117e1a582ac (commit)
via 92fce9bd7a4d5732fe9db05b7ebaef4ab858e69a (commit)
via 58484447ed8e1c64bbd73f224c8c9452a7420beb (commit)
via 0480fa1f33451e60ac7f20c9724660da153b0ed9 (commit)
via 2b2798cc9716f45f752ea03411b6f9c9afc17cc6 (commit)
via d7abe1019dbff66b6abfb32df90d0c13328710ee (commit)
via 6fd8e7c249dcefd937897f743e886751adb90c90 (commit)
via 77770d832135a252d22eb95166c5ccfd40ca6a69 (commit)
via 415fa612334afb70600c2a7dbd2c2ff56ebbc4f3 (commit)
via 05f7541ea79d4922f71641e287b610c67ba32b52 (commit)
via 0796a6293fca5a6f4fd17e6ec38fb0db5dd3a36a (commit)
via 17416a2cb1d5b8d2076b8df0f7c39621b318d3f8 (commit)
via 4f2a7b5121a682dd924cafc252c8ded8813f0f61 (commit)
via 85e53f6272cc71b16db89239a3a542184d01996c (commit)
via 4b0c052e456421a3c6d7b4c98be3ad0b3bd2ad27 (commit)
via 33cbe6c07ed7e66d65c106cffb496eff5d7e8fb5 (commit)
via cb040366b36ca624874e036805ca1fca740dae9f (commit)
via 7634c4e679156fc6a93ccb8b33898f5cf41eb233 (commit)
via d105775eea0442515e9003dc025cd927f4a1805f (commit)
via 7f31862a8d9f3eea51fc58bd66abeb70c730feaf (commit)
via aebf07fc1483b0bda9bbc1c0b7d7184b7e840677 (commit)
via 84865015459b4e9e8ac67f9b91617fbd856d5119 (commit)
via 8dc483a0b6cf73204ce438f4abf2efd323d97e40 (commit)
via 392f059f41803dccebe6bc5e56f439d4540eea6a (commit)
via 7d49b1d0b08426c650a69a6c4971cba56a4e6af1 (commit)
via 57d1de9cf3ba8dd98eaf4a3d131c05ec4c49779d (commit)
via b8162e5ac9e052b2a88912b729081600972e854c (commit)
via 1adc8a9a7f48c5893c6a5e45384695732dd2f136 (commit)
via 8392fa22d69113602407281cbb364f29557c39b1 (commit)
via fd85a6a1f6aa4abe1c908b909fdb659ac574e5c7 (commit)
via 758c54957d709bdd82b16fa5ce75040abd27daac (commit)
via 8c4c4aeba6e32e3b7d0a4fbda4494b17883dd9c4 (commit)
via e4449be8851d12116c9ffa132da843666e332100 (commit)
via accc018020dd329d99b50335ad168d35650b7f09 (commit)
via 45e3745ed0e034fdec5beee0738f383bd6e2e045 (commit)
via 3a00c80277a54abe0b286a6e8babc8fe50120205 (commit)
via e26b7e41652e288dfdb4c48121bba470c4774150 (commit)
via 37ce0cc4b7bf61f4c81023a8245876b690121df5 (commit)
via 991f40a9fa668eb65159ee9884bf89c8cbc09f02 (commit)
via c1f61bd2b0644fc710dcfbb378a63f0b34be8903 (commit)
via d6bb17b07976ecbced934c1ad2cfec9976dbd8ce (commit)
via c1b719e99465b8c888e6f7aa94739eb55adbb764 (commit)
via 8ce09462959bbc2af15e8088c5e54c8668cf8ccb (commit)
via 0f41b320edb93e2c0cdd76f218811e197156b052 (commit)
via 173981bc49c9e8fce9271cb47714952dbe2ec627 (commit)
via 2afc13ff80492278154c0f2156a9d32dd5ba675a (commit)
via cfd0fbddb025d36228d02fe23e06039acc6104e4 (commit)
via 585a46a2d01d25181926329f258f1d1374f93e99 (commit)
via 048094accce2110432bf7d44c34acc17865cf85a (commit)
via a12ac51333cf97f4da0597d049cc694b4535e7dd (commit)
via 5fe966540d6b748f825774868463003700f0c878 (commit)
via 651ce16aa7c2bd5e9f634e91e73790dc3e01a5c0 (commit)
via 80dbc9fdc7a7929c16f58852e45196a32877b013 (commit)
via c5ac15402a894e87a118526a066880f596b3c78d (commit)
via f8e3ef9dc4d803729a8f0e0cafb2c995b576c44e (commit)
via 481ac8c9bbbfc4b7506dfdb4a5b92b859d5c47d9 (commit)
via c509f1e1e8187e0abd2321aadc37878402c87332 (commit)
via 99bbb428d4412b79e59df321f9e83c13342e4612 (commit)
via 75ee59252d49dffb017905125cdf826f89a6baf9 (commit)
via 93692b589dc7017d5a2fbdffdfad5f84f597d8f1 (commit)
via e42de8c7f8e7326d284f8b53f3bd6971fbf6e7b7 (commit)
via a149683b0c277279d892c9617233643188a34251 (commit)
via da1e5f545cdb18a34d36f28350716246bc24958a (commit)
via 0af679c6e0645a93d5a60ec936b94dc70a2f9e5c (commit)
via 4a81fd47b3052f4c1601f8eb7f7879b12e0473cd (commit)
via abf009ef94d2f89b09767cce30bcf99224c1a0a9 (commit)
via 6eddd09a12e752c08f55e62fbb30d42058a6b1ea (commit)
via f0881b37b6734328118a5683e1e18f65a8987c89 (commit)
via 5cc3ce8b5fffa7413557b7e071d8471ae6e2fc88 (commit)
via 00340e1b916fa2d040439b101c220fae3c5834fa (commit)
via 5f5219fc34f7557296272230123a3837960a6f09 (commit)
via acd5494dd868ae849b4544abdc50dc8b10ba6f54 (commit)
via d2acc30bb60357815c3965c058965d0f5313f814 (commit)
via ab33ab13aa093778263d554dd0e702814a5a8cbd (commit)
via faa4ebe148cfe83f06d881cfc80d95575d3bf746 (commit)
via 3212b858458dc3f2ae73e32fa066dabd56919a13 (commit)
via f36e33dac1a97cca8f79ca8b20cf0fb05f1e25f4 (commit)
via 1c2e355e4830814e18329a53d01cfa634d576211 (commit)
via b99747aeed79ad69af8b8be4d9aa3a74200fca7d (commit)
via 37ab977937f89c6601e616085ff9702d6e727ec8 (commit)
via 2df3368d851b653880c2e3312c99eb8adf89f3db (commit)
via b545ef977bd39f4351172ab73f5d7cc2508944ec (commit)
via 92708ceca544456c26b4b82e2e7fc8afcf1641c8 (commit)
via 994aad6437e82ba41192b2235aed5adad61331fd (commit)
via 93e6fe04ccb4008f14e3584bb1e86b2d04c9234c (commit)
via ba442f0f41a57ee9a3f0c7f574500f2bda896d08 (commit)
via 454540b959fad8b3218c98c9d85f7483e82fd8f1 (commit)
via 41a1578ed17cdd7c01c38389ac7c714c4f15cbf8 (commit)
via 668c5ebc0937ab5288d831d65de3057e56e2763f (commit)
via 2e88a1ea30deecac47d89b03f6d60ca04245c36f (commit)
via 41065f5e080b6e8521e49cfd5bb3fb0db49aa71d (commit)
via 08918cc8c5eec064009133d8e0458de86805ed08 (commit)
via 1357373c1dbb3dc33952b0c74c80a0fff6d508ef (commit)
via 5f4678bb694d1fbb6080fd414c27dd8483a4dc68 (commit)
via 417a667c4afc1e04ba2caadc3f4051e0590585bb (commit)
via 9f5a6a60d9858f54d95443a2adf7d8077ee1528b (commit)
via f48e22e3f2fdbe540a807b3ef2e9b5d3b08616e3 (commit)
via 096be756aa7f10f1c757e4dcc216bf0076a194ea (commit)
via 4bf7b526bed1c86b1f20b18e642865f446751e06 (commit)
via 136a43b762ce7bc692645cc0d9d50c934f9aa392 (commit)
via 065005336492337c92d06e87544646635a5b9566 (commit)
via 992dc2c47069220ce5a94829a8d8fed3ee72a1d0 (commit)
via 953dd97e56b6ded32449f6bee805019d0e59552f (commit)
via 20591916303a69d1137d635173421a27bdbdac56 (commit)
via 2d35e871274a48331c4d6c7b3e4fbee42b901f33 (commit)
via 9553661a5f8fb5f82846a04a02b7db8476d986e0 (commit)
via a42a4f8400ee232ceed5ecceb61873195984f1d9 (commit)
via 1328504b287b2c284419d989e0d05e7d6d3ffa59 (commit)
via b9b47ab79f7c3de0537cacfac061560d5811a84a (commit)
via da5be03929920c8aed305f9ffac19ce37177b3c6 (commit)
via c8064e7e9b4d7d9cc29a613af899a7739df60be6 (commit)
via bde475616e3fdb6d41c047956aaf627fbf34a85d (commit)
via e390720bdc6ddee752992537259d18d1ae8d2eb1 (commit)
via 1ccd06e498586b39f06447cbf3f2fad50120fde6 (commit)
via 1a295c62e0ad0b5342fd5b2889d64087be0b5edb (commit)
via abe051ba82bee9eebbc5149a3b62b057f2d8b14a (commit)
via e6ba1cbaf890ca2c7bd3383bdf5d5a8c367824a1 (commit)
via b607cde1aa3b1ff395a92790fbcdce18a22b059b (commit)
via 692166c24476b9123ca7dbb999e458a1f7fa2faa (commit)
via 22b92fc42c444bf39044911e8873b42fd3df81ed (commit)
via e140100a5da85568e83ffe8e77d3f5e4a59ddee8 (commit)
via df154dc15f5385c9ec3b998788536dede9882393 (commit)
via 09f99a37eeb9afe3663b26c5b77821f896e13e56 (commit)
via ecf2e90cd6a862ea5492cb31555a0c33e345b3e7 (commit)
via b16f8a3b1ecce592fe331a5b1ce6632951350e9c (commit)
via c2f901dfb6cb5ae2845a48503df1fe0065085f83 (commit)
via 147316171d8c1e090f0240133088398725ca8460 (commit)
via 319cb5d0cf7ba3bc0e77ab420cfcf75568d722b4 (commit)
via 927f2d25ef9d9dc35d6a4061d5504b0fc928f057 (commit)
via 052d2eb2545db0e052b45dd2e0ece82ebbe8a68c (commit)
via fef3cb9f3aa84018d10866f89228ae3f23e5ca7e (commit)
via 15dd01b1209ec92b361dd2547708dd17ffc2a786 (commit)
via ac17fda08bf2a75ba561a919f05df95ff07959de (commit)
via 03a8c4dfc295fdebf4dac7a5ee91592e69b404a6 (commit)
via c078c9d954490a12f0c5e88ac7b0a5ea92696cc9 (commit)
via 9a5f28ae286634f2d7d381b7d234abc2f3aa5548 (commit)
via 820f03ffe027367f275e9debb5f3f3376820ab37 (commit)
via 6e774b13c3b81ac2599812adf058796948ce7e95 (commit)
via 7817ea46148df2931cf00d17aeedb844b6e4e4db (commit)
via 4dca19f828e7b3194ea146c8e1172678f0e42f3d (commit)
via 8ddf6b2a1384ca73a16827022da5f4423703154a (commit)
via 1e5885b72e20ef874f526e77a4946b2655e6d3c3 (commit)
via b3aee8396f02744c0b688d0ee75c585534b7e8c4 (commit)
via 094fb06395d03ac343d1ce14a3621d1b4f78a0cc (commit)
via 589a7d88306628fb332ba0a98ac4a4b3b84b7b2c (commit)
via 94e5c97160abbcf2274f8d58dc2900bc85c1c384 (commit)
via 6ec1f28285f0a24587f7b5935e6d3fd4011fbb01 (commit)
via 1f599d0e7b5039c814731293043e247304ec006b (commit)
via a9fa4610b8b6dbd8dd91d0ea37141b1182c1837c (commit)
via 5be33403c378ceb9487ad14a1309392dc03a1263 (commit)
via 5fdf38727b4381d074dc929fd4b027a8779108fe (commit)
via df41fdf4bd2722ee610ecf31d92527aaad1fab76 (commit)
via dff331be2804c8ef4ad13f9d836d01ce9f83d46c (commit)
via 2aa08bd1f93e62c25a51a1055d611afb8e34497f (commit)
via 7beb7f68a0514c489f8305b79ce3938a6a4e54f9 (commit)
via a061de07e441718d3658be332fd3172d87c7440b (commit)
via 67f101eece4327a7c9e13f257fe76f8082a5e336 (commit)
via 26cdfd92055ece05e1abb5248ddb78f3386f857b (commit)
via 22987cec624a7890637aa9d8760fbeaeb45a0e20 (commit)
via 325801bda4678d100721414300eb1170bfbc2e24 (commit)
via c4e0855dad507e91409616642afbd1dfc2074f77 (commit)
via a44e2901c749445d16ba1e3875b50af9c4bbb3c5 (commit)
via ae2689b09ff821b285159db064705068bb4cfa02 (commit)
via a51ef392919e80a3131418efbea6717d2ca4dbee (commit)
via 585ba0408978602f9fdd8fd3c76180e838d906c2 (commit)
via 2fe882148c2a8f8f604ad040dc07fcf1899a8aa3 (commit)
via e1ec8109ab32b653c860193798bb13a779e867f5 (commit)
via f73e41ef3703be34db1c7e08271e6ac8bd758144 (commit)
via d0a9981f372e636508b9a235017f2aba565e435d (commit)
via 4b0046f325db3547fef1752020930d5f5df9801a (commit)
via 62bd6b5fa4697a0feef745f3ea79a9f2a28c163f (commit)
via 5b8cf793a7651f4c8af218fcf0d885e63cc692c7 (commit)
via cc63428a4c290772d99863aead457c29ee223dc5 (commit)
via 83cda17b6f9d4410a52b680bc5ab7fc1dae29887 (commit)
via 7b15fa7ac802f430f7fb7c2b77f40ab78c2e4018 (commit)
via 6d4af3c269e64b0093b23bd63d302bd9f90de6a9 (commit)
via bedf24f29b7b7592db3cd0f7354f24e42f39fc15 (commit)
via 252db07e1d4c5733b91a53b9fe4881b873eae049 (commit)
via 64cdf930d9ed85e93ae55adbc20b0f9848ef863b (commit)
via 40dea8cbf6b40f159bdfab4f3d8ec9010c293e84 (commit)
via 9bb84c9f97cb81df81f18f4e47d6b24fa37b597c (commit)
via 22084c425e69ca2f3ce92d88c0bf746b48d3627c (commit)
via 14e2b6d93d461334049ed350cf88fcd2a490de2c (commit)
via a2174ba45259135fba6ed562b4cb4b2411597c12 (commit)
via a13c46966d308297a1273e35ccc807a3912d573d (commit)
via 0a191de98469e84783025cbee88c86e51f072d78 (commit)
via 2cce10e71897b8b985c786c6c323922321408b39 (commit)
via e7ea3ec7c623be0b9be1eaf4929794652a84be11 (commit)
via f7c382926d78b2d6d96b02275e6e16797b132d71 (commit)
via 6757cf57697d30c73f4e3f314883ad2d8999eac6 (commit)
via e4a0c708776681a6839c4335f999e45251e7b991 (commit)
via e2c7dcae81a7da1353b7c3d5db210fca479c9c4c (commit)
via f854977c2364fb17ba20e6a505f5d78f2c645679 (commit)
via 97830986a14b00011755d26469889a6627378ced (commit)
via e87de5136e9054974b812a362099826fc83e74e9 (commit)
via 47990a6ab563dbbd51b8394dd027071cec459d2e (commit)
via fc90c28021804df1f5bf7f1381d893470c64c417 (commit)
via e046cf801d513ceafc38216ec4e2a907b52a3f91 (commit)
via d92350111695f11809899144076c8bdfd9cd46f3 (commit)
via b60ecbc6ddeaf7af8f2515841b58035f0d4d2db7 (commit)
via 69b51e106dcfadd783257feac067fe79c66570b0 (commit)
via 1cda1512689aabb36588a01370002632a0c8e560 (commit)
via 0a106562e3ab2582854b28d82025ccd5e5d1ad00 (commit)
via 62bdf2d66e4816219279cff7440ae1a167d7aca2 (commit)
via fb3f3d25c3cbf561d33b258ff11fd8139f6ad75d (commit)
via 779aa56f2c160ef508ca98fac1ffd23cad6fc63f (commit)
via c58b006a7e886f55224901eb5a9d1d619e34c05f (commit)
via e6359af3fdda6b9265565ecbd213763244ed8594 (commit)
via c6025a80cc284ae2781278de6f44c672d5077797 (commit)
via 72fb548884ae3b1849c951aa741af74115c8e807 (commit)
via f89a23cfc9abf44c8ad820548ea77d8d7b0c35b9 (commit)
via f621ad3c4b3cf1d2e686ca24ae940310cc5c5d98 (commit)
via bd05ac5f5e7cb753ae6772edcf4dfba5b416a169 (commit)
via 024ea11b48d2270cd0b3b2b6fbe9e42c9fd232e0 (commit)
via 7517e550ce646b9e4dddf8fe68de0eb308f53273 (commit)
via 1e6697eab9df68757a1b2dbaec5cb1ca25730c71 (commit)
via a87dd97a2098b7e18ff2574a4e81ae521ef7e6f2 (commit)
via ca62bc4a869267105a4b492223ed46d59e04c27c (commit)
via 2e4a7aea70a94d0efe1ad1912f8392c848d8de54 (commit)
via 4ae6cc19626d010005fbfbfba72952d26cc7c728 (commit)
via 4ec9d7d56427e9fa49fd705599bb2ff0c3c5f3c1 (commit)
via 49efcf2ab9736ced2c4dec927d25f48e072dbce4 (commit)
via 28170b88cc8b40fdea2b065dafe6e1872a47ee4e (commit)
via a08b52b5c45195c0b095215f19422d2ab67a3a8d (commit)
via c37c0ba69b670f0994b53078abdb07737f816a5a (commit)
via f39e8743546602977f860811f44aa327736b97dc (commit)
via abd9baf9c61a76537766c81e235a4a5a49b7dee3 (commit)
via a4105d04e19efdf89d0fa56b62675d7d7ee82a9b (commit)
via 444bca650a302ae800bd7e7d3fba50e072f555df (commit)
via 9885948fc910a77d04f27a7683f5edd0989d818a (commit)
via bfa6adb959345850305d2f3e8b581149a066c4f8 (commit)
via f2dd88387a40ec152fa3b8221f02c83d14f897e9 (commit)
via 17b9d67d4e6bcf2b2b4eecc91b0ff6af35e0fef5 (commit)
via 30bd735cb042395346c3cb6a28c1fa6cee79bbd8 (commit)
via aff7ae12a660fc3c7269530eadcb06e2db06a240 (commit)
via ef0d8ffc45aa32ed1e49051a344fa6c8cff583f4 (commit)
via ed3056ebdb9795446157af03d3e08fbb93c1b01d (commit)
via ed754a135894b8f9cc63757689226d30f46d18d2 (commit)
via e2b4fc913bad3b6a6e4b00b11c7c75268892150d (commit)
via 82b8a7851fb9d7724c53d13a4319d1e47acc4460 (commit)
via 5fa9f97233e5c75d4c70f6a86f558eadfed3696e (commit)
via ab4896bce48b1c8d1bd22f750862dc4197ba02fc (commit)
via ed700649d0607e6509d5bbc51f4617bbae13a543 (commit)
via 44f9a8af8544d5656f3bbb73b41d3b983c99e8f2 (commit)
via 9202e88a2a1ebbfa1e312f5875420e027e35cc45 (commit)
via a90fb5e33ba890eb9427b9ba3d529729b018b474 (commit)
via 099b880550fc1b7e1090c31e8dfb77ca1e2f07ad (commit)
via 1254603b1f3fc8d57c9d3c56305ae4fb7f44150f (commit)
via 0d2f91fe2d5ea93dc3dc76780e6ec2e27d022d39 (commit)
via f65c3d1b26e05f445d976aabd48d4b1264c182bc (commit)
via a6b71f422b2a4c1dae639064945bc8697528c57b (commit)
via e742e119e1a37c642240195d6b942d624120df82 (commit)
via eda6e9a4a274e5b9d551d6251e55c5d2e88af643 (commit)
via dfa3faca36ccd86cf300f59b4f482c02e3e0518b (commit)
via fab7bfba670bcdd1686b916ac3d9499f51bbec40 (commit)
via 5ab6d79e708633e8e602e6363bae46002bfc3831 (commit)
via cc651c1cdd00dc821a0906dc648e89d71dcfc963 (commit)
via a140626a94b290eea537058f9b8d4a382ebe4a22 (commit)
via b9bb4a935677558b76795d2053263a8981578f54 (commit)
via 986d894b2a5484e522d540b24c0c9cf266fabacb (commit)
via 74b4e47aa64c64069928884d35a5bc255bfcf41d (commit)
via 0a433ebc90ae1d3d86382757aa049a0e91bd5019 (commit)
via 8860a416a2357aa66a03218c6076b95ef8052ccf (commit)
via 34b9f7292f9c75d09c169a293c1f021eb97517ca (commit)
via 4153b6dbb0f38a16fd5b583761aa811212fbb9a5 (commit)
via a97fbc7e3ca781b8d95ed8591c6ee65f2d8a798a (commit)
via 49636823b07446b61ef8cdc17898bef3c8202325 (commit)
via 39a0d071ae10ab953d6bb986ec40996c771db78f (commit)
via 96254e5c28ebcaaa89b4bdc24eab0a546dd269f2 (commit)
via 7769fa97a0fe54a9455a9d96970373dbbf714458 (commit)
via 9780e045073b1719a7a4c6cbe00e4aa7525bd180 (commit)
via 648c5cbbf34dcbf96bde7e07b14868777fd5d635 (commit)
via 6f4c0a426c653867c40936a9b8f503628adbd64b (commit)
via 859bde274ef9eb2c917000fb20ea6bbc2f6b5330 (commit)
via e23e8ebee364b79556ec05075532da20b317c100 (commit)
via 1ae8ab4714eaab3d98fd906cfd6a5fedc469643a (commit)
via 8699fc3e88de47be12401fd366fbe1ee0c4294c7 (commit)
via a9522a2168c8233e8f15c42a32e7376c2a40ac12 (commit)
via c0334580516d147fb0257a2df47ac7b1072f6e82 (commit)
via 24740d83e4beab0cd8d93944922c62e8a8809391 (commit)
via 62f6f9c28ac4df0ebafbbbfdb5319e74582db5a2 (commit)
via e1fa0163505af867009ea73fc5f705162120e795 (commit)
via c55978a67a2e23999c3359a13bb807b665fcb33e (commit)
via 479fe002f5fdc83fbd5ef64c701bbf8b1a76d8ec (commit)
via 698400bfb91b3476d98edcb6a4bf5e4abe1c14cc (commit)
via a3b6c4db68dbcb24c454e6beaaf1002c1ca9e011 (commit)
via bad6e36d96dcfe09dc4bec0fcda12bf4a1bc1b28 (commit)
via 148fa56275a662782428df0a42d9e68bf65a11a0 (commit)
via 2f71d2fd8144a04f90576e817036a5b48f5600ae (commit)
via 01b84e25533166047340c41a33cc29153e536227 (commit)
via 30fab421840b35cdebabc01c5b90a2c1aaaa3912 (commit)
via 87bba7a5e0858048c9b8702c147094d1a7eba92f (commit)
via 8678914fcb40e4c620a33e6b38a14df928fa780a (commit)
via 9c3f22346dd632201807c0718d5281ed1eea329f (commit)
via 4c0ca98e58fc409c93b41bb6c42f3e873db47725 (commit)
via 941319d15194580a047484a53f232d374dc2d712 (commit)
via 35ac8b3e2dbbe1fcd107dfcc6bbc4faed6bdc63f (commit)
via 94610ec4ee630e677d15361353796cac17339c53 (commit)
via 80aea927cc7bf97a2bc22e1fb2111c52be295e8b (commit)
via 78a2bc3c1635767cb44cd86261047f2e2f9a2d2e (commit)
via 6387924ae329fe2a89abb48b9868a340e23a9630 (commit)
via 45821bef0977a7436aa5cd5f37f5a178d446d675 (commit)
via 41f46ed9fea1a066de95b6a85c56393beef0b8b8 (commit)
via e101a78be9388651099af079899b8654292d24f6 (commit)
via 48427a77ec1c63cba605e1d6da807d5bf7c3174a (commit)
via ea01647092eefeca9336b36809962ff097306b41 (commit)
via 47a9f4fcab30d2f9a1485a7a2634f40feb22bd60 (commit)
via 1a08ae216cc8e8f8692114b92d68a14aa739eb2a (commit)
via c2fa9cedff58bfdb38cfb627b58fb34256f20369 (commit)
via 708bf0a14b10d801a600759f3ef6d272978ae854 (commit)
via 0d5b594f86aa7c8f38487802f75841460ab705bf (commit)
via bba960fc4b3f330ec75ef7d3581aaaed4c560c49 (commit)
via 64bcd522de3ae1b88d042986de8e36e44b9f2e42 (commit)
via 5fd0888aff1abfa6e06cfa48164e72c48072ac79 (commit)
via 0fc8f115fd95a88ff2ce4c839b634b39d200c734 (commit)
via afdab9165435e17169b4984eeb29ea751319aa74 (commit)
via f3f8e58e933b923aa5d447b32824e0fe121ecf79 (commit)
via 5dafb246a163333cf8454e5af863c18e3923bea7 (commit)
via 7868401b7b63d851eea5de3b780591238d579bd1 (commit)
via bfeeb14b8468ab3f60d719f2cde697d1b537eba8 (commit)
via cc9333013723880949a1e07a3e04bdbc1a3c3032 (commit)
via 6b94a855beef3a301509dfac6bf5446d1953524b (commit)
via 5f2b6bc955535ebfc280a04c22c937cfedb83916 (commit)
via 9bff188f0da2859bd5efa8d0def8c0f93d0be410 (commit)
via 1cafadb4e4eb329dea01355c6632b3077113d80c (commit)
via 79427bd2f8edb59110f16a9c1652e3d6e41e08e7 (commit)
via 89c200ed1bb37d6b879f6dbadbeaf143b7782224 (commit)
via 49b7ae7bb8f28f7dbb1da5aa71476c882b784a2e (commit)
via 8151645076ce927e0ee866c598a19f192e68e103 (commit)
via 54157a25aa28ba78e1da1dfa06e6c988d75e88f1 (commit)
via 73b4f516a037e5fd2e90a3555c59ed42c9578e48 (commit)
via aa52b601cc232d41a956c9929a090f077c6d1a4a (commit)
via 4e0c91e45402ebf4215066e4a61143896e831049 (commit)
via 4c10bbaa0912742322f10d9d5bb630ba4e15dfa7 (commit)
via 1eb2dbb8d73c344e199fd04531ec3f649e2835b2 (commit)
via 16b4184277c4ad5b4a20278060fd3f6259d1ed49 (commit)
via 2a60e18f8fe3bf9512671e02b39acacb484bb8c6 (commit)
via 45fa2529db961adff41c52c3a560808cb135beb2 (commit)
via 4bde3cdd707dfdf8b704c0776795b3733592e4b0 (commit)
via 5f7ebda2e2a3ff416844ba1704e9b113a923a58c (commit)
via fbe48798204180aa11c55e5377c1e23700b9c280 (commit)
via fa4ff313317d6234bbd818b09332e7d85349a56a (commit)
via d834e6355eedb87abc1473c5039232fe93c98cb2 (commit)
via 3ab94f96a99e88c5cb6d5acd34bd0a35ba6f376a (commit)
via 70104a908773d7df0af48ca5c48856886bafea13 (commit)
via 724cd463c6a84b2c7f20d294f74f94352052e0c0 (commit)
via 237a5ee12f212db341f56bf5350329d494573c8c (commit)
via f2403c39342b723a18a2bea5ed209c8c96203d2b (commit)
via c4b3e547d50b01dcf909498119ff6c0af482f2c8 (commit)
via 37b01f6a13f21f274bf9758ecbf5d9efd6153444 (commit)
via aa667814c7c9b77822d2ac2152dde4c01527da70 (commit)
via f2f3ccb9f81255fd1b4f877600f39979c2d7ece5 (commit)
via a9f02af88d230aabf6771f94a6c401727a865188 (commit)
via 3ed4ff97cbbeeb2658286769ac9e8a6a35390f26 (commit)
via 878a68773b9d7fe770374677e099cde02449d62a (commit)
via a2d97d75bd6a3c679ad2023d5ae2ad03910a89aa (commit)
via 00dbd492e462565366a2691e0579b510ce4c3733 (commit)
via 2343b78a778af9fe496c521bd49ba027cb8b48ae (commit)
via b69d38afdea34e4fecab5ea47ffe1e594e0b6233 (commit)
via 2669cade3dcebf5d572bcd535cf21934cbc1633c (commit)
via 187212b3c1aa55d9a5b544a6af3af0b5ce457403 (commit)
via 7a3bde34bc61af108556c74b661533dadddcb178 (commit)
via c5c136ea94f21e5ff968d5b402494611464c7b31 (commit)
via 720d2e96b424bb4bb1f7021f86763ff3df078e2b (commit)
via 608ff013aae02e3ac4687691db57bbcb8984fe18 (commit)
via c70061cf94691182484924c79cbbdd2203ef92d5 (commit)
via 8a243832540cb3bd246192db1f0a4dfa44d92dcf (commit)
via c32e87066a216dbcd9daa36100975a5ecb471bb9 (commit)
via b04fd3bec955560e00fb0cf6b75e36187a207113 (commit)
via 98fa59e9b06fa479cafb852ef87e5a9bfd87ae54 (commit)
via f77198c878424891f11d6550370f8d9382f412de (commit)
via ba84e0da35d29dd8969a4bcdd84e3eaa48927a84 (commit)
via 4366d36e467bf81274edccbea026a91188cc67e3 (commit)
via cc2c4da8813b980a4e68272bb43583f4af6fe89c (commit)
via a67914defbe57290c714975d7c1ccefa787fd635 (commit)
via 2a2fa07bd121498a492f84312a36629383fc9445 (commit)
via fd91f0024caec4cbca0c53a175cfaa9bc2c5dc5a (commit)
via bc0e3f49c84055034cae31bba169100d107b28f4 (commit)
via 6d53bec88f4c1576f74e918400aa2ccac2d129db (commit)
via f7990f1690e9ef0471634c871c790f6cf706866d (commit)
via 087ccc6a4f8c754a4f4d31810839a631dbeabe0d (commit)
via 4b05e0a74b3fb21b56e821423b8a334e4be9cfe7 (commit)
via 26c62da040fb9d602da269a3bdffdea13a4367c7 (commit)
via aa8a08637e017bcf77b62a3c79a90556085edea1 (commit)
via 03ee85837ec2e10f7b67c417b17ab3ffa97a98d2 (commit)
via 9c1d7a087682074d585253ad38719ec2363eb2b7 (commit)
via 7ff6eb49a2b79a2ad95c814ad990316545bf3692 (commit)
via 202736beb188043bbac7a3b071f5f7a2b7f85dfa (commit)
via 0863441e8a42031ad1f6957d7f21bae1992c5d44 (commit)
via 114d7832b0e07452277d748c81d8bc0c5675a1bc (commit)
via d7a87b5e4343467db23b70e73b156c9cc79c50ea (commit)
via b79497cb1cdc9b3053e5f0387bf3056c08c9bbdd (commit)
via aacca8a7a9c7f93955fa9dbf796b030ffce1b956 (commit)
via e9dba9f6c07cb60f29572ede55278b91fd6d6d7a (commit)
via c32482d65c43f40572a0722b48c20b3f571666a3 (commit)
via d1ed1c7d69e6656de213b12594e702afec31a66d (commit)
via 205ac185771460838370afb3a38d20228927b925 (commit)
via 202ac193bbbecc96a4978d1ac3d17148253f9b01 (commit)
via 72f3b6aae734d8cdcded38aca94e379848bec7ef (commit)
via 8e460aa0a4fbd535ebe383ba2748bb78bbf2a92d (commit)
via 5f474010712c856bc3c8d470db5f69c2d216f235 (commit)
via 4fc874242f8f1bf17cf6e65b159dd804e793e6cd (commit)
via 23a4bd22c75862fdbaa5faef59b9094ec738f675 (commit)
via e6c2f47b45315ba13f25fb57e51389d0c5ed0701 (commit)
via 18f822a08fd5cb8fed8b0b318e7945545c255081 (commit)
via f86f586366275bbb5ae77520eb990769f05a3030 (commit)
via 410d0d5c769ac15c449beb580fb505065630e344 (commit)
via 5eb264df40e1e3ffeb2627456889a1dc5df00f16 (commit)
via 46175b4e04a91480b85420d9253adfa6c5ff5894 (commit)
via fb6a751f5f1fe7912e84dd90d06395c357da47c2 (commit)
via b42585769f4a54a0fab1bdd788d7e1c327459e91 (commit)
via cb86f3880e61c79e59b9225e79c3544a1fcd8005 (commit)
via 57f9b1448fb0de3313d1525707278131bfd8eec4 (commit)
via 9b738e36e69423342ba7c03f22764dd979a3cb3c (commit)
via 3f1f41f55f2fa5d390e57074477b6407302c8c46 (commit)
via 8d04e81db4967fa1ea2897bb52ccb21e17d9ed91 (commit)
via f1771dcebf80c75a13ca456491ddfb9b43fcaddf (commit)
via ca92db2d5885c03d3e0ed23c96b5c6ab336d908d (commit)
via 73519cce7cbe31609a2aa9c27955555237a0c51f (commit)
via e18b24a419ef76a3c6c76c34885d1f6e9ae58fa6 (commit)
via 07492f668d2173da7a2bda3707ff0985e0f460b6 (commit)
via 9411fd44aa4adfb0caeebd9e4355a3441d9bc104 (commit)
via 643afb90da9066e9d3c6dc721920b14ed343bec9 (commit)
via dc1c8a16a38dec431c77f49cf50a9b62d6366138 (commit)
via 8b4ee0a5c134be874ba44038d2fbd4d9b7f6d3ee (commit)
via a06ed37d755d3bb76c69980f13d22927c8967844 (commit)
via 82838bd626b10f1a82b0de29728c26f4458ec514 (commit)
via 95ecdfbfcbf508919652a0254ee2b8c6572a949e (commit)
via bdf7e23048b68171c01f2498cc46670a76e68c4d (commit)
via 57aa17424380be1c3e362a5601071f1f3a6f74f6 (commit)
via c40c8d4b6793b71eed7cf9fa7467edda2271dc86 (commit)
via 4719d415b9908d3c7981163b47be5096d03656f9 (commit)
via ea50786226737509a8f4c2734699a5fc15cc63c4 (commit)
via 8fc8cbdaf698ed042d859d5749cff66937bbb57c (commit)
via 92fa70b0bd8690d979357ebcdb501a9e4aa42ea6 (commit)
via e197ad3c87723a2bdf383d38fcfa3eaa4fa1ba12 (commit)
via 0b47da9f176aa73854f1ff8ae00afda11a4f338a (commit)
via 0f8288ae82bf5bdb33d46d7447cd3132393a1bd2 (commit)
via 7bcc503f3ef52fcac0d9be31f1b82440ec7ed2ff (commit)
via 439baf71217d9bea69964f06c70348193910fc45 (commit)
via b3258e643df0c551bcd9dae6900cd52e3ad0c3ce (commit)
via 7494161b47210a94b532a0f98d75e8cb084c21f9 (commit)
via fdbd04a8adef3a48eeac7702e9243c7c31e47256 (commit)
via 6896a8fa1e1d24a8fcc9b30efc0b195246b46029 (commit)
via 065ab6dc804575bce7df58477b2cfcb2b2a6eafb (commit)
via 07e448ade17bc8fb52469a5b2184017f94669bd6 (commit)
via 9ac2d526d9ae70272bf7fc436f2e3ad11a84d58b (commit)
via 178073690aec73fdb5f4452b49f108407edde700 (commit)
via 650beae39d31e5ce2680649e2fb697e0e4a9e3eb (commit)
via 285866651cd0d404087438668012289d278e4179 (commit)
via d11698cd0d9bb22b51598ee37af0aaf1d44ec5c7 (commit)
via 25aa3689f0d90d048b88b6a566e4a7814288a5b6 (commit)
via 523f4c9234439fd6ccc0dd2c3b387331dd64c54b (commit)
via c697cf0b2b85cb1231e2c76c52cfed43770aa04a (commit)
via 70a5df4fe30fd37166c3b62071fd816e49082d2e (commit)
via 62de1c630f16c21418464727692bcd29e23ef1b0 (commit)
via e14ec281fb9f6c4cc7bf59ed18d2acaf02d4d0f9 (commit)
via ef621b15e0b14f8fc0dc5940bc6b14a9aaa40ea3 (commit)
via 86e501afd46d7f0d31738bd62457593401d79bad (commit)
via 1e903e320352db86233e1dd2d10fd140f5d4a887 (commit)
via 6ccb54e2a82ca934f6d430b87ab015b7bfecc413 (commit)
via 2955a517f3191a2972c3805899be8aab2b41e583 (commit)
via 30ca9da1193ec4c82cc67a2ec2e6fb6adac7ab84 (commit)
via dc856b382065cdfab3f9bb484c07e182950eb4d4 (commit)
via 077fcd6a3b5729044acce83f77ebedd3adbadab0 (commit)
via 4a9321595003d86dd4794d0edab071f91989808e (commit)
via f24894771e384b1bc60dc0f2c104d7e7fad3c865 (commit)
via 020efce52a569bde99f64b20cedbec2b2a5b5fe9 (commit)
via efd5b507cc9261b03d547575d9f6453a1425bd59 (commit)
via 7f50ebc1b1215520b85cb9a8e709e502898fd2c8 (commit)
via d521906965b3e94648a723a13576236aaba301d0 (commit)
via 253b4d3a09e9edbb72d21127fbc85934ab1b7c07 (commit)
via 841fdfcdd9caa69f3ad7560a2806d421e23f598a (commit)
via 7e4588997ebdddefc48d8be2d51a715822817c0e (commit)
via 63aef214ab4826785d35d8dead591d40e402de98 (commit)
via 38899f16e1560ce3020bab8a6a0b3a0c017d7925 (commit)
via e919aa9a24275a7ec59215a4e8ab93eb8e666a32 (commit)
via f68a833e50fcf5e0233a2a679d0ef67e3c26ee81 (commit)
via 1ed0c2a4bbe8ad5f5404014a6351b2b74db75577 (commit)
via 12a132db164ea95e9e457427c2c97005f94c5a70 (commit)
via f73dbb0e48ef50d2743fed89b68530b731329f05 (commit)
via c5e3a3641ea9d6ed2918021fd77925825d24e9be (commit)
via bae420ef26f4331415b0503141c5931318025906 (commit)
via fc5a9bd57cbb974b8fc3aeb9a15d644cd9103451 (commit)
via 9fde51ed303ea3ecbaa7c0084ea417e775a5db29 (commit)
via 1f33efec7c6d1357d7e867176cfb88942fc513a8 (commit)
via ce90fefec908ee50ae5a3b22b03447df638a54c1 (commit)
via 3263bceb4f76b783a44aeea417a9fb69dab26ee5 (commit)
via 11e5f1ec54e7ae87f131ef8506f5af9d0bb1c6db (commit)
via b8871f357fdfa9c0c06d2d3e5600391d8c994f37 (commit)
via aec6b87e0b66d707ead62ca40d220ee78b4cf5a5 (commit)
via b32547cd11bec3baf53e0dedf3c733cd3e0839f6 (commit)
via ec6944f206b5503c3abfbe36008addc2761d6cd5 (commit)
via ab50308758bfde9ab7b50e6def65e20f0b560702 (commit)
via 1547ef64562ebbfcdc768ce93979f09bdd119b11 (commit)
via 6cb59ff1111c1d5e955ca0eeddab6f03db0fbfb7 (commit)
via ae91f6253926e4dadebcae90772f4f5a5bd06056 (commit)
via e0471c16c5ac8eddf49daf781248822f4a1ebc58 (commit)
via 166616ce00e0c27fa3f556bcdeb908d4c0212393 (commit)
via 678b48b7cf0bd518ebc234bda98229cc602c2a45 (commit)
via 7337a6f2297cdd91bb852b479b284e5796d62cc9 (commit)
via 1eb7c2d886c0faac42d2b68862b0e6b0d3182d98 (commit)
via ef77d6af7cade17c566e4d1ecff098b841972f17 (commit)
via e6e7b7c49f960641ce1a97b967ca800128b1bf55 (commit)
via 920e4862a2319cafcbf608a4b85a23bd9738d349 (commit)
via f3234b0bc78364bf87e7f962c9c1c209f27417c8 (commit)
via 0f550b3df1d4ae31d12505cf93981313c9c6dd25 (commit)
via e7ad2f145c05bc60b1cd2796c8f3b72f02e3e730 (commit)
via 338435ef105ff51e967571ad073830ec1eb5a4ab (commit)
via 861ca91fc65b9a53b807f6d5c5253fc33f92e7d8 (commit)
via d2dffb8d3be366d4d02de06e92c24c9abdb0adfc (commit)
via 9db2f6b4262ec9152c2c6be90e2ea913423e6d3d (commit)
via 657f9cde9d531c9929bef9e02a8064101d568f50 (commit)
via 92d77487b3dbfd934c5565bab09e0f3051e0b08d (commit)
via d54af2d07039335c18239bd5eb2e93847f535d37 (commit)
via b0c11777665276f8e9b590bbe4832a7c66f5093d (commit)
via 3e309328e8d91e37f2f3cea15f8a686d3bdfa700 (commit)
via 8afc7bea4018bf535902503c9a25dd4a96dfa3ca (commit)
via 30bdf5c82e5734ac9f0b18eb7af631806d419270 (commit)
via 13f422778ff5307dad1f66d25a1d211bb8f76a8b (commit)
via bf74e428bca61022bd5cdf6bf28789a184748b4d (commit)
via 6735952f7c0f5f1f69a94c2d92c26e452a196da6 (commit)
via ed5491b9a9188bda38cfabbd12029a8dd1dcc1b4 (commit)
via 62fb310b95b29bdb3cf825520364fd524f8ffb29 (commit)
via 50ae56ec464580492a5f987f658acc6ad82131b6 (commit)
via d79587bd21361b152621f0db6e20c19adb075158 (commit)
via cce0e92333b872cfe036aae611b6b5d61cf58186 (commit)
via 742e5034ef645112e4ef204e84e28cf312c1b1c5 (commit)
via 1254566561957d2202d61e12881b0eb40d33a64c (commit)
via 31866b2cd49643af39501f9ae5ca2d4a9b36872e (commit)
via 6b3b0ab89663306d17927d630304dbbd36e84570 (commit)
via 17733f5be961baa7a47fdf1471aa6948372293d6 (commit)
via 47993b4af18c6ef1cad300f6393bf896d3cb5e5c (commit)
via c955ae7389e1c5dba0aef5c88c64f647c13e01c5 (commit)
via 2d8dcb8135e454c47bc8609e3f9d89b29ef0b8d2 (commit)
via 1a6e6083b69dcb695e175b5dc02342391da6ba22 (commit)
via 13cfdc88044a1fd0934e9cc7d1b0cd04d7a8fd62 (commit)
via 4000e47e2f3860a85a9023f3fe5950c8cc6fa507 (commit)
via ac46107c5c781894e013b10cd9fb5c98a8393d26 (commit)
via 3b4dbbbf59aef4308bae6654bdc7968797504a3c (commit)
via 75c1920bb02f09534da55b98277a613b7cb430cc (commit)
via 9a2284679086e32c0c2a46e08b23edde6fc8be85 (commit)
via 01e57735b0e8e6a613c58c271350dac2c416bb03 (commit)
via edbd4e326ac7ea1138be28e2224c231677099e32 (commit)
via e08db6db1dd514f1c99f94bb6a9c1cfe02a1ab90 (commit)
via 30a6a7f035026d05b52c92c26d4cb7ea3c6d6e5c (commit)
via 8ecb73ddd7efde747f9b025cb624e378bc994db5 (commit)
via 95693d0804f33f3cce683cee1fb283e3e8fa558f (commit)
via de818c22b639ef61983616efc1200f5a24b71e24 (commit)
via 200cbe0f460aa858e2bfc9741f61eeab3e7ac15a (commit)
via 7384ffbd16116000f2627e49940b13b5307bae99 (commit)
via b37283a66b246609c74d75cb6757f5ecc2bfb8fa (commit)
via e517df3dbf7556ddb389228d713a804594ee3c1f (commit)
via 737684142b3f7dfa6d440c8363750911a8ac20ce (commit)
via b8ec4e871ef7650b852df9956841ee414766de59 (commit)
via 3be64886b5cd7e877d8783a53b81e2c6f7d01307 (commit)
via 3d13c647015137e616267148a8d51194d13737bf (commit)
via cd0bbe6ef9ca3d3db38a3a0f1ca993bbdc952053 (commit)
via f4583255d5a16b76c249e3c28ab9c8dd9e7a110e (commit)
via 24f75eadabc519563ed119932c77874a016a799a (commit)
via fbb7bcbeaad3aebab8935cb4ee5706017b3b9e71 (commit)
via f79a3bae8725dfe0e11b04ddfc6e6bc8f23e4e4e (commit)
via 012b3a217a60cc74b802b059029c72a25d77808c (commit)
via 5f034a78b986d30a90030b2409c61a8660b9b48c (commit)
via c304e18e5ca825f57963bd0c5f022fa8f5797b29 (commit)
via 2d5189bd3a6e2014b9b42a4bcb0df410eff1c2e1 (commit)
via 40fb20d037581bc9d4b17b6ab64ee98825cfacab (commit)
via bf89386a862ace008f0152bca8bddf996d3993c8 (commit)
via 06ea285dcbfb67189e46bee7f4f7c9b4140fc681 (commit)
via 9136aa49abcb3f23171e01ebd16ee03cc1032943 (commit)
via 0748bf3e5804e9a93c788ffba95473168a4397f6 (commit)
via 46a8327747aadc811186680b151779a9b3a91903 (commit)
via b27ab9ad1c2633a5accad578d43883c8622a1ca1 (commit)
via 4111950f363221c4641dc2f33bea61cc94f34906 (commit)
via 8f79b794ce055b3b4041788182080f4ce3f9048e (commit)
via 88178e828a0d1af133c19d6165e4d5ee59304adf (commit)
via b3e3e0b7813cda26829ddf73ba3f2d98bb391720 (commit)
via b27c40ec1f6d14e43e93fcf55dd29493b3cd1702 (commit)
via b00b61e1fd95b778ec85bf314baddd1be9040d25 (commit)
via bf97a84043313369a31b6bf97e47e69b8da324b8 (commit)
via a9fb83beadebf3bde442686ad79200fb65dd4b6e (commit)
via 21b1f8d2fc29b7e0585dbdca72c0b8a8bf070a2e (commit)
via 4041ed778095ed74f7cb9cdaac4115597f35147c (commit)
via 726c18e1c8a74682270bcd80f7145cda3cc76389 (commit)
via c4ef31bf6fb68f0024800565a532015fc3390aaa (commit)
via 266b65b33e23c916e5e698d24c37f65d90645a19 (commit)
via 1cd17042aad6b0c2e10537bb400a496958178029 (commit)
via b442c911ee0e7444ee63edcc7da26089f6023cb6 (commit)
via 553cb5270f28725de86636340574644e45318fe1 (commit)
via 9406ee731d01bb34ee25280eec18167244ac6e2d (commit)
via eda683bbaa9251ae2f343b2a31643d5b55ed1f9d (commit)
via 671eeb286f0523f13ee8a16a9a1900bb656496ca (commit)
via 64bfc2584c013e7c60caceeffbad8250558e3cd2 (commit)
via 804021fbed754805effcac4d75d5a993e1f024b5 (commit)
via 4fd7268abff6f99dbbb78505f095bf1f54064db7 (commit)
via 9c9a421ed2c5bf17afeacb23134ba95872537cce (commit)
via a7a0a6a95bc111776129374c46edec3c3c2785cc (commit)
via c99dbb4246fedd500dbdd50514589fc7f95d80c0 (commit)
via 58cda018641a846f796c0da265a82fb057fdb8c6 (commit)
via aa4803559b046ab4691965f8a4ceed1037b37629 (commit)
via 6439ea1a8827247110cb50f4b4fc4ca489af6578 (commit)
via 9fb71ee49fc37163697e4f34e16097928eb83d66 (commit)
via 2b63aca39c2b0abbb410f7a5a60124ac5abf7438 (commit)
via 0a0da55626b632a8b8beb6c7878b866861e5daee (commit)
via cbdf6768d9d25fbbe5e579818d6f5ddb9a992eb8 (commit)
via ba881f505ba211ffee59e68617cd1a02a7b4737b (commit)
via e9fb005c0e95e642c2e5a65c02d026b4223082e6 (commit)
via 5b53d25c4dbb0b0cea39f60a54f7238054a8eb26 (commit)
via 3cc224f3534d1db68d5ed75014cfbe558dcc2bfb (commit)
via 96d491cf8d814d9edff187c2f7db8b1ee72c4417 (commit)
via e44e00ffffe358d91df0ec4a11563eef0c14beb4 (commit)
via 97e9415187158a9dfb3b662888a5d7b5e3bd8244 (commit)
via a5652c21a829088da97a525fbcd9c9912b64c9dc (commit)
via 01113bc1c50ff1202517377afd7162861e66846f (commit)
via ed443b61e1f6e4eb7919fe9122dd947d1e87e767 (commit)
via 020ecd38e74681cb14987baf1a4d3c3ee3be0006 (commit)
via d21b5f15d92bc1902b9e57198f67550326c887d7 (commit)
via 33b4777ca1b7b456af8201b98eda27d1b272cbab (commit)
via a038fa3e14a477d4d72a26c2e139fa47d2774be2 (commit)
via 2f3ef606b91298855e9ea13ae0e0316c23f06c9b (commit)
via 95c00d15cbd7234382513975af72d21c395c82c0 (commit)
via ee5db48b40ddefb43d554746673ef0acd9c0b192 (commit)
via 21a90cf1dd5ddd22c2237b68fb58b8f532467a8c (commit)
via e20365c5d03f0f5eb341e04aafa88f30715e502e (commit)
via 7cae9051edc2e3b11b5c79c08edfb91ee7f4e2e4 (commit)
via acc23c113ab9602707574e7df120f96170a9731c (commit)
via e352bf0a3c8430aeab9d6f3781c7b31b09c8b8b9 (commit)
via bec2ab5a15d96026d9f5470f7997fd48f7330fb2 (commit)
via 2ba163c8d19971010e22176cf688b3de80bd8f08 (commit)
via 615234c107e5dcdefff78596971266e9346b3f76 (commit)
via e3dbf58233db3ad72f1ba624dc7f13ffd2728f25 (commit)
via bd5608dcc6a76876db06b1af1852252a4282aa2f (commit)
via 9f5fed7852cae412443957862d759660cfcb3fd5 (commit)
via 82e9becd8afe1d7c9971096592bf312637d9437f (commit)
via 32875eb1f3b928dfe63c5752e8152a9dc09928f3 (commit)
via cd7c1b9a7e11b20916ac0aa0f776d35897ebd47b (commit)
via 5ac87a997fca849c654fffdf1c3e1991ea3f81d1 (commit)
via 18d3cec54e1b4fce278dba436484846f8048d7d6 (commit)
via 9f6a71b4bfdad8fa2fe33e86f799fa0d362973dc (commit)
via 550dc4e26630c9b9a2bb95cd51250762fc89fe16 (commit)
via 62e5fd57bcdfb58eadd08ec430c4dfd742027d8e (commit)
via e909d859f5635d66e79fef467da70d6090bfae1b (commit)
via 473b99e5721ad623cc5826e03a73e2cf6cef4eb5 (commit)
via 4670103e86f59a80259fd593a6949d693382e536 (commit)
via 83da6e748c8f105f07e17f53aa6b99ed7867ff5f (commit)
via 52cf9762c53f5de7070a3951a3a6156082839d35 (commit)
via 1233c0bae644451922bda07d03f1a66f3439dd20 (commit)
via d1dc0942695f0d18a923d6bbc1f5f31b39d17b33 (commit)
via 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a (commit)
via 224c1b2068cf901a350961901ed6800b8289b3cd (commit)
via 39a67dc4f7d032c78f031e2d101b9552f1a6b57f (commit)
via a96e36da2f5278949099b0b985b2fa6ce474b135 (commit)
via 9f61929fd82fb632ee7c3be883d7086afc5c65d0 (commit)
via eeb1af437c6f1ca111bc31b63eefc5344b553681 (commit)
via 609332f15cc2ad651d0ebd573010595a4593e89a (commit)
via 1e94266c4db633f7defaf4bb68c74fd09a9cf9e2 (commit)
via 2a7f3dffced7a20c992e1488d9f05fed8b8001fd (commit)
via 8adce0342f5f50aba0154fc56ca59df45b219738 (commit)
via 027e9c750c20fe8031a2b6d6272cd57bbf445df5 (commit)
via c23bbc1cdae6149de4175a75aa9bf9bcbc936fa4 (commit)
via 0635c8759326e9431604b3359185cbf96740521d (commit)
via 222cab58b7ed37df6e01dacb0932f400a2588137 (commit)
via 2ea53e003163338a403d5afbb2046cafb8f3abe9 (commit)
via 24f5f69a8a1d09c317a5f28d324fca73a8a0b930 (commit)
via 4c5dc7fcf6118ca98b693cf1e1b3c6c211f76a28 (commit)
via 2151ccc56c74b55a8f0debf0724a495368f92591 (commit)
via 437277d47a15711f29e02e5265ce8bbb8c8ef4f5 (commit)
via 5488790363bf8f338e7aec4731f8bed472a2fcf9 (commit)
via 9264d325483984f5f2cee06456d5efd3385177b6 (commit)
via 1d4f3cb666d17503ffe7cfd88f445430789ab5be (commit)
via 17ecd016113c77c7fead1725d2d315fe7b42aced (commit)
via 7c8b700c92444fca9ee81ab3844baadac0bdd4e3 (commit)
via 30914ca8c030eedc4a7e1f1acc878211639cc1ca (commit)
via b7a4e9d8e6a854d2344ab7963e531d6f19571d2e (commit)
via 6c043259a33c19377d7e1b056fb37eab5055c169 (commit)
via 19ef3f4d2eaac10e98c7ba3f9eace8609ab5278e (commit)
via 72c55146bb505642994637071b305bf4d30ef685 (commit)
via 3b8bcce879fb163889b8ba1c09baf5e9b18bc388 (commit)
via 2bf48941a7987cd1abedfb4ddbb45b75201381ad (commit)
via 1554f758410c4307103120424d35050e88433d85 (commit)
via bd8d853f779692d3d4f8dfb65cf173f7e080f498 (commit)
via 148ec36086d9f59825f9c11be450cc8f5f250ed2 (commit)
via 84d543b7ed93bf6511cdf45791f4f0b717dfb718 (commit)
via c34c98ed62f7f01fa19b1cfb174df942ee47127d (commit)
via 44803b5d876fcbbc1c6d9919a1b763679d5c035f (commit)
via 6f57d0469ae5e73643aa5ef96a10e6bae7a79a15 (commit)
via bdbca4e6f805c73796c14c79102a8f1ea541d633 (commit)
via b605bbc620dd0191b3c2b9cf0a495739f9845f27 (commit)
via 13754e4c3d1b78945ecba225216f29d71334b77d (commit)
via 31d913c7e4e84edf88b4324c3a9a8fb31c8206ec (commit)
via e42e5352d1d1e8a262178f606a5df3d0d988f78a (commit)
via 39306124611b7c5a0bb12cba253364723fc1c5ee (commit)
via c1d9289fef41b82aa22f63f74aa8e730ec898d3c (commit)
via 1b18aa1e79a0b343087d08075f117e821c33b930 (commit)
via 3b8f2c8bcf7c6bf1339aa3c3f2d6f129b7878052 (commit)
via ea173078d2c0c1af13a8b315ca187ffa4d00cd66 (commit)
via 0cb4071ef9e10f703220f5e731141bf438aca16e (commit)
via 3d8efabf21cfeb2f6244fadcf915da4c7f51ed6f (commit)
via 9d3fc4e190ff57ce8a128428e4a93386df075d52 (commit)
via ab71ce86464303fbe2e6cccd274e62451cc9c158 (commit)
via 4f038ee5d22f04a16a413cf2e3d8ddeecdc75639 (commit)
via 94986c28859066084e2e48ea6bf7f3c652cb8984 (commit)
via 6456a18b717e7b1ae96d77a2549fbf4da60d6617 (commit)
via fb06f1c0f25d27006b28a94e54273a6bb35b5926 (commit)
via 4a539596f5d54d3116c5fdebd8be56998757288b (commit)
via 46d70d04a422dcd3a3d985a0ffbef2d6973500b1 (commit)
via 6ba2af251c40aea2483b3c9666667af364e68495 (commit)
via 85fabe715c441e1c90fe913e2a6d65f0e487e5e8 (commit)
via 14f2c699ddca1e2f706342dffc59a6c7e23e844c (commit)
via a143b0045ca8a7024a8515b5dda3ceab5f832e83 (commit)
via 0f99255d7413ac9aba5a0318d774388d542c5c8d (commit)
via 5d7a901176b95b89deaea10bf184dbb0de0c93cd (commit)
via a012b298ba2fe5f173313d9fa47aae76bbabdd6a (commit)
via 2f74d480dded659377cad17cb4d886e2df0bbeab (commit)
via b89807c67baf4f31125d151f2dc3532b3420964d (commit)
via 3f2f6cb5e8922b680de9d67ad83d3b571d3b2a46 (commit)
via 96b5c49fb18ba7ad070b0c3ad36388d56c5897fb (commit)
via 190b495d472576db66a8727d5872fcca3d5519c6 (commit)
via 43564574f1de367f537a37bf6ec83bb4c29627c6 (commit)
via 93813b37c86a70fbd4d8c9d63f95cf8b87bbf425 (commit)
via 67e5d8cd040854ec4350c5ac9c538202a5329578 (commit)
via aef28989904e92e391fee905e51abc6bb2fd4de0 (commit)
via 713cdcbf65e53e17e3d63799938675bf4a5b38ec (commit)
via 8244c20d7cc1e3536525edb2bfee6690af928ccf (commit)
via 9482b9fbb6414468228c618c165e397116a4a8f8 (commit)
via ccb6afd6e3e3f178a35f62e6f3745da5b399d3cd (commit)
via 6b2e4f10aeb64868720de06d3b2da3cc2d908f10 (commit)
via 37a8db1a336ce78a46bf7f303e47e17b2a1bf694 (commit)
via 5fdf6324fafd60f967e2e8323fdacf84b1bfcea3 (commit)
via b125bd17270aca2af4d945ce8477f981dbc27e7e (commit)
via 4f1d62057fa4894e504458027ac3228404144f7d (commit)
via 655ed9ea1703173cb796070ed9843ea90bb74e58 (commit)
via ac0d427f4b3a2b82dcf395da74fdbc71ee598095 (commit)
via ec1f73bb0be7482f2dffd9bbca2f93fc74eca172 (commit)
via d8c823c8b62b4f0fc4747eb9e4e29739add34c17 (commit)
via b6471e6e2c88ae473453e3499d9cb6a607a3e068 (commit)
via 5fa1307022c1278575846faba5f3391b70d64b16 (commit)
via 0bc7245a3a6da700ed13bace22cdc157dc80f58d (commit)
via 9c08af2d814450229cc11914cd9614b74a172642 (commit)
via 6d4b2867f8441c7bf75dfef6b3c95a10241f9709 (commit)
via d9e3b590692e62d83c21e39ec6641c4c09e70e4c (commit)
via 654ec4010a45077280a8d97f24c153f289eb62ed (commit)
via 79915ff99e6c1df498d2ce89ac00a26bcaeeb190 (commit)
via a2e3e93f4423899d99687da3ce4ac57cbed437f9 (commit)
via 348ef89a5443529b2a67fa9d247debf3e707a4bd (commit)
via 621ff761b3ca490233e347411067da9ab72c8d65 (commit)
via ac2789d7ec54ba7de78e8304fd31d528c7c0cb45 (commit)
via e4e00185b58fd15c74913f19f4d5fb311b239e21 (commit)
via d64450d73aedfbd3521872e1ff7ec4f16ef0aae1 (commit)
via bf150a0bad8d3fcfa17f5d6b5a5ca75efae855ed (commit)
via 935c61442bc369c0cf9db6f998ef6a18ba83a116 (commit)
via 4324c94dd727bad65616817dacc5a75ede606967 (commit)
via 9d98de835cb018419e0ef97db37fcf9061247750 (commit)
via 56e374a6bcc87f7ac8aeb09887628a3286908545 (commit)
via 8424cc978c8c76aca7945d50408762de65646095 (commit)
via 7fe8399de97e50f631ce28ceb42515862a927556 (commit)
via 4a6a1ed4a113d386b131938bbc7d66e7b495e73f (commit)
via 8926d5a6247e48543772cd42790d474b4f8c8865 (commit)
via 94715c179098ab86bf188fae4a32e2283c5f173f (commit)
via 27ba7c949773a9f957a519f4b1e2b6d85e5f83b3 (commit)
via c07af0ab296efebf868a153e6c98cb65c5c23d04 (commit)
via e8f794f4c6f1cde9c97bf4d831f1df422b32898d (commit)
via 41548caa9b7ffba43e856bd288b98cc1ab8c3e8f (commit)
via 67ebd9cbb17cc45730c15f0def617afe37da8451 (commit)
via 4d18591be953e2faeaaa280484d375fe05857770 (commit)
via d80209703ec2fc85e0a4b3d4d23e7ed448987aca (commit)
via 8b2073398477b33d425b0570236fe4e4222fe2c4 (commit)
via 18879fef1741464e522624bcc529048400453e0d (commit)
via ffd9c127e6206b819a886227197ceddb4d6b00de (commit)
via d1982f935ef015f15f86d0aa5c64b6a4750b25ed (commit)
via 29d539288a13b6542f1fbabc11d1e42de8403f8f (commit)
via a579cd9aa8c57c8a54833f26452a1afef38e5d20 (commit)
via 00acd688caf385f38493ebd8d0a7b5f94d501a79 (commit)
via 7585b2b8b643f4f20c25374f433081aee848e71f (commit)
via a0f8e08a3c357ae24d3244940e1c6b405a0c17cc (commit)
via 840855c5edfb840a97fb063fd8f44a7e9e537b87 (commit)
via 5bc5ae8810c03b55f46b9e575389c3fa85a62b5c (commit)
via a2077e254098828614ef6621cf8df28185e711d0 (commit)
via 1d2736d43ba16c585e643faec4b6a5084d782289 (commit)
via f1da4b11eef6dba04a1cfa579c6ba313718105b8 (commit)
via 018a260a3b84c482af7751dfd98c91273d2265ce (commit)
via 45f3854667c659ab053f51f96e1923f36e6e20ba (commit)
via c244074cb684302be1378a072b33cdb8dd0dff1f (commit)
via cf466c2ac5ac55bb9b30b96fbdcad564e8c1ccc8 (commit)
via 0a01d393e6317b1ea69f8801d2b6546b4aa440ed (commit)
via eb6b0cf45d7588eb147d90ce790254309a69613e (commit)
via e67f83e590b8ce7a9912f665aa559cbc98c05de6 (commit)
via 38ab17f658f6adc1e6be70e4f3a6226af28780d5 (commit)
via dc29a1ce6a25233e608f90511e67af3c18e19a98 (commit)
via cc5fd9abe4980e48e2cc27b0225f3c6ba7c0756b (commit)
via 0e324a03c5bf289727d045b8b001c561276f9acc (commit)
via 092127d743462e370fd1156cb746f814a7b46593 (commit)
via 31d765d3801c63a66312023181edb3af25c03598 (commit)
via b2bae2f79b11a87af3dbc2a6ca3c0c4987ecfbba (commit)
via 99e8eb11cfcdde8cba6755ed4613c3cb079dfaa4 (commit)
via 1ac78c044471fa65b952c2e5c47dcf4d0ccf9b79 (commit)
via d86feca31bd9b814fd5317a0ebdbe86fb812a1bd (commit)
via b35a8b2f1f44c6ea48aeb6f7a74de01f6f5016fb (commit)
via 4f5946a8630ec027d412ee078974f8d92e5ab3a0 (commit)
via e36f6033bfe25c72c62b14a0aafa53124cb95dc8 (commit)
via f906b857015513af81f94db8e11b1e334c767def (commit)
via dfc43940242f10b54eb5afd2125d91f849df0b2e (commit)
via 61e137e28153e1715076b867f35df03e99dc90dd (commit)
via 23a42089156e63bbd2228675e78cdf1ffae63c51 (commit)
via 4a099de2e7e5374d633ba0eab4273b6f5c81ba74 (commit)
via a994041db36c9a6058fe591c7ccd018ed7affc76 (commit)
via aebf9be7089c1903581740851ae9ae67ffee2f4b (commit)
via 305e13e67faaf940ce6eb708847a655a0735a651 (commit)
via 2f340668a9a7c00f8813b097b157b07fba8cfa82 (commit)
via aeb7056972f1b383578204b9151b0ae6d8c1df81 (commit)
via de64ce13a78669f094d6909fce51d210e2f9d2c0 (commit)
via c603b11becccfc593ca590c3129d00c2289359b8 (commit)
via f7a6a40dbc279f0a54bdf947077cbad8ad52564c (commit)
via 7304afd662c3dfe0a97dd57928e018b2923bba26 (commit)
via 5f5dfff63f31511db45278f97dc22059325ec4d6 (commit)
via fd356fa28834fa3a9f22f9157a568264ad045010 (commit)
via 9df22175e153e1a8784afb85fc24983adf346171 (commit)
via 74b92a5c75901b103fb58f5e645c86a1c4ccb618 (commit)
via 72e0b2547dfcc466751ee4c5daf113d533140f66 (commit)
via fdbd3e95ee4b35c9b3f61cab71f339513ca326dc (commit)
via aed5fc75effd85f103584153377febc6a201bab9 (commit)
via 0398b8d6c86a44df0acd8c538b5fc279331a150f (commit)
via 0bff6e2d6942690d81ce1f33728de07835b0f5b7 (commit)
via b12e5614fbbaf658019e9c2962f013b068e5cb3c (commit)
via 37e42b4fe92cb8a1e830b9663d0dcd6fac1b1ec3 (commit)
via 91f68a68f992e3f6c3da26c616b5257230bd1eec (commit)
via be56871ee8f65c51b9eee611532ed036a71a72e0 (commit)
via e36a770198db8e67b94ae0fb44e01793eaff361b (commit)
via f2feec9809edbeeee0bb5b036e4ae25f9c37cd14 (commit)
via 40068dccc4f9c86cb9e7c425c4ab3e272312affb (commit)
via 20a0aab3ed0f4bb5c304e560751b09b7b82a3e65 (commit)
via 6e9567fe2ab39d1de89ecc5105c17443b66c9b48 (commit)
via 94309df7aa9ab48bec7fb58fdc1deb26e24fc4c1 (commit)
via 791174281c341539fab650bd934cc0060b7c9720 (commit)
via 4dfc5dbc4e1b267d440dd515a42fe6fd96a8d860 (commit)
via 5b2c414df12bb61ab1e40099b92fc8f00983b930 (commit)
via f4ddf30f1108b2c0b3eee5677c912383ac903256 (commit)
via 10e3ed9029dc0b6eafcd991d9f292fc079f80cf5 (commit)
via 41d1845edace3cf5dabd0aa7fa376b801fd5f675 (commit)
via 01ac68403c7d896de45b8c5f15dfeb2aee6e3444 (commit)
via 10eadbcc2866f11bd93ef379c76524521abdc218 (commit)
via bef95aacb8501edb086381b3d413485d732f00f3 (commit)
via a6e69c1f1de84549d99792031dd05d5ba70bd8a5 (commit)
via 34e967a5f3ac5fd0353731a259e358d462823290 (commit)
via c2f4122d5cc2a21a441470336c8637b6a6965c6e (commit)
via bd0a71fa16f668341a9361c695bc3ca44d27b322 (commit)
via a4af960aef09b7c0258b60954332969ef6d0cd3a (commit)
via 5a173c098a2ba6389251d9dd4f83e7dba29585e0 (commit)
via 100b4f2e9f65565e3e3e484162c4474effc54be8 (commit)
via 3d304f48cafbff4b7a1c0a9d338fb20aa4e4934b (commit)
via 3f7f365076a112313870e2a321452bfda6d40914 (commit)
via 8bcbad33671aa67a0079fe4f8f448458de8cc05f (commit)
via 9ae678af999b8a692c4e6efbe493f39f0085d149 (commit)
via f303dbd60d9c7984832446eeb9d4e4d89703c615 (commit)
via 6f69e520676f5f434cf43c250865036b3d516429 (commit)
via 276d4552dfc2dc3906fa2bd8690ea85b3d8ec055 (commit)
via b27896961a641e92a642b352627208233dfeb7f1 (commit)
via 24f03d4ecf4af77a5f0ae4968973c3387ffeb8ae (commit)
via 3d961d0d3a797b4d463024a11131e96c213dee27 (commit)
via eb0edac83f82516bbbd5a0412bbdf7fd27c687f2 (commit)
via 760f6ee894c5f473777c7ff5ebe5a04b25651ce4 (commit)
via 8a08deaa87a7dbe95786126feeb0192fe923ee17 (commit)
via dc365182240722969f044918ecd3cab00da55502 (commit)
via b677098d4e086c093554a064076e021fec0399e8 (commit)
via f749ed6079486300a65d7407e9fa3a7a296827f6 (commit)
via 3c8e93b7fab5b9d8ddb786772ab00d65ec127159 (commit)
via 5c14705fb3dfb359235314f22392e7a5ce6d4085 (commit)
via b3066ae8259d3adb4e00ee8145c55df16c3d7261 (commit)
via adec12c116e2e184cfa37d1c39cd2d83a7e89d31 (commit)
via 4e566232a751facfa5e0234299593a5231c60845 (commit)
via 9a472eda40ba686e45bf4922455518ffa3c887e1 (commit)
via f516a4c20854bacb878c9c89dd95e4673c28494c (commit)
via f74f61cbf72dc158832d81d6ecd6f970f93798cc (commit)
via 71ef29a86b252a4780517fc9b2bf9f7d3dd2d991 (commit)
via 3f5b7598805c8253c43c989a540a2408c8b685ad (commit)
via 9c03a84f6cc54af01d4fe655f6e0a0aa13d8ef74 (commit)
via 4d82fe66e8d38b20ad429cb99a99ed8741336d72 (commit)
via e7cf25a8ab54cd02b48e7443ef25764475f02315 (commit)
via c0518081f09298c67d1e74e0cc592fde8e0c6571 (commit)
via 651657fa61aa0a2946d56063295a7ce8d73f803b (commit)
via 4c4ac9642a973e825d71584b526ee8bbb83fdbd2 (commit)
via 1b451dda5f8905b26bafafe00423335d4fffe8dd (commit)
via fccbac73f9328cdde552d8dd82927481a60c388b (commit)
via 3facb0e9a754d2869a139fe135dcd2a58ced2347 (commit)
via bc06e0b148dfc4f2e52003a17d48463150f72e7b (commit)
via 8a4c286981e1a69596a6296ac14b66c5cee05550 (commit)
via 4e7b8beaa3b7b9ac8577b10afa9d58bb9d453b08 (commit)
via 663f6d42f47265d2deaa86c8a976e658fb13f820 (commit)
via c84f6bbfe50ff13928360d3cc349d7c553867ce6 (commit)
via 22a0232400ea09c57ab70d97cffc1f25e6320da7 (commit)
via 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869 (commit)
via 43792cf0de3a49fb871d432343672bdf16270e99 (commit)
via 8465445732dc04c3fb6cf954274e12d06b274f08 (commit)
via e3940304fe75c91f99e260a89fe8c45ece7e373f (commit)
via a911d87ad714cbfbbc5c5752cb8b445a7e70196c (commit)
via 8405419985b2a5f9c4f79b28af6c2324655b5c5b (commit)
via 13ce3603be6e1732d1580237ba4ed9b0f0f18a1a (commit)
via 1bce3adf994fae49c51c8ddadd4a2371ab6fcc06 (commit)
via 27b9952f2d68f2541191fed4589d5379d10c1271 (commit)
via 82075af2c14b1f8a54fa5796fb63f7ef23f98d9d (commit)
via 41549dfbcc747d0dc4a97c9a427c3a29e9878f05 (commit)
via f9498162b9aae9233a6d37c102bf744b77961226 (commit)
via 8a8880cb673893c479b473f598905c0490897817 (commit)
via d1193addae7e5a24dc867f9946681ef0781a766f (commit)
via 1985dc2d048a4134f20dc9cda61255eb33289476 (commit)
via 105bde5771c1c1b26b69e3623c88f3caafa3a480 (commit)
via ac06903dcff237777c8d507a03aafd79c84129ae (commit)
via ce5e165eae8925f64da52172f3e67ad8010a1aa0 (commit)
via d18547d8b08615a58db18ad3e43f721dc92ae298 (commit)
via 8f13a3ce8afc1144169a14c7704689e263316e70 (commit)
via 5b3da067f0893be637f9e992b409e36682ea081a (commit)
via ba4dd7c4a1d99c62a1c2edd68f511a82f8fe041e (commit)
via bc504a311794145e7aef2011f31ea87aa64bea4c (commit)
via cde67b27d6304ffcc43fc13fb6da56f583af018d (commit)
via e46eeeddfb308cacd863f11a433c10ff1d403827 (commit)
via 5eddd57823971bdb54f957d10c11ff3fc9f97b1e (commit)
via 5230aa4dc919e4aa5519146531f55d2d094a0cae (commit)
via d21f123b0ead1806416cf0dafae12bec4cca8920 (commit)
via b36d953bced0a4fecdde1823abac70ed7038ee95 (commit)
via 4d625b70fc3fb7facc7159feb8d49b78ac6641f9 (commit)
via b05b120205e697db6291abb95a8cd2be054f99e9 (commit)
via fd18a3722ce73d6c031dc1b968d1e1d508df17b5 (commit)
via 01d8c27e4f77375c0e157d115266129b76ff6734 (commit)
via 9a70630256e21a7b86344d555dbe39407e998f91 (commit)
via c0ecb95f3dc0c3e8d1545f0a37c0c3e537e1ea96 (commit)
via b835bb5265d614fd8a4759f284b987b365292c36 (commit)
via afa8d4054b8e0b1384f2d07f1c15163c0699d660 (commit)
via 4849dfd8f454b9c595e6ee7477f6b7b25c31a499 (commit)
via 34ac507d94ea4af59f931b26e66e7721c967f55c (commit)
via 3e35d6c9ffe40c6c9c4f0a9a58d6dff8a0558d31 (commit)
via ce39bd389039d99458950b072550ab52f0a07a34 (commit)
via e19418e02e25ae4c62eb95547220897fa6aaf2e0 (commit)
via 16f7876d71604f835aefe48f0bf230c028c05d99 (commit)
via 35656e95217a20309c0a0f16bf0c89a49a549177 (commit)
via 99d8e879938c947588332a9cc579d378ccc2a855 (commit)
via 6d90347b5dcbb10ecb410b1246613c0caf511bd9 (commit)
via 347fe5bb868b7383d4f6942894b31ecf1da6894e (commit)
via 0dc73ef7c304e6ffc9ce43b2131c77553a74e1d4 (commit)
via 22be3fbeaccf50e3c0f58d0f7e9f7ed77effeaab (commit)
via 7124407794aaa3762a25c26cd3a00a637f7241c9 (commit)
via 5295724cdc94a09713b021728b02163dad128e9e (commit)
via 936df7568a0e47547285a0dd57b81643264fef38 (commit)
via 80f3f9eecf3aec5903a1a52a7963e9029ef9d15f (commit)
via 6cfc1fcb515d1ecd8445905b4749b81b3ca69552 (commit)
via 582a1b0064b14cb12b18f48678876d32c59c11c8 (commit)
via 2f99e8fc9cb84ca80cfca6c119f1f22bbfd2a314 (commit)
via 5a0dd67a459338efb77f8d82bb3650d801ff0dd5 (commit)
via 83c3256ef5afe10625fd55dda2df5fc56b9b7393 (commit)
via 109575d7ebac21a0eb67980001ecd4173d696f88 (commit)
via 2ed73a6ff5f75c689e9d23603c2078ade27ddf6c (commit)
via 5dd0563088b3ca9f5fd66daa0ffe823b60e4b92e (commit)
via b900245c3b92fc460a3f7fa17d14eb08f9ab4c76 (commit)
via 2e3d4f4d5d386995e99d035354a9e411d1dc0331 (commit)
via 23ad6f3ec4b1086a987ba05e6ea77c131d72875c (commit)
via b31e4803316aa0635a6f9beaeceea3e18dbbe459 (commit)
via f5aa306929127aacf9890a949f9a21b38a0e0e7e (commit)
via b2ca446f682854c2b187178358b97174bf313fa7 (commit)
via b05a65d0adb340e4129f62c1d380a09935ee433d (commit)
via 79bc59cb349fdbb8d3fa81804eb121af3c340c22 (commit)
via 68477034727ad85aeed248ec995da746f7639e53 (commit)
via bf69ad5a189db1dca362723a3b0a7a1b545219a9 (commit)
via 7288962315bd9dd1c003e497081a2c03fafc0711 (commit)
via b36c1ccb1feb678f7279b4a8d66c0125d4295078 (commit)
via 203217665139943a4f0d1797b9a5f913b3acf184 (commit)
via 4bec0ef03e91506caf60d8842786b29c2d2ff049 (commit)
via 13b356b2b5c1857490b7911dbbb48e17a3a92b04 (commit)
via 6675033211e145ecd094b6803ed4a3427b3fd21e (commit)
via 402cf0534665db83e19c00f130184e94552a75fb (commit)
via 1a846c62626357f9e966ef50917dca3a357c9644 (commit)
via 824c862804128f6d31ae5f80fb741d12419da943 (commit)
via 70d394483206f5afe911fa21c8456b852c12da74 (commit)
via bfb2629c162c05dac30fc16180953efb671c4227 (commit)
via 4eb70007f1a750b5bdf4e2a08eef96cf7c666c0a (commit)
via 296ebfbb91bc9453134c467b4bfe8363582674f7 (commit)
via fa89c1268f5d4e9950f3faf8c027dbbeb6aac773 (commit)
via 976102cd178de0dd6b366746f850b026a2793097 (commit)
via 44ddb0c66aa268f0027665da61273e78c9d748ae (commit)
via bc273e17510c7680bcffee75858d374aa93f7e4b (commit)
via ac8eefeb243ad326946c3b2b78ba5d1367fe0f99 (commit)
via 6f9a11d38911851eaa22d3f55a0939417d7aadc3 (commit)
via 2f2da8fd3ff3c04928621bcbc0c01b9f9ebce7cc (commit)
via a3dc0a7f65bd4cfcfad6afee8b11657972e5a8de (commit)
via d537eeb527bb80fb791d22a7eedec245856b9d35 (commit)
via 43d223b5430a93dc0d777276471128800b9887cf (commit)
via b2e9744f80a002c06504ac1ef41ae1f7e48167c8 (commit)
via 28d45e28be904a53fef4310b3d41e41b045885b0 (commit)
via 23ba6f1807299311717df4d48b5f68d534ab6c47 (commit)
via cf8502c1314287df100e44f81c4e3cf32c198353 (commit)
via dcb1c79659056a9b762feb235815ef283725490f (commit)
via 8d7d784e23b5b2f8c7e28ece1bdb73b58199f16f (commit)
via 9bbf6f91c6e85ca916ec2c266009167f20f5ecfd (commit)
via 13adda68c54abf2654d01fa6523c379a13e418da (commit)
via 43368e1d9ab8437079001f7a5f6ae2241acaece3 (commit)
via 77cf2ef5dc9099501529151921a73be904757466 (commit)
via 3726f72c654ab357be5b79c78f238da7a869f9a3 (commit)
via db18b05b4b0bcf6b6b1d6e735b70c86bb008962c (commit)
via 61971b86bb897dc333fccffb7518056c83b99f45 (commit)
via 34fed69938f1296b62354b2a825b49602fe7af50 (commit)
via aba6f46b235a3a139c04d5ed6a3310125aa9c982 (commit)
via 0cb8d8513cf44a102953ff5cf93e9dd399f42e9a (commit)
via 1ac72f0659d64d6a14da862242db0d841d2878d0 (commit)
via 987f8739051ff368ecaf6ca1e0fc966c974381a1 (commit)
via b3fbb288afd9071523b61b3222869cfed0f95ab8 (commit)
via 027e73b217ec5ed334015b5484ff8d281258b6bb (commit)
via d47f5b30d8481272e9480118bdcb283690070349 (commit)
via 32273fe68f3d1288b2eef6b96beda3732d0ac25e (commit)
via dea827fc5c3349dc0308d0e22ab2d6791282cf8b (commit)
via 4a2abdc468f9028435df0b30d9dab1b5ba9a7520 (commit)
via 6f2750feaf2827ef8a1a0a5b2f90c1e9a6cabbd1 (commit)
via 3499769a6a6d3acb48d4d7eef5f656b22fecaeb8 (commit)
via 4120fa118fc46e07910c2f36d8ca0c790c2732b1 (commit)
via 618f726fcb851883a0094aa7fa17003889b7189f (commit)
via edd88788349db3bd2af5fc9a38e2ea9cc220757f (commit)
via 0f7b3ef4dc9e4abf0bd85bb759f620c6302dfacf (commit)
via 9ec80f85156e65efa2a8b95de185c4ac49cd11cb (commit)
via 5ba8bc973cca60cb06bf41a2808ba6fa4ed02879 (commit)
via 8e26d677a240d3b495b7c565006d75646a15ed53 (commit)
via eca4255a1a6c3603e05c4f3ca9c0849f529657c3 (commit)
via 356a418c5dbff10ae4a2afc599163c0a85385f07 (commit)
via cec99e6b2c28d3d32d770ad645c4b0c26f2e1685 (commit)
via 2a2757ac7e849aa35fc519ddfcc8688a46b60448 (commit)
via 4ca9d09e826e959f382ab45b2e1dfa8125135124 (commit)
via 5658c2571f34fcf7f0f10dbd45ddc6680aa57576 (commit)
via 9950eccba15155dda9ef8025a5a1685dd9db53b7 (commit)
via e1211e55062594679697d2175b7ea77dad173823 (commit)
via c78dff22918f29b3970729f32f70060b70e75678 (commit)
via f2089a69c164c789bcfd06b5eb9e0878f5520e13 (commit)
via 331e61312eab8ef2412582bafc404cc107fd5e8f (commit)
via 90d99f327063af7d87c61234896d4a1dbe073a43 (commit)
via 090d9d00b51cf130973f01770cd1712e768f1d87 (commit)
via d50d388b8505cd822e157db422f71937e41953de (commit)
via 65da7f144f53f8af57ff8d4e337ceda49daacc21 (commit)
via c622ccedda0134f95751bf14d1daa6fce2365d45 (commit)
via a7be2893a6449e64fe6cfcdd8700b0a367a69f19 (commit)
via 5d01527536684c75235f2ed288b11d253572b570 (commit)
via 5e744ef887c1e879052cb30783638807190275f8 (commit)
via 1b393626cef48974502e7077b191555b56680ee6 (commit)
via 466b619e95908dc073b78413f0d0d0b1cb97e4b5 (commit)
via b72dd4c228d71b44e487ff2c53c0d2883653bce7 (commit)
via 236bf91febaa3a7b0c2231a8740968e90aa497c6 (commit)
via dea10706e9159ba6e94eab4c25010f3006d033a0 (commit)
via 26f8bf63bf36f9062a5cc1afacf71462a4abe0c8 (commit)
via 8b494522f9f20e1e1d29089067d51fc141c33558 (commit)
via 0e9672991e9346d5c2cb9cd33e30fb3e573f88b8 (commit)
via f66affe97c40465e70249970b3339cc2f0a40e69 (commit)
via 3e1a8f9569478157ee932e35de928beb211f5df4 (commit)
via 245d2ad7f57cf877abf7442f9a189dc4c655f136 (commit)
via 79fad5b803e22798bcb087066234a954d0ccdc60 (commit)
via 2023145711ca36f06258e07f4fa1c490efbbf37e (commit)
via 9c0c156bb7ddca2d3fce7bea96631715f8c67390 (commit)
via 34cf511206839b0f2b76870bf2d487c2dbcdbc1f (commit)
via 13e49fd6364e94625985b9eb15da5b1decd6a196 (commit)
via d4a587a4ed828eaf3273b435e328120e73bbb2cc (commit)
via 49aef5a5b8873b80f43ca79edd5755d28cab53b3 (commit)
via cf59f47ebeccf4ea82b6c529c882644e4c445323 (commit)
via 0d58595077841917ad57c9f8d2a61184a504ef40 (commit)
via 8a0ebee658862bec66191df192c1d3b09bf0c943 (commit)
via 91d6df784db745df2b0a6827de8306246083bc94 (commit)
via f0c1b768b4f42c631547643ec01b020108c0ef8e (commit)
via 42a3af5688cd41550e2b517f676f03f2842e615b (commit)
via 9e8e7dd966670c80f3b71f8cf7e07f2843b33e80 (commit)
via 268c91391a3235cb00249b6eb9a2cb7341914fed (commit)
via ef04e3719831b50e62cb97cd0ac10548a35cef40 (commit)
via cb379ede3cf6cf367b2bb58b85d8ee849a82a9b0 (commit)
via 269362117d399d9d86b7e565e7cb827500fac31c (commit)
via 9db2b719087eb42cfb31018fe87657243f6185c9 (commit)
via cec19744887931294e9d4a1dfa4fa8bd42e57ae5 (commit)
via bd3fb5b8fb33adb751407a128e1f2240dfb215d9 (commit)
via 84e8e361dd3a3dd7314759f7f07927dac401d0e6 (commit)
via 3cabaf66d6ec7343bd3badc5c44c2ddd06221913 (commit)
via b1af947345ccba81244d3370756d0047d3bc8b6e (commit)
via 8abe6c668e9336418277e64983587f121c8534e6 (commit)
via a0f5b6dc16ffcb53f2ce22ab2eceeb2d67755a08 (commit)
via 2fd158eb7bd4059478086143dd58edcc5ea44864 (commit)
via ff8646eef8bdef6fe3091eb79627929c1c100c6a (commit)
via 4ed7ed8db2289a9cd61312c14344cb210dc229b7 (commit)
via fc289b0a832c536a2ec324634cb420f39b212696 (commit)
via 443bfd5a371633064bf251a74b27382c7774f217 (commit)
via ab8314b3d99625c9a2125d39f4f3e74bf9e49cce (commit)
via 64ac34cf666e2f6b47ee4d4ad8d57e8edac8514e (commit)
via b1a0d2a059824b9c2826ff27ce459c68d4bf0e10 (commit)
via fe33faff35a8ee19db823149e764e3373e603bb9 (commit)
via 491d01d3da18fb61fa6c7c61c091b4cb8c5773f7 (commit)
via 4abd5ed2221c826bcb843794286777452de5c50b (commit)
via 0e50fe5ca6ed2ce780cbbfa516aec20b023433ce (commit)
via aec47d1d54be415050bbd3ccb93c0157d60ed92d (commit)
via 239efab16429cad466591ccd1c57bba786171765 (commit)
via ac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1 (commit)
via 6d265cb4a956310d2cae231ac63a37e11fe376e1 (commit)
via a20a33ffa88d6ca8c42e5c6179024da3d0c569bd (commit)
via 10125099f09197b325c7e0e7f2af6d3c04f929a6 (commit)
via 3ca22649a6dfeb71058c33be4d0542b98f1f0ff5 (commit)
via b6304613bf0bb1c188bed30eb3df6e3e154b4196 (commit)
via 35adc03f3787405297259a1706608bdeaab4fda9 (commit)
via 361fa3a4948143be2b8a113e5c49adb8e8505eb7 (commit)
via b4a7fcab76dc6162a4db4b93d878a212553b722a (commit)
via c2345c187848c7294b87e51ddc9ecb59c835189c (commit)
via bf401b072ea4eaff1af425df69f32cad8d52b57c (commit)
via 0965b1441f522361b90acc924534cb9a976e2f97 (commit)
via e7826da33d884c21bd1a036e71fe1002fae76ce4 (commit)
via bc008695f5f9c72d2eac80d5dc125659ca106fad (commit)
via 1690b6163c6546305cb5f8811d4c7348d8f435e0 (commit)
via 420d30a957d0bc3a773de0490b26aeae1ad3b5a9 (commit)
via a28def75916fb4fa8280404f8c023adc0773162d (commit)
via 5f2dfcfdb5def494d13bff72275f6ff75fe75f40 (commit)
via aff9c0f8ab32e4f2f7ff9700afe84a61d23a08c6 (commit)
via bd2b290956e9a1931cf593b0f2cc934867da1d45 (commit)
via 7fe5e27e9d63b065731b1b0b69ffd344942f4f39 (commit)
via d9311bfaf572cf14af577a66e79c51c491553552 (commit)
via 68ce205943e0821eacd8028881ced3607cc83c0d (commit)
via d0e59a68884ad3a346ff0f6f763636c7245e4cb3 (commit)
via cba7e83fda349cbf423fab274f5b8677d8148947 (commit)
via fa5308bdcc4967861d1277b45205c2623b154a64 (commit)
via c9f203207d418f72217f4bc0997acd809a0479ce (commit)
via ec70be9f6162aca5fb14876e232e68c64b1faa7f (commit)
via ce3e49806d505721e0875e704de0b6fcba7660ed (commit)
via 33e0d1ca50b06a19fc1b813755cce5b6c4042d95 (commit)
via 16e1d72743fe26eae47c587587b5cd009195803f (commit)
via dea6e325f6aca9ec51b932ad514063d57bcc5aea (commit)
via a6904d5a6aa63e4bef7207407250d8b76b56f8a9 (commit)
via 4a6ed09b0f70c79b11bc1e0973a7333d9316a287 (commit)
via c3c874459bf57a70ccbf71a39a3a7dc3c472a201 (commit)
via 10c9892b66d56de0aab3fbaec3d59a0304dc0a21 (commit)
via 0bef0414267e22a1ba581b001836fc800b6370e1 (commit)
via 95c29a83ebadd0038fd304539a83c5e90798c1b9 (commit)
via eedd1410d342a8305f7063457d9090ff0de2366e (commit)
via 7544db951abbb5dca5373dcc7ae83ed60c0782ad (commit)
via a4e22a5df64a46bc99f737a982c0b9d1e8a45e2b (commit)
via 72d98d16ed09584660d0cbb759d90f8dfeef2343 (commit)
via 9c35a5290213e9a28e6cc691e1cc7ba5055653f7 (commit)
via 29b1539538f5f285e017adbc64b8d72b45c104a8 (commit)
via ff1fe6fad9687cebddcdf82076c55d7025df7566 (commit)
via a22279dd83da7a0dd2b496c92dc2522427f74e37 (commit)
via 270f824531ceef276616a5d2f3027fa9f537c10b (commit)
via 1d19cae752a7b032b8253feb4fa3b9f1dc162823 (commit)
via 08832196accd270fa053e8125c21e7a54ab19fe0 (commit)
via caa8d70005e4e12392683c799b30790fc4c62166 (commit)
via a117b0a51cd3c768453c244a3754c1b9a77e74fc (commit)
via ef603459d553034a3f4daeb9c8c673f5ef3e4ed0 (commit)
via 0588c79688b061699500f317e193bbb3fe50c41d (commit)
via 5d978e177217d8e9da8648498f0592b5cd885e69 (commit)
via 7e763b8690ff486d9783f43ce0f4bbb7c9e81b6c (commit)
via 87a3a92c46c770e6aa2ca1209f46af16eae2c4e9 (commit)
via 19d9d4efd18bcc633e99cb6a3e39bd9b22ca70ce (commit)
via 8020350c5277e056e89b0ea5e14a8d09408f7fb3 (commit)
via a8f077dc25b1732fb272a7ff10f72b5ca6f67b70 (commit)
via 4fd0a9fd005ea3affe8e61f6ec82817055a3bc2b (commit)
via b5b0f34c669a91b9d873221ea3d688cf7f495ab5 (commit)
via b195470dd29e8a5c8810209fb2d22c30004fe6ab (commit)
via 3067d3b96cfb88e86acf94d2aa1575cff0e0110f (commit)
via 65f2205d609d9c38e1a7f009d2c6833aecfb83eb (commit)
via 4b5fc357a17d59929cf39869d19fc4eabdb7ae81 (commit)
via bb515fea4ac30f761c17dec701c95c0b54fabf30 (commit)
via 5f7728b7413b3bed576f8dd11d1343c20b3a2333 (commit)
via 42f23f6218262ae8488caab214b7f272c6758941 (commit)
via 80776b29d60ebdcd3631604858f144a72b8bcb8e (commit)
via f3aa142b8b04bfccef2cbc3233b565c2b3faa01a (commit)
via 6b4680fbd08221530ad3d541cd51a866eefef6fc (commit)
via 51d543ed936c9ea7d045ecf80030e6bc8ffff29f (commit)
via 40d16a76c781bc9951d22ee359e07c6c240b81ba (commit)
via 6351190792e586b5e80fe0efa0f254b4da0b6705 (commit)
via 132874d7e3c94d8cc6f865b57f286cf62e5ad0b8 (commit)
via 92e18d93433197e0cee12366b17297a984e76bd8 (commit)
via 552e55ed06b1e68dfde4fbf3dc0dbd9f43f92108 (commit)
via 365f51be4900322d3c833183083ff359f4b93db6 (commit)
via 39040bb911bc71e49f2a2dd951f8af1b44e562d7 (commit)
via 67dd2c2073b194f68b10f9d53c70132fc385d437 (commit)
via dafa877d360978c80c71ce6c64a4cbc29effdd10 (commit)
via b817670b52b7414d592cbfd96fd77cf725a33413 (commit)
via 1f157432d9d71fa036cdefb51a64d35de19b50ab (commit)
via 4fdd372d502d241eb42032844836ae031830237a (commit)
via 3b2464a8d39b8b787664438253b8fdf7625cac32 (commit)
via a0def019aaf79adf3add2a0559ab75bb84d72085 (commit)
via 5c000dff26b7c5159ca1a6d562e7ab50656f4b73 (commit)
via 1a48ce76774633e9e27dd245ba275a714b2b339f (commit)
via 8c05462adbc01f0aba946c42422146ccca2ae4db (commit)
via f43f85715ac097b6ff4bfaed00879eb541428c1a (commit)
via 6e0813d359c6eaddc481b3b902ca4ccc1251febe (commit)
via 6b2353a53a621680dc839366f4b2b4f96eccb6da (commit)
via f1637ebed142eabd96cbc009edda8ec903c71fd6 (commit)
via db91f50261d30e66350281d18759aa7490672a34 (commit)
via b37a6290beb90f4f65f1513626205f7bac695624 (commit)
via 1e6f4800fc01c7957d0688158385aba3bf5ce8de (commit)
via 9ed608f98b2c8c483c994f884429420e74835417 (commit)
via a0f7013add6b1737e9a5e5d63cdf41ab2ebca0bf (commit)
via 55c144e691ec05a7b8231b5c58dc6d6659a1c4eb (commit)
via 73af8ed6b107040eb7488f6ec122cd05d5e2e903 (commit)
via 9343aa2bf070409716ae15f300bb2aa06eaf71c6 (commit)
via c5847ba7267b6eedd4b750f5eeece3ec037a27fd (commit)
via 60269a4a36a78063d7563a32a6d34107cb52cca5 (commit)
via bebf4942b083027860539b7c5e0649714b92e401 (commit)
via f4f4330e517a0497601baf6253d6408b77b10626 (commit)
via 22a5455c6ccaf6157095863f9e6da33a81541acf (commit)
via b1236ac35aaad56d76a5670a5a22cc2be124a736 (commit)
via 36d6fc0a3cbda55b9eb07a351c1312e369d4743f (commit)
via d6bf7ce6c26cd31fe744419269dea999a3faaf8c (commit)
via ea2deeec92695c33045d71ffa73add6305b17b9a (commit)
via 762f774785f4ef878ac4c831e1f4733dc957234d (commit)
via 4a07dc81356ed8728e204e9aabeb256703c59aef (commit)
via 6479e48ef9e7345e1111ed9fe578babd74faa1ef (commit)
via 7039122d13ab62045e1cc299fe5b4994aef3ac5f (commit)
via c2c2a31fdb228d41ce3db62b268efea04bd39c18 (commit)
via 47f8114261a50dcb44bd3be355b705e37d920944 (commit)
via c8a6db6fa0b06b978e5b63593a6b0cb3300ad259 (commit)
via af117b3cf1877da805d081b93f606f3dd8153502 (commit)
via 0f59c28f617516f3b8d30fd8e38a374a4060c191 (commit)
via 28d2bfb9c3e519a3b7619bbe5d061ebe520750ef (commit)
via c74088593761f7e839aa9a97728df146f3dfb3d6 (commit)
via 33d4099fc891760ea1f080746dee4dcfc36c757c (commit)
via a0fad44f986a8d09a0b319535955e32aa0507fc4 (commit)
via f56331b468908d1502c7ae26adab6f9b858cb13f (commit)
via 5fc2beac27f81d0840e717e3dd8d6524f9c2e890 (commit)
via 8eab413676a0222a863f45ff606f3db69bb7afc4 (commit)
via fa7cc15f24f9cd8e3cc07c7552c3fad1b756eed8 (commit)
via 1c35a88f1d8399902c08a8334d3e3303df833538 (commit)
via ec892a0718dc47c2d009532865c353daa749eaa1 (commit)
via b593e3d9b00b09af43abf1e95d68e68200e3c2a5 (commit)
via c192dad24398767edd64ab7e5e3a72df9265bda0 (commit)
via dcfc7dd477b74f84d673f0d20cb350c950d6dbed (commit)
via e3a7574e2e06f975a4933d3f7e77af1d9189d9de (commit)
via 91a65d2fe88fabe2d553a0362b2f76034f820175 (commit)
via b7a5f21d4f98e006ac98df0c3494a6b8380917bd (commit)
via 7460c0abe8a195243110e66624da095a44cc96d6 (commit)
via ec9ab52c3217835113f22431911fda3474598fcd (commit)
via 35c1a4396497a4009c99e5587aa908bb6df4e1e6 (commit)
via fbdf9406b0589e9b8bbfbbed606f3fff2d060b3c (commit)
via 3685b09fb85dc279762e19df310dc2f30e64b044 (commit)
via e896287c1643b8b47080c4a8ddbe9a92d9fa585b (commit)
via 7859afc4fa05f6876c4e6b95cfb8fc252efd96bc (commit)
via 1eac08cc37b3d8a42a1b81de888b29d079b0608e (commit)
via e4e26dfd3f401cde164e36f23fe17eb80bc9e332 (commit)
via 1e550d79b170a548f7903e4954c877acc6125cbc (commit)
via 17b1509aac6ff4205749c2626fddbb1c4d7255f4 (commit)
via 6056244624a21a569985e33b30f43f44c8da482e (commit)
via 5ee4a06adea76e607f47eceff65c6bd4a98c49ff (commit)
via d72413e64a3444868e72e315ba2ceaf5a9d2bf6f (commit)
via 1b36b65787bcb905fb6a2c7b790b07dcaacbe1cb (commit)
via f7584f0560f36189ef9434d157e83ffcd988c098 (commit)
via cbf959729423640e28a0d571338d3c8045cbb1e1 (commit)
via c20f6f63eda61348326a861a155716b8d9073307 (commit)
via 549dba71045c856f3d169bf2edc7bfc7cabe5a0b (commit)
via 006589cfa144fc1efeea1d114943c0bd1624e930 (commit)
via 487b24d8c244263ee99ed7c6a307161b1328decc (commit)
via dd2887fc3de48f6261d34208a0132122f05d7ef4 (commit)
via 2b213129c51f4a6c4525120319d9aceb04483ab4 (commit)
via 2f672fe62a125a8c499f72dc172049445c2665f0 (commit)
via 030f17b5eb56b6e48588f6da015e05f568144692 (commit)
via a4581526decb2c7ed2a1e16ab1f5ac65c03734af (commit)
via a5d43209a5183556b47a8ab4b0f9226fdf424ab0 (commit)
via ece66d651004eac0210217c4d48babf4e80d1f2e (commit)
via cc51fd4ccfdca1559efb0351b498bd8c0f3d1eed (commit)
via 02e2aef89bb58e8e0cc4390db41c5f775e1b7c3e (commit)
via f27c5390b2fcff06b1e2199a4f051d543670aa03 (commit)
via 461c4b2edee2f0a4ee7dec0001a6fabf46454a24 (commit)
via 24b368f8532b4775f9fd5bcc7958a84d4218aa46 (commit)
via 5cc854a862fef488bd08190eb5822ab6e2a50ef3 (commit)
via 7ef8ae7c5f352bb1ef166af0fe6a09a3d3b39f67 (commit)
via e58c48b4c81f25ec08174f324990d021aad0e96e (commit)
via 41d0efca578f03db2787246a4e0c7bf9b085007c (commit)
via b4687fcc2bfb7e72bd34aed19490d0afe0fd9c2c (commit)
via 06cc42316cde28e082b37216787361f2d87a078d (commit)
via 923b198a8426f02866f33362b26ed8bbf7a5c5cd (commit)
via 26e3a0c9ba4a8376fdf9f898637919d144d8b1d8 (commit)
via c27b8c2aeb369972f4f9f98f390607694c56a127 (commit)
via 3395762edd7232d976179b232c93cd901b739367 (commit)
via 46de9bcfe44d90bb61a386f2fae013fd65865461 (commit)
via ead3d5427a2df5e33316d4ad045510c1d2078c2a (commit)
via 974eac9d7694ca14dcdf6d1a74777a265fffdb95 (commit)
via 2e3b657e3a811087533cec33307eb8bbf454cd1c (commit)
via 99fd02d9fc9d6cc470d3b81c4cc3439b47bb9419 (commit)
via 3a8c4a5b428c1babd941606c2bbe9cf8a041d9d9 (commit)
via bbb1afc89b5cfa2f09b6a7c25fbfef745fbdd724 (commit)
via b560e2acdd41fe6b6228b11c2d82ad2a96188153 (commit)
via 23d61901b0dadd93a8d8e26fd113691e5b9ead4f (commit)
via 44c2e680824714fcbdb1d8151f1b0e842b91d42a (commit)
via f26dd30880bad7f75b5ed1b1683628c7c986bb34 (commit)
via 0a5ff21b13783cef3b26680d1673b1ae37697aeb (commit)
via 56529cb37488352c6b6ef6867de5e2d502ac0218 (commit)
via fbec8956077503e04f7adeae7f40037fc834edaa (commit)
via 9b4c5f878ff39e04127a1ad95f6b3832afe6d278 (commit)
via 7d00775ece9e2364da5cfd65ebbfce515859667f (commit)
via 2d97cd356e0f0320ecb71cf6a10616ba4618f318 (commit)
via 769ef81fec526f3c7513c88e82f98045f8971d14 (commit)
via fddedbe665db9cb9824150e454c89abdc750957a (commit)
via 1bebeeca940f4f6339e66eb7fb486c81cd951522 (commit)
via a67a9faef0e32886c83611cc7a0ba61e91123063 (commit)
via f2faf941ae49653ff6e1485adfee299313d47c91 (commit)
via f4836ba964a96364f39c7eab8b8b2f8656d14d05 (commit)
via 04bf20c5687b102b9a2c2a915d4c400788296a3b (commit)
via a681f9c91372d282229f6d58ba235ef0dd3644fb (commit)
via 65706a29bac50c2c971227a1945e46502845766b (commit)
via 09df4675f2e4f8f098954f9a38f44d12089f1c4e (commit)
via 56cf4bed5354769d7352c5cf4e054a346d2553cd (commit)
via 500c1d8576ad5a5bdc791fc7f7c3518a4d3f4b39 (commit)
via de979965d3f5de7e4bf2354871fe85b3f77c720e (commit)
via 799a2abe613be0645b84f5aaa050f2f91e6ae3f7 (commit)
via 34c6591498f4363ef2c71d683cdaaa33d6a6ad64 (commit)
via 066f6b6edcb63b363cc9a95c3727b996d1895549 (commit)
via 6efcd9a8b3dc6a01cd1f212a2d854e5f8896715e (commit)
via f015c27b5294eaf87d0aa814d94972e65c7cc90e (commit)
via 01a49af81b74c425baf1215760d50889bd68f27c (commit)
via 42bcef4ad646732e0684557fe08b74dd0c5aa7e9 (commit)
via bc301448c07afbf8aa70f2808be68dc8c50c9098 (commit)
via 08e4f6088d1c2decc97b37e288484a25cebeffb8 (commit)
via 5900049b6615fae790c2b49093a4c1e050afa963 (commit)
via 16807a48edfdfe89c8f8f745edeb938ef0b7e5eb (commit)
via 3b16c5514a2e01d47295e8d82cecd6b62db62955 (commit)
via 87746c154ae96bd3b632198273061eb6879f20a5 (commit)
via f4936735c5ed55abd37062791f60ba2754c89c31 (commit)
via c4be264168ee2f6c38b6b9b3db0a166441be478b (commit)
via f3363926de602b7590526740a01a64ca973ca78a (commit)
via 1e924157387421d45ccf2aafd33a886abda05420 (commit)
via 35a88fa501ff2e2fe133e7c0f38768ae703a43b7 (commit)
via e9a3881624886dc523a500a86bfdac6dc58fd0db (commit)
via d81bf7ddc2ad497037fbfde5d15cfa8d81a9e959 (commit)
via 6a8796db3691b9a53dc5475eaec5388bc1af115d (commit)
via aaae08a7e4ac526975403ebb5f93b7f24ea16b90 (commit)
via e3e3b08c81fec50ab1623a64bae164856ce215cf (commit)
via 622b9eb1a6047bd3ad3e1a3f120cf7318ac25b57 (commit)
via cf86120bae8973340583a0613ad622f0ca013efd (commit)
via 3bd894a7147feacf6a8ab388b1b1e0d685abfcdc (commit)
via 64357d2e04994ba161b4a99ef2bc45db0c180ea0 (commit)
via d685192a58d4c198633bd0e69cfe0a114576e98a (commit)
via e19616610d7327664f99215a69cb326682742dc3 (commit)
via 35822b3812f74319dfad28876d37645589b83a80 (commit)
via 805035d70cd8637c169caf97800accdd267d1d8e (commit)
via 58b584afe6ed6949c10b3049167c66cc070e0e81 (commit)
via cd635f74a3b71043d35501db31b3acac956018cd (commit)
via 238f2452e6d94f7b227a9d132f5ae887299d96c6 (commit)
via dfcb77a8d78462af49ebc42b41d6fc504f4c2cf0 (commit)
via 88e8ec1b3e372dc1ea1cd0be44c59ca7760e9008 (commit)
via bfde72c275bff9d5be21cf51ba790cf38ecd0d59 (commit)
via 1a04d1a7e1e0ab4456c8f729375b9415a8cf7c61 (commit)
via 870181955b565b4fbbf4efcbec4a43d687703d1a (commit)
via b6c30ffef9f060caec6122437595f9767612b48c (commit)
via 980facc35f88dfc6ae715c7e0b088b262d2f5204 (commit)
via f6512a69cd414a31e302daf107f5959ef06bcbec (commit)
via 79efa585c51f0657b319beb1e213d5721eaacdcc (commit)
via 73ede76585a987a07fbd67a7474b193e4ca05517 (commit)
via 46a3515b49ce30315e2b621525b29cd8263aed15 (commit)
via 9a4db61fd538c0a0185367661a0ddacffff5d57a (commit)
via da09a436519e8085d328a586c438b5b0a560924d (commit)
via 74b03b91333ccbc8fa70647eca22062e902f797f (commit)
via 751e4d66b4c6daaf04e6bccdb3f9ce4a0620babb (commit)
via 5e7e0604cf263449ff9fe9e92286cfde83fe0234 (commit)
via 2c32be708da9011b3ce7404f2be43b17ab1eddd4 (commit)
via be81798bb66a6f2d007983f466ba4fdeb7141578 (commit)
via 62147a2265e322c758743edf13a1377fdcb62479 (commit)
via 2f341b6e28e27fadd8160d95337c3aa854bcba3b (commit)
via 7e0aa6aa9983c745aedc203db0cc360a0ad47cac (commit)
via 050c224b67b0cb62a5620d294997254d5b6675f9 (commit)
via 2cc57ad8d14499775e4b9de4a3ffaf73ac728781 (commit)
via 3ff0b31dc6b8d8b7cd2bd617bfe843c3cdcf9f3b (commit)
via 2e8cf49e1387eba9c4ce062885b99a6eb76c01f8 (commit)
via 351e610191016136a49ee2a0889f1c4929169fc6 (commit)
via c93e8391bf595de7adde64d1b3f1d564da6f3aee (commit)
via 045ccf910b4345a1cfa9f3d3af20ae4d8d1defa2 (commit)
via 5506f9f67ec105b0059a0b3a66fbde82cb5a0a15 (commit)
via 16c3b12f199a7ec99a0b51bd83b66942547bba87 (commit)
via 80d82c196402f6a61aa84452104b9aaed364eb42 (commit)
via a6a20ad7a16346e2d630b312a94a4cbae60fca45 (commit)
via 416dc9c6e9acd57255015d255799ac031a262182 (commit)
via 64da5dd5eaa60269a8070e0bdb740b3b2c6e9740 (commit)
via 206853a02ec27f603ecd584503bfb33cc0fdc03d (commit)
via 155bfbd30aacd4e01a9ac8ca8032d804ed7ece47 (commit)
via e49d43ff73a309548dd2b576bb7b602f62be66d6 (commit)
via aa14fb50785c8ac8be5fbb148d7cdd88fcf8f896 (commit)
via ad2073b0b48e23028ca9b4d348970690d4501933 (commit)
via 3eb831e0ca5aa3035845fc039c58c6340fd51c31 (commit)
via 37ce4055fe907b9edd25498dcda7a133dbd19784 (commit)
via d41fc1249b1365a5373354d6c5aba1dd1ac7af50 (commit)
via dc11500a11e5ef1068182886007fccd4d7ad1c70 (commit)
via 2561d5808a330240a28841e8b3ce706a65ed31c9 (commit)
via 7c125e3b10ac6f9222d24c76cdf31a5a9ec8dae0 (commit)
via 37258e9950490293bb00808a55d82dea640efe6c (commit)
via 82d442c6c67e42c1697b07aa7ac2b323baf333c0 (commit)
via 807eaf04cb4ba3c1e5529069ac78af6d9969a5b0 (commit)
via 6cc98856315993e8723fc2c6a2baabd8dc7fd360 (commit)
via c1fc4b4d17ee89a2f3d1a2b23eb84ffdc02ada2f (commit)
via d320201dbe5a3677e96008738cb6cc754147e3bd (commit)
via 3559ed3fa4b4b8496dc304e3eb35ef468f7c3601 (commit)
via 38d42a53a74109793825fb5eff2c33407e957ec7 (commit)
via e084c964d61e6f8582711c73738c4df132410597 (commit)
via 314cf376c5b5493eeea6d3b2a357a5c832943b30 (commit)
via f21cd979851fb422b8c01ee26b85b0273885350e (commit)
via 250aafa4773feafd5ca0a61f270b1e901dcd8987 (commit)
via 8c00185a1eeddb7218f8cc02f4c596b7c966a04d (commit)
via 0b1fa2880c60dcb97d15e5d96e5640f3672dae48 (commit)
via a915c10f7f1cd8ed433554f05a7281995ae9a540 (commit)
via 9b334a2ccd0ba00d67ae590b3bab470836f79269 (commit)
via a4f8732b2a0c2cf48cff088311ed0ee2b17435b9 (commit)
via f075eb5e6b0dd850304f78cf4d5c94df7b44c7a3 (commit)
via 11b8aeb88174dd67ff8b7c58377e8ef94ccf274e (commit)
via f8c2a96547f690bb6308f1dbdf174679afd01b2b (commit)
via bb0974456ed6d421e8d0b257f1e108c242326afc (commit)
via 9c88ed8f116dc5f9471280c73f9ab08c81a86f2d (commit)
via 96161e2527c6fdc5c507fa1c0b8e7b8e7a08a03e (commit)
via 7fcdc24df1cfbf6c26be311efc2a6ea1abc3d34f (commit)
via 06e03fff313dfcc5f344280f8ac70b0ec8521f3a (commit)
via b35d5edb03798388d503d922d8f909a133bf93dd (commit)
via bb82e93484cdd56c67efd52b869a6123b2623f6c (commit)
via 9a0847060d5823ec520ebf0c3e307e26442e5b8c (commit)
via dad44a1fbaa460e5ff80ce203196bc1c1317dc60 (commit)
via c6d811243634c84e185a25faf33491ee1a5f900a (commit)
via 4d1931791d0aca95ce82d5391f03b31613d9173b (commit)
via f8708a14262c9abe0a6823de4470f5710374fe40 (commit)
via 915ef8b18e28e6418216a582067b9fbdd6395e6a (commit)
via c2825638b6784179f191c6ee8ebbda1c49ae5271 (commit)
via 231c0592639d6f5c1796feb4a6375eab202a4acb (commit)
via 6c1c9a8bbd2aa3fbc627525b452e7dbbaf40efc5 (commit)
via 9caa33114e9195b0d28ad46d21a11a8f838ffb07 (commit)
via 6a69a054f7581d16d4f65f80c45b92176311e1ef (commit)
via d47b13e0e2286ef9e9444292bc5631f43cf226da (commit)
via 56a1b672f4b97b10b093f02540dff1c855a69855 (commit)
via acb787b032ea5a84e8a5e94de0b0bf97523f8b47 (commit)
via 9a724e7b6b7ab9c5dd68954ed75d857c860c8fdf (commit)
via 32d849b35dead5af58e47bc20c04cf4f5c8625ef (commit)
via 04830f249f8cb2c4f89e12cde9212febf50611ff (commit)
via f29cf775fa9d4c8df1445e7e04bf92deda60e001 (commit)
via b39910205f54538f53e77b9ae13f1d41ff728f5a (commit)
via 62aa7be1959a8d1202ab2c4809d76147aadeeeab (commit)
via 7cc3f8e23b5c19a50722adefce986230b191e9cd (commit)
via 79f338988c53625a3ab3fba63f06c6ffd224e9ff (commit)
via e3a3797ee558f4f84c67a65e1d9abce845f15abd (commit)
via b53e4c0e7c0832a1779d5000a71a9de51dae699b (commit)
via bcb51645d3ef1211efbce59f0935f5f0223602a3 (commit)
via 1798301e20d5c5be69a362bbec149abce446c215 (commit)
via 0735fdddbc086291f6d2357e8fa57e5df6095e89 (commit)
via 4978e369fb75a8b7756bf4201668b2a9d9556286 (commit)
via 47daa70fe08c57aaafa6fe1a7e762072909d0f8f (commit)
via c389945b7a470aa328972026fe4a836c57ccb7ae (commit)
via cdf850e9d953f765f600e1ecae61664eab5ae7f1 (commit)
via 8fd3fe9331ea62972272f0f9f7dfcb7d39a7d2f5 (commit)
via a6760b615451518704601cae9327d333fe4bec57 (commit)
via 1946c4ccca04e374acc040fc30c8b44d2c9ca0a8 (commit)
via b6b806729dd5c4c46981d59f351460b4d7989548 (commit)
via eec461d0a8e7ae14c7fe8f0196ab8d0e30285d83 (commit)
via 91ee7171d0886731900ab0238ce3795241d877a4 (commit)
via e063da67902e2ba03cfc6f7381694f4c6a72ecf4 (commit)
via 95824559df96a53ddeccbaacd91617f83c8d52cd (commit)
via ce7715e2594db00b2f434f62aa264a1061221b72 (commit)
via 56db1d676cf48a3d90174f212379679d84bc3118 (commit)
via c08790597c54c015ecfcd7ea56ebe30fa1d9e946 (commit)
via 69e976f8cc902adc5ee8aec24e4a208f4afd51b3 (commit)
via c3de4d92dfd0a1fa8d32a00bbb99de2a4ee0e140 (commit)
via 43499ea30db2a866412c86952c7e1d7b158d806f (commit)
via 2986367f8eea0dc5febab9c9fd1cf06b3a4a8fdb (commit)
via 0ae1c716a162ce43a63c16c37aa8c6caaa484650 (commit)
via cd78b7a16778046c0cfa4818780ea94a9a90c32c (commit)
via c25b1ab690ddeeba239a044c8d0086867de30f93 (commit)
via 0c801b966379f7826fdd793b26ae879c2edf78d1 (commit)
via 8d297bbf604c8318ffc72d5a7b3db654409c5ed9 (commit)
via 9a4073e20b2f1da74cb3b46707e4f6fc4e700950 (commit)
via eee926f28e8745dcd03adcb1113f3e4a7b79b1e5 (commit)
via e7286c5668bcc5de0bfe523ac7b7cddabeffebe5 (commit)
via 340c283058287c3c1307f0a8d44239e802d6c8c5 (commit)
via 66c6502d7a457057683f56fd6d606fd9b2da0655 (commit)
via 146b80ff180c0490fa920c183d665f536f2a4b0b (commit)
via 58a345fe1f0407cb2743da0b295ef28cc7f23c72 (commit)
via 7ffdbc4f3fe7aaa8862a9189bc625cbbb05ff9a4 (commit)
via db3516bbfabe710a0292f642cb83b95ea24c323a (commit)
via 8e80f9d1d5cc0884ea1e677f796c69c36a5893cd (commit)
via 0d1993c072e5617b69204aef641acd2385b080ec (commit)
via ef9bd0b8d7d0a70f9fa9b239a03099c57eb5ceea (commit)
via 3940d2c36abbf7c4701e312bd76f6bb119898c8a (commit)
via 797eee4264d1b504aabcbcabb6de2f1108441261 (commit)
via 9db36cf86d58f93def38a94ed05e1854beda3b20 (commit)
via 0ef7f98177f610dbb503d87f405c54e3722d8b25 (commit)
via 761e171ad834a0d0adcd8712fde85ab1325afc3a (commit)
via 267b3b8e068f5043419991175bdbc56eb7a575be (commit)
via 137fbfd2818b5d1443f5f628e28b55b4e23037d1 (commit)
via c2270cd8a662cb8046bcde090db60a933b69d0ed (commit)
via 7ea08e8cb74bc21fcfe5befc0f3c8de3762cb0d6 (commit)
via e9b0081f986716eca364580fdfeb1034c5da76c9 (commit)
via aadc1740c74a65b916b7d9bb6efe588352326871 (commit)
via 679546067e1f3e1617bff22d03e483fb2beeed24 (commit)
via a572cc6fd43e90e28e828c6bdaa344c1ef6a75ab (commit)
via 8ae8f9c382591537963adf2398cb508c4cb3ac54 (commit)
via 7eed1055b89ad3207151734d34849dd8631d2da2 (commit)
via 9ef4651c4930423f9678832f793343059d4ef9ad (commit)
via 5809534fe153fbbf925424716eb2e295f2217c65 (commit)
via 02962cd9eae61acef03aea44afb7350bfa30bae7 (commit)
via d2dfd2424284bedaade2a203a51ea82364270a92 (commit)
via 6e4f085c7f459e0777a71bcb61ed3aa8257fa386 (commit)
via 1bd1b714219e1c8324cc2fb5feb4496e80b6adfd (commit)
via 9bea4d16a6f009585841c1134a024d10a61b8d56 (commit)
via c4d4ed40834de8e2b493f83cf15291f2d2e38c6f (commit)
via d8bd95efd8119e06e6753c841f1bbc54bb09d5de (commit)
via 79bffa3b90933d33390cb28b810bea5980a5e42a (commit)
via db1ff0288b923bc17d2408a6172a016b7ba0a6a4 (commit)
via 895d4275baf1739a1a02d6c5c918be42b9102702 (commit)
via c4312b1985f4f3c567546f82e7f26f9b8e914b6f (commit)
via b13c8ab2b93de7fe1adb1ecd307d9078ce299c6e (commit)
via c1862d0f60ee6050e3d4add7bbb1a595b1758473 (commit)
via 77ae9c1933b5007fdcbd222b0eaa2d775ea6ae43 (commit)
via 7feec526b7efc8778a5ff536332d4b2a8437dcbb (commit)
via 3319bd54ab4e8f70d02634edfb33e0bf2c04d007 (commit)
via 06d2788cefa3dc24ce0e92e795cf3987a6c630ed (commit)
via 9c352f1c234efabd0e60a0927ae3f25009e4932b (commit)
via 8915a9b7e86881dd3f658e851983b532c64e3b5c (commit)
via 43cdc0a8fbb1bc48f6d95183a6840a76aca41a8f (commit)
via 582cfe03cb7496371bc6d83af49b6324d0c36887 (commit)
via df3b6708fe2384913e66d90340b619190cc4530e (commit)
via a680de9a980e9d268846e8605af14ba1e7f3a39b (commit)
via 3604307d2f39ddd0b7f640148338b7ecc0ea4b45 (commit)
via 430e004ef7ecb3f75fc3c6642c9fdfb1d85a3694 (commit)
via 4397c913d5640ba61316d3e631d544cf768b5a36 (commit)
via 5f515954d10b69ba6c390e7b8bcfdba2ced7850b (commit)
via f3575e08379b36ab3a286c8fb5838a2d54424073 (commit)
via be20f084f1dfbbd5f08d220469128ec18727941d (commit)
via 6e7675a70f5a375159f94354fb6f38519303a73d (commit)
via 6b21c2bf57ecb18d7df949391ffc178f00b85630 (commit)
via 634a9f67d95161fa0182fc38601832c98bf62ffa (commit)
via 18954b29a1b49c9ffbfef925fdac4a23194ef82d (commit)
via 2d5da47320d6d22a58b793801999ba33c43c758f (commit)
via 60f2e42e00083accdcdbdda399534082bf309d1e (commit)
via 6637a4265e6144f5a9ad29e9fa08aba4bd959cb9 (commit)
via c316a17c40e44e8798b34ff84130904f2e7a53de (commit)
via 1057567ea711d80f9937653179b06507827d5819 (commit)
via 9b4888d5161e540f2f60f1c537cc66577094eac1 (commit)
via 5697b730e2da25240068ad935b9074bac2d15b60 (commit)
via 87d094f308ab080932cb6f90399937fcf6f8c9b6 (commit)
via cc203475bdf401cbceaa003ed425884d686c18e2 (commit)
via 859d79870d7975ef8d98ea728ee52a264efe7d1e (commit)
via dddc0e16ef5d77e4f97d02ee0e2d4234c97dae0e (commit)
via 8d3842cd156eb6cd6cd6c68c49c090b8f9452a2d (commit)
via c4e0beacd71d4a65cfbe27466ae3d0403c39ead5 (commit)
via 29f628db8835fd86b85ffb40d4a9ed5b1c28f1e6 (commit)
via a5eda10c7857581e6ee641937f99aa76fa8044eb (commit)
via c098766357b77f0553ec017b48abdd563de0281e (commit)
via be7fe1cddbd5463651e0dff3e8d2cd06455246fc (commit)
via c20a0642333655311b1f5b6f78adfeb8ec9fe1d4 (commit)
via 78d14d2b9325fb4d25034eccf5650ef967d19640 (commit)
via e9f40d7d68ecc03c8c32ec0acd07c35359fdb4a3 (commit)
via 314dee8ea9be79a450d9f0b451619b67ebe0e017 (commit)
via 29960db7242169411c6a51e721bc995b32a603f8 (commit)
via db0cf0603a08bf05eb3e412533072e0441921fa3 (commit)
via c6f0b406f56ac5232d08cbd88c0bddfb2f640e90 (commit)
via f01dcfd9a7954462ea08d2c7b24dad0ca5e07db2 (commit)
via 66e749b6edfe817aa78d70c437ff59904b3b9b45 (commit)
via 82ef0f70744ca47057b9e95cd926dbcb25ebb0c8 (commit)
via ed60fec722981ecfbd9d1c46b4a2294b228711e9 (commit)
via 2223449a47a8908db2a1992379f54294128a7ee4 (commit)
via 96f9814df23564e16909bb5ba00de4a202c63417 (commit)
via 0eccf19f96d6218dd7c2f8d13f0546c2b942cc08 (commit)
via c86a40c6c2902b73ec6f601176820c760524afd2 (commit)
via d9ebcbce29f3621a687872270cc8952ba1501e56 (commit)
via 93d960127c205918dbb69ab32e686b20ff365a25 (commit)
via 868ac09218632073a0366fcae0436cbad4bb5a82 (commit)
via a4957dbf04e53afaf210a098c1b0f54973618d3b (commit)
via 6f2f1a3a706e56b3fddd7ab1fc9a313343c85d4a (commit)
via 6df55226405d626059f81bec3078a70db41dec9f (commit)
via 566c56c91116321f48573a0a4274cc5244330490 (commit)
via 394816ee10a85e3e0fa7c9b0a4ca29e7e160e63c (commit)
via fe6052e1eeffd4e2e2210cebc480b90094429a16 (commit)
via 14cb1c0b38b120cf5325d9538cce1a0347e2b626 (commit)
via 1a2ccd2e32ecf767973bf96b965e915bd0a04bf3 (commit)
via e00b3c9bc1cb8f0ce1ee39f07d7a216ab12c3064 (commit)
via 0c532a298058669a72061ad94ba9e24170ae91ae (commit)
via f94cc8975cfcf8625833eba0c0077bb878f0cbaa (commit)
via a50a40267668422e60901cc7fb949050caceb90c (commit)
via af70908dc41c8bf21680aeb2f849ce4043b2031a (commit)
via b9fdaa8d92d2918001969efd083c6ef9765b3c82 (commit)
via 1c215b97f9a64d6ba9821e8a0cf0f44526f29d78 (commit)
via 1996e237bb2fd3ac6c487b6e0821fdce6e03d122 (commit)
via cbec665beba8acf6393a8c93312bdd3a03a0846c (commit)
via eb3e3c67e5f922e8f2c665e1687a71f08dbe37a8 (commit)
via f844cf0ec3887110375e9c1d4c48a68cb6a8b141 (commit)
via 171de4b8fb2bfe1be8a2f7f479047e51da05883e (commit)
via 04248ead1f57204119180022580626e31c165f60 (commit)
via 04b3479c3f92e102c5a7d1158ab608e0015252c6 (commit)
via f4b0a6714adb7371e3b7a0f47589c3dfd958cd09 (commit)
via 653090d3219377766f1d4597819fa3c805ce49eb (commit)
via 2bc84e8a6d94d9d7ead1bc4febf0fb331394406e (commit)
via e6c5bb0517d29b6d888b8559facb797b442e7b86 (commit)
via ab2733963604205afbcc1bc164048864e955c8ff (commit)
via c1e7d6a827c40a56816e3cd8e3815790197fa41b (commit)
via 1ac688f831d2aaaf7f0cf500056b4aa0ddc4ed4f (commit)
via d5f0636bf6fb6b5e54cd405811cfbfcc98fa667b (commit)
via 7ad8b86c674ed941b354322f608cd964ca0affb2 (commit)
via b9559b8bc4b3c0dffaf08569704a0484e1fb8080 (commit)
via 4310e625bb94586d96a48191e65c9efa71525f0c (commit)
via 854eb72b00ba46d65ce36dc3432f01e223ce44cb (commit)
via e292aa7a9529771c04e9578a2307b8c95bb5591c (commit)
via a62e59897771e2f04fad908fc891714b9bd75d7b (commit)
via 1e52a0735533acf8b50494bf4274f4d4c4e7683f (commit)
via 6a727d6d3d0cb4fef7e02fb3ba87245eb266dc95 (commit)
via 6e46b9c76c408269db2496add31514918c40d53c (commit)
via d35ae83384324ec7a03a56600174b5e925510b74 (commit)
via 4081c0f1222810746068579c6fbbcd8a9b59cbb8 (commit)
via 10268a4c0d64b3892397aeaafbc4b91f6a1e0dc8 (commit)
via d9b19c4992e7384f12441bc13c0e22d4054b0487 (commit)
via c28ebe255ba37f4dcd295cf6a4608424aaeb699f (commit)
via ff83a547feacaea9263c04f527aba4faae77035f (commit)
via d2de23ad3916c9d6f6102688fdbd5fdc73053c43 (commit)
via cb658d218b873a69b1f19971695f92d5db17a388 (commit)
via b80d067ff0a7d2fcca3f8c01abf4b7201e71b8f0 (commit)
via 933c5a623f247c63b642988a2984f5ce9b558d27 (commit)
via 72aded8673d6cb2d0e33696e010a778e9bbfa817 (commit)
via 7571f7f297c8d8b4fb4657f84437b1d156957e16 (commit)
via d625f9a988e2b7d4a3c43e477af1d94a6ec8bda7 (commit)
via aefb52a69351517dbcfaafca1d21e5431d4119d1 (commit)
via 452b4ba5f70df5b8b2332bcadd46eec95273b50b (commit)
via 7ea45d72f91e22cf6c9dfa23c79ec24a5118c6d3 (commit)
via 26f187cd169e484ac2b8ac3f9ece55a597caadf9 (commit)
via 1b1149fadbe85fe74cc3a1d7faaeb63549371026 (commit)
via 692916105d13be0ca5588bf8aa94b8ba04239269 (commit)
via b42945fd28b881e23016ce2efaf5fd83d5038f34 (commit)
via d2242e347a25dc15fbf7286975e3baba143deea9 (commit)
via cb0a2700865a77a111994ced22fd68815e5eed63 (commit)
via 15cf126c04a3720fb856f7f3bfb56869d5855939 (commit)
via d6f85c8421acaf09fa5a25ae2621819889d54038 (commit)
via f98cd059076c64cdb94b9743c544458b2b91716c (commit)
via b40699581c0d390e653f36a5bba99f13cf9763a0 (commit)
via 7535d5edeaa5cfa5ba369e8d3ffb47972483394a (commit)
via fa4c39cb5139e3fcd27bb486a6331297e343d248 (commit)
via e681cf3fe50d3c8d17dabde079bbd949a59ef53a (commit)
via ebf05345dadb3fcb232cb788a9126e563f6bb767 (commit)
via 41e83f2b16ec57fb7e163c19fc315c86e4994b2e (commit)
via b10a8bc7de0087b5c509b4b0831e606b56b6702c (commit)
via ca9584fb9b4a54232d2538de9f75b1916bda00fe (commit)
via a75cf613fd7d0a48d526a996ff5c250c599d3ab7 (commit)
via 968bc5cc86bff4ebf89e63bf99db7c7e777d4756 (commit)
via d2412fa5d0051f7eb7b13aaf98173b5d9a55d132 (commit)
via c17414a2a4de406c1aa55882b25a1644ba26f555 (commit)
via e053fbc44f32c12a67f4bcd9f01142b4e043496c (commit)
via add67df84c59a6c28111d65e8d0a7e6b4994cdb1 (commit)
via 50bc912a2074c974c9c5074e674e9149a33b64c2 (commit)
via 44a8b4df1d6f5b8096f01787751fd51c42e78fc6 (commit)
via e3bdafe2bac1672da335fde734b337c5504e5437 (commit)
via 9c6595ab6873e15fe533b05bb7b98c11f17c5d57 (commit)
via f82aa1657b7254ab634bfcce7354770478c31686 (commit)
via 936384714fa8b0f7ca8cc3b5637394461bc998c8 (commit)
via d85063237a6a579905f9a3ead5749fb4e931dec3 (commit)
via 941c9cadbb254c37b945e55379b5fd4006034129 (commit)
via 5d2b446244becdd4a67d7f216ab64cf120275c8e (commit)
via 238830c697fdfca5c9cbb0bbb24fd215f643a934 (commit)
via bd890911dac4a201cb08c54ad5a7444b7306151d (commit)
via a817ff49c331c180f5b75cff4da1c338366c5d4e (commit)
via e79a4bad70029595e43cc536c0d1e60d5d6ee115 (commit)
via 6f97897dbef256a80fb08c561b7f447aacf4bdf1 (commit)
via 8d9743bd43d7c3123bfee2287e879dde0ac9bba4 (commit)
via 93084fcd9b85e9f982b75f63f366081f5fe8e2d8 (commit)
via 3043c1aba16b1b5bfdf6813d90ec661988ddfa3f (commit)
via a3718e9efd2e0035dc0c008c754309edd8d5ae28 (commit)
via 0e3536f9844e6a6c7a882387ad5d765944f510ad (commit)
via 43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a (commit)
via 82188b295de579bee5f68de9f4d76ce4a3d41aa9 (commit)
via 6f4b1afcdc8317280669d020765b8215110c4584 (commit)
via 7963511fbf0459fff586c3129705bfbc706770e3 (commit)
via 199af1503922ce2134d774a78be0d9e2ae055ab1 (commit)
via 26656b1dc6c00f2eea0d329cc2637aebf3da1458 (commit)
via 4d2f5d5824be99326c2c3e459c298e338856d8c8 (commit)
via b80c3053162ec5533e120ee4e4ed30296d4c5fb2 (commit)
via d09f2c3fc15dd4491e9cfa455191045c0729a3c3 (commit)
via c5192092506e52a5f075b137a36933e42db64563 (commit)
via 79b289e2d8083691ccb2c943d4502e1af54e81e2 (commit)
via c2f2875869a3e427435ea04bcd416ee2f99e7ee9 (commit)
via 709b551853919f47b58aafbb95fd00a98bcaf76c (commit)
via e0d13cbd4bcec3e8136925a3a07f85e58187da06 (commit)
via 4666280441d1a8d3479d45f1ec5b67cf83d58f35 (commit)
via 02f12cd4669463a1b2346145808213adeb303e2d (commit)
via c6486df5f1400d90a13df5c6dbd96aeaccf8225b (commit)
via 70b8286a9749deb6639c2fd5b39c7e4a26195738 (commit)
via a480de357b17b1b2057b8375284079ccafae39db (commit)
via a504d23a83d115b1b29a5b1fbfaeb2b09bc0e22c (commit)
via c6056a744af028824797e769ddb71927740be88a (commit)
via d6867a7559ceb7380fc229f948fd5fd910404643 (commit)
via ef8e6722f2eaae6d65b360459451f57f1350d2af (commit)
via 469bdc72e7b00509d6578f5caca01a45f5db5027 (commit)
via 5e2e7507b4ef8410501452224d98071657ea2d53 (commit)
via a04a15f586590f1969ab31478f0b04243f760769 (commit)
via 321df0656c7557004a232b4ac3d8c354a59de364 (commit)
via d7f3ff3ea7830389f458be7c5eadb5d4a4e0a90b (commit)
via bf6778dab2b3efc5a0ab01ee41e62e966ef08069 (commit)
via c92444842b32533b6411230e3554509a09924163 (commit)
via 6780fe1095bf34f92f89a831a577d42b311a6a9f (commit)
via 7b7e7f1da28585cfa49cbced50dbbd75a143cd20 (commit)
via 0fde2c536bc483baa4baa2990ebebfb3a7c00415 (commit)
via 1a70ae976b673f7762f14734785b34fc5ba92eae (commit)
via 372405a5e8adbe5affce56410b6d6048c63cac3f (commit)
via 682b25469e66ea45b214e95962671373983c118f (commit)
via 963843d4d07aef6caa296dacf191f8adc9518596 (commit)
via d41401ace01c234f42697e190a2ac95991780626 (commit)
via 1522597b057c321d813d3433bcd1e17c02a56557 (commit)
via 7acd011bef4e461e9caef644f20379f41ddfd631 (commit)
via a6af384b19c63bab4a1803c09592c5b5bd8674c2 (commit)
via 7cc53fba0a4e5c316a6e86fdae28f8cc9d0f9a68 (commit)
via 48ffa2b8cd986527a41654c3b27755bbf6762048 (commit)
via 585a269afbfdb71b99ae72c22ef5101a800d565c (commit)
via e0dd41e9671fffc957c3d8f41adcd52274319f4f (commit)
via 74ef968fbaab0bd52335314abdb3e0eb04020fb1 (commit)
via cdfb4fc32dfe130698fa72629aaa99aa06b50044 (commit)
via 27dc26ab3938c31a14c356f384acca93128e1691 (commit)
via 2d5a88dc5005a4f4b0584d02719e479645409e92 (commit)
via f4ee58bde946ec87c8ead17d7b47c1c7bcb7c3f6 (commit)
via 1650ca11248ca377a6c8b6f7e21ec2aa8e7b3fd5 (commit)
via a7dbb7d12b5f198dc5173f55d0a049236b3c439f (commit)
via 55e5bf59f09012c978aa952670be654b6c5598e8 (commit)
via 49e66b4debebff088958077201eabab36df168f0 (commit)
via cfcb22a541ab8f783bf667cf7afbbfd9cd243cce (commit)
via ce746418ef15c5a47b9ab17c249ba5f7c273db4a (commit)
via 10d43c801e9edb475eed059fa47935c2bb45e578 (commit)
via a55515eecb1c8edb875e30a411afc55f304e88d9 (commit)
via 6ecf4e06a48cfc6dfbdf7c8f2969ffe7271f15da (commit)
via 3db2885585b1c4172d1534f96f4bf97f5f6c465f (commit)
via fb78e89c56db8fddf3044cdc644d6e799ae97b3a (commit)
via 2e6ee069ae81f3b5140059f6b997ccb0dcd1684e (commit)
via 1cce69b9dc8c58884c3cc4a8928fb234294e6886 (commit)
via be83aa76d2877770c23d7c2bde0319564a8f7e48 (commit)
via 034f1a812d8f5655d08e2bdeb5ec7d56caa40d41 (commit)
via e9f3d8639d088aae89f11c3f8a3197b92c6cb5f2 (commit)
via 1e7eae0dcc0e5473dda573b30107ffdd501b0d73 (commit)
via bba037e0aef1f3b17cc6cf6fd041ed6110cc375a (commit)
via d236ad1955a0a6b5203bc1474b989fd9dba668f8 (commit)
via 1652a98612a20443c0e17fd90e7f6941b7bc3ad8 (commit)
via db0f0d0c1d0541b6c2f81d655cd5420e059c91d4 (commit)
via fb70bc1a74d371cc6cc07e018df436a17c26037e (commit)
via c72f45d16c16954478dcd87531df146f68acd87c (commit)
via 2213f746d3ab63715c24c3197ae207486464091b (commit)
via 9b4c123c959085bb11a1e8126242a79d9de18995 (commit)
via c287bfe4297ec9c12db292fae5562be1758cf14f (commit)
via 282b7d7b65e928a59464b2a9a5e75555c97481dc (commit)
via 64e59d8e11a3b7a99a786c768a2817dc2c636af0 (commit)
via 60905b1e2a5fbd734bfd026cd77b9641cc5f3e66 (commit)
via 5af9928d44e302b7f68365a0c551f640895366ff (commit)
via 3e45d68b7088df39d0520d1a92005cfdf4e2b922 (commit)
via 709476c3c595fb61f155ba453733809d3e76ed51 (commit)
via 4894d80b508ad2626eb2cfd23cfcb5635cdf7442 (commit)
via 2891b491040ac84dfe0013454b2aa834de7b539c (commit)
via 493d4b48decc2b3c5fe9d2df68bcee67fdd8b7cb (commit)
via caa65211bbbfd53c40c9ce1b79b97ccf2c679a52 (commit)
via 56ceb5b5405af23eddd12e12d8ba849010120324 (commit)
via 02a866936de7e63ad4962ccba56c8cd05c231275 (commit)
via 99ba51255402201c6e193d803ee1f1fc3f2de0e6 (commit)
via d8ee9e44cc9a986b063a6ea6c91d39217cce65a1 (commit)
via 01a53584798606cf6329e8a86134cb9b47d1de11 (commit)
via 0f042c67a04d5d0c8f879c27d651a7ed5aa6566f (commit)
via 0a511368e2b896fe84f3b4bce5390e6269bcc57b (commit)
via e44c481aff721595eb9d28a7751d02300155148d (commit)
via 61643fbadb17932965e5c02db75ec3f8e211d7b1 (commit)
via 8b89121d4444e5c23295c63835da538b11d4cb49 (commit)
via 4ee3febded6c95ef47e8982a406aa3549cb6b59b (commit)
via 79697b649f28a6fc1062bb91737d9e64ee114ee6 (commit)
via bed91f4da252b5f30d3cb4fd9f9febd61ad9560d (commit)
via 3f2f83ddcba5b04389dd3c666ce7d4cace7e5b63 (commit)
via 27145d50705b46e213f5f261bd07572383c79e20 (commit)
via a846e9c1872038b0d7bac1fe5bb134668ae5e697 (commit)
via abeead094ef75fb896c9cabce8bf7b91da0a552c (commit)
via b0b4b5019484fbf1dd074527270f193703411498 (commit)
via 8689682cc375f6f30d65f1583b3aaa3e6a1e4d63 (commit)
via 2716529498941971b698f603e9aa0edc89905cb8 (commit)
via dd373349578df87396bc43e7ab00a1a5ceb16c8b (commit)
via 397dd9a5223d92035e7eebfee8ddcd19b0516f7a (commit)
via 80f0110c98d4134409f38e7d498e89fe96773819 (commit)
via d7161de46af80e460d432d8dbb1c42f8cbacf6dc (commit)
via a9889169e5b21efb8c42105fc62461be43968d64 (commit)
via 2b35fb28f397a26c0da03f7579116d28af2af824 (commit)
via 1283d92f0e4704bb31b1e163b9c88216756ef62c (commit)
via 6c3bc0f82c625d425b09c01f96b64946abe4118e (commit)
via 4cd98a1920446165eaf0a5d5e71f86133e92954d (commit)
via 2c3853e30485654f3d40d6d9e1b57d31444d3598 (commit)
via 5f3ff4f893d7d70f79cb2daf4001be7047cd126b (commit)
via 0fd153457cc1a775abb1112090251cb6bfb05553 (commit)
via e5343fde2046fbc19b9ac91326d5829d40066872 (commit)
via 8a6c0ccdd27188047da2be9c2a49544c27dcade3 (commit)
via 609c3040c2df944239d4d96644d736df605a6831 (commit)
via edeefb679201858453502e21446d7a65fedeaf0e (commit)
via f9c62303d87da9c766ca67d01f602130c2777951 (commit)
via bfd09d203fe1eda11ef2c7a500ad1d21eae32bc0 (commit)
via b224a9e1a190c84ee6bdd8a195c47dabff73cd66 (commit)
via 29090fb629734b7980f058f4a7e24a0369e9bb49 (commit)
via 15a70cda9772c5775f471182fea70b3fd28b76f0 (commit)
via e12fe5554c3b70139f68e33ded9e2a8075b9d484 (commit)
via 65808c966405fdc5ac770bfede9b3d5e0614dc81 (commit)
via b32b93c614de5ef1319eaa002e481094357018ff (commit)
via b615f43f531209705e12dcb01bd14d67029d3b07 (commit)
via 434d28e01bd23b7a61128bacbe66ff09e1fed336 (commit)
via 595712bb07e5db19dde5879bdf1b827abbe90c60 (commit)
via 0b002d4885505f557c52febcc0c6c7c45914e814 (commit)
via 9f08fa5c12890bd9e5609910bfd89903b0dcde25 (commit)
via 0716a48d498253d45bc0f3b3b8c7dbe026283763 (commit)
via 774ee6d252eba19d3e23c936d14bfc1f7fa70651 (commit)
via 833dcd29758287ac7799d9c022c0994f7c16608e (commit)
via 96e7a1eb6d09fda9e22e112e35e7d0085a8f4fd0 (commit)
via 6457197210144f50a696097c0d308d81d46d5510 (commit)
via e66acfb155e75c1909a6f29702ed6ba3762e36b4 (commit)
via 75a06c790f96f07e859be95d3c3c084a718afeef (commit)
via b31bcacc489d6ede2e9bdfa9905de0ebfd919454 (commit)
via baf9351a5983e36c9857b6f5b11e991d2bb1e9b6 (commit)
via ae7683d2389973fbd368ee1ac77413a3cd1e4a7a (commit)
via 4dba69b9ba9d2f2f05f75de29f0d3bc655e75a48 (commit)
via 8d689ee570e7c4c61231b919d5b6a34c20414c43 (commit)
via 21c40443ce8b12faa085149ba8a30b33193f6cc7 (commit)
via 7b19bec22f266f2e1fab6528f166912328b999b6 (commit)
via e43fb83166ca5610e34cfba1dcf1216d0953aa8c (commit)
via 38bc821765fd286a12d6934a4d9e4369fda64b41 (commit)
via 89fdc87fdb757f81c757f3408baa73740618b78f (commit)
via 1fb80d6d50f3c0adc46ff584af26583b980be834 (commit)
via b32a5c16f100c53fd9c0c22464f863eeeec6087a (commit)
via 35cd5fc22ec2e66936eeb9a13662d358ce0adff3 (commit)
via b4b0e149fa667b3907382e3492b53759665fe979 (commit)
via 485f23cf5c890c037053c3a1580c1139fc5c6ab6 (commit)
via c46eb7b88a1261bc079bfbe2339060152bdf3527 (commit)
via efb068d3027d3f24430b1f8b5c2b6b02d3f37869 (commit)
via 6448a3e4daecbdba25e5c76b0fbb0c21583a1347 (commit)
via 82c88aa6294d6f764bc1ad9b55497b73a4743bb1 (commit)
via 33f914a197fa8cd4338396e7d62a5f26621f183c (commit)
via e6a959d68b8181c816851dcfc91ae0b2b9296df3 (commit)
via 170742de5dd5be2156f938e00e2451526ef57d5c (commit)
via bfb1c7963b15b31073c9adf2d97ff1cf953ec99c (commit)
via aa5c10ce9b1bd04a7f4a619d5e956c977fcd60d3 (commit)
via 4666fec3b414c7880e9629f3c9b0a5b584235c6d (commit)
via 3953f15ce4b4154e9fd7951424fedac0170ab59c (commit)
via 01f573ad8aa539f972e2fef8a10ef290e042e24c (commit)
via 8f33e7daaf80d23fc0f0551a14f9cffb95a85141 (commit)
via 341b8ee719163f7ae8528f2a7832381887fbf8d8 (commit)
via 8173c2a3c46efd8b12983b6095ff7bed4cda1c90 (commit)
via cb781f0412a62a7e248721ed8fe6c491ccc9c456 (commit)
via a0d34a3956f504e755638cadb2bac2b03e4e37e7 (commit)
via edbbff4a22154a4b155ac987436c6498947cf8b4 (commit)
via 9d622bda566a4980b045631f500c29717ede8186 (commit)
via fc58fa65d454ce87cfa87a532f2c4f5d0b57d252 (commit)
via 8d3fea161a8e1d280d207406ba3fee0d44776ce6 (commit)
via f54b226fb0c350b98a9d7afb09d84564089a5bed (commit)
via 6da660c76dd7c2998d847d2c978a293f13105eea (commit)
via 1f713e48f024e964f5a4f5468bc9506dac262763 (commit)
via cb65d272fd09b79b7911cc00b5262d4fe14a40d7 (commit)
via 4373f8af3ddbc301227e883d5cbed8302c107e59 (commit)
via ede77e6963d1fa748fed1515d58f26e842a2cccb (commit)
via eda14cf2590aaab147d298418a3b7773b8d63ce5 (commit)
via 1c2e1515c45af104fc9b2aea6bd6b1471238dd98 (commit)
via e1c587c312c6347d8f14a019b79e4de0181de599 (commit)
via 0fd8ac1c450d340d0b11823107d9e990341e7e11 (commit)
via 34240514b58b7e8d2b444b69345d13db2695fef6 (commit)
via b6542f81d0894d69e7f12a73b94bf4adead75a5c (commit)
via 246994ce350923199a4c952b38dcee5bcbe8c554 (commit)
via 0badd99faf8cb1a20ade36e94d3f74b9e6f65cd1 (commit)
via dfaffe9d93dec5c23cc71b74789221ce97a132ef (commit)
via 70b439f0a87b6c42901e49a71b1dbd09300e8260 (commit)
via 8240f4421f7ab761ff5476d16090789d2332b676 (commit)
via 2520f728b710c0249cde01b8cfb4872a22ef10b6 (commit)
via 431ff0756ac64c33f6cfbfa8f1cc21c739b7e601 (commit)
via ef05be83b7e1e10e7cba51aeafc879ca3a66826d (commit)
via da76f7d33ffb3725dadd828f61427f421d1f6ac3 (commit)
via da6e19a92645583da12dc2d15f54d2bd240fd3f2 (commit)
via 7d8a636c9a234354c9b2ecf01b6e405bece190a1 (commit)
via 3f946aa82518e878aea2cba4b6a9bcc651412c5c (commit)
via 5fde150fede436dd250706d3fb1786c590e04b26 (commit)
via d98007761887582f8ab25414ba5784eb238d06d8 (commit)
via bd4e004229275568cbd2a9975a4776edcf7650d4 (commit)
via 5b639deae123db13af61e915807c0a1ab224e246 (commit)
via 0cafa88cc03786fb5794ca53e987e45fd09621f8 (commit)
via 220475ed8b0c1ef7b4eabf64bcc723e14fd78209 (commit)
via d0a9e8108942ebeb68d9b0b39bebb37369e0f701 (commit)
via f93fca700f0fd70532132ae535f48c1a936abb0a (commit)
via a1c95e6b6ede168770664cdca8ae1568187554b4 (commit)
via fbd000da7c05ea751f47a678936de706733ea6e3 (commit)
via 086ca51f460e52828fa02096638a3f36e272ccd2 (commit)
via c5bcd27856f388ae4935b525b1016e812803ddf5 (commit)
via 78c5b882482b5435bb2dcf1c09a52683d54cb81e (commit)
via f9fa37b32501f173a37891fb1a8f9013af38a098 (commit)
via 7c543f7b07678f69f22772bd2780602be67731d7 (commit)
via 7567e115d312c3f8b56de6d1e2e8a90212e9dba8 (commit)
via f9acce4a4f411e78ebca90995c598ed231b104a3 (commit)
via abcef95aa511a845f0599178be09403348ba4bad (commit)
via 145e3ddb4b1657a1f29eb9f41f2d54d0bf26b6f0 (commit)
via bc04c45531c0a107c57afef239bdf66a21b3e958 (commit)
via d5d8c4e12b220068fb0b2047b63562d3f9903e91 (commit)
via 4e7de1556a25a3a31c53ea2242b1d9a5c103dd16 (commit)
via 3f94e60d92d9bf67f1f8cbc19ffbfe5d28db7fcf (commit)
via 04c4fe8c59d3f2870a5df7be7f55fca60d88381f (commit)
via 8c5b385cbf07f318b579780df683d2c6b04f20b0 (commit)
via 875880c661e71a7622d8f7282f0dd1ef756040ff (commit)
via d3e12b29aef25bc9d1830b0a05643b11296f1b8f (commit)
via 886a250647ac0c608f20a7007fc2167a70f64e20 (commit)
via 3b0357dadaf2366cc418ec725dec55b1cea1a2e7 (commit)
via f77ee8026d6c46ebb4463548b3b923ace978aa41 (commit)
via ff792d99a93e8c91bae8d0a3998076d1b3bc8fb4 (commit)
via 9eacb935acd69f6532135ec1353630db5111467c (commit)
via 8c6da3dfbc65354975680bf7d8e273dbdca5de87 (commit)
via cbd641edf3323ce354c0bc7eb54496057040b564 (commit)
via 6540205329fe12999006bd886402823f4fce1c6e (commit)
via a0d49154d4a471cd36954408b29a348a091efaa3 (commit)
via e753e154bf8a1f507b43e03dec04b341dde3f429 (commit)
via d00c2bc9c0567b6eb7d64ac4dee27b8a8dc2cedb (commit)
via 9706b5e627dfae1ab0a2788dda8a2aa5a0e09af7 (commit)
via 73e5465df5bdb240d632ed207677916d0fa9ad4c (commit)
via ae4e25019d53d38b2ad50475c80fa99ecab94c5c (commit)
via 604763ceaa318df58f706c92eb563a7ba98ebe6e (commit)
via 06e635ef635f61c5f5c3b9ff16d4c813e3db2452 (commit)
via 3ebe65c0ff9f8f76c9971b1cc078273298f0c693 (commit)
via 0484b4549e9e2802e2f9db30a61f4b2a76332a8f (commit)
via 43a357f99fc8c6535d064c5bce4b2865aa33bdd2 (commit)
via ac734732481451698ee23990aaa64907e56dd082 (commit)
via b7a944fea3a0194d81f6de4d958f3a1d2c6ad03a (commit)
via 3b957e5b074407e18782a9592754c732671df8ed (commit)
via 7ba7cfe43195305f5efa887ebbffb53a724aaac6 (commit)
via 3e8286c0d2f6f94fcbc38a2233d85b90ca4040c0 (commit)
via 94facae3374655816798d1d505b447f81db4759d (commit)
via 1aa66fb1527c3c81fef2a39a3a3ec9d36f1cfdec (commit)
via dc8008f508bb39ccbca49ea71a7d5c70571c4685 (commit)
via ca632371cebf83eb9b5ce951bbe734e7636aa614 (commit)
via 74a1bfe1d6e7e85fffad518f50575a44630d9293 (commit)
via 654248e7f702887c5a43bf402cd6080734f57819 (commit)
via a2e1db00c76bcad0594654d78af76d0e12a217ee (commit)
via a0becb8948afaf3dcb7c39884464a51aa35a9cd9 (commit)
via e141d84e8986ad948fdc891fd7b8c4d7de53477c (commit)
via 36f4aab18ccf897b405f137d6cd4f9673bd947fc (commit)
via 7232d38966babb802e9d8d0e9e591346a7b93d96 (commit)
via 371517f576f8e7b25fc228c7459d6865c13d5247 (commit)
via 5db4f0d383e3de40e594cf05dd8f6d743233a487 (commit)
via dd0a637a3d8f5ca7229131c085ef6b8e255d01f6 (commit)
via 73524045d3a3b95bb0437386bba2a1583791ea42 (commit)
via 0e1e4a751264ef12dce933e720152914c9ea5eb6 (commit)
via de48f481b1769866ad8da5923792a49420a2d157 (commit)
via c220e327e316ae72a0adc183f30224979ea3959b (commit)
via 21d80863256aab4653f1419bf8095856eb6c6b46 (commit)
via 017e6bceee1a96d4b57175687560b4d625fdb150 (commit)
via 1fd60fc077da09a3ae8f20a8b3f5f88b413c7237 (commit)
via 398e081380a204e3b9fb4eb4da069ccf471f930e (commit)
via 4ee959fb247a677b048ce3c59c1399c023a400d9 (commit)
via b8836e409ea9619d9886bfa920b93392decf5be0 (commit)
via 6ab24463cb63af792c958ab4455d630b5936f1b1 (commit)
via 6899683948c66a81ae470efc0869ea01e489e9cd (commit)
via 4b627c18440f51077f8fd4c18adaa3919c3a373e (commit)
via ede5f15146ae45f4c017f5701629a4fa04ef2beb (commit)
via 7781c06f6e735e92fcf597c578540c2f925a9f05 (commit)
via e019fd1d143061c703691b862f1e282be57b2983 (commit)
via 51c935fa4adebc59d41a7868917c2ba78735f58e (commit)
via aca20ec47359776488863193660cf9fd2fe3cfe7 (commit)
via 77ba2a67960d05991a3e3641049cac649ca04c96 (commit)
via 9865bd0da6e59c3a1c55605b5a6a9283ed4d542c (commit)
via 2ec6d9e621ca468d56ac92df8ec2ec510d21f6da (commit)
via 630993ec93fed0f2da1c4511b865cc69f5f0e835 (commit)
via a39d2e820dd949f934411dbc724d9afb5f4ace03 (commit)
via 6c4f2328aba04ffacce9a4033fd253222e2ea1aa (commit)
via 3b1ad7d5104a63b4c7cae69188a56d1a230f68e0 (commit)
via 395b0d8a3fdd8915a4897b9b925d56fa42745dcc (commit)
via 71c34ca7a0f54c8c8ad39b72ea1badf9f9a1ade7 (commit)
via 1eefa9cbaf0516c0cb3bc384c8376332ad4c39b2 (commit)
via cbd44e247ede49688e1e1fa42e57d390ad141967 (commit)
via 0bcf3dd6905d67936815411b42dab6fd4c47b4db (commit)
via 4f714dd43efde465c7f2272ee444ccd2f1b3a1b5 (commit)
via 86feccb92092506f2a23a32345bc0f562ac4042b (commit)
via c68c16371639f360d1b110eacf4b1a28ddb5cf53 (commit)
via 7ecc513a44095d614f10e89c67d9be5826abacf9 (commit)
via 56e6cf80bd4be6dc95ed9b84b633e3c11ae8c86b (commit)
via 7b45154096ea081fe41041fcec20c82e8ca944b5 (commit)
via 84d73afc1a36de35f3dfd31c83131dc2054d2150 (commit)
via 2181a6c6267eb62cc4feebb82a44907ae3c1ee2c (commit)
via c60eb31fb11129ee91b9f778b852f886db545381 (commit)
via 245af5969525a0d1cdcb1c0c632587d5cec27646 (commit)
via c402ef907a6c0600fc5dec79b6165afd49233124 (commit)
via 71f4ed30fe331d062703e803f29a67b558e8e22d (commit)
via b08b78e7d4bb56f395d3212eed6184ede236c760 (commit)
via 36f7a9411dcd7dbeb3483bc83a1acbb3dd235deb (commit)
via f1b383b81a2e837d6b06656896a4753aac449803 (commit)
via a8b916588645b648b8ef6d43787ec48f8f1d0db7 (commit)
via bc84451b7af508ddd154a8793eaf0de68b7ca80a (commit)
via ba587d55a56db16e9e47d1e0975f5125fbafc6db (commit)
via 03fa52cea208036e3db029c412d6baf4b9f8fb5a (commit)
via 792005b027e804bfa7ac92a484c5024a05a1684b (commit)
via 9a09557a93b9f11371e4213589878437e567f897 (commit)
via 19ba03f49581e407097a3e4821a957c422551ae5 (commit)
via 9a3c826307ae6ad4dd6fbd72431e7d9d4947f1dd (commit)
via 224c3ddb89a43bf8db06c373d4ff429477833c0f (commit)
via 8e394ffc7ab691eafcf276d7ae578454a8c5548f (commit)
via 8a9e7a9121490a8c64d8c17f5be510e43104f6d9 (commit)
via 6cd8405efd699ed7686671d6f0d9caf20757b7a3 (commit)
via 9720e656055e5b906649c9f506a6de5a31337d07 (commit)
via aebd6ce4ca570f0506717873c686d8c9ca5fffe1 (commit)
via 6e15a7d88b346cd5dd6ea76d86121d29932c3c8d (commit)
via c7c9216298b3c8e380d348f8be6e03a48dbe5918 (commit)
via 623fb77545da1272c7602cd51a4c187b66c366c8 (commit)
via 3074964fcfff45aef4584b84550eeef84f902fc4 (commit)
via 938d3bf25b2f5bc1a9d955d86070e8bbee127f52 (commit)
via 86e13c95cf5c615a0acd7075bf3131f88fbf8804 (commit)
via e6c2c623f7736175e52fce2b61aab60c60eccdf5 (commit)
via b6518b3871859f9eeb7653bf2f3baaa43fa0a5d0 (commit)
via 6a40cf0c5c845683fdb82721813ebd5dd867cce5 (commit)
via bcd68f9e44a70c73bde08e612a28e413570dc039 (commit)
via af73b6a704bec1715511938a3514409af3810641 (commit)
via c58b006be334ee40a9df0e9a2c4ff7be470735a8 (commit)
via 0a6b6047cfd01e229234b747c7694e545b9aefb3 (commit)
via e3ec6cc681835fcd1457aedbf5cea914915e89a8 (commit)
via f04265eceb78a33e452faa8727562e96af374f39 (commit)
via bc1f8cdaf4b26d1c7af34c7a33038c50fd5eabd4 (commit)
via 5fe2850dd96483f176858fd75c098313d5b20bc2 (commit)
via 5c383f026242d25a3c21fdfda42e5ca218b346c8 (commit)
via 6dca4fd141fd0b9fe0ea662295833b8ed43cb4e8 (commit)
via c8b187ea07f534bac147cbbc44dd08925f5734b0 (commit)
via 6b9e742a93e42312b4e4012046eb8310a11f516a (commit)
via 95421fb9b76d5a87c29fb6079afd21783f24b97b (commit)
via acaa662f29836ce4d4c3a0abc2132f285f9df585 (commit)
via 7f7a1bce250bc286d23a4b895d684748bec03a71 (commit)
via 4d9d419e0e0512c301eb1ffcb793828451653024 (commit)
via 06da0f77c2a447348127e072e34bf541597154a2 (commit)
via 4f51c22aca0d53526e65954b99d1ab3abfbb8bc8 (commit)
via 7041adf41fc291659fa4d102b50539946403f97e (commit)
via afbe19f83ad1af46e7b1f1639d9fa0eb873dcbb5 (commit)
via bb903df05b0bc46f7d2f156a21b8265c158f0eb2 (commit)
via 6ec5f4be052e594dc90b6677fec1c1e7727d9651 (commit)
via 787749ead66eee8c20754c160bd79404b2109553 (commit)
via 9812b2e60750cc7bbfa252d9ae8d85a72a399e01 (commit)
via 18fe412be41dc4c1b0cce91499189dcf94e603f6 (commit)
via 183dc7ecf69a92653e0a72e0bbc02732bac9ec8c (commit)
via 8c60ef43a8c45f3f8f6ab275ba331640f658f59b (commit)
via 2ee7123e5a54fba15b976a05bce173871eba8aba (commit)
via 7d1c9c9b4c586ede0abecb7a0a47d8996aaf56da (commit)
via 9b8b325a1f4cdaf235e7d803849dde6ededec865 (commit)
via 25f004c8dd2d96f92ea8f18217a04212f907eb94 (commit)
via 7dc7c195f31657186dac0c4d6521200da11311fa (commit)
via be550b6ed9d6c5948d2c331a396020769f65204f (commit)
via 615b3f6299d95db8507b2a68dda2704d08bcd1d0 (commit)
via 015d2e7e49056e0d5fea1c18bf8de9b1be7c096f (commit)
via d96c806b9210f2a9dc07f9ebfc811b3fc0c0f870 (commit)
via 26b188a2db6345f70985d27ef91ebc30725424ea (commit)
via 79dc332ba2db30e02e816f6ecbffca548f2f6c30 (commit)
via f57929f229c97462650cef4086bb930290ba92af (commit)
via 3f469b177da53a0e63d3fe3cfb4fac91e921de3d (commit)
via 7800dbe4301d831dd81a469107eb5f0e1bd0b927 (commit)
via 515b89b30c18dae6b91e57ec2dd336919bb4578d (commit)
via a0cc84cd15396df7752fe16659c01628ba729324 (commit)
via d2939ba2b40daa89b501d4b81484ea888ef17139 (commit)
via f2665db5f2c20f3f47673ad5343738b10ce81dde (commit)
via 7ff27e9babb1564a9c0e213c4a42396aa420f8cc (commit)
via 797094dddfbcc3ea1d0efc900185ba3857d30226 (commit)
via 4d10e986f499f330963c4641fd91046c57c94bd8 (commit)
via a52eab48080f29feaa56421481cfea221ee6346e (commit)
via cbb55fa7a110e499dae0170060d762eb3f243768 (commit)
via d1988021e345c990f4272843577529a123f8943d (commit)
via a6b5be76f94664406def040d79ac8bc4d4aa8bd0 (commit)
via ec71cc2fc6d319ebe4aebbe65a6a56ea1376200e (commit)
via 0ca912dfef6289f9d2cd7d70b7ec80883a9b4395 (commit)
via e3cfc1c76d89f904659b106d78b352884797967b (commit)
via cf8f8f0c4244b4980ce538680f81de3738ba08d6 (commit)
via 011c71b6cbda4ecd856a08cf3124330d7f4342de (commit)
via d825d248105e1c9a13fef4a35e76b6f4912e3792 (commit)
via 3c615f99d3923df7dfa94c6587733c682efbbc78 (commit)
via 987e68b1a38ad9116f309bff006e794c7e6f85e8 (commit)
via 6e4879f0eb5ff1985d1040669a69675fadad53f8 (commit)
via 5953356cc4f2bcbf76e2979c35283c11ce0ba992 (commit)
via 7ae4ea7d0db5228d8978d52bebac2b1d95a78560 (commit)
via 7c9cf4158452094f4c463676e5122c5c4ce64de8 (commit)
via 975f8a9e3144e4d3d3f391e907c8bf94b23dc8b6 (commit)
via b29b8669ad250df649a0f02c5575e7163a2cd9e4 (commit)
via a8aa551e5abde13e063beb32ec0366bdc6008d71 (commit)
via 43691ca179b1e573ca01e7bff87404519d4a3d75 (commit)
via c785244dd4a68bbc5eef3b16358ea95db73ee686 (commit)
via d78908cff50f281dab6390646fb1b7c58236d83e (commit)
via 1ed415e2b9b985aac087c35949d0e1e489ab496d (commit)
via d136eff549649f23b12121575362dfa09343ea0a (commit)
via 991f019c506528fa94ac173db6f1120f8b2373bf (commit)
via bca6d0e3195217576b39fa1205469e1d578b386a (commit)
via 25bc8a24e4d5f7f7ba4cafc1ffd8499b18a3c842 (commit)
via bfca584fae65570fa8ed052f662948763f3ccfa8 (commit)
via b326e5870e54f52d52c32388f7f6e07454e2f2c2 (commit)
via 92b3f0082674ecdb4dad89d722acd069aef0dafa (commit)
via 5382cfab6110741b8ba36965b30334c00d8f9409 (commit)
via e68fa6f07666ec4726cfef59f641a81244cc2e00 (commit)
via b277c936e06479f38ec21dbd6322463c9435bad3 (commit)
via 141c5cc4c44a6ce1a5c628c0f4849a8b1c91d383 (commit)
via d57e0d5022e0d3409f68bb02fd27311d8d0327ea (commit)
via 5a676acc4bba751c7746c4a200a054d6c557f3ee (commit)
via 8228463cbca8d629572dbad99286c4e05886350b (commit)
via 7c5d0fad2e732bdea75f585b67fc1a0cc4d3107f (commit)
via d15dcecdee0f07b0b088dd3a8ebb50826c5b7bc5 (commit)
via 750ce8d1caf237464dd663de54ad055c0e58409d (commit)
via 70b90b91bf77e72a36abdef039234359195b1942 (commit)
via ade90bdeb78ccaeb294e34af04751f2f649a324f (commit)
via afa18d267a8cdc61b2c96b98af8c217f92516dc6 (commit)
via fbedb42d07cdc97a5bc698d1f7732ee776763cbc (commit)
via 4c2f2a792a5971fcc7fe6511725eaf50d19d302b (commit)
via 919e6dbe9b61a27e8f7f89121ba182907df461a3 (commit)
via b027a8fa7dc4854e72ddada0b495b52166be2974 (commit)
via 157280a4d6b8c49703c698bda5546d7b2cc21e35 (commit)
via 1090ebbf87ad8150ff293ac57bda8da3185179ac (commit)
via 1ba82504618462968e0e7ccca2e4196dd5219e27 (commit)
via f3c3938c1c1a57f78e1be9d2dbb9ea0cda12edf6 (commit)
via d8f16f3e9f709dd06bb3c3494bf6d39d150d959b (commit)
via b459a59be3a9b92a27b71790f5e3f3be38595cb3 (commit)
via 2fd33e94480fc2c662d1ad28f83e522cc5dbdc2e (commit)
via d46addbb52a1f6d970bcac583b0b00ff4326e116 (commit)
via 94585166dfea8232c248044f9f4b1c217dc4ac2e (commit)
via 6d636d8c779d3be92dd5db021d12c2e3a2c5d419 (commit)
via 669e74e8295e8aef1dc052f30ff30bad624eb0f6 (commit)
via 4d50586db70d366d7d9eaf42062bf23bb6073695 (commit)
via 6dcaef99fab7e59e3eeb16a95d4c29b7b499b408 (commit)
via 9ed2dcc401dc6b1eea7706592261ad76a976a31d (commit)
via 5da1a4d34e730e0b4e2f034c81d22d5948a6ce67 (commit)
via 108d56a48b0970a53e237af76440df4a75ff7329 (commit)
via be62444771a4a711300e2439fb1232415d9c835c (commit)
via 08f3c71119c8fce6b392bb59b8f3ea82444d38ea (commit)
via 9c1c2a0bb14ff5f74e68a7f1d67b8a7021c71cdf (commit)
via 64597d827f41faae7e2ee541c02daff1a5cfb52f (commit)
via dd2e65cc2c48f2fe1343840b610bc6dd4246f35b (commit)
via 55edd97b4b2fb373e7895c449ff439efb6de1509 (commit)
via 3f263e4b5a20fb8c1818306c845564b2aea0fe50 (commit)
via e70b6e8eee4fc1ad1270a63ad000d11fd657d7a7 (commit)
via 7a551a515815a9888c6117bc5fb8ad49c7fa55a0 (commit)
via 4c666f844a4481749c60f4f1ba6cfc8efd3a4eee (commit)
via cfe7570334fc9aefc64bdb0791fec03a736f2851 (commit)
via a85a3079233ddf4c5537ec90c03d3394b93ef355 (commit)
via 0700e23e5f73b2a498526a79de34217429b44988 (commit)
via cfc3163382898a537c742bee1bf8240b3c09df35 (commit)
via 388a708404618466bbe51b7198de7a64f0a5da9f (commit)
via 243a925328f8e3184b2356bee497181049c0174f (commit)
via 0b333c5e7d6c3fc65d37ffa11bd21ba52c4adb25 (commit)
via ea4a7f9986ed4614d8ffb85ccd4fa4bb49b6d420 (commit)
via 7bdf96efeede567ac4b8cd3fdaa665c0e5ba4785 (commit)
via d8f187c1abc0aaf718b92bf4a4ecaf3a9e866c56 (commit)
via 4af68b9c78aad1b82bfd6e2e960747eb160bb4d8 (commit)
via 259364adb8ced6dc0e3ae5bec2c6f76ec3faf955 (commit)
via d660d56578248bf3bb56150295cecc763f112061 (commit)
via c694bafc0bc795a63e607689cc35ad44047790e6 (commit)
via 081bb924c995324d89df09342200d135aeb8d4cd (commit)
via 0568462bbf0f666d5bf9f720e16147da71eec46a (commit)
via c0fa8fbd1c2f02921b90083e595a8452d3d51ba2 (commit)
via a79762eef0dddb25fff4f08e208944210b186c9d (commit)
via dce55a03c1cd7205cb8157f7cc80c76073d86047 (commit)
via 5707d2add464b6787ec615825e00b2407ba8a82b (commit)
via 4e0753f6a572117e6197ebb6ceb163d4062ecde8 (commit)
via 3d476d8d597a17afb05e5e33179c7ab95f9d0544 (commit)
via 72e0248351fdc4ab125a16af24df031bca2275e4 (commit)
via 3d4fde6974a1237d79055ee734d99cc49c6fd3f9 (commit)
via b31103ae77d36254fa0b237a87f03fbd4079da87 (commit)
via 7d8316e58eddae3095203901a8d59d5cd8a6ce86 (commit)
via e32aa9338f6a228a18d851fccec6fa995ddc1101 (commit)
via 53db1aba3cd8333e00f2ef566e7be8e4c9defbde (commit)
via c005eb9e34ac08be0cd40e19a741d345bd43eab9 (commit)
via e65b52456bc3f60a176fece5e34e420c5a75bd16 (commit)
via b03e6ad9cd2064214c0fbff179c7e47c855315e3 (commit)
via be9033582599e50521feb879d7476756c2c8c017 (commit)
via 02f024f9a527012938e978c233fef39f439a5013 (commit)
via 096abbeb31a935a507fede11944beda8ca0c48c2 (commit)
via cd7c1778e72ce29f7f42d91ab08ae855c7ef8f7a (commit)
via a5e406b5ada4fc7e5131dc4242b6cf46c6139a3f (commit)
via 1a9155522d3d1f6aded1178ad7038e846b6d67ba (commit)
via 39edd165f42176f8c1d40e08d63f344f10241870 (commit)
via 6033bf41cc1ca3f19323452f9bf78061dc42e30b (commit)
via 77697d411ef33c3e603275b905ae965ff555400d (commit)
via 8c650f161a95873e3dc08365fc9a74583df9de62 (commit)
via 6c214e7cb397bf0de539fec640e764f0131e9677 (commit)
via eed8b28a07c32f835dfb4ff21fb9c0bf33c738df (commit)
via 8cbebaac8f387aa0987410243c9f0d3a51041750 (commit)
via 0762fbb6a7543730d61384344a95fa7bf174a6cb (commit)
via c74be520ba8ed2d013d43916b923b837294343cc (commit)
via 358de98820c5e9caa222846ba8b646de6cc091c8 (commit)
via d49044c7530d28894e73763c21c417a423e4297c (commit)
via 73c6b4756a7cee53c274ed05fddcd079b8b7e57c (commit)
via ad1c917a79e8c5aa67657f148415c1bee01b240f (commit)
via 3bd7e5b7ee5ea0b3bbb4030ca841f66faad74f0f (commit)
via f469e8ce11672e26feb5ba6f9a134275fcfd5b4f (commit)
via 700190e776d81339df675fd3db95da0a9ba49d34 (commit)
via dc5c874652de144c5ab05d11e85013b568678039 (commit)
via 04ebc307f9601168c165fb63aa39a676e45454b7 (commit)
via b07bca4ecd27f9cbaff822e4135abaf0ae6cd0db (commit)
via a4b6fadd50968ec6c1b687fe52b88bd11ff734b3 (commit)
via 76b20b99f79c7352db31c31a504e86843bc5c882 (commit)
via a7c4979727e13498b8d4d85c72ddf65611c532a9 (commit)
via 6f20ed8a6ba1a01fb356eea8ea45310ed8478a27 (commit)
via 136765eab14d32f5fec607f755c3096eb43bf96f (commit)
via 90b81c5f158b2b0565ce5c45270103cc0cfb5b1b (commit)
via d3435ae8ddeb3245b1358504f5382879f7fc04a7 (commit)
via 6cae483a9dc8d07c2743067d32026650b7eb37a9 (commit)
via 1292acf8fd4450703ee407e55f6b5a29c044d009 (commit)
via 7292b3ac749b5d10e527f57f8caf27113b55e3cb (commit)
via 56e3225bfb25bfe5b58faab2242ffb919fb3e5d6 (commit)
via 1cd36e54086a411ae210f9093b263b1cb6f704f9 (commit)
via c6ef89f56b506f7279d98fad13360bce30c06022 (commit)
via 2fee7708947e6e719179e5da5b5fb6e337b22cc8 (commit)
via aa78b3b28aeff4bb9977a313f5a8002d920b34c5 (commit)
via 8f57eec2fb31db5ab4598f09136e7978b7f84c97 (commit)
via 4df041938601a456999fbe9f22831e389ca74242 (commit)
via 38eebd71baece83b8525e2544361e67d0dd86049 (commit)
via d63dd61e780e6354fe835d4a52aa9dac59ddfb05 (commit)
via 6f05925675b90983271289b782432b6297d26741 (commit)
via 70987a9256a298e7ddc5d42e6580f7aba6f36f01 (commit)
via 32a40e8ea904f037b73b249892c440fd8125b4f2 (commit)
via 9cb64d222c6365f3dfb57fafb27eb11820834d95 (commit)
via 6711b7f8d5f5fa24d6e44ccbe76fce12bd162a37 (commit)
via ef36892e85baa498501cca8c558b1fe958e51858 (commit)
via 791bb1f4a6310cd7f894e370607dfc05c9cb0727 (commit)
via 1db33b5a028820d1eb656bffff727090a5504253 (commit)
via e0fd7c47bd01e0a6eecf5dec4a4be958f8b3bbc8 (commit)
via 4e83a1e776c0acdaca9e69be9576db9efcd5f511 (commit)
via 1cb0b71f5a2e5b55e1c4b41fc308414572180893 (commit)
via 2e57ce7b1422a025a65ad4ef0b1f2f4c214b9eec (commit)
via f5cdf4989e5daff1ca8a500d22cbf2eb0692616e (commit)
via 5952e15788882c79943033459df9d23420633a69 (commit)
via fd2ae5d6a3a5c4007be45f9b2f325955ac316f36 (commit)
via ab29043019ae2aaebe686d15aa460780280b6f66 (commit)
via 14d88147787588b1473da05adf95980931fd3485 (commit)
via a40805d4a73532dffc61e33f913e62b93214c998 (commit)
via 0750520d890bd6ac3ba958a921fbeebe5915e50f (commit)
via 7541ab0369b8532929f66f5e31e274fa285342be (commit)
via a5c0808e221c0e8600561c2c9664c920d808a887 (commit)
via cdaec3f3e7ea9118204f0e579bd3257234fbae63 (commit)
via 8ce74153537add5e364865518a72194ab58b3dbc (commit)
via a40d44c44ec0a7ee8feeaccdb8e838c5338df6c9 (commit)
via 6fc5bb5718b72250cffb9c09110515971f72e116 (commit)
via e9756d52bea3834ffb31d0a907944bd022250ed8 (commit)
via 60f02a58bf59d2cc355aa8ba56f8111477972d89 (commit)
via 1dc7a6235090327d7b5586f85e6115c3cd13ed83 (commit)
via 8d7493201cf01c9836403695f67f7e157341bfd5 (commit)
via 17d8546e6067d0133f19275d1ccc25cf93cfc7bc (commit)
via 8d37573b4356a38d091b0f18b69f91797a7cef26 (commit)
via ba49e44bdcfdb5e936686a42d84e5ca043267cab (commit)
via 0e28778672160ee57d12fcc4f0e631122088fe69 (commit)
via c97c330ba8e80776c546e5f562916bf077e358b3 (commit)
via 2d011dc1696f38580ca08cdccf9cb8147527063a (commit)
via 2a7f4fa91ffc8ad3ad195f7ac02a4c97bc96b791 (commit)
via 7c61d651fd0e42b8f68840a3735ed7e46d4fd083 (commit)
via 4bfacfd359a1f8d026d1a350f56f2f5d70b6cb65 (commit)
via 1757d35c8a35d77fd631705589024456c6030966 (commit)
via 3ac0a36c297a7bb3325c6efa756cccc40572dbdb (commit)
via dc72bf948acc0b3cca517c730a3103d9b1d072b3 (commit)
via 16ad13eca4a18139cd1dec214ec83fdc7c47ffda (commit)
via cdbfb8861732b496b9ee35b130af75b245e2bc02 (commit)
via abc56d60aacccb64e146eb7a245b3ca2cea52dd9 (commit)
via 38074311927d012e4cbd28d825878974c9209f77 (commit)
via dfe7f77c4aae3376c175d8af4d477124c8817427 (commit)
via 63e43d3aedb8b1112899c2d0ad74cbbee687e5d6 (commit)
via 7c2bea1ad1c779b893eb9cad4c92732583ae0eb5 (commit)
via ed8b7b421c98533b9b08995edd7363328b55921e (commit)
via db3cb7cb3e51e5eb834412adbf90e81bb76846c6 (commit)
via f6011a1c84b1bd616617bfde84dca63f250c950d (commit)
via 88e2cf7ee25c72bce35ebe59b13c9701abce9fee (commit)
via 5e35436ed12617494d2a2d190e0faca5613a2e9f (commit)
via 75e1f0f7a0992835415e9bb924ec21a9aac6d5a1 (commit)
via 4a8a7965f233f571b78f7992292a31c990c15a5e (commit)
via 32a271eeaf1b1be1367b6ea181a0f39a3da71d45 (commit)
via 0d51c8d71c19531bf29a3ba303c040c7c772a4a1 (commit)
via 5e137137b2ff267fbf33b1e47f0413292ccb40d6 (commit)
via 31a43dd5e1cfb8bb387885b3f641d6d2c04ac5dd (commit)
via 8ee525679d030cd2c35eaee3b8d4ac545c5dc8ee (commit)
via ff3f0f45c5ff3505d041eba81a999b55c55f4530 (commit)
via 9a117542138b8fa4a6ca9c7b4cf9935d509b9809 (commit)
via 3d40fbb53b4478d94b6fa5abad0796cec5d5db49 (commit)
via 73b8c1fda9f3759874a9a1a7e7402276da057153 (commit)
via 4a626d0a0f451c3288a461f64a9f8a49790d422b (commit)
via 438e1e427e8393de73d22617abe4d8eba0270e72 (commit)
via a8c6d4fcd6b2a30c2b5b87d656ce035dcf8b0035 (commit)
via 4422ac93e5d3d23dd441aadaa49c81356aa59b73 (commit)
via 91dddb86299bba404599551e9e2633b3c0e5c830 (commit)
via a48847eea5f39c1f9fbe4255c9e892647f13f995 (commit)
via 0ebbc52beef41c725f75b22c80a37fee00303bb0 (commit)
via bb61542818398aa00f869257c0734ffdc39275b5 (commit)
via 40e0b27177e747600d3ec186458fe0e482a1cf77 (commit)
via 5f40e14d768b94f7fdc050aeba5ee62e6a8d5756 (commit)
via 77c365df78441f7b968ec0f62c7ed9f5de36dc60 (commit)
via cfe101c6a8227b6b97ed2da85895db7d6083bfa6 (commit)
via b83035f1f61c8749983aef1f51162947a284827d (commit)
via 5f329d5b1409dfb86e3eb6a22e9f84cc58c254b1 (commit)
via d579c450dd97470b0601ceb5d3e3d926e7a1333e (commit)
via 595bce7595e076391e7147b0c6db57a8edf2e406 (commit)
via 0d6b12851b08f5f71f7d97d2c832b899d63b5df2 (commit)
via 99b0bb12cdb22489b403df6afe992b81bebbd9ec (commit)
via f8904751117dc8d4d04e5c5286b71b854e6ebba5 (commit)
via 049412e38f9ac04654940173db63a37ebca9bfc3 (commit)
via 948578a989f8c666c9b0e92c9a50906724921f14 (commit)
via 7a8bcb88e77380fe9672b4f10777cc9e48011dd4 (commit)
via 465a859e0a991d3bfe8a9ee65a29a223c42e2ce7 (commit)
via f0db101d9897732d6556456e542d12ecf9e12e42 (commit)
via 2d7711a36720b0bc44fee20d0bf057614ead21c2 (commit)
via 4313b8c0ed5877feb5034bfff4056e1ccfe221f1 (commit)
via f36b87190aed31b1ef7787e5966be542e8abdb58 (commit)
via d02603dc201f80cd9d2a1f4b1a16110b1e04222b (commit)
via 40045d91812b25c88c8275b8c08d27c234b68ba8 (commit)
via ab4e4ed5dabc378c06ee647afd5793513393ae3f (commit)
via 80152258b9dfe033828e5c5b6dc3252be1ba7a84 (commit)
via 88fc5eb7e23af132eacb895e475b31be0f7623e6 (commit)
via 6f1cb6eac2f28c6e1cb49c011f2b916afb90b4ff (commit)
via 8e804db96b40c5c88d26b933fb19b6bfcfcb1101 (commit)
via 0e433b32028e65f1f2f13e7c0d26061a37b7d583 (commit)
via 221e1a37cd14f7c98b4ea1ab24bd721a8b144711 (commit)
via 40e3ad0ebb0c71008b928d6d350e9258dc1dcf2a (commit)
via af39b3270a1385027b2a5d145b9ba7564bd39f7a (commit)
via 9215b98bb27c071386a277f5578dbb17569a1471 (commit)
via 9d1f51209437ebee8f0a930b9613d59759ea8dc0 (commit)
via 7d45c7c3f692d93c3a33a043c347f1386681deb4 (commit)
via 07c9aa07cdcf00eff8e186f3ca1779e5e3ffdb75 (commit)
via 4c5625238cccb048261d7ce0eb748ee5e0d67cf0 (commit)
via 6ffe9a1ba36f3a896ae323e35a207b6451e8f7f9 (commit)
via 49df5539f9070c01128135a7d63f44b2efc4de6a (commit)
via 753999c1ec8fa76bd5ed5509d1e5909d010e80ee (commit)
via 13289c10e20281adf480d9822861412a7ade721d (commit)
via 45face3ba147a4c5f4f7e09cf10c95986b915002 (commit)
via 64d94ba01a4f56ac10bb277e66bb00d82bd97f10 (commit)
via 3cbc1e5e68341e53a03fe7e9d38fc02e0d78c418 (commit)
via b45e00b3ed40589af75b8a36a67905ae265a20f8 (commit)
via e49433d22dae92a56ae15a8b5742cbf1f31d5fd1 (commit)
via 16d5f64295ccf2a8e9fe3ed350c94c38cee5a481 (commit)
via 4d6cceb4e40a057dbe4d9ad94b0641d5f4725c09 (commit)
via 4e1626f5a8d73573d6cf593fabe5bc80f7b3e04e (commit)
via 26d56a939e9e54e09d46ea6e9678463ac344fa33 (commit)
via cae1fbbb7e3d770702a0d7a5027b46835e6adc13 (commit)
via 2b4bf6afd4506165007c0e76bc7c4381031cfaf6 (commit)
via 44b4145b723b43b175d4378c77bd79faaaa80312 (commit)
via 566f5e3b385a99c09b5babc9f90dae93e052d52c (commit)
via 18989b3c5642e2ba533e02737797dcf06134229b (commit)
via c04fe68f6b94815d3f49c9aed64b2c388d45f4aa (commit)
via 0e1862bb401f47716446aef143b2bf7a4563f541 (commit)
via b2a33439909493f5bf93ada871bd588f365d61f4 (commit)
via fe875424a05df7c4055cd9382ab76f65e952c4dd (commit)
via 43417696fe32416607940258ded622c121872515 (commit)
via f6721e4955d86bf879b5225f2d128a5a8ddfcae8 (commit)
via 71b57e37fe94bbc17f57f8f9ca5e9c5400cedd6b (commit)
via 7f3706ebfeb44e6b1f39f95fe44b7099a91c32c9 (commit)
via ad89c2aa677c28c76ffd5a35e2b36eece4d82597 (commit)
via 2309f875707215e9b6dfbd9af866f6ead3ccaff5 (commit)
via 919b75f7e28942fe320dc533759f88131f160bf3 (commit)
via 26a4b92c9131ab952f3db9bcafa82fb2360d19b6 (commit)
via db2ed2e0b910376fd2bf4c2bc5d626315c4269c6 (commit)
via 1762568fd6bd84f1b1a488375cf320a1efa06b22 (commit)
via a40f728f5cb20a41cfff68ef523a0025bbc6f402 (commit)
via 8763cedeec7f0a1daea41c2231bda165652e273b (commit)
via 51cdc99310171d6c53d2d00103a0ce34374d0b9b (commit)
via 95cf586902b681310e63ee06d89ba2498d1d5dcf (commit)
via e3ae3c4345fa14f2f3b0b2c5d4d23760af9f74f5 (commit)
via 604b263620af66e3bf881f146e329b4de06104a5 (commit)
via 6ff0ba5f7b8a2b10642bbb233a32043595c55670 (commit)
via b56ccc202ab674998baf52a710d736702734f9ab (commit)
via a057aa3c457ba38ca25ff1ed13a30c629bb0f259 (commit)
via ebdad8fc7fd12b52a2dd14cdca735728b2f7ebc7 (commit)
via 9ca98f927800a8446555e3f64cc3437c08ce266b (commit)
via 6613eb10d10ee79ef09bf4dfe696586f479c8d02 (commit)
via c0fe2ae7064c4f927034aca87913bc28920721d9 (commit)
via a738da3abe2bc02d70521086cf1d0e23565b8fbe (commit)
via f8edc4ff051b4e29997681cb3bc9078d98f4d457 (commit)
via 9b57267f4ffa4f8a168f89630a4b68fb51a419de (commit)
via 92019596ba7df7156ac634abf3ae82738dc5ba55 (commit)
via 444c1ed8915961384af694249701fa7896e11da8 (commit)
via bc7c9fab612d4d33f7fe5d17eef4f5bd5cdc4144 (commit)
via 52bbc560524ec3691203eccd05207d13913a1e35 (commit)
via 3207396b9532f179bad24a9fb9a83253f3f5144d (commit)
via 67994074671a31e3d2fb78f6036f38095211ac49 (commit)
via 8efa2874ab298f3923f4127340da119435f87c39 (commit)
via 4ab90a7a90ccf8a671f139c1c6387ba8028e6011 (commit)
via e5a764c49c138d9409a807698d853225a4c8351f (commit)
via 5d8c3ed327fff9993d89ab8b35e2cbae67e2a51e (commit)
via 22cee43f9af76fc4c10c3d4018a9ada6d7c5c1a5 (commit)
via 19c2883a9b92e2be695368e19788fd0210d732d4 (commit)
via c14c7a8a619ce03a7c8f41d1cfac3af728df453b (commit)
via 9791c250490d7c3c961860419e4436c758a91a21 (commit)
via ea8812bceab054cab438bb51916f1d81118811b3 (commit)
via c74e78b36ce4904b733e6fa7e295fd4b15ac0596 (commit)
via 13a2df29c930eda49837741902b67021ab004990 (commit)
via 4dafcdeb1341c4dd1a4641373bc17aab3ef2e788 (commit)
via 59ecaff36145add82c315ba7a008c4a5db4a6f51 (commit)
via b46824bd49648c575372e6d9bc6a6defeabd6ed5 (commit)
via 5ba325978c354b9f0e238864e3afb4f9b528c04e (commit)
via 40fc1451c63d21a1448bb21e39a7b70ecb959213 (commit)
via b6dafabfb18e3ab207a1818ebe68e30337b5515d (commit)
via 6bf45b2495bb2482a019c4b28b32a49bd6a12133 (commit)
via abe8e6075bac6596f9105bbc9607038543ac849e (commit)
via 87ad46af87ce0ed30630fdbacf6d8c7a96b2c5b3 (commit)
via dd419f3aac048176e4e760dc8f29d3429c4f07ce (commit)
via 995da1ffa716fb748cc6a664e81843e751270b45 (commit)
via 43e65147c07b1400ae0dbb6694882eceb2363713 (commit)
via f3445b37b67deb8f67f7885274b2544684503f78 (commit)
via 3aade68889268c7d15e121d6d63cb1b753ec12fa (commit)
via 3739860c11a9cfcdaa4d5d204ea3536784de7bb3 (commit)
via 1b7868733d45220e63b72a1814f30e090f761821 (commit)
via aa91aff6af9f930bb8e9e4fd3dfc852cba8c80d0 (commit)
via 244558af868d5427903c35c5105bf5499639f81f (commit)
via 0eace2105dc6c005fdc908414ad564d318b71540 (commit)
via f63d6d96502c4448357a0b826489ac36f73c1330 (commit)
via 629500fae69737a6230a564e8fef1f42c3ef1116 (commit)
via eb8c4e2e66329dc7bf2024d55991efe8587075c0 (commit)
via 87f0e7204722a986f79f245eee716f0870832d47 (commit)
via 00e52e5376c7ec604a739e6242e6be36221162d7 (commit)
via 5b56227bdc000d129d393772f1e4544b5ea0fd46 (commit)
via a06efdd6effd149a1d392df8d62824e44872003a (commit)
via f00aae0f7b11c4dc85c38d5fad46975033ba3fff (commit)
via c7c1b3e998a77eb077ac3c08c88a97d2e11dfef0 (commit)
via 5f700d83f7f3ea422d789c51a25f04818bf788d7 (commit)
via a12a06d74aa88361db80309d47185df900a89312 (commit)
via c674f5cd3f900c5b12996ea5188ff818fe9eb6bc (commit)
via b261b4db940297f254280ef57589879341d09435 (commit)
via 9331eea1f83b94c6f5a72ebf643aa8978a0b0a13 (commit)
via f678ded748f994a16e27fc3ac1d1c9451b98f608 (commit)
via 07f9ddfeba5b572451471f905473f7ddbba1d472 (commit)
via 40fbed84815b00960f7fac8d2e7857942df4308c (commit)
via 70151fb54ab6e3d5dc7f99fe3fbfa7ad2f1ab2af (commit)
via 73f925cc20e839d4b7352b809a33e4e7dcbfa05a (commit)
via a12fad50d28b9251893c6709ac4374773350c21a (commit)
via 56a2e4507a4249634422fba2373b651b774c55ac (commit)
via f69e49203b49b7353748b78a9d8111440d9ac291 (commit)
via 1107e076cff62e1093da024ab73e5648051781ab (commit)
via 2c0a466a7f83eb1ee5f5da0bdd7b4b643fbe3278 (commit)
via 97dc35c88dd470465a99edeb0b491012a368f2bf (commit)
via 922c5db5e733526f12e2fbfeb72c7f1f90089d53 (commit)
via dbac553d28887561e3f154654ec8e70195d89943 (commit)
via 4c0160b8e2f902ecdf6a42dc20b5f39b0a48fac7 (commit)
via c8373ebb4ed77c361d95aa806cfbe1b4062b5be5 (commit)
via 4b0e8a5f80441fad8eddaf68e7af70bd6991aa37 (commit)
via 64140f86ab732f9ed87beccab07c32befaf9ca52 (commit)
via eff0bc54a343fed1dd152f0a1b455b2438f76e6f (commit)
via e66c3c2568fcfebc931bc18d35055c7f784133ce (commit)
via d29b2a1ece30514431861472d784ae8722816a4c (commit)
via 88fd0449a3f88c12c8930698a833f6c1c4478307 (commit)
via 2b29bb41d56d4e4ba495393f4f519718b73f92df (commit)
via 30379291886a171e6dc202122bc1c583318c2e17 (commit)
via 125453567f4a0abc68cfc67a3df46be1aa9bb904 (commit)
via 80af41e00325ff3e877df11d465baeaa3d565103 (commit)
via e27852be65403306da198b3c1d7b222acd6bdfe9 (commit)
via fd7dcb94cbd44629b3929336aec8b76c3e339656 (commit)
via 422f11824b3abf6c71042e2ee3aed572f250fc89 (commit)
via 75fb7498c25ba89262867abe5340a8d38f1e19cd (commit)
via 2bc6d61bf3e4935921ae2612b3c6cd0604428960 (commit)
via 662a7b62c477e93284de4db127b4dbc3529caaa5 (commit)
via 8fe3f3d6afbf084f9ef36d887b661792c769f862 (commit)
via e44bf850dff24e0442408e26043d957588be88ee (commit)
via 0a77d46120137650c13091866cb93150910e1317 (commit)
via d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4 (commit)
via f12899e9f081bb857c96999386e64a4252c4a325 (commit)
via 5ac213430b710e8aaed1f4cea6ff809783201df9 (commit)
via 7f03bd92e389a32da490bb55037881cf374d0f69 (commit)
via 3fc8eb30a95df3fd07a63e9bd0a9d309b86a0357 (commit)
via d4569d7bc572ae8f10d7c527cbdfbc9d26cc1ed8 (commit)
via bfedc46af315dc6484295699c35e05040d76d700 (commit)
via d55007b58352c0b5fd2817e003b6dcf4e3ee4c07 (commit)
via fbea99ea8a062e5cd96e2d88336984ed3adc93d4 (commit)
via 372316f12874a30c62e6d71079ca3b86c786fb7e (commit)
via 2ac7589cfe1df06506adb133e99b2b89212c9a11 (commit)
via 8b0615634896718c982d367a01ec61120084d3fb (commit)
via 1afd5965eda86caed3af7f23fd1f8802831360b6 (commit)
via 4d9d9d0423ed611fa6d620ca3aa088fc16a0d59e (commit)
via c2829269f5af8a860b54ceac3596610b1f51fee5 (commit)
via 6c4cfb244b408f980be24ea2175bc58baf74a6f9 (commit)
via 567420d10895611e03d5ee65e6b24c16a69a6e99 (commit)
via d8dd4d5fe6d5ab971b731df5f65025a0dbbdb912 (commit)
via e1316e60d4d1fe406efc6e7536b2bdb43733e9d2 (commit)
via 47e9c225c1cb6fb1809218f5f546a70fc85f705c (commit)
via 5960642af99c6dc84b28e1bc69a617099b9dee97 (commit)
via 36aed29d3774a156c88ca7110f3c12605d861b9c (commit)
via 6e33951edcbed1fd803beabcde2af3b252b92164 (commit)
via 060967202b8def804d9afccad343d2eaef8a81cf (commit)
via 7ff38b1c898be5db053193f26d6a3a1d8a6074e8 (commit)
via 0b45135ec1364f9d0c850a52ce05cf4ffb038021 (commit)
via da8c46d2967b6325dcd2cc72eca26d807964c93c (commit)
via 5599c404621b2d8ac021c1427aee6e8974572042 (commit)
via 016a3251631341bf4d8fe50966d2b70f8ea69e96 (commit)
via 308d9764e1ce02c31882e6d99bbaebe63c7fe830 (commit)
via de1c2c52237dd3e8d94df7b4a304ac9df75c8cf3 (commit)
via 782e0bf46a84f57139f25c31c2ffc93508f07ef5 (commit)
via aead7601eb0ddc3fa51d43747bdad0e02abda342 (commit)
via 84da3f0cf938f8f74d9fa89f89f228bc950282c6 (commit)
via 9d996aba1a365564c18dd939772d379c97c94213 (commit)
via 33ebda9d6841e18d9ef18b94c3dcad7d0498ab3d (commit)
via a44892be35506471a53e5bc8c2def4ffccf451f9 (commit)
via ca0a5f0bd33d0aa17a5cf518e41e47ddfde486ad (commit)
via 608a1e46394e9df951968c9112fbec3065da5fba (commit)
via 05d999b0896ab6ccd4ce23a715765484c60a967d (commit)
via f0ce0d3a331129309a46a6a9ac85fce35acae72b (commit)
via bf47e2482d3e88580ba5a22db48bc773fa8ced3f (commit)
via f6a9d9c7db9b6b58e6915869c1bd7c83d96d31ee (commit)
via 83e97ed023e828a7d924b765661374272c7f7eb4 (commit)
via 4807d3f32937bc4d932638fd8f8b3084be82b74a (commit)
via b6b9ffccac04b8729d5206b5a9fefa09ea2510f3 (commit)
via 863d01bde2725d009c45ab7e9ba1dbf3f5b923f8 (commit)
via 00db26facc14ac830adef704bba9b24d0d366ddf (commit)
via ad071a3055b9b47dad340c1a1cb3a9b39529cef0 (commit)
via e0a3af227ee0602ae69320fd6f931c363f14975b (commit)
via 0cf003f49ee8bbd5dc5f1ce45193c7ae056c69b8 (commit)
via 0a39bb3218ec528236da4953a97d07f0da9313ce (commit)
via 63b9bbb7d7bcdcb6e0f59dd8da9615d80c537b8d (commit)
via 260439cb8ec21ffd75b240aadc55fd341c8c8dd4 (commit)
via 32f25203b47b1823bf77724e3eb7bbd15ca3e429 (commit)
via d89fa914ad6f10cf2827df9b3b86da1a7d9ddfd8 (commit)
via ea546fbb602046f4681319971bc7d5044d04f116 (commit)
via 4efd80aa8a99adbb38d0719ba56b07c9970793b5 (commit)
via 7e27a9d5f22f9f7ead11738b1546d0b5c737266b (commit)
via 4e13f8fb05eb7ffd163d96e519cc011d8d21e3d7 (commit)
via 524b57e6b3a36e0ce6573bbc4dba9f0bd9c165b1 (commit)
via 6085d6f69562472c389679052dcfe66cf3068a76 (commit)
via 8a7e4587c4e7d78ebbb9bcc0e65bc03f784fde6b (commit)
via 3b53ae99fbb6bea515284f725b83125d09cfea6f (commit)
via bd9e6534b7be7a228ce339bced963d2d15856390 (commit)
via ded48a5ef34314f7af698b7ec7916b084c94b18d (commit)
via c6343a91d94e9516afe56dfe85e435922bd9ea04 (commit)
via 978b9495b78054b76052a09064cae8c94a58b93e (commit)
via 9c98104c4c8f558176311dad055897c45b7d8032 (commit)
via bb57e4c7bd1d27c45195efd0b7a612bac831d2df (commit)
via 0a61824343c98b9440fe13752f800d65f765c4c1 (commit)
via 96e9210fd6fecc1926559dbfa45e7c7c59f7d821 (commit)
via beab5d94abdbea50febb1e189198fdec43db47c9 (commit)
via edc66de9a5883295bb32fad2c87bf4c62f97f54a (commit)
via a26b73ed2d90d6ef080810fa9dd166b43e8a3eb7 (commit)
via 127fcdff0541697ffd7169abafe5a51118bf65d0 (commit)
via 4122b41366b2e810bbf016d7c5514a496f0aca86 (commit)
via af60a1ef46d2c4aca22868b0f2819234b949018e (commit)
via cb1c8103f13d413e05ca6e61e21b56bba3baae74 (commit)
via ee2d2b102071f89a04f93f0434df818f69ef1e50 (commit)
via 666fcf91c0117da8294207f631df5a97fdc4157c (commit)
via c8bd4544607d4f41b89b78630fc233f53f90b6a2 (commit)
via 8e1afc817ca50aec1e77b5bd2613844bb4b4d932 (commit)
via 4e1bdb00c63a839037f31f005349c87702d50cfe (commit)
via 3d3389010c00504602656ba6f16c6b91ade75243 (commit)
via af061d3e9c09baa0df2f2d4724baed06cc6158ca (commit)
via 1da03605ced73fc20f40ad649f3038e654d36dee (commit)
via 8156fe7f47884390b7404af15903795bb607658b (commit)
via d60646b95830f1687b641b96f31adbea75c08d6c (commit)
via a5fdf78a4402341a0ae23a5ca8a63825e2b5286c (commit)
via 17c42309df30d43ad57556050f96850105a7dfe7 (commit)
via e76460dbb9b9b34b9c7fc2f2e4faae38730d00b0 (commit)
via 835a09d99d585bfdc9f760970908e10bd8b2fec2 (commit)
via 5e99d4b301d820e1622b35cfd4b359bb4ba264e6 (commit)
via d12307c199dfdb9cad1ea79d2626224e705089a3 (commit)
via 5efafabf7be800069e02f84589c9462e99079c4d (commit)
via 2c8c5d375e91824387eeacd1d710e714f1534d36 (commit)
via b1c59ddc809bc4ad2c082b5cae02a18c68746257 (commit)
via f486487f558686c05d4f4d91a75638b9da399044 (commit)
via 22d31b1192bb38c766e349e5eed1a82298cc2c1f (commit)
via 032a0fca009e8ae7ffc5443d07d959c839dc7af4 (commit)
via e1b5381f1b24d2c6b1e254cf7e35f8a470394adc (commit)
via 9aaf8e3a2875f719e4d5633ba222a3c04a5d0e8d (commit)
via 61a934ca2090456acb4432b6c136241d3aaee7a2 (commit)
via 4bc4d42859e3b42c79c89295ef39944bdb3e6753 (commit)
via 998d452ac81bc240996c967dd27f7b747240cd66 (commit)
via 69dde7dcb81f6baf2b823dcc03e040c29ee5de7d (commit)
via 4dd63d488a76482543517c4c4cde699ee6fa33ef (commit)
via 6b940e6a063ac13372b44a03a54b6be33d22a183 (commit)
via e8b416815be691cc3fb1212d1a3dcb5d21a0d19d (commit)
via 89abb03951a90203c6635296447b7e96a1248a68 (commit)
via deca266c89cf61c679f759a74bdf362960b0cc2c (commit)
via ec74129274bf2fb65aac9381a19731c570f7be29 (commit)
via 0ea6402e6ce0af0623f0cfd180b626c7ccc41891 (commit)
via a8484f9612fc5b7d2b762b6fec950faa0fcd1483 (commit)
via c6e8a9a802bcd3a96ef14b6ea1b6cd60d5d8d065 (commit)
via 13be649613bb62e75296d1f69a7c889ddf29a564 (commit)
via aa58a496ed9a3ee19233af0bfb7c76ae02b9b2c1 (commit)
via d618e4c51c73f2139a1aa8903d677a4202956f21 (commit)
via 60b57502ec8b600dac3fe53aa6615965f0430a6d (commit)
via de0a00263930c9ed3e4e330a0d8573df4805fe87 (commit)
via 06265e53f4657a86f3ac3485552b97c942c9f4ac (commit)
via e77e648e93adf564fb10e725e4d8800d30a83eb5 (commit)
via 1eef6428112a1c1fe0295f36f92d7a3cf9908228 (commit)
via 7da5b897c96faa3c520662d2b0bd4837567bfb1d (commit)
via dac804dfa6389b71f50b5e169ffa4e239958e774 (commit)
via 18206ca3f9367f1488cdfc1475f8da072e7e9636 (commit)
via 7afa63c624ae570472381b8e35ce066bf145844a (commit)
via 90074d118de70c5eb2c71ba83e58d96359149d79 (commit)
via cc9f16aa882eb22cb2128c5eb8237fd453ab2988 (commit)
via eb1a79028c63ca565850c5d64ae60193f90cd841 (commit)
via 8b75dd3b8a32e790d7d9f1621ad4fbb6d7af9e8e (commit)
via dedad4e3d2ed1d6ecdb89422fc0baa028021f19d (commit)
via 58789a917b7eed57c5200ec0a4d8a2fc44efc64c (commit)
via e8376742bdba233d14cfbff91776be065ae27587 (commit)
via 0828001082ea8dfd223211373fb912d47f715827 (commit)
via 4d30e4328fd344ef6f26c7ee520d08813da69a33 (commit)
via 0d30a335a6747bb0e2847e0aee2ba958cf19dac7 (commit)
via 39413b296f9eb92ae3936bf29397ac1d35ca803b (commit)
via 7cb000a97ebcf7f23fe1b63fbbdd86d87b8c8634 (commit)
via d7b8ac8297642399a10216068b8003cd778b7237 (commit)
via 789c3a0cc3b1ace2d54ecc37fdbdb967f1810aaf (commit)
via 77e760c3aae925fef163d866a651079fea5f3143 (commit)
via 8396d2cdf4b013b237bf8cca306bbec602bdbb72 (commit)
via 2051d61f76bc009f42d094e57fa0e7114fb23a4e (commit)
via 452397af30f68f6d4ed05fa6d9fc30ca70cbe7f9 (commit)
via 8aed9555b232946606f3fb9370c1657a71c2afaf (commit)
via 188a61b4404369ae30dce95ad4b05975a3609a33 (commit)
via 12264a451d993a0a8635be82bed15618e0f4645f (commit)
via 23ffc893f5693f20dc807c6a7daad402de0c2e51 (commit)
via 655669183104eb8eab559b5faf2b5a676ab6cd3f (commit)
via 11509220a045532b1995b4af5dac2f921b541003 (commit)
via a66f09dd911338fb02ee40cec3840f579f533262 (commit)
via d60a92216e5d599fed6b37c58c744debe38a0b24 (commit)
via bde40b8f563dd682b9c6bcb8e24c3f5bd944a4f6 (commit)
via 3ae385afe150f2e001a1cc8fb14f4ba0ab94cdf2 (commit)
via e512cdbdffafefa63baeb835ba6636fcef56e17d (commit)
via 3723fda829671b273d7b31a0753bb1fa8f614cb6 (commit)
via 2e0569314c2ee9e5635899d47b0bc0a4b9b08d8d (commit)
via c6e5c03a2c0dfa224a71056ede035476e511f5fc (commit)
via 77403ce9669d35b286b3ca75fdc1e4c61f36b59a (commit)
via e5654c0f8492e65b3e3ac5e1a2276856049eb1b1 (commit)
via d6f1bafa2c05241b89c0303a9f6a2af89f51c39c (commit)
via 671c4e31fb12f1bee30d3bb5f8ad95f17d8d4663 (commit)
via 6f8ea6c424a3ceda065c39903065cfb251add37d (commit)
via 13e1dec8960122ec0329f74e5915503e14db5ea2 (commit)
via da33c9a7bff093e772a381bf9ab42d876089cdcf (commit)
via 0c87c0bfdfe19d5e2b8938d1db42c43e7b19e53f (commit)
via 9550ae5e548dd63599ffadedfe8d1768bfc94072 (commit)
via 7784724bb1b8a5732239e27935cd76813b9df35c (commit)
via 385f5affc00e88ad6ff0f8287bb3c1c43d59351c (commit)
via b21b63420be3857c1d0e2676e1214d63fe38ed3d (commit)
via e5bead4b23122be39e0bf32889fd609df6299e1c (commit)
via 4a8c372f1f82d1be24d2575e5979690efd839e08 (commit)
via d93880bd1cd10d0ccf5346e261d5d145d50d8ab0 (commit)
via ef0bc0dd961898d393627c3d502ad168028d7c40 (commit)
via fe43fede4726122efbee9d52b9e68b47be97757f (commit)
via 45000ea2f350fae68b4524059ae1876f8e89f2bb (commit)
via 81eb921ae109e875b9df6435ac6947181d824a67 (commit)
via 557dbe8a5ea7f87fd9e6910997ca04f306cab195 (commit)
via 9f436164d55690a0b3d2e4308bfd8834996b97d1 (commit)
via c45bd4fd43e5eb0cbad8ec410504e4778c64c65d (commit)
via 077836f7cf6725386c01ae3bb7111663b8f2b85e (commit)
via 50904b25ecf09f14c9406157b7f51255b21f54c0 (commit)
via 3a60804fbca012d751d21fde17592df0eee8d82a (commit)
via 206350da0f99b9a50fe6405613b3b05561a55aae (commit)
via 37a42ee9ad4e4bf635edc87661acb42175f20f91 (commit)
via 136bb21fda016fcfc97dfeff692ee899951148de (commit)
via edb71a9c3838b83424f6eb0ef04eab5b31aa7f4a (commit)
via 79559014b26f3c6bc64f29dabce613fa89418ee5 (commit)
via 219a6876d48c9986b47d045a41b74cb6c84a2116 (commit)
via cda77e9efc68d04e50990ea72890bd8e515d4d7b (commit)
via 379d3f1ffc3fab112a0f388a1565c6be2f74f5c3 (commit)
via ea9fb8b3e9f9624262984ad402f2aac34c65534d (commit)
via faebca0390ceef085f383d42423e14079dcd0a48 (commit)
via c4972ed6029abb1a56eeafe144000031d902f074 (commit)
via e10461aebd2c9165c168583e70e7901e962ed1bb (commit)
via 32f573bcb3aaa1c9defcad79dbb5851fcc02ae2d (commit)
via b68a20d6675f1360ea4db50a9835c073675b9889 (commit)
via 0c096ed760273eb364d2e4e6def21f688ceff525 (commit)
via edcab5e8bdaafdb96b182693a5c8eab020ba3e5c (commit)
via d76b6207439e16b98aa04f38b730376257b31a62 (commit)
via ab3b14b04b35e4e9ee8bd8cdb38ef888f0922da5 (commit)
via c9f35b348e586c0f48592918324b6e15c815a702 (commit)
via 805cee45cdf608922af942ff8ff1ccf4da78412b (commit)
via 5836a818eccb180d75c92ce4c861abb6fe8dec23 (commit)
via b8cc7b2e9afab37eb9a7cff0d3ae4ebbcf7d494f (commit)
via b558ff043d41ba8d17a82f5f9ae5f9dade66160e (commit)
via 18d9555c6e7c34beb40f54e670c11b76b61be13f (commit)
via 1659f720b0818d6666570f79bef53ac461b2b22f (commit)
via 4a11f2065906976675808364ddbd1c0f77eea41f (commit)
via a496fbc8802f0a5719db6347a43cc869e03d83c9 (commit)
via ca3084f54b62ce06c6e70a6e1daafeb5e3317c12 (commit)
via f7d3050b1966fcc3d4cf7ddb9d0a8ca741e50d26 (commit)
via 7fecd1b400ba3ba0ae9efba3662e1f75b519860f (commit)
via 6eab34f3dc27a571071d8c56146c2ffda133f454 (commit)
via 63738bfdb96f654322794384993a6f5d8608aab9 (commit)
via 7b606f95c9bcfa1b569fe5d33f7d2a73d39322f4 (commit)
via a97b16b8fcfc7ac818c43c9f9457966cfc47aed6 (commit)
via 35baa57fcfb50f7db24f7850ec9e34f4bc25b45c (commit)
via 6ebea266fd0a7a56c90db3ab6237ff9f6c919747 (commit)
via 4fd4095a5ffe3d4e50e0dac5f8ad37b8478afa9d (commit)
via 1e76a7e9b156173a76e6a14a3ed41cefc9fed480 (commit)
via 2b4cab865440e2c61d72da31a1a5045c840c60fe (commit)
via 5068630ad34dce5fefbe68d70d3a50cd8b92f71e (commit)
via 7759842763d94dc2f1c7d52d09f9203830b753ab (commit)
via fe23c31f262151ce3265f5b90870d40cb6840f0a (commit)
via afa5870f1bfafa1ccfa8a4b3f432c07c19a2447e (commit)
via 7cb9e39bd8f84867f913232904b4b36c0aea539c (commit)
via aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e (commit)
via 5826e159863b6cd69953dc01faf7c20414409909 (commit)
via 54019719152ab269fb4cec2c6a8a245ba6af6e49 (commit)
via e379037592ff71dc633c6d3de0828babe805ae96 (commit)
via eb7aa56163cc15bb732aa3b07966103fd6940d50 (commit)
via 55d7b841962c6e054735acdca2e0bb485afa0144 (commit)
via c06cbd92be66d82eb323a8c6ec451c1dccc02107 (commit)
via 5ae3ebbae55482a9fdd01bd21455b396e23e4077 (commit)
via eb97750bce2bf37176f745636815600177fbdba8 (commit)
via 11e6c98f1b6318d27ad55f9ac7d362fe7a668872 (commit)
via 51aee833ed9c6bd67b0c0e4a8c7098a549e3d16d (commit)
via 8cfe207c9fcfcf940ec8eb834afde41432ec6d80 (commit)
via 84b74b498eb690e5a856c23b9abc71f9680b81a6 (commit)
via 72f4393d8cfc4a47f0e59657f7822668cfad132f (commit)
via 91cb26dac47265f178fb6635f1deebdfd244572a (commit)
via 2fb9328d8daa751f3b71745636323eddccaaacce (commit)
via f0b0791b05ed335e5d74d843d828645805db1f9c (commit)
via cdb061674c044636465e52a8c989b9011f2ec8ac (commit)
via d5cff5df74b18e1e5ed94de8f4c9adee3ffd95c6 (commit)
via cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa (commit)
via 7b849db4f213d6734b4121ca5e5cab3341a5140c (commit)
via d0d8478068ae7c01b1a504ca2fba90c1d36c5566 (commit)
via c2fbdc5901a9220d0953f14c27760c3d3ae13074 (commit)
via 070fe95d07c78349f0c8f0fa90aeb92d05248483 (commit)
via 510fac86d7a8855fc680466f07ae266802c5fb40 (commit)
via 20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8 (commit)
via 7360e63f80782cf34a195eb1c6149760c3da7f14 (commit)
via 511b1657d2b251e529a7a0634325bb7d8f3af80d (commit)
via 5b2af7dd40a4f3b570aef71daf11b9dfce9a5d13 (commit)
via cd78ea777c35c497fcc0f20d162789296dc0a44d (commit)
via bb854a36d192bfa6609da9e3b1342e33da445598 (commit)
via f945ba50bb7e11c03d850d1680b15da758300ad7 (commit)
via 6dca8d51d523adc1a8ba7ea22c4b27d86a57da56 (commit)
via 5417c94d1a944d1a27f99240e5d62a6d7cd324f1 (commit)
via b8c6c5ef99ef8f07fcea1c777d5084dc6f7232e5 (commit)
via cb5cf5e26ea2e42937a2ce1b662e61e4772ba6f9 (commit)
via af1b22f3004774f8c5c570abe7fab629026032f7 (commit)
via 40e050d242199ac67803c155ac2062169e5cf53d (commit)
via f33026a96558ba9231ad91eb989ea6f347a15899 (commit)
via 391538482ede7161fdd88187596426eb6d9ae44d (commit)
via 8b558f797a3a63aaa8de119ddf53c8afdd1dc6eb (commit)
via 0ef3814fe1b5579890a7758e6e52d12b8a96fdf2 (commit)
via 45972d00747459a447f7e84891ed6a3367565f24 (commit)
via 2bca03770d4d219b4e29d43754a9d95a4152255a (commit)
via f54f5e31ce1270a1e9441348d6f2ea2426352478 (commit)
via a3b5281eb93f986e9865a099c554156c40e4a686 (commit)
via c20ceeb226168ffd84078ef74d890c2b7f69a435 (commit)
via 3675a06a823132663f7c2376796c5345032fddad (commit)
via 7ac018954bd9c2d964204a451ecabdd7d8a11945 (commit)
via f2d7e0f45023ef1b469c627aff02ead3697b1240 (commit)
via d9d11c361cc29bdac2d2d6c38bce329d25abf7af (commit)
via e474ab13ec653d5d78489467f90669689191b31a (commit)
via 5e63e4525526ddf01fcbde7d7517560c492a0884 (commit)
via 0bda1f8819c4c0aed25c78fadac545d8334dd0c1 (commit)
via b4e1fd615ae6582170a6bb62d6519d586bd5347e (commit)
via ce62125ee9797bc5b23745fe140506b0d64f4220 (commit)
via 554717a3edce7e266d409cd2c9c76d92584ac156 (commit)
via c67ca4de63fb3018a7e21ec4afe709d4c0dd52c4 (commit)
via 25abf97969e50190cb5532b25b8e1deef3ab3bde (commit)
via 2ecd81c23cd070cb66073f726bddf2a7083bdaf1 (commit)
via e53b69389a7d743fe888926475d46167e91b1157 (commit)
via 4c0a9a6fa1c43e727e8de9ede87df7c21bd8500f (commit)
via 6a49a997b406fba3a389d9d8a6ff72042606c69d (commit)
via 4f9b735feac07e013e9f63d50d9da7a91d58cdfe (commit)
via 6bcb1f97b19a749ddec7c0d80d10282fcd3f4fb3 (commit)
via 775a3298dca48e76e29045912e08025abacafa94 (commit)
via 6f1c2142595b1ec203a7da998b2155403a433e89 (commit)
via 53c3012ccc25ecfc4fa1f52e341e19b30d1e57db (commit)
via 77a69ff840d60cca73624e16e5b2dd5217a6037e (commit)
via 6c37fedc41b028905cc828c0eccd3a8720512e4e (commit)
via 53e8fd0f07cec1eb36149a64e4ed45923967453c (commit)
via 081e4c7d6714c62ae0e53842013e360f97618ba4 (commit)
via 84b52b66511b99c8cb5cc2074d3dbabf4ffcf826 (commit)
via 4bcddaceb01a5ece549b2d807166b5e050801f5a (commit)
via bb20bd8373e9880ec9bf0df357c5836519ca1048 (commit)
via db1ff28b60f8886b8d7c634f1db2f939ba47a13c (commit)
via 0a94970d663a053c523f23ac0d71deb25a77f709 (commit)
via ca5268b6be265580b91ef75c1a1a9815f581ae42 (commit)
via 700ca40f6fc1addd7238f4ab57f76c095ad3c99f (commit)
via 9904185cfde13d6c6849f1f042c8e3b74974cf08 (commit)
via f7af1fcd759fa126612018a5916cf808df7bb8bc (commit)
via 6e5b4429db0d66e2d0b27e1bcfe4709f3dae73ed (commit)
via ddc98fbf2fd9e244a215a4d09e559180dc573a14 (commit)
via 03346981fe6c11ab63b54a8d1919d6357e659684 (commit)
via 189ebcf9150ee935fd5f9718a3abf02084dde02d (commit)
via e57bb7a0313b66f8be8b380f5328bbb45fbc2fbf (commit)
via d1d0aea1ea3572451ed04dc22a31ec1c50c606de (commit)
via 42422cc7d6c2e816ef1c4d268f41b58c031344f2 (commit)
via e7b01ce03de85cfbbddb6ed755486db528abf1d1 (commit)
via 210187848791f50ee7dd8eaae8fc4bd371b3550b (commit)
via f168693bc9d109c387e442119354bd57ecec8267 (commit)
via 452802827f0870df0c8ece81a7e098d94cee4536 (commit)
via cfa68bae4271a51a4402f8ca7ccdc014be95d79d (commit)
via 19a7fe52ae3d0971e67a134bcb1648899e21ae1c (commit)
via 22121df01ff9247b3cb272f52632848f9631f80f (commit)
via dc2edb520a534fd0c2af169d46b4d892208e8f42 (commit)
via d0270d8cb92123b55d2bf735e59ee9450a9893f9 (commit)
via 1d83d382dea9b98d4aa4aa0083713447b83e0ba5 (commit)
via 4d6404f01d38b1f34bd9bba4d78276e8154f3312 (commit)
via 49d00f48e8e3c1331d367785f19c69867a47b4cd (commit)
via 99fe86f7999afd2743b08c550b10f083ae4bd9bd (commit)
via 8a643cc36cf121de3a9131f95547eba927413710 (commit)
via 969b1713b7c5bc0a5fb90d85f82c7f0fd27de34f (commit)
via ce6c656dcb8257b7c05975039700e3c9f4c3af3b (commit)
via 454de2ee151958e0c45d4ed0f3e496156e29d3a2 (commit)
via 1f0d470a6699abe442982df22168c002d16bb714 (commit)
via 8ffdba260ca757521c815782a0fe01fedc84849a (commit)
via 586b02a96f744497c8921a558f1c386287849ab0 (commit)
via 05e83eb1b6a69c34b2fc5ab5e2dc14119145e49d (commit)
via d5131498a57d1789ff0fea2cfeb1af90802c8dad (commit)
via 97605e61a14518b1a0ac2a576f4f3c843743e4d5 (commit)
via c576455ba70871d7f93218f995b02bbd0a098d85 (commit)
via fb8b9dbc147d37129e5a366a395302f532f5d190 (commit)
via 480586639d6b814b2e87f6f106b8635cf7442b20 (commit)
via 8d6dbeb44ca93b836e3af8f8d3993997bf347112 (commit)
via 9394ff46fba5a989d94782db817cc248dac736e9 (commit)
via e571fc2b054422f2e236f614a5276c416ffb9e44 (commit)
via 889884731e09b46e4c2ecb051dfde1e2f69d2b47 (commit)
via a0e28e54675fd92e73df71fed5d4f6c718f40102 (commit)
via 58c1b36c673c88f13fe0cf3844fef643c35e8318 (commit)
via 813dabb9f0413c3391035300e9af083513ce83fb (commit)
via 209ce4c2de420e5d55649eecdcb3e8a837fa546f (commit)
via be0496857f9f11559681ebaafd3462ebc8df351d (commit)
via 218a5a11a07268228484af88666739852ba36552 (commit)
via 421530db90312b605ce05d7cf883123a084f9af3 (commit)
via c101f28fea4fc8621bdf864bc6e2132244dbe6a7 (commit)
via 150375dc7ac877d1dc6e8aaf73a23479b720306c (commit)
via 6dce28e413375aa878cf43853d32657d1fc26c6f (commit)
via a2c59f280dda14a2f68d0175c8879238be1aa200 (commit)
via 40f77f827b91ab9665ce27950c30c688f8fde983 (commit)
via e03ed3c64a048522ba4bc12092f8a75bcfab6ea8 (commit)
via 485668e5b3987456b44588c1f2fd8a0723909866 (commit)
via 73854cdd438dc8858290231ebcb682377d71fec2 (commit)
via f250f5c6ddedd25e81a66cddfcfe93ed79018e8d (commit)
via 61163dfaaedb90d78e11c1d79ad1e469daf3da47 (commit)
via 58d2eda55ca5aea4fa2dcaf3bb2fff4525b236d0 (commit)
via 7671bf47fc6233087ec8b2ac2698f48a1d3f35f3 (commit)
via 7890fb45667484d99488b047551bc9dd6d1c9889 (commit)
via ea873d8ea64281250434e198b57373f308c3bddb (commit)
via 02a2a705aa71646a47c955388491523a989516c5 (commit)
via 7dfa3edc033c443036d9f2a3e01120f7fb54f498 (commit)
via db634143224dc7cb985d996bed15257f5cb86b25 (commit)
via 8b61f75db53877215c7cb15b901a094bf1fb916e (commit)
via 7c8edfae86385f922dca6ef1ab7c7d378d4fd30f (commit)
via 3350cc01deccb8289c1c26938628f996df3e390c (commit)
via 938c69a11897acea85275b93b5bb376b589564fa (commit)
via 49f7fe2880dc08ae701d9cdb84c8217642ef637a (commit)
via 9e4f353ca9d4f4ae70ce76ae704e5686d47e2f63 (commit)
via 1c67f0326351d9c521692ceca92f93cb0de9bf2e (commit)
via 0b6ef777bd0b7918590da1bdbeab1ca97d753ba2 (commit)
via 1033c33c36c5f3d0b89d58aaaa374c76562583f3 (commit)
via f6b93c346364866f96529fb03557eb43e0434fa5 (commit)
via de231f2015ec537df22c60822c9adb1f2205c13e (commit)
via 0f4576e3582f097cd257339d9395e88d07031002 (commit)
via c2d65f389a2f213d74bd78df6a75dca6eedb3bae (commit)
via 37fdfe4c0083c2a6c8558c76e2bc4fbc77df7d91 (commit)
via 80a2b330f7e719cd851242d6f976719586fb9295 (commit)
via de0ef285459ec1b4330b9eaede88a229380aefa0 (commit)
via 4ab31498e400c89ba9dcea2444c65aa020ab53fc (commit)
via 7a41607e01b505db895fcebcad618606cfab1ecf (commit)
via 7e3023528162de7760a0e7e487aa81bbf44cb6a9 (commit)
via a9bd710f8777b5f4d6cbb9f5f14d6eb16f60c690 (commit)
via 328e7bfdde7267f5e4b971bc6dca7b82aef77661 (commit)
via 7c7f93f6e5ce31223acbe871fe0c7e4daf0d8bbc (commit)
via ef3f321b39c3e31fc49f034257a944d515af182a (commit)
via 0560c645c02eba2828a053039dcfdf676cdd1d00 (commit)
via 084641963dba63283bf2eca227f4f77c2598b172 (commit)
via bcf5c1d96b3b5493041002eb2b6d27288d9d160a (commit)
via e8643a4533a92e011dad97ea53c99d314c06513d (commit)
via 76fb6829cd9cc53c3eefa98ce6c99bacaa52f491 (commit)
via 501f83eb1837e89f8a4060b46d68d155156b41eb (commit)
via b91deca94e36b9f18156909e4c615fe7af8e3ae8 (commit)
via 4931af25b8ab8f9db77c40142d52e4513762ca97 (commit)
via 9fcf688e800e089217ecc8a47b228be180866df8 (commit)
via fbd8d50de232dcc7efa5ac4531adb72af2439977 (commit)
via 71be1fdc3655a170f4b14d795e5c9e81fcea06ef (commit)
via 82c40d4b1deb252f2d17ff74f3fae6ae8cdd0383 (commit)
via 607685ecee1015d6c37e0d800d40453dc0aadc8c (commit)
via f1b6788884b2e95105475c95b7f22f6ceba2271e (commit)
via 179bfe826ba62ca8aa43f3d20cc1b21dfc41b1d0 (commit)
via 3e221d361f5647b56b7cc3ebf5ff487f417ceed0 (commit)
via d441430b752a617fe476e745b95f544fe4463fec (commit)
via fa446e20d980f2fa225c57e452849dc7d5f615d6 (commit)
via 15162befa3ac493c781c126ad49cb20eac053618 (commit)
via 6008fc5fcd34e3f1cde89c86e3b62bcc7ad7ea7c (commit)
via 7c79d316af486c456f6f092d0841a9e16527bfd6 (commit)
via f2232bea3284b80fcf0ed19ee6b940bcc6ebeb3d (commit)
via 66c4b3e8a628a207bc6aafef6af0c4128195f56e (commit)
via 1a617dc351fe55ad18dee9759a6f3286c2df2cf8 (commit)
via bcd8537ce10dd72b053fa54e87525defa26f3fd0 (commit)
via 10e9aaa3b8554f997db993c8158493a96030d4d5 (commit)
via 8a13d42d99390c36d5e7884b509e6bb92ec72e3c (commit)
via a844296a982bdff7c14dab355de0fca75486add6 (commit)
via f41cbf58f4af65e8612585c45208f3690a39ea28 (commit)
via 118ca22445afc728069ca80be2f30dae6913059e (commit)
via 0d3a523baa86b53238c658d2b290b151eac072dd (commit)
via 92a9c616e496f41c3d1da949078d5739add79161 (commit)
via 533edc14b87398bbf4cbf3083bd6deaa5b89d5ab (commit)
via e7ba597a2e537e1e77bff5d8a26ab8fbe6369afc (commit)
via 0f088b2a9417b1d4ed597849ffa671eba25f5051 (commit)
via b6b3dd8f31c96b6f7ba26de1508c3c1b2fd437f9 (commit)
via ef5a96d564a22a25d31533c7377eede42c12b25c (commit)
via 1b485e67784d7b4c212a936edc79f43bdd7d09cd (commit)
via 69ae7f4d16a0fd2548211a37aa5dc8482050bd70 (commit)
via 0561fea48c107b271308a013c485c29cbd5c13b5 (commit)
via decf8d9a5f91912768d52cd075b6a25617a90d1c (commit)
via 2fd0f80d57e8437d70ba79921efd3ce02e755755 (commit)
via db49d3d0414173fe8907dcae1cab0067d46c44cd (commit)
via b0627500e819fcaaa42538046b0bf069a7c2edc5 (commit)
via 9be54cae43929ab989fcd44dfcf8d3313a55f7a0 (commit)
via 010a18a1b12ec6d5219b7e602aa6abe12344dd1a (commit)
via b20a652466ea6e62e7d056188b79a0677a29f46e (commit)
via 58bfce93438e1f936d4547bb9659b7d096e2823f (commit)
via b0fd6b3037669534962b1ffe860db178ea7e1239 (commit)
via 78ab7e9d38585cb939c473812e6a472b8f4fd5b9 (commit)
via e62803699d1a722460e8aaa63ef5c99f5580761a (commit)
via 7d8d1bd943e28623cd188725aa994edf045e54fb (commit)
via 0cb5a38a5be39be9e18a1090418d3be97d6b8678 (commit)
via c8c8175b623c597cf18442ff1e13456beb41931d (commit)
via 8c163c5a87f3e16f34ea9a0565767a23dccd5983 (commit)
via 965b1d80832fde9ba17a8b5f11b578a8f9e10581 (commit)
via dfc87947b5ac6d6382c225449d4fdce411c7ee66 (commit)
via bbcbf914a6ad801bfa7d4e56150217a1d53e07af (commit)
via 7a53c6c9c7b85f92480370d29c8a70635f6744b3 (commit)
via 06f810bd8ee52d2485c180d45c635c25c9a15108 (commit)
via 5e61e7c0390b390bd07c019ade5e42d7a6d77e10 (commit)
via 0986c744dfecb8177de90020646090e9ed23cfe7 (commit)
via b5fca6d7284b2cd2e90efc556eb6a29a1b177476 (commit)
via c45613e33dbdc646b6fd7f02f86635639e852bfb (commit)
via d0bf44cb88be21ea009a4fe0e59a3d3e6e545aed (commit)
via a2efc14b81515aebd2b7e1f47fe4768e432493a9 (commit)
via 16beab3db6f347a00b18c0d6bcc3c48feff58dca (commit)
via 5ee4a1ca16364c79f8717752ee9a9bd562580907 (commit)
via 9916071f8df180400e39d1783d4a878cf57c61fe (commit)
via 54f66250d79ec304ea427915bfd8b535ec249c3b (commit)
via 7b9be803fed8f500b512d5685773c84fffcdf63f (commit)
via fd6e021d8c989905bbb234fdf993799db5a18cb9 (commit)
via 56b06706ebe6bb3decc674b788b6f5b243b8610d (commit)
via 06b3fd23bfe2f0f76a590e89ac7378c13153e165 (commit)
via 28bf096c62d7da6b349605f3940f4c586a850f78 (commit)
via 2880b51c25b055013c2f4939a5d0c0779b972bb3 (commit)
via 96c97461222f9cb1a16b3b90fb7316c9c3d8732a (commit)
via 37d669427f8b90f3c9d17a6e04d72c731d3abdbc (commit)
via 1451ea7da40a82e8cf6a39fa8d0fc74ff230600a (commit)
via bb0eef66f82c97b863951eddd0c47e28faf716a8 (commit)
via 73cb0348b296656e971c4d428aa63781e656a1c4 (commit)
via ee0c0c503deffb7baf900ac8e092b18bf8c1528a (commit)
via e44fbadbede56bf42896c2b3214a056cf20f131e (commit)
via 216cb5839a931d3d61aff8e0de9e49183e3d69c1 (commit)
via a2a55a40071096faef218f34dad3adf34db9b1ed (commit)
via 98090c0be30fb626aed09a7f9973b9c9980cce56 (commit)
via ee93cd5e1e61e5739a1a44e0d1d166ae09d04dc2 (commit)
via fc637f04c741b08726cc1631428bf094235ecb4e (commit)
via 2e52ae68e7cedc3a1f9908c98ee60a8602705835 (commit)
via 6e22494e5076e4d3c0b2c2785883162f83db499e (commit)
via c742574f825fe43d1e7203fca8690c008b525e97 (commit)
via a5499fa4649e4325cf46edfff2f24dae2fe2afef (commit)
via 920d644c6377a0bf7419ae8a24bac6e101beb847 (commit)
via 3f3070745b78c25d7b16c913c15496b296802505 (commit)
via 946748d5ed1d218adfccd523be9fdf280adfe434 (commit)
via bf7b9cd9aa4645119792e9d1689e0f014f43934f (commit)
via 06e78fc77dfcb8a63e44a790c9731db0eaebe87d (commit)
via 4a677ba7249d61afc58b761c997cf1a743279e02 (commit)
via ef10c3ace00674e8c3599c3bf95f06c87d68898b (commit)
via f8773be1be076f828b93ac3bebeab3f782e191e4 (commit)
via a3be80c3c54e9e2c0d8e9a1ff77c931cd8ebeb60 (commit)
via 53f7371c77f50aea587cf06bf4cc79273ee1382e (commit)
via 68c3545dc3bf31e41572a3e9ada3e189dc704b0c (commit)
via 7cc152be3e6f24f2bdb9740157426dc115cdaa54 (commit)
via 32fad71f9e6cdf73fe3c10123b23f42397b83e7d (commit)
via 7c1e8d3ed5e48b3339d60450fdb5b29ae54edebe (commit)
via f91ca6bc00c1e3c70c1d2f4527d4297b76e2eaca (commit)
via 59cab532835904f368b0aa99267afba5fda5ded2 (commit)
via 602a67cbeaf6b42bc513a873aec82e53235b8754 (commit)
via 9b6025d1691e83eb5e85805df88a67083972ecca (commit)
via fa8f87e53b68881c5e3aab296b517203407c4378 (commit)
via cf304b56ca48631836bdc4035134b5b5ec3b9d49 (commit)
via 87d1b30944783ae0efb49236c6d872d775a37417 (commit)
via 8371bf0cd99635c9eabed28481b34ea8934a948e (commit)
via 201e8dfdc8926c0b15bd9bebc762612ce196fd00 (commit)
via 23bf70af12aa0c14e79c02b6098117bdba8c8a3a (commit)
via 5cd867b414fe3609dbf596c373343474132775a8 (commit)
via 4d7be0075acd2083772944209c765a7c332a1727 (commit)
via dc06243f6f87aa52222dab0ef45bb9a5119724da (commit)
via 44d51e2c27f2154970c046089be768f503b996b1 (commit)
via 0fc26cafacfff9f53d898bb73495b384b80d6d31 (commit)
via e750549018d67d545bdaf90cc058f97b954600cc (commit)
via 8d0978fb4bf62e760e7b50e59d5c58d30c059183 (commit)
via a38fe4feddd68b9c0aa082dd078c668ca9f06aae (commit)
via 8e6500c55ef0b9413ab16e384dbfcaa238bcd420 (commit)
via 4953dc20941a48eed02b575cec29d8de419f87eb (commit)
via b50a153264dae2267e3846772819515c648e3c97 (commit)
via 7564fe458c2fe1a77eecfaf5e2f99bec8961d457 (commit)
via 0bdb2f78497a1b3be65d1428cc02f7d4e1d3a888 (commit)
via c217058957a45a93481da35e1531ed120750d739 (commit)
via e5ee3fe285c698f1ce3d9bbb596bcda6219f5f3a (commit)
via 7b9341139a693eac8d316275004b2d752b1f0cb8 (commit)
via bdc4de1b24353c4213e404029252ec75065499de (commit)
via 07fcd30112bb071e8dda0a2229a860f2874a7816 (commit)
via 52042a003f3e9200c992bc5cf4607dc7655b1f7b (commit)
via cb5d172ca44e20200b96b5276c4198095d7b6516 (commit)
via ccd4b2953bb039e91b301a616c5f7c6f542b6b10 (commit)
via f55b33d51b056c665568c6204bd3ced7f1ec15c8 (commit)
via 618b526e31d3df71e9526a0753271624a568564e (commit)
via 02db4b0a9f80505adaef9f547e8c069adfe63e36 (commit)
via bcdeacb69a4de9e019acf6c4a7f09457e6e6cf0a (commit)
via c325601c3f444689bd807c40c9b7d5d702e7b7e5 (commit)
via 11a0cf2ec0ed6e70ff25e9a50c2223dcd98c1c10 (commit)
via 18a94d75a0a9baca8e2db2563fa3e637415ad86e (commit)
via ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 (commit)
via 124e13d9e753ef307d6fe478e2cd6dd738de1a0f (commit)
via 74bd41ce65c6c2c30ff67519bfc1d00b61826d96 (commit)
via c12d2c9d48cf18d818f79b89bffda934c354fdac (commit)
via 75c11999673ba32027eb17f6df9c37904622ed24 (commit)
via 57b42d6489218e29cb18edd111c97f4390b62ad9 (commit)
via 7aec3bb968de6847cc73809408dfe8aa78fe7de7 (commit)
via faffbc648d247533b6cecfedbbaf2d640d72cad2 (commit)
via 6ae8866180bf90e9ec76c2dd34c07fd826d11a83 (commit)
via da4616f69f53c221477388b6f2d4abee9bba0722 (commit)
via 0eacb2983d96fd7f12a1400a66450c1a89578f00 (commit)
via bc460514b9db46a491c2c39cd118b02608742968 (commit)
via b58c513b7932cfb9852d66e07282b9c2379197ed (commit)
via 7d5c6c43ca8a5dd5491f4a58e977ec5501386ee3 (commit)
via 61a0c964e611eaf72489c3049ba206b2f91ea4a9 (commit)
via 6362a3f8757bfce133b724df2077573433823ad4 (commit)
via 920467912a594a3e5af1d779487ffe3e5c550aef (commit)
via 696ddf4b52bd4b4d3997ca1a514b1d07fcea3715 (commit)
via 5fc177c89526035dfa5ac5329f88b02af01d8ca5 (commit)
via 2093d2d31460dc351145c4c295ea4a101e0c5aed (commit)
via 1256987795a7f61826c0e5cc2ee023a579bb0a80 (commit)
via ba592044bc04610d6fa14d0a95931bac303ace37 (commit)
via fc2484855563d0cd3e43b9f2d937481b5f5e4a7b (commit)
via e6c693af14c0488998a784d560b8cfbcf15db99a (commit)
via 490b7f752c8d0c91f8cdf53c3771d5be5cb9e7de (commit)
via 451133cefa839104aa127d230436fb609dbef37f (commit)
via 4da680addb9f9c22f24f0294b8b9b9ca52cecd7f (commit)
via 0a75489fab4f3a1172c0328b9f0767351dbb8744 (commit)
via bdfa8b951ba38b15487eab2a754b9a33b9f29634 (commit)
via 56f4083249f4633084d4e8d89fc065e895f874cf (commit)
via 24b4cf66a626566e7903813a2e0156778f4903f9 (commit)
via 95855ca82ec3ced28916922d663106e61ce593b4 (commit)
via 1d5c94cb3e2e312fc37e7841d17ea98a02f0412c (commit)
via dd9bdb04c7ca31c4ca14e2aaf244d4a492d9d9b3 (commit)
via cfc32360afdc8605b2dd2062e857313e62c40e30 (commit)
via a86c90e6ba808e997f87f0287d9f01ba8d3e904e (commit)
via cb6f16cf4f7a12f9aadddc0451d47f0511729c8d (commit)
via 31b7833d205031b52996982f5da025d60c6e052f (commit)
via 909c2cdaa78f5c33ce61a3b47e86f831025d0a02 (commit)
via 03aef70fecec83e109c65337a59600ad36def6bf (commit)
via d1168cc1a9825b96747440b0bd1f82c4498e6343 (commit)
via 1e5338b6e7405acdd1e1d0eab46682bd1af007d5 (commit)
via c74f7d1c6c5a968330208757f476c67a4bb66643 (commit)
via f20c58f51f5735d1ba49efadc86b3ec67631410e (commit)
via 87f5fbcc7aa49cee13e9ed44587b80d695d7e781 (commit)
via a2a4d60d831e40350d96edd2f1cd55f430d04fd4 (commit)
via d025d5e5b57fb59c56aa4d57b7fc138720a8e454 (commit)
via 3a062fa1eeee8296dece36a9bb7ecc8d4500de18 (commit)
via 17b9af13f5943872cd33a559bb5dd0de95d1b04c (commit)
via ebfe52f99cf11c847ca2aea544f7b8d2206a4df4 (commit)
via 51f0e40d6502cb873d8120f8bbd5a345db1c5914 (commit)
via 644dbd876c3f39eb1279cec5680e52fa20bb9ac3 (commit)
via 2f0c79aa61e82cbc5da4b9ab399362b2cdd8ea2e (commit)
via d309493c38fcef624f6f85aee4aa37f4f9e3e62a (commit)
via 3374165f51fa3cc3ce1b1bf8c72293464da9d511 (commit)
via 99a2c56121247207d4846fe7e28b5e7e18e0bfa0 (commit)
via 279a6fed95275b480d50f6f1d80a4f3970a9c5bc (commit)
via aaa9dc0170d5a2c09712f65f38dd308e7cfd4df0 (commit)
via 306f4178efa1851c411438aea39ddc553bc3070d (commit)
via a1da2672bdc5adc551ad30d73eccea902063f583 (commit)
via a34870829162e3276a9e0152efe2c7de5677a0c3 (commit)
via 5b064994f0e7d8a7bfa0b4b080a360ecd9d2af82 (commit)
via 98aa42ee02c56378cecb737d01c27adca36bf48f (commit)
via 0054dcd7b6a815ce178c464f7a1b7e7fce7df3e4 (commit)
via bb11f3ed2bd9eeddca84cc3a80c3643ddae517f3 (commit)
via 29bc024d07fe480cd37f36097f23d5585b15e71c (commit)
via bffcfec8c3a15b669579b67d5b626c4d14b2b6df (commit)
via 53d2389fd01ea7eaa83bb2727efd64c9904951ec (commit)
via 3604cb1f8ca4a926039a9540d03bb224d84af3e1 (commit)
via db7858e227f3951c665410314fca62c77349ac24 (commit)
via 966f0aefa6a96df2c45ec36a7ecc02419e3842db (commit)
via 5c4f4e4a8a774318fd49f6002a002836e4d61197 (commit)
via 18c208b2292f3c61097dee99053ecab78b393e46 (commit)
via 5d7908e0880030628536a0266968a15922574735 (commit)
via dd68f8fa8e2412c5c16380871d8ac5e40909aef6 (commit)
via a3a0c39166742c9ef9bb5d87ab51320b7f62cb92 (commit)
via c1d8560ea5721191e30e2fcad720345730918497 (commit)
via 83034798de7d11d2e26b3760e26b2c9cadec9fd4 (commit)
via ce4eda4a58d4634577cf998b928572bed6779246 (commit)
via a6c2a374e05770dd7469e050f5d6603e3f034f17 (commit)
via 9b9c712cebc08f4242fdcf3b12c057f57bd1b589 (commit)
via 66a19e2f815060e69d2e38f9319ed827fce67399 (commit)
via 09896bd2234218a8ff3617e1043a1e72da2587f6 (commit)
via a84f8df0e2027400910e339824444dc45ba6e4f4 (commit)
via 926b1cd8cffbcd8cf2d37e779463a4e7e696f73b (commit)
via 6449ed0d3a78ba8c25e8a634f8d6ed120a4cac7f (commit)
via 34f8ac9f490fc38a07d03ec8e425c06a2bb737b2 (commit)
via 2cc78d4dd7cb533024eab3a59fb278e03fb51c87 (commit)
via 96eaf29ec4df2f81be180cfeabdb9b26492e8264 (commit)
via b0e4c8a581c689da0c3e7319c03a8cc60d64a2f2 (commit)
via 5d19c36612c6b08627280bb0063ad1222b0a92dd (commit)
via 31557eccb23b478e049b5eb7db3cb144c6533ee5 (commit)
via 198c808c87eac2d4605962c2f19191c8ca24d268 (commit)
via 970cdef2612b098b457345025a08aba800991722 (commit)
via 6e737c31868eb2cc6b56ebdd5a0497a39d53e622 (commit)
via e815d2d2714a395d11abb350eff385931257ed9a (commit)
via 8847cac2f7ce6ff2c13fa611660c2dfc59c78272 (commit)
via a48d0c12f893a922692492829f04189d9f216172 (commit)
via 24c05f46059182f0c8768c6ebbb66b4ca3233ecc (commit)
via 51aad7cc44161ebbd2eea80647391c692ae330ac (commit)
via 14d2069a321cdd2b06f1982e6832c8c5661febf4 (commit)
via 15a201c844e770d3c6edf174b9ef6596fbae7eb2 (commit)
via 7a6a173129107538574949116c0ce1c0ead589b4 (commit)
via 07c138c8ae2b11d417c9799202363a95a2d06881 (commit)
via 12e2a5fdccfc6857c57d2e0a1c1e5fd136a94025 (commit)
via 9bc3a9760b22a6187fdce6abc3df8f0c1d483a21 (commit)
via 4b8b5e72451d5b9da4000b8346b20035833aa087 (commit)
via ca09583623ab77362186a9fd1ae260c38dcab470 (commit)
via 5d9c55d355c8e5c688caa3fe43c0d95d538daf35 (commit)
via 040ea00bb02018cbe21ba732f68134ac91f370d2 (commit)
via 7d73c23c4d8cf727528ac5a34a787e44a30d98cc (commit)
via 29c1c24429a099eca297080dba56a8c090e3136a (commit)
via 422d944b03535efba6187bbd9e35e87f73767dd7 (commit)
via 547a646d67e7a38b96d2a93b709e52c9461d017f (commit)
via 8b600ba2b47c9ae56c21f1abdfeb1eb5510d9615 (commit)
via e5796f023338867d1fed85b4908069f099122758 (commit)
via bb9e16d4bb717968b92130344d0f5dc3babedaaa (commit)
via f419f52b9b04f2e45dd11542c6531a48ba0e0d13 (commit)
via 509c2f329a42646e64c7c3e8796f8b3bbd904032 (commit)
via 3ac2e371a1abd1279f66477aa4fc68039da1872e (commit)
via ecef18c564bd609aa7640564747b807bfe1632c6 (commit)
via f5316771bd0cf89578450be0460908beeef4dbb5 (commit)
via 1e1b2efc461dad176d4e0473d6e3d3686b5abdfc (commit)
via f0e8c65e02e84ceb85b569508aa4f54ecb0a8abe (commit)
via 80fb91378c91a8239817a5ab2b1c3e346109db25 (commit)
via b8cf50755b573140aae71f7247b604373fcdfbeb (commit)
via 66f38e2951a1f7110ca3f1adf362322ec4208428 (commit)
via f051a5a3d0bae10f5a9294f01b70257a0520a976 (commit)
via 8fcc61b42be7703460dcacf24d97b290f502c23e (commit)
via e00a2fbc249c540593baef120eb13ea2ca7891f3 (commit)
via 1ade71756948cad279f9b01d88ae762d144643e3 (commit)
via e3dd7556ad89bf00c2a92f76079ae1c53dc130a8 (commit)
via f8b447819b3d65c3bea65dee860110aa198c081e (commit)
via bdd2d2b7e6fbe90a07bd631cb599266fc6e12b5e (commit)
via cd3c333f43f03d6e41668a82a68a99c14000a681 (commit)
via dc302c00611b6973fbc55e9fdd643ad24c370bd1 (commit)
via 000966891702bdf5f3da8b2b174cd857298ea7c0 (commit)
via d5eba19a654f31f7409bd17b0d3dd2e4c483280e (commit)
via 5b74bf7d63e71e977fc9706b56499045035ea63a (commit)
via 13be46a23c97f8bdb4ac028c1498197e44fe2e62 (commit)
via 239c0f4cebf8da3914597e2e296f5d172c2c62fb (commit)
via 88f0ea342dc6eb3d93a29895febdebe3e425a048 (commit)
via b968d18a6d3df13b92c98e813f3d2fb3bbd3d4ee (commit)
via 8086551f52df808681fa09ca00dfb91e67d8d2ff (commit)
via 374082dfab280123f5a54a23b1c1b2cb893b4d2b (commit)
via a96a7cce1820951c566cfe793ccc72db1e4adf69 (commit)
via 7f36105668d57c26b52037202f5d97dbad91336b (commit)
via f277626b45b9d4af76e5d61a7efe09ce417ac200 (commit)
via fbf8de7c4d262f4de5148574c13f48961cff0837 (commit)
via a5932920ef397c2cbe02efa915686022b78d59a7 (commit)
via 0220bc5727e595f42bc3a1ce8ef284491aa74ac7 (commit)
via 775ed62ec53a38c656300d4ce50ae5a56c0d38a2 (commit)
via 3b462ec2bedca7392bf4720db44fdf2a46ad8b4d (commit)
via 9c7fe3c5c2c9e4c3571c253cf77341e3f6adf94c (commit)
via afa403d8d467466edfd77baea0bba7ae45a4447f (commit)
via d6b4b13ed2859a1eafd6c94c0dc64b20fdbde1ba (commit)
via ddfded2f7bba485d6c967b502337a72310f24913 (commit)
via 1af1dd51db991700c0e66b35d777a44e6953bbd2 (commit)
via 9e1f0fa7f3f7aef95d27e197562906bc648849bb (commit)
via 290806fd94099361f28e012cebca058c8c4f0e45 (commit)
via 8d683210f1932f6ac6d2cd8ae8186cdad80f5a23 (commit)
via 400f89447b72cbd48a2fc8b016a09cbc4e590d81 (commit)
via d78b6450515fb163b00bc8874a15469df797ef17 (commit)
via 72ca8fad61dea369e4e584e80d3326dc894703b8 (commit)
via f21cce2cacb534428ed6ea96fdb684ad8a4a948a (commit)
via 7018c0308ac5d936b68c280bfcdc80bef77225e1 (commit)
via 3d715ce4202ef799e288261d08a5438c82e7c21e (commit)
via e0619de699ae6e86d8b93fa96a7668aef2e9636a (commit)
via bd16da5114e2f04772bf05604a608fbe006a485a (commit)
via df9d7ec9e749c18e9970fb240ca142148dd3bea9 (commit)
via 10766686b02fce9eedd6217ca76f457106a8142c (commit)
via 7efe48d196f3fb6f55fc53b8021a410848c0a677 (commit)
via 433bbbf8574a04c1639c5466fd7c320b510b9512 (commit)
via ca9b78ce906d588bb9aab0c6739c2dbdacd62612 (commit)
via d194d186a7dd9f23f34a9aef593ce691af3c875f (commit)
via 36e6c1400b94b9da7ba0dff5b3900a8d3e3b0c75 (commit)
via 99ad26cb0d4f9152dbe5ed03b74020cc52d84d94 (commit)
via a921b5bd708cc6e8afa3cf33443cda54b4e8cae6 (commit)
via 3a8547d2fb5319890dda877fb313822053083c3a (commit)
via 015c54d5a6a052f074fab168bc70296131276e80 (commit)
via b2e38b610c237b159578a595537d9c1137e7a6a0 (commit)
via fd59d950bab2a36d6fd851ace41a17a1bd9bd5fc (commit)
via 99cee7b71f81a9d346fc1a2f4e678537f1bb945f (commit)
via 6809615b88590aa911fe71839ec753cfaedf987d (commit)
via 2147f5bd6505ad9266e6563580036fc1a17f1ad5 (commit)
via c8f6c93cb29febd6b8174a20eb35368e70f62faa (commit)
via 14ae95f2208258d5957f47a3185fc5b068e18a5a (commit)
via 32c17175af60999fdbe4f2b187ba320d2171de8c (commit)
via 8c6a948dbe1d6587058a85c31f4c9f5cf13bb464 (commit)
via 030f4c7f08246bdc79d74c4c297729003773b67c (commit)
via 4fb18d37fdcbf3756ce9018e68f1bdc40d4abc1f (commit)
via 2f0c68f23bb3132cd5ac466ca8775c0d9e4960cd (commit)
via e970cb3401cf549accc92452f4888440fb983f39 (commit)
via bfacd19d64c76b740a4a9c18dce4277e4a9afde5 (commit)
via 8dd06f7a89b6eb7b646349f50746b3d2e85ed5de (commit)
via a051152b640c8bd1286ae71410f0b861ee158691 (commit)
via a56cc1ce222a9c69fd117a8a6f23817f4f1abd5f (commit)
via 330c6ca9a034902cb0e7c7a9f64af651f39b5bf9 (commit)
via d403db2720ef6ac091dd1c0101ffc60242199528 (commit)
via 124b4f8708f534e44787d7edf22d214d2ec225be (commit)
via d9b3de22f33e400f7f409cce3acf6c7dab07dd79 (commit)
via 8ded2ddc8bac501c1ee0706cb3d3ef3fb1c10b85 (commit)
via 924c2928ae3f7a9fa1130103e6a83ff2b1ff17dd (commit)
via 27e0867f4da863cf4e0cf9a297ae86598419729f (commit)
via 4dcabcc2b5d82dca1089f87e5830a8cd3b5a4bd6 (commit)
via b2e2f908b863c27abb00108a03ebe2598baec55c (commit)
via f62fce356bf1df27e01fc40a3a277fc924019ee7 (commit)
via 5d98d3cd862ab5d463f71926788d52bf1b30ef79 (commit)
via 82c7be3106bbbf753f441f8a8113f2cac5e7cba8 (commit)
via 04e40a033b6aab98f6ecf4bdb0cb7101f25fba27 (commit)
via b4f5498457d0648811a9cc9d34d3c6635509dffc (commit)
via 4ea6efe9365f8a87723fe01a2dd8ddf5cdec1498 (commit)
via b93fd21dccc2cfa9a335ddba7435a341b49330ae (commit)
via 55b400279267cad460ca62a8211f0b414f564e93 (commit)
via 7e16ef34742d853239608fadde4a19f3a105b0a2 (commit)
via f6bb7db35da7b1d150a467f97c41d5bf72c3baf5 (commit)
via a81bfbd06b949518055b21d19f47332edbd992e0 (commit)
via 99afc88b396045cfe3755bede41a45ad3bed021d (commit)
via c16a3f522a71a20ff6e26599d684a61ac6acecca (commit)
via c9cf6e20c6988a7e510cfe788b1b2cfe4d0d04a7 (commit)
via 4de0562a4c69fef4952aa7e19d7bda359f02e8b4 (commit)
via 8f2fd309e013e4e230df46d2dee03c5ca2228836 (commit)
via f51064fe14fb870af75c59c12721870bf4a39809 (commit)
via c8ab67d1a659ec98d38c0a23c6739fbe8973c0a8 (commit)
via 6b3f41b5c1fbae72209d43534e076abf05143983 (commit)
via 29798047afaa22335a504280a5bbdbafe2b1b63d (commit)
via a4ea0946c3f1badd6755b85b4e50e2ec4841e69c (commit)
via 158bf1b4aacf7f184facdc184dc9585994f041a6 (commit)
via 36b0313f2f429fc26899bb4776ec47cf850dfcaf (commit)
via b75c69bbf05b90a71a3ed7e54ad24ac5ded2ae1e (commit)
via c1b009eed88d41b22c9faf68d0dc15967292f6c9 (commit)
via 880d1e40c771e4a389d0b29bf196b50f1b696ea9 (commit)
via a014503004ad016d754bc9a4b143973ee18b0bbf (commit)
via 7bd0be3a9b06dda7a9f3d54402d6f594faa4a1b1 (commit)
via d8e6bc529087eaa76451107ad51a6097b0e25d1d (commit)
via ebe3b578523c72d47659df672fedae03a6894e72 (commit)
from f0ee78c5ccefe388a64273353ecd5c99dae62558 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit eb8923695844762b85211cc23a36c6ffa7b875d6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Thu Jun 30 23:19:05 2016 +0200
Port/fix missing: current_interp_command_loop()
commit c1dcd084ab320d4e271e697e2d058cccaae1b5ed
Merge: f0ee78c 8d6f5ac
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Thu Jun 30 22:12:12 2016 +0200
Merge remote-tracking branch 'gdb/master' into tromey/python
commit 8d6f5ac3ae69a94a50d19244c4478d8d42098cd2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jun 30 16:53:20 2016 +0100
ChangeLog entry for the --with-cpu patch for ARC configuration.
commit 838441e4a2a041e3a5dd26e886c67be22529502d
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Jun 30 16:03:07 2016 +0100
Fix typo in comment
This patch fixes the typo "uf" in the comment. I'll push it in as the
change is obvious.
2016-06-30 Yao Qi <yao.qi@linaro.org>
* arm-dis.c (print_insn): Fix typo in comment.
commit 99e7978bd25ab7b39ce2596b19a437eed7d7fd69
Author: Matthew Fortune <Matthew.Fortune@imgtec.com>
Date: Thu Jun 30 15:02:20 2016 +0100
MIPS16/GAS: Fix delay slot filling across frags
Fix an assertion failure like:
test.s: Assembler messages:
test.s:3: Internal error!
Assertion failure in append_insn at .../gas/config/tc-mips.c:7523.
Please report this bug.
triggered by assembling MIPS16 code like:
hello:
addiu $4, $4, 4
jr $31
with the generation of a listing file enabled, e.g.:
$ as -mips16 -O2 -aln=test.lst
The cause of the problem is the lack of support for moving instructions
across frags in MIPS16 jump swapping, which triggers more easily with
listing enabled as in that case every instruction gets placed in its own
frag. It would trigger even with listing disabled though if the
instruction to swap a MIPS16 jump with was unfortunately enough placed
as last in a frag that became full.
This scenario is already handled correctly with branch swapping in
regular MIPS and microMIPS code, so reuse it for MIPS16 code as well,
and now that all MIPS16 handling has become the same as the regular MIPS
and microMIPS cases remove MIPS16 special casing altogether.
This effectively complements:
commit 464ab0e55ade01d2bb0b4fa45c429af7a2f85a26
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Mon Aug 6 20:33:00 2012 +0000
<https://sourceware.org/ml/binutils/2012-08/msg00043.html>, ("MIPS/GAS:
Correct microMIPS branch swapping assertion") for the MIPS16 case.
The assertion itself was introduced with:
commit 1e91584932efd70020c8c98037d0cb93a0552a20
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Wed Mar 9 09:17:02 2005 +0000
<https://sourceware.org/ml/binutils/2005-03/msg00217.html>, ("Rework
MIPS nop-insertion code, add -mfix-vr4130 [5/11]"), but its introduction
merely noted our existing lack of support for MIPS16 jump swapping
across frags.
gas/
* config/tc-mips.c (append_insn) <APPEND_SWAP>: Do not special
case MIPS16 handling.
* testsuite/gas/mips/branch-swap-3.d: New test.
* testsuite/gas/mips/branch-swap-4.d: New test.
* testsuite/gas/mips/mips16@branch-swap-3.d: New test.
* testsuite/gas/mips/mips16@branch-swap-4.d: New test.
* testsuite/gas/mips/micromips@branch-swap-3.d: New test.
* testsuite/gas/mips/micromips@branch-swap-4.d: New test.
* testsuite/gas/mips/branch-swap-3.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 5e35670ba76690524dc69cc7a2bc8d7df8eb4249
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu Jun 30 12:46:47 2016 +0100
MIPS/GAS: Simplify non-MIPS16 branch swapping sequence
Simplify non-MIPS16 branch swapping by copying the MIPS16 variant, which
sets the new position for the current instruction first and reduces the
calculation of the new position of the previous instruction. Also refer
to previous instruction's frag and position via `delay' for consistency.
Reintroduce an explanatory comment, updated, previously removed with:
commit 1e91584932efd70020c8c98037d0cb93a0552a20
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Wed Mar 9 09:17:02 2005 +0000
<https://sourceware.org/ml/binutils/2005-03/msg00217.html>, ("Rework
MIPS nop-insertion code, add -mfix-vr4130 [5/11]").
gas/
* config/tc-mips.c (append_insn): Simplify non-MIPS16 branch
swapping sequence.
commit 93a24ba79b59ec343611c16cd0024a116a705274
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed Jun 29 01:38:50 2016 +0100
PR gas/20312: Do not pad sections to alignment on failed assembly
Correct a regression from commit 85024cd8bcb9 ("Run write_object_file
after errors") causing unsuccessful assembly, which may be due to any
reason, such as supplying a valid source like this:
.text
.byte 0
.err
to terminate with an assertion failure like:
test.s: Assembler messages:
test.s:3: Error: .err encountered
../as-new: BFD (GNU Binutils) 2.24.51.20140628 internal error, aborting at .../gas/write.c line 608 in size_seg
../as-new: Please report this bug.
on targets whose default text section alignment is above 0, typically
RISC machines.
This is due to an attempt to set last text section's frag alignment to
0, requested from `subsegs_finish_section' where `frag_align_code
(alignment, 0)' is called with `alignment' set to 0 rather than the
section alignment if `had_errors' has returned true. The call to
`subsegs_finish_section' is made from `subsegs_finish' from
`write_object_file' at unsuccessful completion, which previously wasn't
made.
Always set last section's frag alignment from the section alignment
then, forcing no section padding instead if completing unsuccessfully,
so that in that case alignment padding is still suppressed from any
listing generated, fixing assertion failures for these targets:
alpha-linuxecoff -FAIL: all pr20312
arm-aout -FAIL: all pr20312
mips-freebsd -FAIL: all pr20312
mips-img-linux -FAIL: all pr20312
mips-linux -FAIL: all pr20312
mips-mti-linux -FAIL: all pr20312
mips-netbsd -FAIL: all pr20312
mips-sgi-irix5 -FAIL: all pr20312
mips-sgi-irix6 -FAIL: all pr20312
mips-vxworks -FAIL: all pr20312
mips64-freebsd -FAIL: all pr20312
mips64-img-linux -FAIL: all pr20312
mips64-linux -FAIL: all pr20312
mips64-mti-linux -FAIL: all pr20312
mips64-openbsd -FAIL: all pr20312
mips64el-freebsd -FAIL: all pr20312
mips64el-img-linux -FAIL: all pr20312
mips64el-linux -FAIL: all pr20312
mips64el-mti-linux -FAIL: all pr20312
mips64el-openbsd -FAIL: all pr20312
mipsel-freebsd -FAIL: all pr20312
mipsel-img-linux -FAIL: all pr20312
mipsel-linux -FAIL: all pr20312
mipsel-mti-linux -FAIL: all pr20312
mipsel-netbsd -FAIL: all pr20312
mipsel-vxworks -FAIL: all pr20312
mipsisa32-linux -FAIL: all pr20312
mipsisa32el-linux -FAIL: all pr20312
mipsisa64-linux -FAIL: all pr20312
mipsisa64el-linux -FAIL: all pr20312
sh-pe -FAIL: all pr20312
sparc-aout -FAIL: all pr20312
gas/
PR gas/20312
* write.c (subsegs_finish_section): Force no section padding to
alignment on failed assembly, always set last frag's alignment
from section.
* testsuite/gas/all/pr20312.l: New list test.
* testsuite/gas/all/pr20312.s: New test source.
* testsuite/gas/all/gas.exp: Run the new test
commit 038d48680941f014349256aeb7bab14b3f01d58e
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 30 11:55:22 2016 +0100
Fix gdbserver/MI testing regression
Commit 51f77c3704a6 ("Add testing infrastruture bits for running with
MI on a separate UI") broke MI testing with native-gdbserver:
$ make check RUNTESTFLAGS="--target_board=native-gdbserver mi-var-child.exp"
...
Running .../src/binutils-gdb/gdb/testsuite/gdb.mi/mi-var-child.exp ...
can't unset "inferior_spawn_id": no such variable
while executing
"unset inferior_spawn_id"
(procedure "close_gdbserver" line 20)
invoked from within
"close_gdbserver"
...
When testing with gdbserver, gdb_exit is overridden with a special
version that calls close_gdbserver, which clears inferior_spawn_id.
The problem is that the commit mentioned above made
gdb_exit/mi_gdb_exit clear inferior_spawn_id too, and clearing a
non-existing variable is a tcl error.
Since gdb_exit/mi_gdb_exit always clears inferior_spawn_id now, the
fix is simply to stop clearing it in close_gdbserver.
gdb/testsuite/
2016-06-30 Pedro Alves <palves@redhat.com>
* lib/gdbserver-support.exp (close_gdbserver, gdb_exit): Don't
unset inferior_spawn_id.
commit 994e9c834d916af85e0fe0e8c3e18259aa4be389
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 30 11:55:21 2016 +0100
Make testing gdb with FORCE_SEPARATE_MI_TTY=1 actually work
Runing the whole gdb testsuite with MI on a separate tty, with:
make check RUNTESTFLAGS="FORCE_SEPARATE_MI_TTY=1"
Doesn't actually work because commit 51f77c3704a6 ("Add testing
infrastruture bits for running with MI on a separate UI") included a
last-minute rename typo, now fixed with this commit.
gdb/testsuite/ChangeLog:
2016-06-30 Pedro Alves <palves@redhat.com>
* lib/mi-support.exp (default_mi_gdb_start): Declare global
FORCE_SEPARATE_MI_TTY, not SEPARATE_MI_TTY.
commit 9004b6bd58b6203cb3d1de1ca8d6ce6fc140ae61
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jun 30 11:14:41 2016 +0100
Allow ARC target to be configured with --with-cpu=<cpu-name>.
gas * config.in (TARGET_WITH_CPU): Undefine.
* configure.ac: Add --with-cpu support, and define in config.h.
* configure: Regenerate.
* config/tc-arc.c: Use TARGET_WITH_CPU to select default CPU.
* NEWS: Mention new configure option.
commit 534dbe460e692a9befd9aca0eb0812db47459a30
Author: Matthew Wahab <matthew.wahab@arm.com>
Date: Thu Jun 30 10:46:51 2016 +0100
[ARM][GAS] ARMv8.2 should enable ARMv8.1 NEON instructions.
GAS fails to recognize march=armv8.2-a as a superset of march=armv8.1-a
when assembling NEON instructions. The patch corrects this, making
-march=armv8.2-a -mfpu=neon-fp-armv8 enable the NEON intructions
introduced with ARMv8.1-A.
include/
2016-06-30 Matthew Wahab <matthew.wahab@arm.com>
* opcode/arm.h (ARM_ARCH_V8_2a): Add FPU_NEON_EXT_RDMA to the set
of enabled FPU features.
gas/
2016-06-30 Matthew Wahab <matthew.wahab@arm.com>
* testsuite/gas/arm/armv8_2+rdma.d: New.
commit c7be441465094e5ffce2f4205ea887676965d0be
Author: Jim Wilson <jim.wilson@linaro.org>
Date: Thu Jun 30 09:10:41 2016 +0100
Add support for simulating big-endian AArch64 binaries.
* cpustate.h: Include config.h.
(union GRegisterValue): Add WORDS_BIGENDIAN check. For big endian code
use anonymous structs to align members.
* simulator.c (aarch64_step): Use sim_core_read_buffer and
endian_le2h_4 to read instruction from pc.
commit 6e2565079204ae2d2c0a5fa15fcd233e9c614f0b
Author: Cary Coutant <ccoutant@gmail.com>
Date: Wed Jun 29 23:24:35 2016 -0700
Fix gold testsuite failure with GCC 6.
With GCC 6 when not using -static-libstdc++, the operator delete(void*)
function is defined in the shared C++ support library, rather than in
the main program. The test script is too aggressive in checking for
this symbol's presence among the exported symbols. This patch removes
the check for that symbol.
gold/
PR gold/20310
* testsuite/dynamic_list.sh: Remove check for _ZdlPv.
commit 8db8e6948a12faaba4aa5445770b1064ad32e39d
Author: Cary Coutant <ccoutant@gmail.com>
Date: Wed Jun 29 23:16:24 2016 -0700
Update "make clean" in gold/testsuite.
gold/
* testsuite/Makefile.am (MOSTLYCLEANFILES): Add eh_test_2.
* testsuite/Makefile.in: Regenerate.
commit 068e05badb9c3802961d67bc90e39c12798e8488
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jun 29 18:37:27 2016 +0930
[GOLD] Pass -Wl,-z to gcc, not plain -z
* testsuite/Makefile.am (memory_test, memory_test_2): Pass
-Wl,-z to gcc, not plain -z.
* testsuite/Makefile.in: Regenerate.
commit 1a8da38cff4fdede3a1865d1b4ff9cb5ad194b3e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 30 00:00:19 2016 +0000
Automatic date update in version.in
commit e56534680d0df0e2ca313086b1758480c9374615
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Jun 29 17:33:19 2016 +0100
Add copyright header in gdb.base/return.c
gdb/testsuite:
2016-06-29 Yao Qi <yao.qi@linaro.org>
* gdb.base/return.c: Add copyright header.
commit 4e3e1fdf327b225b28b754d96a4d592fb3a23df0
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 29 09:29:39 2016 -0700
Default to --enable-compressed-debug-sections=gas for Linux/x86
--enable-compressed-debug-sections=gas added to binutils 2.26. Make it
default for Linux/x86 targets in 2.27.
* NEWS: Mention --enable-compressed-debug-sections=gas is the
default for Linux/x86 targets.
* configure.tgt (ac_default_compressed_debug_sections): Default
to yes for Linux/x86 targets.
commit 803b47e5d4dc86b953aba0bc44865de287726dbe
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jun 6 11:21:15 2016 -0600
Fix PR python/20129 - use of non-existing variable
PR python/20129 concerns the error message one gets from a command
like "disable frame-filter global NoSuchFilter". Currently this
throws a second, unexpected, exception due to the use of a
non-existing variable named "name".
This patch adds regression tests and fixes a couple of spots to use
the correct variable name.
Built and regtested on x86-64 Fedora 23.
2016-06-29 Tom Tromey <tom@tromey.com>
PR python/20129:
* python/lib/gdb/command/frame_filters.py (_do_enable_frame_filter)
(SetFrameFilterPriority._set_filter_priority): Use "frame_filter",
not "name".
2016-06-29 Tom Tromey <tom@tromey.com>
PR python/20129:
* gdb.python/py-framefilter.exp: Add tests for setting priority
and disabling of non-existent frame filter.
commit 9d78f827e0da9ab6fda2d6ef2d59cebb805b411f
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jun 9 09:46:53 2016 -0600
PR gdb/17210 - fix possible memory leak in read_memory_robust
PR gdb/17210 concerns a possible memory leak in read_memory_robust.
The bug can happen because read_memory_robust allocates memory, does
not install any cleanups, and invokes QUIT. Similarly, target_read
calls QUIT, so it too can potentially throw.
The fix is to install cleanups to guard the allocated memory.
Built and regtested on x86-64 Fedora 23. I couldn't think of a way to
test this, so no new test; and of course this means it should have
more careful review.
2016-06-29 Tom Tromey <tom@tromey.com>
PR gdb/17210:
* target.c (free_memory_read_result_vector): Take a pointer to the
VEC as an argument.
(read_memory_robust): Install a cleanup for "result".
* mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.
commit b287eca391bbb10e709fb8ba9a56be166ab2ff1d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 29 08:38:43 2016 -0700
gold: Support 386 TLS code sequences without PLT
There are extensions to 386 psABI:
https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs
to call tls_get_addr via GOT:
call *___tls_get_addr@GOT(%reg)
where EBX register isn't required as GOT base.
Since direct call is 4-byte long and indirect call, is 5-byte long, the
extra one byte must be handled properly.
For general dynamic model, 7-byte lea instruction before call
instruction is replaced by 6-byte one to make room for indirect call.
For local dynamic model, we simply use 5-byte indirect call.
TLS linker optimization is updated to recognize new instruction
patterns. For local dynamic model to local exec model transition,
we generate a 6-byte lea instruction as nop, instead of a 1-byte nop
plus a 4-byte lea instruction.
PR gold/20308
* i386.cc (Target_i386::Relocate::relocate): Allow
R_386_GOT32X relocation against ___tls_get_addr.
(Target_i386::Relocate::tls_gd_to_ie): Support indirect
call to __tls_get_addr.
(Target_i386::Relocate::tls_gd_to_le): Likewise.
(Target_i386::Relocate::tls_ld_to_le): Likewise.
* testsuite/Makefile.am (check_PROGRAMS): Add pr20308a_test,
pr20308b_test, pr20308c_test, pr20308d_test, pr20308e_test.
(pr20308a_test_SOURCES): New.
(pr20308a_test_DEPENDENCIES): Likewise.
(pr20308a_test_CFLAGS): Likewise.
(pr20308a_test_LDFLAGS): Likewise.
(pr20308a_test_LDADD): Likewise.
(pr20308b_test_SOURCES): Likewise.
(pr20308b_test_DEPENDENCIES): Likewise.
(pr20308b_test_CFLAGS): Likewise.
(pr20308b_test_LDFLAGS): Likewise.
(pr20308b_test_LDADD): Likewise.
(pr20308c_test_SOURCES): Likewise.
(pr20308c_test_DEPENDENCIES): Likewise.
(pr20308c_test_CFLAGS): Likewise.
(pr20308c_test_LDFLAGS): Likewise.
(pr20308c_test_LDADD): Likewise.
(pr20308d_test_SOURCES): Likewise.
(pr20308d_test_DEPENDENCIES): Likewise.
(pr20308d_test_CFLAGS): Likewise.
(pr20308d_test_LDFLAGS): Likewise.
(pr20308d_test_LDADD): Likewise.
(pr20308e_test_SOURCES): Likewise.
(pr20308e_test_DEPENDENCIES): Likewise.
(pr20308e_test_CFLAGS): Likewise.
(pr20308e_test_LDFLAGS): Likewise.
(pr20308e_test_LDADD): Likewise.
(pr20308a.so): Likewise.
(pr20308b.so): Likewise.
(pr20308_gd.o): Likewise.
(pr20308_ld.o): Likewise.
(MOSTLYCLEANFILES): Add pr20308a.so pr20308b.so.
* testsuite/Makefile.in: Regenerated.
* testsuite/pr20308_def.c: New file.
* testsuite/pr20308_gd.S: Likewise.
* testsuite/pr20308_ld.S: Likewise.
* testsuite/pr20308_main.c: Likewise.
commit ad961eab9a010e79d17a4ea7e6bb977fe6dd86c2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 29 08:37:30 2016 -0700
gold: Support x86-64 TLS code sequences without PLT
There are extensions to x86-64 psABI:
https://groups.google.com/forum/#!topic/x86-64-abi/de5_KnLHxtI
to call tls_get_addr via GOT:
call *__tls_get_addr@GOTPCREL(%rip)
Since direct call is 4-byte long and indirect call, is 5-byte long, the
extra one byte must be handled properly.
For general dynamic model, one 0x66 prefix before call instruction is
removed to make room for indirect call. For local dynamic model, we
simply use 5-byte indirect call.
TLS linker optimization is updated to recognize new instruction
patterns. For local dynamic model to local exec model transition, we
generate 4 0x66 prefixes, instead of 3, before mov instruction in 64-bit
and generate a 5-byte nop, instead of 4-byte, before mov instruction in
32-bit.
PR gold/20216
* configure.ac (DEFAULT_TARGET_X86_64_OR_X32): New
AM_CONDITIONAL.
* configure: Regenerated.
* x86_64.cc (Target_x86_64<size>::Relocate::relocate): Allow
R_X86_64_GOTPCRELX relocation against __tls_get_addr.
(Target_x86_64<size>::Relocate::tls_gd_to_ie): Support indirect
call to __tls_get_addr.
(Target_x86_64<size>::Relocate::tls_gd_to_le): Likewise.
(Target_x86_64<size>::Relocate::tls_ld_to_le): Likewise.
* testsuite/Makefile.am (check_PROGRAMS): Add pr20216a_test,
pr20216b_test, pr20216c_test, pr20216d_test, pr20216e_test.
(pr20216a_test_SOURCES): New.
(pr20216a_test_DEPENDENCIES): Likewise.
(pr20216a_test_CFLAGS): Likewise.
(pr20216a_test_LDFLAGS): Likewise.
(pr20216a_test_LDADD): Likewise.
(pr20216b_test_SOURCES): Likewise.
(pr20216b_test_DEPENDENCIES): Likewise.
(pr20216b_test_CFLAGS): Likewise.
(pr20216b_test_LDFLAGS): Likewise.
(pr20216b_test_LDADD): Likewise.
(pr20216c_test_SOURCES): Likewise.
(pr20216c_test_DEPENDENCIES): Likewise.
(pr20216c_test_CFLAGS): Likewise.
(pr20216c_test_LDFLAGS): Likewise.
(pr20216c_test_LDADD): Likewise.
(pr20216d_test_SOURCES): Likewise.
(pr20216d_test_DEPENDENCIES): Likewise.
(pr20216d_test_CFLAGS): Likewise.
(pr20216d_test_LDFLAGS): Likewise.
(pr20216d_test_LDADD): Likewise.
(pr20216e_test_SOURCES): Likewise.
(pr20216e_test_DEPENDENCIES): Likewise.
(pr20216e_test_CFLAGS): Likewise.
(pr20216e_test_LDFLAGS): Likewise.
(pr20216e_test_LDADD): Likewise.
(pr20216a.so): Likewise.
(pr20216b.so): Likewise.
(pr20216_gd.o): Likewise.
(pr20216_ld.o): Likewise.
(MOSTLYCLEANFILES): Add pr20216a.so pr20216b.so.
* testsuite/Makefile.in: Regenerated.
* testsuite/pr20216_def.c: New file.
* testsuite/pr20216_gd.S: Likewise.
* testsuite/pr20216_ld.S: Likewise.
* testsuite/pr20216_main.c: Likewise.
commit 9bf74fb27dc6e2a9679403d66fe919215e3c2a45
Author: Manish Goregaokar <manish@mozilla.com>
Date: Wed Jun 29 17:09:43 2016 +0530
Initialize strtok_r's saveptr to NULL
Building gdb with --enable-build-with-cxx=no trips on a warning:
../../binutils-gdb/gdb/rust-lang.c:173:15: error: saveptr may be used
uninitialized in this function [-Werror=maybe-uninitialized]
ret.name = concat (TYPE_NAME (type), "::", token, (char *) NULL);
The problem is that gcc doesn't understand that "tail" can never be
NULL in the call to strtok_r:
name = xstrdup (TYPE_FIELD_NAME (type, 0));
cleanup = make_cleanup (xfree, name);
tail = name + strlen (RUST_ENUM_PREFIX);
...
for (token = strtok_r (tail, "$", &saveptr);
Fix this by always initializing saveptr.
2016-06-29 Manish Goregaokar <manish@mozilla.com>
gdb/ChangeLog:
* rust-lang.c (rust_get_disr_info): Initialize saveptr to NULL.
commit 28244707d9e4f35cab1f9069cee1d44b38be095f
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Jun 29 14:51:41 2016 +0100
Set unknown_syscall differently on arm linux
Currently, we use 123456789 as unknown or illegal syscall number, and
expect program return ENOSYS. Although 123456789 is an illegal syscall
number on arm linux, kernel sends SIGILL rather than returns -ENOSYS.
However, arm linux kernel returns -ENOSYS if syscall number is within
0xf0001..0xf07ff, so we can use 0xf07ff for unknown_syscall in test.
gdb/testsuite:
2016-06-29 Yao Qi <yao.qi@linaro.org>
* gdb.base/catch-syscall.c [__arm__]: Set unknown_syscall to
0x0f07ff.
commit 042c94de565ae62640c064f1cb33d28484aeb9d3
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri May 27 04:52:45 2016 -0400
sparc: make SPARC_OPCODE_ARCH_MAX part of its enum
include/ChangeLog:
2016-06-29 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/sparc.h (enum sparc_opcode_arch_val): Move
SPARC_OPCODE_ARCH_MAX into the enum.
commit a405c2281ad29b5c7f9f2a4d58b7cfef2b74ba99
Author: Manish Goregaokar <manish@mozilla.com>
Date: Wed Jun 29 15:42:28 2016 +0530
Use strtok_r instead of strsep in rust_get_disr_info
strsep doesn't exist on Windows.
2016-06-29 Manish Goregaokar <manish@mozilla.com>
gdb/ChangeLog:
* rust-lang.c (rust_get_disr_info): Use strtok_r instead of strsep.
commit d691934d08a4132506a19ac8d7565f1a0461a80a
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 29 11:17:40 2016 +0100
Preserve all mapping symbols in ARM and AArch64 object files.
bfd * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
Returns TRUE for AArch64 mapping symbols.
(elfNN_aarch64_backend_symbol_processing): New function. Marks
mapping symbols as precious in object files so that they will not
be stripped.
(elf_backend_symbol_processing): Define.
* elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
for ARM mapping symbols.
(elf32_arm_backend_symbol_processing): Make use of the new function.
commit 6844c0ccea23157d9f965524d02f656a9f89f48e
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 29 09:09:03 2016 +0100
Correct fix for typo
commit c8ec4434b0657d908609f996544c8c0ac65b28d7
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 29 09:06:55 2016 +0100
Fix typo
commit 6d44f09a7645d7a2cb2f712c4d2f1f3512e848f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 28 17:33:38 2016 +0100
GAS: Fix `abort' expansion in write.c
Remove an internal diagnostic regression introduced with the inclusion of
"libbfd.h" from write.c, added with:
commit e7ff5c732e7b95aafccd0910ea1a5cb8251a1033
Author: Alan Modra <amodra@gmail.com>
Date: Fri Feb 16 03:40:17 2007 +0000
That change made "libbfd.h" override the `abort' definition provided by
"as.h" earlier on, making the message produced by any calls reached from
write.c, which is a part of the GAS proper, look like they came from
BFD, e.g.:
.../gas/testsuite/gas/elf/type.s: Assembler messages:
.../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
../as-new: BFD (GNU Binutils) 2.26.51.20160628 internal error, aborting at .../gas/write.c:608 in size_seg
../as-new: Please report this bug.
vs:
.../gas/testsuite/gas/elf/type.s: Assembler messages:
.../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
.../gas/testsuite/gas/elf/type.s: Internal error, aborting at .../gas/write.c:602 in size_seg
Please report this bug.
With the removal of "libbfd.h" restore the latter message format.
gas/
* write.c: Remove "libbfd.h" inclusion.
commit 2fafa20b344ef572d2e1b5002ba9a39e10d1c44c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 29 00:00:26 2016 +0000
Automatic date update in version.in
commit bebf013204dd89601ecdaaeb1c5fcb3e8ac83b7d
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jun 29 08:00:58 2016 +0930
[GOLD] Modify script_test_12
Changes necessary to make this test pass on powerpc64.
* script_test_12.t: Delete .plt, specify 64k page size.
* script_test_12i.t: Likewise.
commit 1275dd72471e6059d82685dd8a4d96e30e0f3afc
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jun 29 08:00:15 2016 +0930
[GOLD] alignment test
PowerPC gcc aligns char arrays to a word which results in the test
failing since it expects a char alignment. As the test already uses
gcc attributes to assign variables to sections, we may as well use an
attribute to align too.
* testsuite/plugin_layout_with_alignment.c: Explicitly align all
variables.
commit 38ac44ac99b59a97e72502716e056ad60a433501
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jun 29 07:59:34 2016 +0930
[GOLD] Disable copy_test_protected on powerpc
A target like powerpc64 that is PIC by default doesn't need copy relocs.
* testsuite/Makefile.am (copy_test_protected): Disable for powerpc.
* testsuite/Makefile.in: Regenerate.
commit 59ae9ffe142b9e39b728fa43282025e239a7614f
Author: Cary Coutant <ccoutant@gmail.com>
Date: Tue Jun 28 15:44:22 2016 -0700
Fix execute permission on gold/testsuite/script_test_14.sh.
commit 5627d875bc059b5c008b408470dcb869b0a8ebd6
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date: Tue Jun 28 15:43:43 2016 -0700
Implement the R_AARCH64_NONE relocation.
According to "ELF for the ARM(r) 64-bit Architecture (AArch64)",
this relocation can be used "to prevent removal of sections that
might otherwise appear to be unused."
gold/
* aarch64-reloc.def (NONE): New relocation.
* aarch64.cc (Target_aarch64::Scan::local): Handle R_AARCH64_NONE.
(Target_aarch64::Scan::global): Likewise.
* testsuite/Makefile.am (aarch64_reloc_none): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/aarch64_reloc_none.s: New test source file.
* testsuite/aarch64_reloc_none.sh: New test script.
commit 3a4f096e5ff41e2a3b832cf6c815ad1f28437c63
Author: Sriraman Tallam <tmsriram@google.com>
Date: Tue Jun 28 15:42:33 2016 -0700
Convert indirect calls to direct when possible.
Please see patch discussion:
https://www.sourceware.org/ml/binutils/2016-05/msg00322.html
2016-06-28 Sriraman Tallam <tmsriram@google.com>
* x86_64.cc (Lazy_view): New class.
(can_convert_mov_to_lea): Templatize function. Make the function
check for appropriate relocation types and use the view parameter
to get section contents.
(can_convert_callq_to_direct): New function.
(Target_x86_64<size>::Scan::global): Refactor.
(Target_x86_64<size>::Relocate::relocate): Refactor. Change any indirect
call via GOT that can be converted.
* testsuite/Makefile.am (x86_64_indirect_call_to_direct.sh): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/x86_64_indirect_call_to_direct1.s: New file.
* testsuite/x86_64_indirect_jump_to_direct1.s: New file.
commit 8032ac03390ca5bc33f8efe29447d0a4bc492950
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date: Tue Jun 28 15:34:11 2016 -0700
Implement SORT_BY_INIT_PRIORITY.
2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com>
gold/
PR gold/18098
* script-c.h (Sort_wildcard): Add SORT_WILDCARD_BY_INIT_PRIORITY.
* script-sections.cc (Input_section_sorter::get_init_priority): New method.
(Input_section_sorter::operator()): Handle SORT_WILDCARD_BY_INIT_PRIORITY.
(Output_section_element_input::print): Likewise.
* script.cc (script_keyword_parsecodes): Add entry SORT_BY_INIT_PRIORITY.
* yyscript.y (SORT_BY_INIT_PRIORITY): New token.
(wildcard_section): Handle SORT_BY_INIT_PRIORITY.
* testsuite/Makefile.am (script_test_14): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/script_test_14.s: New test source file.
* testsuite/script_test_14.sh: New test script.
* testsuite/script_test_14.t: New test linker script.
commit f224a3c59068fc8060c261d329f54bdc7374d63a
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date: Tue Jun 28 13:56:05 2016 -0700
Implement SORT_BY_INIT_PRIORITY.
2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com>
gold/
PR gold/18098
* script-c.h (Sort_wildcard): Add SORT_WILDCARD_BY_INIT_PRIORITY.
* script-sections.cc (Input_section_sorter::get_init_priority): New method.
(Input_section_sorter::operator()): Handle SORT_WILDCARD_BY_INIT_PRIORITY.
(Output_section_element_input::print): Likewise.
* script.cc (script_keyword_parsecodes): Add entry SORT_BY_INIT_PRIORITY.
* yyscript.y (SORT_BY_INIT_PRIORITY): New token.
(wildcard_section): Handle SORT_BY_INIT_PRIORITY.
* testsuite/Makefile.am (script_test_14): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/script_test_14.s: New test source file.
* testsuite/script_test_14.sh: New test script.
* testsuite/script_test_14.t: New test linker script.
commit 9abdce70ac7a3ee8f92285c314fa7728d3c1aa43
Author: Walter Lee <walt@tilera.com>
Date: Tue Jun 28 14:15:32 2016 -0400
[TILEPro] Don't build gdb
In configure.ac, add gdb to noconfigdirs for TILEPro.
* configure.ac (tilepro-*-*): Add gdb to noconfigdirs.
* configure: Regenerate.
commit 2ac09a5bbbff78d363ede2f038c31a9b1cb0887b
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue Jun 28 17:24:25 2016 +0100
[AArch64] Use int64_t for address offset
In AArch64 displaced stepping and fast tracepoint, GDB/GDBserver needs
to check whether the offset can fit in the range. We are using int32_t
for offset, it is sufficient to get an offset from an instruction, but
it is not enough to get an offset from two addresses. For example,
we have a BL in shared lib which is at 0x0000002000040774, and the
scratch pad for displaced stepping is at 0x400698. The offset can't
fit in 28 bit imm. However, since we are using int32_t for offset, GDB
thinks the offset can fit it, and generate the B instruction with wrong
offset.
It fixes the following fail,
-FAIL: gdb.base/dso2dso.exp: next over call to sub2
gdb:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* aarch64-tdep.c (aarch64_displaced_step_b): Use int64_t for
variable new_offset.
gdb/gdbserver:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* linux-aarch64-low.c (aarch64_ftrace_insn_reloc_b): Use int64_t
for variable new_offset.
(aarch64_ftrace_insn_reloc_b_cond): Likewise.
(aarch64_ftrace_insn_reloc_cb): Likewise.
(aarch64_ftrace_insn_reloc_tb): Likewise.
(aarch64_install_fast_tracepoint_jump_pad): Likewise. Use
PRIx64 instead of PRIx32.
commit bb95c51a232dffb46067c402ac62f1f3303b6bbd
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 28 17:03:11 2016 +0100
Fix typo in previous commit
commit f4ab0e2d1d4e14cfdddf46ac846c48ae55f4e14a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 28 08:08:04 2016 -0700
Skip version check for unreferenced and undefined symbol
No need to check version if symbol is unreferenced and undefined.
bfd/
PR ld/20306
* elflink.c (elf_link_check_versioned_symbol): Return false
for unreferenced undefined symbol.
ld/testsuite/
* testsuite/ld-gc/gc.exp: Run pr20306 test.
* ld-gc/pr20306.c: New file.
* ld-gc/pr20306.d: Likewise.
commit 1b857aeed3f5cfddc4b5b1f5836ccd341aeb9f5d
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 28 15:55:22 2016 +0100
Fix more linker testsuite failures.
bfin * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
is needed.
ld * testsuite/ld-elf/comm-data.exp: Expect comm-data2 test to fail
for bfin.
* testsuite/ld-elf/elf.exp: Expect pr14170 and symbolic function
tests to fail for bfin.
* testsuite/ld-elf/endsym.d: Expect to fail with cr16, crx, dlx,
nds32 and visium.
* testsuite/ld-elf/var1.d: Expect to fail with d30v, dlx, ft32 and
microblaze.
* testsuite/ld-pe/pe.exp: Expect foreign symbol test to fail for
mcore-pe.
commit 50c901ede915776db734ea77225ebd3558fab2f6
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 28 14:05:34 2016 +0100
Relax previous restriction on running binutils ar tests for Alpha targets, allowing the tests to be run for ELF variants.
* testsuite/binutils-all/ar.exp: Relax previous restriction on
Alpha targets. Allow ELF based Alpha targets.
commit eb9bb5b4ece9208257d85bc22a0f32ddf33f6a46
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 28 13:21:36 2016 +0100
Use `supports_gnu_unique' with the `unique_symbol' and `type' tests
Complement commit a43942db49b0 ("LD/ELF: Unify STB_GNU_UNIQUE handling")
and use `supports_gnu_unique' with the `unique_symbol' and `type' tests,
fixing failures like:
.../binutils/testsuite/binutils-all/unique.s: Assembler messages:
.../binutils/testsuite/binutils-all/unique.s:2: Error: symbol type "gnu_unique_object" is supported only by GNU targets
ERROR: .../binutils/testsuite/binutils-all/unique.s: assembly failed
UNRESOLVED: ar unique symbol in archive
.../binutils/ar -s -r -c tmpdir/artest.a tmpdir/unique.o
Executing on host: .../binutils/ar -s -r -c tmpdir/artest.a tmpdir/unique.o (timeout = 300)
.../binutils/ar: tmpdir/unique.o: No such file or directory
FAIL: ar unique symbol in archive
and:
.../gas/testsuite/gas/elf/type.s: Assembler messages:
.../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
../as-new: BFD (GNU Binutils) 2.26.51.20160628 internal error, aborting at .../gas/write.c:608 in size_seg
../as-new: Please report this bug.
.../gas/testsuite/../../binutils/readelf -s dump.o | grep "1 *\[FIONTCU\]" > dump.out
Executing on host: sh -c {.../gas/testsuite/../../binutils/readelf -s dump.o >readelf.out 2>gas.stderr} /dev/null (timeout = 300)
readelf: Error: dump.o: Failed to read file's magic number
FAIL: elf type list
on MIPS/FreeBSD targets:
mips-freebsd -FAIL: ar unique symbol in archive
mips-freebsd -FAIL: elf type list
mips64-freebsd -FAIL: ar unique symbol in archive
mips64-freebsd -FAIL: elf type list
mips64el-freebsd -FAIL: ar unique symbol in archive
mips64el-freebsd -FAIL: elf type list
mipsel-freebsd -FAIL: ar unique symbol in archive
mipsel-freebsd -FAIL: elf type list
binutils/
* testsuite/binutils-all/ar.exp: Use `supports_gnu_unique' with
the `unique_symbol' test.
gas/
* testsuite/gas/elf/elf.exp: Use `supports_gnu_unique' with the
`type' test.
commit fca2a38fdb391f810e309a12d5279047d4edac34
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 28 13:22:49 2016 +0100
Mark ARM mapping symbols in object files are precious, so that strip will not remove them.
* elf32-arm.c (elf32_arm_backend_symbol_processing): New
function. Marks mapping symbols in object files as precious, so
that strip will not remove them.
(elf_backend_symbol_processing): Define.
commit 8b9a915daf91027050ad7145853ce8874034e60b
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 28 12:43:14 2016 +0100
Fix RX and M68HC11 linker testsuite failures.
ld * testsuite/ld-elf/merge.d: Add m68hc11 to list of targets that
expect to fail this test.
* testsuite/ld-scripts/overlay-size.d: Skip the entire test for
RX.
* testsuite/ld-scripts/rgn-at10.d: No longer expect this test to
fail for the RX.
* testsuite/ld-scripts/rgn-at11.d: Likewise.
* testsuite/ld-scripts/rgn-at2.d: Likewise.
* testsuite/ld-scripts/rgn-at6.d: Likewise.
* testsuite/ld-scripts/rgn-at7.d: Likewise.
* testsuite/ld-scripts/rgn-at8.d: Likewise.
commit 79e7fd4f78e0c33e77dd0b69d7de8167a60af06a
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue Jun 28 12:02:36 2016 +0100
Implement get_syscall_trapinfo for arm-linux
gdb/gdbserver:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* linux-arm-low.c (arm_get_syscall_trapinfo): New function.
(the_low_target): Install arm_get_syscall_trapinfo.
commit 061fc021d5d110cc37a4c06c4ed94b87be00610a
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue Jun 28 12:02:35 2016 +0100
Implement get_syscall_trapinfo for aarch64-linux
gdb/gdbserver:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* linux-aarch64-low.c (aarch64_get_syscall_trapinfo): New
function.
(the_low_target): Install aarch64_get_syscall_trapinfo.
commit 4cc32bec04aadc5c070d0f4aee656313a4854c11
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue Jun 28 12:02:35 2016 +0100
Remove parameter sysret from linux_target_ops.get_syscall_trapinfo
When I implement linux_target_ops.get_syscall_trapinfo for aarch64 and arm,
I find the second parameter sysret isn't used at all. In RSP, we don't
need syscall return value either, because GDB can figure out the return
value from registers content got by 'g' packet.
This patch is to remove them.
gdb/gdbserver:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* linux-low.c (get_syscall_trapinfo): Remove parameter sysret.
Callers updated.
* linux-low.h (struct linux_target_ops) <get_syscall_trapinfo>:
Remove parameter sysno.
* linux-x86-low.c (x86_get_syscall_trapinfo): Remove parameter
sysret.
commit a31d2f068fa1384c505b540ea595d2d97813ba5f
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue Jun 28 12:02:35 2016 +0100
Probe catch syscall support
In 82075af2c14b1f8a54fa5796fb63f7ef23f98d9d (Implement 'catch syscall'
for gdbserver), only x86 is supported, but the test can still be run
on other linux targets, like aarch64 and ppc, with native-gdbserver.
This causes many new fails.
This patch removes the check on isnative and on target triplets.
Instead, we can insert catch point, and resume the program to see whether
catch syscall is supported or not.
gdb/testsuite:
2016-06-28 Yao Qi <yao.qi@linaro.org>
* gdb.base/catch-syscall.exp: Remove check on isnative and target
triplets. Start gdb, execute catch syscall, and continue. Check
gdb's output to determine catch syscall is supported.
commit 7160c10d6530b79ea45d435933b07765f610f54d
Author: James Clarke <jrtc27@jrtc27.com>
Date: Tue Jun 28 12:00:56 2016 +0100
Don't convert R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
bfd * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
gold * sparc.cc (Target_sparc::Scan::local): Don't convert R_SPARC_32
to R_SPARC_RELATIVE if class is ELFCLASS64.
(Target_sparc::Scan::global): Likewise.
ld * testsuite/ld-elf/symbolic-func.r: Allow non-zero offsets from
.text.
commit 6c9a7fb62fcddbcafba8ab765e6fe190482c3d0a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 28 11:08:58 2016 +0100
MIPS/LD/testsuite: Accept any UNIX OS/ABI with GNU attribute tests
Remove failures with FreeBSD targets, e.g:
regexp_diff match failure
regexp "^ OS/ABI: UNIX - System V$"
line " OS/ABI: UNIX - FreeBSD"
FAIL: ld-mips-elf/attr-gnu-4-50
introduced with commit 351cdf24d223 ("[MIPS] Implement O32 FPXX, FP64
and FP64A ABI extensions").
ld/
* testsuite/ld-mips-elf/attr-gnu-4-10.d: Match any UNIX OS/ABI.
* testsuite/ld-mips-elf/attr-gnu-4-50.d: Likewise.
* testsuite/ld-mips-elf/attr-gnu-4-60.d: Likewise.
* testsuite/ld-mips-elf/attr-gnu-4-70.d: Likewise.
commit d48796b5054fa2a9165bf3b3f27cc1cdfe8933a1
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 28 19:03:59 2016 +0930
Fix new testcase for hppa64
Anything in first column is a label on hppa64.
PR gas/20247
* testsuite/gas/elf/section11.s: Don't start directives in first column.
commit 56a30421eea2253213a567bbe23d67c77c2c6a0f
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 28 19:02:08 2016 +0930
Don't run ld-scripts/pr20302 on linuxaout
PR ld/20302
* testsuite/ld-scripts/pr20302.d: Exclude *-*-*aout.
commit f2b2af2c9f403ead49de8f0e01a9c149b0b420f9
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 28 18:59:33 2016 +0930
Invalid read in _bfd_elf_get_symbol_version_string
PR 20304
* objdump.c (objdump_print_symname): Don't attempt to retrieve
version info from synthetic symbols.
commit dab26bf4e7c8b48e0c5ffbef1c5400807b78072c
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Tue Jun 28 09:21:04 2016 +0100
[AArch64] Make register indices be full 64-bit values
aarch64_opnd_info used bitfields to hold vector element indices,
but values were stored into those bitfields before their ranges had
been checked. This meant large invalid indices could be silently
truncated to smaller valid indices.
The two obvious fixes were to do the range checking earlier or use
a full 64-bit field for the index. I went for the latter for two
reasons:
- Doing the range checking in operand_general_constraint_met_p
seems structurally cleaner than doing it while parsing.
- The bitfields didn't really buy us anything. The imm field
of the union is already 128 bits, so we can use a full int64_t
index without growing the structure.
The patch also adds missing range checks for the elements in a register
list index.
include/
* opcode/aarch64.h (aarch64_opnd_info): Change index fields to int64_t.
opcodes/
* aarch64-opc.c (operand_general_constraint_met_p): Check the
range of ldst_elemlist operands.
(print_register_list): Use PRIi64 to print the index.
(aarch64_print_operand): Likewise.
gas/
* testsuite/gas/aarch64/diagnostic.s,
testsuite/gas/aarch64/diagnostic.l: Add tests for out-of-range indices.
commit c9775dde32773c57d4eb5dfb4265eda9cb8adbe8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 28 01:23:36 2016 +0100
MIPS16: Add R_MIPS16_PC16_S1 branch relocation support
For R_MIPS16_PC16_S1 the calculation is `(sign_extend(A) + S - P) >> 1'
and the usual MIPS16 bit shuffling applies to relocated field handling,
as per the encoding of the branch target in the extended form of the
MIPS16 B, BEQZ, BNEZ, BTEQZ and BTNEZ instructions.
include/
* elf/mips.h (R_MIPS16_PC16_S1): New relocation.
bfd/
* elf32-mips.c (elf_mips16_howto_table_rel): Add
R_MIPS16_PC16_S1.
(mips16_reloc_map): Likewise.
* elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
(mips16_elf64_howto_table_rela): Likewise.
(mips16_reloc_map): Likewise.
* elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
(elf_mips16_howto_table_rela): Likewise.
(mips16_reloc_map): Likewise.
* elfxx-mips.c (mips16_branch_reloc_p): New function.
(mips16_reloc_p): Handle R_MIPS16_PC16_S1.
(b_reloc_p): Likewise.
(mips_elf_calculate_relocation): Likewise.
(_bfd_mips_elf_check_relocs): Likewise.
* reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* config/tc-mips.c (mips16_reloc_p): Handle
BFD_RELOC_MIPS16_16_PCREL_S1.
(b_reloc_p): Likewise.
(limited_pcrel_reloc_p): Likewise.
(md_pcrel_from): Likewise.
(md_apply_fix): Likewise.
(tc_gen_reloc): Likewise.
(md_convert_frag): Likewise.
(mips_fix_adjustable): Update comment.
* testsuite/gas/mips/mips16-branch-reloc-2.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-branch-reloc-3.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-branch-addend-2.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-branch-addend-3.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-branch-absolute.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-branch-reloc-2.l: Remove file.
* testsuite/gas/mips/mips16-branch-reloc-3.l: Remove file.
* testsuite/gas/mips/mips16-branch-addend-2.l: Remove file.
* testsuite/gas/mips/mips16-branch-addend-3.l: Remove file.
* testsuite/gas/mips/mips16-branch-absolute.l: Remove file.
* testsuite/gas/mips/mips16-branch-addend-2.s: Add padding.
* testsuite/gas/mips/branch-weak.s: Adjust alignment, avoid
implicit instruction padding, avoid MIPS16 JR->JRC conversion.
* testsuite/gas/mips/branch-weak-6.d: New test.
* testsuite/gas/mips/branch-weak-7.d: New test.
* testsuite/gas/mips/mips.exp: Run the new tests.
ld/
* testsuite/ld-mips-elf/mips16-branch-2.d: New test.
* testsuite/ld-mips-elf/mips16-branch-3.d: New test.
* testsuite/ld-mips-elf/mips16-branch-addend-2.d: New test.
* testsuite/ld-mips-elf/mips16-branch-addend-3.d: New test.
* testsuite/ld-mips-elf/mips16-branch.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit bac13b9c13a0169aea400335776310b1f1ff2d16
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 28 00:00:21 2016 +0000
Automatic date update in version.in
commit 6763d566a8d30d1ad65dfd060a919c621dad86c4
Author: Manish Goregaokar <manish@mozilla.com>
Date: Mon Jun 27 22:24:15 2016 +0530
Fix changelog
commit 921d8f549f9e35d3f83c7b1a381146a7dc1246f4
Author: Manish Goregaokar <manish@mozilla.com>
Date: Mon Jun 27 21:16:59 2016 +0530
Print void types correctly in Rust
Rust prefers to not specify the return type of a function when it is unit
(`()`). The type is also referred to as "void" in debuginfo but not in actual
usage, so we should never be printing "void" when the language is Rust.
2016-06-27 Manish Goregaokar <manish@mozilla.com>
gdb/ChangeLog:
* rust-lang.c (rust_print_type): Print unit types as "()"
* rust-lang.c (rust_print_type): Omit return type for functions
returning unit
gdb/testsuite/ChangeLog:
* gdb.rust/simple.rs: Add test for returning unit in a function
* gdb.rust/simple.exp: Add expectation for functions returning unit
commit 45a54ee57764e34fe2fe8b7655fabef38936a696
Author: Vineet Gupta <vgupta@synopsys.com>
Date: Mon Jun 27 16:50:29 2016 +0100
Make the kernel dwarf stack unwinder work for ARC targets.
* config//tc-arc.c (tc_arc_frame_initial_instructions): Use
cfi_add_CFA_def_cfa to generate default CFA with offset
* testsuite/gas/cfi/cfi-arc-1.d: Update expected output.
commit 42b7a39bf6eb2e90fb1b07c2d53d7a93263508d2
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 27 16:35:58 2016 +0100
Allow a second -T<section>=<addr> to override a previous version on the same linker command line.
PR ld/20302
* lexsup.c (set_segment_start): If resetting the start address of
a section, remember to generate a new script element as well.
* testsuite/ld-scripts/pr20302.d: New test.
* testsuite/ld-scripts/scripts.exp: Run the new test.
commit 95daf21060008545515e94aeba501082e8710cc0
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 27 13:52:20 2016 +0100
oops - omitted from previous delta
commit 2edb36e77f3ff468eac2b2c8954e9c031148e724
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 27 13:49:09 2016 +0100
Add command line option to stop the assembler from padding the end of sections to their alignment boundary.
PR gas/20247
* as.h (do_not_pad_sections_to_alignment): New global variable.
* as.c (show_usage): Add --no-pad-sections.
(parse_args): Likewise.
* write.c (size_seg): Skip padding the end of the section if
requested from the command line.
(SUB_SEGMENT_ALIGN): Likewise.
* doc/as.texinfo: Document the new option.
* NEWS: Mention the new feature.
* testsuite/gas/elf/section11.s: New test.
* testsuite/gas/elf/section11.d: New test driver.
* testsuite/gas/elf/elf.exp: Run the new test.
commit c9301e31817019c38ab52da0e72fa1e3bf75332c
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jun 27 20:00:09 2016 +0930
PR 19264 looping in ppc64_elf_size_stubs
b399102 fixed the testcase in this PR but it may be possible to
trigger the problem in other ways.
PR ld/19264
* elf64-ppc.c (STUB_SHRINK_ITER): Define.
(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
if shrinking stubs.
(ppc64_elf_size_stubs): Adjust to suit.
commit f4952523968703caa027a5922263eb97b88bedc3
Author: Pierre-Marie de Rodat <derodat@adacore.com>
Date: Mon Jun 27 12:11:25 2016 +0200
Fix use of a dangling pointer for Python breakpoint objects
When a Python script tries to create a breakpoint but fails to do so,
gdb.Breakpoint.__init__ raises an exception and the breakpoint does not
exist anymore in the Python interpreter. However, GDB still keeps a
reference to the Python object to be used for a later hook, which is
wrong.
This commit adds the necessary cleanup code so that there is no stale
reference to this Python object. It also adds a new testcase to
reproduce the bug and check the fix.
2016-06-25 Pierre-Marie de Rodat <derodat@adacore.com>
gdb/
* python/py-breakpoint.c (bppy_init): Clear bppy_pending_object
when there is an error during the breakpoint creation.
gdb/testsuite
* gdb.python/py-breakpoint-create-fail.c,
gdb.python/py-breakpoint-create-fail.exp,
gdb.python/py-breakpoint-create-fail.py: New testcase.
commit 3cd72572cbbf3bb720a41af1db26e81898c318c2
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon Jun 27 06:01:34 2016 -0400
add ChangeLog entries
commit 48afb19489cf39cb7f48e24fe7c567a9cd438b95
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri Jun 3 21:43:06 2016 -0400
dlx: move prototype of dlx_set_skip_hi16 to elf/dlx.h
bfd/ChangeLog:
2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf32-dlx.h: New file.
* elf32-dlx.c: Adjust.
gas/ChangeLog:
2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-dlx.c: Include bfd/elf32-dlx.h.
* config/tc-dlx.h: Remove prototype of dlx_set_skip_hi16.
commit e066bf5f74fd776657accf02dececb7df120412f
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon May 23 00:35:40 2016 -0400
xtensa: remove a sentinal
gas/ChangeLog:
2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-xtensa.c (xtensa_elf_suffix): Use ARRAY_SIZE instead of a
sentinal element.
(map_suffix_reloc_to_operator): Likewise.
(map_operator_to_reloc): Likewise.
commit 0708347f66e1d8e01b215fb1fe71f634249c5fc9
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 28 18:16:47 2016 -0400
nds32: remove a sentinal
gas/ChangeLog:
2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-nds32.c (md_begin): Use ARRAY_SIZE instead of a sentinal
element in relax_table.
commit cd529d78e5b6b645e0e49f2e845121c568bddc56
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 27 00:00:10 2016 +0000
Automatic date update in version.in
commit 081bae6c18d02279cc5c86a72468d31df1b3bb8e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 26 00:00:17 2016 +0000
Automatic date update in version.in
commit 8a0b252a9bf7f9985ce6c16c932ad11f847ae2da
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat Jun 4 17:56:32 2016 -0400
aarch64: make the type of reg_entry::type aarch64_reg_type
gas/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-aarch64.c: Make the type of reg_entry::type
aarch_reg_type.
commit 5703197e0421f490c3dc25ecd9ea04ca59750b64
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Thu Apr 21 09:56:50 2016 -0400
remove a few sentinals
gas/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-bfin.c (bfin_cpus): Remove sentinal.
(md_parse_option): Adjust.
* config/tc-aarch64.c (aarch64_parse_abi): Replace use of a sentinal
with iteration from 0 to ARRAY_SIZE.
* config/tc-mcore.c (md_begin): Likewise.
* config/tc-visium.c (visium_parse_arch): Likewise.
opcodes/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* mcore-opc.h: Remove sentinal.
* mcore-dis.c (print_insn_mcore): Adjust.
commit 4b92e38839652e05e7cdc86487dd18c3a2048339
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun Jun 5 22:25:21 2016 -0400
simplify tic54x_set_default_include ()
its only called with an argument of 0, so we might as well remove the code
supporting other values.
gas/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-tic54x.c (tic54x_set_default_include): remove argument
and simplify accordingly.
(tic54x_include): Adjust.
(tic54x_mlib): Likewise.
commit 7c2c4aa12f4931fb79f94d787ef60e88960bb2a7
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat Jun 4 16:46:58 2016 -0400
xtensa: prototype xtensa_make_property_section in elf/xtensa.h
There's no reason to have multiple prototypes for the same function.
include/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf/xtensa.h (xtensa_make_property_section): New prototype.
gas/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-xtensa.c (xtensa_make_property_section): Remove prototype.
bfd/ChangeLog:
2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
commit 9e8a8ea8feadb0d3cd6443a1bc773b1dc835767e
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jun 25 08:41:45 2016 -0600
Fix formatting in rust-lang.c
This fixes up a few formatting nits in rust-lang.c.
Built and regtested on x86-64 Fedora 23.
2016-06-25 Tom Tromey <tom@tromey.com>
* rust-lang.c (rust_get_disr_info, rust_print_type): Fix
formatting.
commit fccb08f8cd2035b50a2b0a5e09983180b7411685
Author: Manish Goregaokar <manish@mozilla.com>
Date: Sat Jun 25 11:10:38 2016 +0530
Add tests for printing of NonZero-optimized enums in Rust
gdb/testsuite/ChangeLog:
2016-06-25 Manish Goregaokar <manish@mozilla.com>
PR gdb/20239
* gdb.rust/simple.rs: Add more tests for printing NonZero enums.
* gdb.rust/simple.exp: Add test expectations for new NonZero tests.
commit b5a4b3c5e711be9096423f9765623eda449d8f4d
Author: Manish Goregaokar <manish@mozilla.com>
Date: Sat Jun 25 11:09:23 2016 +0530
Make evaluation and type-printing of all NonZero optimized enums work
gdb/ChangeLog:
2016-06-25 Manish Goregaokar <manish@mozilla.com>
PR gdb/20239
* rust-lang.c (rust_get_disr_info): Correctly interpret
NonZero-optimized enums of arbitrary depth.
(rust_print_type): Correctly print NonZero-optimized
enums.
commit 6b8505468e64c2be8d0eea1f2b8db86fa3897600
Author: David Taylor <dtaylor@emc.com>
Date: Tue Apr 12 15:02:57 2016 -0400
Support structure offsets that are 512K or larger.
GDB computes structure byte offsets using a 32 bit integer. And,
first it computes the offset in bits and then converts to bytes. The
result is that any offset that if 512K bytes or larger overflows.
This patch changes GDB to use LONGEST for such calculations.
PR gdb/17520 Structure offset wrong when 1/4 GB or greater.
* c-lang.h: Change all parameters, variables, and struct or union
members used as struct or union fie3ld offsets from int to
LONGEST.
* c-valprint.c: Likewise.
* cp-abi.c: Likewise.
* cp-abi.h: Likewise.
* cp-valprint.c: Likewise.
* d-valprint.c: Likewise.
* dwarf2loc.c: Likewise.
* eval.c: Likewise.
* extension-priv.h: Likewise.
* extension.c: Likewise.
* extension.h: Likewise.
* findvar.c: Likewise.
* gdbtypes.h: Likewise.
* gnu-v2-abi.c: Likewise.
* gnu-v3-abi.c: Likewise.
* go-valprint.c: Likewise.
* guile/guile-internal.h: Likewise.
* guile/scm-pretty-print.c: Likewise.
* jv-valprint.c Likewise.
* opencl-lang.c: Likewise.
* p-lang.h: Likewise.
* python/py-prettyprint.c: Likewise.
* python/python-internal.h: Likewise.
* spu-tdep.c: Likewise.
* typeprint.c: Likewise.
* valarith.c: Likewise.
* valops.c: Likewise.
* valprint.c: Likewise.
* valprint.h: Likewise.
* value.c: Likewise.
* value.h: Likewise.
* p-valprint.c: Likewise.
* c-typeprint.c (c_type_print_base): When printing offset, use
plongest, not %d.
* gdbtypes.c (recursive_dump_type): Ditto.
commit e0204c4d4ceb9be0b0ccf8f92ab683aab54f67cd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 25 00:00:19 2016 +0000
Automatic date update in version.in
commit 88a7ef1689279e498354094e123191926a801002
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Jun 25 00:49:10 2016 +0100
MIPS16/GAS: Restore unsupported relocation diagnostics
Correct a MIPS16 relocation handling regression in GAS introduced with:
commit 177b4a6ad0047c8995fbc55016bc4f4b68d53b4a
Author: Alexandre Oliva <aoliva@redhat.com>
Date: Mon Mar 18 18:56:18 2002 +0000
discussed at <https://sourceware.org/ml/binutils/2002-03/msg00345.html>,
which removed a preparatory call to `mips16_extended_frag' previously
made from `md_estimate_size_before_relax'. As a result the function is
never called with its `sec' parameter non-NULL and consequently all the
unsupported relocation checks within are dead and never trigger, causing
any unhandled relocations to silently resolve to 0. Unfortunately there
was no sufficient test suite coverage back then to catch this.
Remove all dead code then, and all the associated comments. Update the
remaining call to `mips16_extended_frag' from `mips_relax_frag' to pass
the relocation section as the `sec' parameter and use it to mark frags
which require an external relocation, as extended. Finally handle any
outstanding MIPS16 relocations in `md_convert_frag' and report an error
since we don't support any except with percent operators.
gas/
* config/tc-mips.c (append_insn): Use any `O_symbol' expression
unchanged with relaxed MIPS16 instructions.
(mips16_extended_frag): Adjust accordingly. Return 1 right
away if a relocation will be required for the symbol requested.
Remove dead first relaxation pass code.
(mips_relax_frag): Pass `sec' down to `mips16_extended_frag'.
(md_convert_frag): Adjust symbol value calculation. Raise an
error if a relocation is required for the symbol requested.
* testsuite/gas/mips/mips16@relax-swap3.d: Remove dump patterns,
add error output.
* testsuite/gas/mips/mips16@relax-swap3.l: New error output.
* testsuite/gas/mips/mips16-pcrel-relax-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-relax-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-relax-2.d: New test.
* testsuite/gas/mips/mips16-pcrel-relax-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-2.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-5.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-7.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-2.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute.d: New test.
* testsuite/gas/mips/mips16-branch-reloc-0.d: New test.
* testsuite/gas/mips/mips16-branch-reloc-1.d: New test.
* testsuite/gas/mips/mips16-branch-reloc-2.d: New test.
* testsuite/gas/mips/mips16-branch-reloc-3.d: New test.
* testsuite/gas/mips/mips16-branch-addend-0.d: New test.
* testsuite/gas/mips/mips16-branch-addend-1.d: New test.
* testsuite/gas/mips/mips16-branch-addend-2.d: New test.
* testsuite/gas/mips/mips16-branch-addend-3.d: New test.
* testsuite/gas/mips/mips16-branch-absolute.d: New test.
* testsuite/gas/mips/mips16-absolute-reloc-0.d: New test.
* testsuite/gas/mips/mips16-absolute-reloc-1.d: New test.
* testsuite/gas/mips/mips16-absolute-reloc-2.d: New test.
* testsuite/gas/mips/mips16-absolute-reloc-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-reloc-2.l: New error output.
* testsuite/gas/mips/mips16-pcrel-reloc-3.l: New error output.
* testsuite/gas/mips/mips16-pcrel-reloc-6.l: New error output.
* testsuite/gas/mips/mips16-pcrel-reloc-7.l: New error output.
* testsuite/gas/mips/mips16-pcrel-addend-2.l: New error output.
* testsuite/gas/mips/mips16-pcrel-addend-3.l: New error output.
* testsuite/gas/mips/mips16-pcrel-absolute.l: New error output.
* testsuite/gas/mips/mips16-branch-reloc-2.l: New error output.
* testsuite/gas/mips/mips16-branch-reloc-3.l: New error output.
* testsuite/gas/mips/mips16-branch-addend-2.l: New error output.
* testsuite/gas/mips/mips16-branch-addend-3.l: New error output.
* testsuite/gas/mips/mips16-branch-absolute.l: New error output.
* testsuite/gas/mips/mips16-absolute-reloc-2.l: New error output.
* testsuite/gas/mips/mips16-absolute-reloc-3.l: New error output.
* testsuite/gas/mips/mips16-pcrel-relax-0.s: New test source.
* testsuite/gas/mips/mips16-pcrel-relax-2.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-0.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-1.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-2.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-3.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-4.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-5.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-6.s: New test source.
* testsuite/gas/mips/mips16-pcrel-reloc-7.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-0.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-1.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-2.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-3.s: New test source.
* testsuite/gas/mips/mips16-pcrel-absolute.s: New test source.
* testsuite/gas/mips/mips16-branch-reloc-0.s: New test source.
* testsuite/gas/mips/mips16-branch-reloc-1.s: New test source.
* testsuite/gas/mips/mips16-branch-reloc-2.s: New test source.
* testsuite/gas/mips/mips16-branch-reloc-3.s: New test source.
* testsuite/gas/mips/mips16-branch-addend-0.s: New test source.
* testsuite/gas/mips/mips16-branch-addend-1.s: New test source.
* testsuite/gas/mips/mips16-branch-addend-2.s: New test source.
* testsuite/gas/mips/mips16-branch-addend-3.s: New test source.
* testsuite/gas/mips/mips16-branch-absolute.s: New test source.
* testsuite/gas/mips/mips16-absolute-reloc-0.s: New test source.
* testsuite/gas/mips/mips16-absolute-reloc-1.s: New test source.
* testsuite/gas/mips/mips16-absolute-reloc-2.s: New test source.
* testsuite/gas/mips/mips16-absolute-reloc-3.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 2907f41490b2b5602f47c5acdf9ad7ae94eaeff9
Author: David Taylor <david.taylor@emc.com>
Date: Fri Jun 24 17:05:31 2016 -0400
Add myself as a Write After Approval maintainer.
commit e6cdd38e8f0fead14cd3c528e9a4b666e1871752
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sun Jun 12 21:24:42 2016 -0700
Add support for catching system calls to native FreeBSD targets.
All platforms on FreeBSD use a shared system call table, so use a
single XML file to describe the system calls available on each FreeBSD
platform.
Recent versions of FreeBSD include the identifier of the current
system call when reporting a system call entry or exit event in the
ptrace_lwpinfo structure obtained via PT_LWPINFO in fbsd_wait. As
such, FreeBSD native targets do not use the gdbarch method to fetch
the system call code. In addition, FreeBSD register sets fetched via
ptrace do not include an equivalent of 'orig_rax' (on amd64 for
example), so the system call code cannot be extracted from the
available registers during a system call exit. However, GDB assumes
that system call catch points are not supported if the gdbarch method
is not present. As a workaround, FreeBSD ABIs install a dummy gdbarch
method that throws an internal_error if it is ever invoked.
gdb/ChangeLog:
* configure.ac: Check for support for system call LWP fields on
FreeBSD.
* config.in, configure: Rebuild.
* data-directory/Makefile.in (SYSCALLS_FILES): Add freebsd.xml.
* fbsd-nat.c (fbsd_wait) [HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE]:
Report system call events.
[HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE]
(fbsd_set_syscall_catchpoint): New function.
(fbsd_nat_add_target) [HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE]:
Set "to_set_syscall_catchpoint" to "fbsd_set_syscall_catchpoint".
* fbsd-tdep.c: Include xml-syscall.h
(fbsd_get_syscall_number): New function.
(fbsd_init_abi): Set XML system call file name.
Add "get_syscall_number" gdbarch method.
* syscalls/freebsd.xml: New file.
commit 82372b2f2747d347e24bb10ddc7bc7e828222a42
Author: John Baldwin <jhb@FreeBSD.org>
Date: Wed Jun 15 21:33:42 2016 -0700
Add a gdbarch 'print_auxv_entry' method for FreeBSD ABIs.
Add a 'print_auxv_entry' method for FreeBSD ABIs that parses
FreeBSD-specific auxiliary vector entries and outputs a suitable
description using fprint_auxv_entry.
gdb/ChangeLog:
* fbsd-tdep.c: Include "auxv.h".
(fbsd_print_auxv_entry): New function.
(fbsd_init_abi): Install gdbarch "print_auxv_entry" method.
commit 2faa34476d9e6120eaf389b7f91b7227183fa2ce
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 15:51:38 2016 -0700
Add a new gdbarch method to print a single AUXV entry.
Different platforms have different meanings for auxiliary vector
entries. The 'print_auxv_entry' gdbarch method allows an architecture
to output a suitable description for platform-specific entries.
A fprint_auxv_entry function is split out of fprint_target_auxv.
This function outputs the description of a single auxiliary vector
entry to the specified file using caller-supplied formatting and
strings to describe the vector type.
The existing switch on auxiliary vector types is moved out of
fprint_target_auxv into a new default_print_auxv_entry function.
default_print_auxv_entry chooses an appropriate format and description
and calls fprint_single_auxv to describe a single vector entry.
This function is used as the default 'print_auxv_entry' gdbarch method.
fprint_target_auxv now invokes the gdbarch 'print_auxv_entry' method
on each vector entry.
gdb/ChangeLog:
* auxv.c (fprint_auxv_entry): New function.
(default_print_auxv_entry): New function.
(fprint_target_auxv): Use gdbarch_print_auxv_entry.
* auxv.h (enum auxv_format): New enum.
(fprint_auxv_entry): Declare.
(default_print_auxv_entry): Declare.
* gdbarch.sh (print_auxv_entry): New.
* gdbarch.c, gdbarch.h: Re-generated.
commit 3350c5f5de3d2e62dd9de2a76cf2d5d8728d2600
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sun Jun 12 12:34:51 2016 -0700
Create a pseudo section for the ELF AUXV core dump note on FreeBSD.
The procstat AUXV core dump note in FreeBSD consists of 32-bit integer
followed by an array of auxiliary vector entries.
bfd/ChangeLog:
* elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
notes.
commit 7697fc9ec3a970f05abb836107653c46ada466ad
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 15:07:38 2016 -0700
Fetch the ELF auxiliary vector from live processes on FreeBSD.
Use the kern.proc.auxv.<pid> sysctl to fetch the ELF auxiliary vector for
a live process.
gdb/ChangeLog:
* fbsd-nat.c [KERN_PROC_AUXV] New variable super_xfer_partial.
(fbsd_xfer_partial): New function.
(fbsd_nat_add_target) [KERN_PROC_AUXV] Set "to_xfer_partial" to
"fbsd_xfer_partial".
commit aa1ed4a93a2eb0fb90d274c15288f3aad1791f60
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sun Jun 12 08:56:31 2016 -0700
Add elfcore_grok_freebsd_note to parse FreeBSD ELF core notes.
Move parsing of FreeBSD-specific ELF core notes out of elfcore_grok_note
into a new elfcore_grok_freebsd_note function. Add core note grok routines
for FreeBSD's psinfo and prstatus notes while here rather than depending
on the native handling in elfcore_grok_note.
bfd/ChangeLog:
* elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
FreeBSD. Remove case for NT_FREEBSD_THRMISC.
(elfcore_grok_freebsd_psinfo): New function.
(elfcore_grok_freebsd_prstatus): New function.
(elfcore_grok_freebsd_note): New function.
(elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
notes.
commit b00f86d0720d2cf44f3edb6101682074da1abe5d
Author: John Baldwin <jhb@FreeBSD.org>
Date: Wed Jun 15 22:44:11 2016 -0700
Add constants for FreeBSD-specific auxiliary vector entry types.
include/ChangeLog:
* elf/common.h (AT_FREEBSD_EXECPATH, AT_FREEBSD_CANARY)
(AT_FREEBSD_CANARYLEN, AT_FREEBSD_OSRELDATE, AT_FREEBSD_NCPUS)
(AT_FREEBSD_PAGESIZES, AT_FREEBSD_PAGESIZESLEN)
(AT_FREEBSD_TIMEKEEP, AT_FREEBSD_STACKPROT): Define.
commit 6e321fa8f89da924026d758461a07e8a7faa0133
Author: Joel Brobecker <brobecker@adacore.com>
Date: Fri Jun 24 13:04:56 2016 -0400
Add missing ChangeLog entry for "fix undefined reference [...]" commit.
commit 08ce1d723ea3360a8ae52a4a4bd395ec984563eb
Author: Joel Brobecker <brobecker@adacore.com>
Date: Fri Jun 24 12:16:24 2016 -0400
fix undefined reference to bfd_link_plugin_object_p during link
When configured with the default options, GDB currently fails to link,
due to an undefined reference to bfd_link_plugin_object_p, coming from
elflink.c:
#ifdef BFD_SUPPORTS_PLUGINS
|| (abfd->plugin_format == bfd_plugin_unknown
&& bfd_link_plugin_object_p (abfd))
#endif
This is because BFD_SUPPORTS_PLUGINS is always defined. It is its value
that determines whether plugin support is enabled or not.
bfd/ChangeLog:
* elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
than its existance.
commit 9cc0123fea25379a1d57b700c078c7a9d0992f61
Author: Alan Modra <amodra@gmail.com>
Date: Thu Jun 23 22:11:57 2016 +0930
MIPS objcopy --rename-section fix
Some MIPS targets use a named section symbol rather than a symbol with
no name as is used with most ELF targets. When renaming sections, the
named section symbol needs to be renamed too.
Rather than fix this bug, I'd originally intended to just correct the
xfail added recently for update-1.o vs update4.o in update-section.exp,
using the same set of targets for the localize-hidden-1 mips xfail.
I'd extracted that target test into a new function, is_bad_symtab. It
turns out to be useful in readelf.exp too.
bfd/
* config.bfd: Delete mips vxworks patterns matched earlier.
Combine mips*-*-none with mips*-*-elf*.
binutils/
* objcopy.c (find_section_rename): Forward declare. Remove
ibfd and sec_ptr param. Add old_name param. Allow for NULL
returned_flags. Move read of section name and flags to..
(setup_section): ..here. Update find_section_rename call.
(filter_symbols): Rename section symbols for renamed sections.
(copy_object): Call filter_symbols when renamed sections.
* testsuite/lib/binutils-common.exp (is_bad_symtab): New.
* testsuite/binutils-all/update-section.exp: Revert 96037eb0
mips xfail.
* testsuite/binutils-all/objcopy.exp (copy_executable): Use
is_bad_symtab.
(localize-hidden-1): xfail if is_bad_symtab.
* testsuite/binutils-all/readelf.exp: Use is_bad_symtab to select
between mips/tmips.
commit 78da3bc1eeb8ed227f86154ef915635fe9047a64
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 24 11:20:53 2016 +0930
aarch64 ld testsuite
Fixes failure on aarch64-rtems.
* testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_ilp32_emul):
Don't error out, always return an emulation.
commit 5c0ff16372013f4865230b90344eff39c14fdc43
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 24 10:54:50 2016 +0930
alpha-openbsd build failure
This target doesn't build, due to a missing gas/config/te-obsd.h file.
It's been that way since the commit switching to elf, in 2002.
https://lists.gnu.org/archive/html/bug-gnu-utils/2002-07/msg00128.html
* configure.tgt (alpha-*-openbsd*): Use em=nbsd.
commit 43339b1d1cac16ee3e3b556ff5ab3f031d03b5eb
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 24 10:50:25 2016 +0930
Limit objdump -S context lines
Showing context lines is confusing in many cases, an obvious example
being loops.
* objdump.c (struct print_file_list): Add "max_printed".
(try_print_file_open): Init new field.
(show_line): Don't show 5 context lines when redisplaying source.
commit da4463c7d74ca0314fcab31f4a98dca3fd98e250
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Jun 24 05:21:43 2016 -0700
Check DEFAULT_LD_Z_RELRO for -z relro help message
* lexsup.c (elf_shlib_list_options): Check DEFAULT_LD_Z_RELRO
for -z relro help message.
commit 8b302db80cb07f5f3264b50e1b51fdb8ecb29183
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 26 15:04:07 2016 -0600
Move logic out of symbol_find_demangled_name
This patch moves most of the demangling logic out of
symbol_find_demangled_name into the various language_defn objects.
The simplest way to do this seemed to be to add a new method to
language_defn. This is shame given the existing la_demangle, but
given Ada's unusual needs, and the differing demangling options
between languages, la_demangle didn't seem to fit.
In order to make this work, I made enum language order-sensitive.
This helps preserve the current ordering of demangling operations.
2016-06-23 Tom Tromey <tom@tromey.com>
* symtab.c (symbol_find_demangled_name): Loop over languages and
use language_sniff_from_mangled_name.
* rust-lang.c (rust_sniff_from_mangled_name): New function.
(rust_language_defn): Update.
* p-lang.c (pascal_language_defn): Update.
* opencl-lang.c (opencl_language_defn): Update.
* objc-lang.c (objc_sniff_from_mangled_name): New function.
(objc_language_defn): Update.
* m2-lang.c (m2_language_defn): Update.
* language.h (struct language_defn) <la_sniff_from_mangled_name>: New
field.
(language_sniff_from_mangled_name): Declare.
* language.c (language_sniff_from_mangled_name): New function.
(unknown_language_defn, auto_language_defn, local_language_defn):
Update.
* jv-lang.c (java_sniff_from_mangled_name): New function.
(java_language_defn): Use it.
* go-lang.c (go_sniff_from_mangled_name): New function.
(go_language_defn): Use it.
* f-lang.c (f_language_defn): Update.
* defs.h (enum language): Reorder.
* d-lang.c (d_sniff_from_mangled_name): New function.
(d_language_defn): Use it.
* cp-support.h (gdb_sniff_from_mangled_name): Declare.
* cp-support.c (gdb_sniff_from_mangled_name): New function.
* c-lang.c (c_language_defn, cplus_language_defn)
(asm_language_defn, minimal_language_defn): Update.
* ada-lang.c (ada_sniff_from_mangled_name): New function.
(ada_language_defn): Use it.
commit 56618e20bc50e55b49ed224df2a2a7e0840056fe
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 26 10:33:28 2016 -0600
Move filename extensions into language_defn
This moves filename extensions from a function in symfile.c out to
each language_defn. I think this is an improvement because it means
less digging around when writing a new language port.
2016-06-23 Tom Tromey <tom@tromey.com>
* ada-lang.c (ada_extensions): New array.
(ada_language_defn): Use it.
* c-lang.c (c_extensions): New array.
(c_language_defn): Use it.
(cplus_extensions): New array.
(cplus_language_defn): Use it.
(asm_extensions): New array.
(asm_language_defn): Use it.
(minimal_language_defn): Update.
* d-lang.c (d_extensions): New array.
(d_language_defn): Use it.
* f-lang.c (f_extensions): New array.
(f_language_defn): Use it.
* go-lang.c (go_language_defn): Update.
* jv-lang.c (java_extensions): New array.
(java_language_defn): Use it.
* language.c (add_language): Call add_filename_language.
(unknown_language_defn, auto_language_defn, local_language_defn):
Update.
* language.h (struct language_defn) <la_filename_extensions>: New
field.
* m2-lang.c (m2_language_defn): Update.
* objc-lang.c (objc_extensions): New array.
(objc_language_defn): Use it.
* opencl-lang.c (opencl_language_defn): Update.
* p-lang.c (p_extensions): New array.
(pascal_language_defn): Use it.
* rust-lang.c (rust_extensions): New array.
(rust_language_defn): Use it.
* symfile.c (add_filename_language): No longer static. Make "ext"
const.
(init_filename_language_table): Remove.
(_initialize_symfile): Update.
* symfile.h (add_filename_language): Declare.
commit 3fcf0b0d5a8cf04da4b4210121e7276ca1f20101
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 26 10:22:03 2016 -0600
Use VEC for filename_language_table
This patch changes filename_language_table to be a VEC. This seemed
like a reasonable cleanup over the old code.
2016-06-23 Tom Tromey <tom@tromey.com>
* symfile.c (filename_language_table): Now a VEC.
(fl_table_size, fl_table_next): Remove.
(add_filename_language): Use VEC_safe_push.
(set_ext_lang_command, info_ext_lang_command)
(deduce_language_from_filename): Use VEC_iterate.
(init_filename_language_table): Use VEC_empty.
commit 0c72ed4ca21e7a9f78f19179584f3886bf463689
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jun 9 15:07:55 2016 -0600
Make gdbpy_parameter static
While working on the next patch in this series, I noticed that
gdbpy_parameter did not need to be exported. This makes it "static".
2016-06-23 Tom Tromey <tom@tromey.com>
* python/python.c (gdbpy_parameter): Now static.
* python/python-internal.h (gdbpy_parameter): Don't declare.
commit 5153607fc679517c0f404807d2d821e547ed0207
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 24 00:00:15 2016 +0000
Automatic date update in version.in
commit 3ca25b560af813ca576821b500a0f0885829b500
Author: Cary Coutant <ccoutant@gmail.com>
Date: Thu Jun 23 09:45:25 2016 -0700
Fix bug with grouping sections.
The fix for PR 15370 did not correctly check all patterns in a group,
but instead threw all unassigned sections into the group. This patch
fixes that.
2016-06-23 Cary Coutant <ccoutant@gmail.com>
Igor Kudrin <ikudrin@accesssoftek.com>
gold/
PR gold/15370
* script-sections.cc
(Output_section_element_input::set_section_addresses): Keep bin_count
separate from input_pattern_count.
* testsuite/script_test_12.t: Add another section .x4.
* testsuite/script_test_12i.t: Likewise.
* testsuite/script_test_12a.c: Likewise.
* testsuite/script_test_12b.c: Likewise.
commit 2ec060b71cc1cddb506d3a38475aadc184e25985
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date: Thu Jun 23 08:50:18 2016 -0700
Fix compilation error in MSYS2 environment.
gold/
* gold-threads.cc (impl_threads::Lock_impl_threads): Fix typos.
commit 17621150cc18737f0a80314cfd2f884b0c2e44b5
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jun 20 10:28:37 2016 -0600
PR gdb/16483 - simplify "info frame-filters" output
PR gdb/16483 notes that the output of "info frame-filters" is quite
voluminous. In particular it prints an entry for each objfile, even if
only to say that the objfile does not have any associated frame filters.
I think it's better to only print output when there is a frame filter.
There's nothing worth doing with the no-frame-filter information, and
limiting the output makes it much more readable.
Built and regtested on x86-64 Fedora 23.
2016-06-23 Tom Tromey <tom@tromey.com>
PR gdb/16483:
* python/lib/gdb/command/frame_filters.py
(InfoFrameFilter.list_frame_filters): Rename to print_list. Print
nothing if no filters found. Return value indicating whether
filters were printed.
(InfoFrameFilter.print_list): Remove.
(InfoFrameFilter.invoke): Print message if no frame filters
found.
2016-06-23 Tom Tromey <tom@tromey.com>
PR gdb/16483:
* gdb.python/py-framefilter.exp: Add "info frame-filter" test
before any filters are loaded.
commit 0e9c5a5c9916efc8a6c518c84ffdd50a745482c3
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu Jun 23 11:33:52 2016 +0100
MIPS/GAS: Keep the original microMIPS symbol reference in branch relocs
Keep original microMIPS symbols in references from branch relocations so
that the ISA bit is retained and can be verified for validity in static
link. No need to update WRT MIPS16 symbols because we keep them all
anyway for other reasons.
gas/
* config/tc-mips.c (b_reloc_p): New function.
(mips_fix_adjustable): Also keep the original microMIPS symbol
referred from branch relocations.
* testsuite/gas/mips/branch-local-1.d: New test.
* testsuite/gas/mips/branch-local-n32-1.d: New test.
* testsuite/gas/mips/branch-local-n64-1.d: New test.
* testsuite/gas/mips/micromips@branch-misc-4-64.d: Update
relocations.
* testsuite/gas/mips/branch-local-1.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new cases.
commit ce440d638d271d76cc491bd22dc34f6a5760140e
Author: Graham Markall <graham.markall@embecosm.com>
Date: Tue Jun 21 20:25:29 2016 +0100
[ARC] Misc minor edits/fixes
The code supporting -mspfp, -mdpfp, and -mfpuda options are in
sections of code that are commented as being for backward
compatibility only, and having no effect. However, they do have an
effect, enabling the SPX, DPX, and DPA instruction subclasses
respectively. This commit moves the code supporting these options
away from the comments indicating that they are dummy options, and
also fixes a small issue where -mnps400 had the additional effect
of enabling SPX instructions.
A couple of other minor edits (that make no functional change) are
also included.
gas/ChangeLog:
* config/tc-arc.c (options, md_longopts, md_parse_option):
Move -mspfp, -mdpfp and -mfpuda out of the sections for
dummy options. Correct erroneous enabling of SPFP
instructions when using -mnps400.
include/ChangeLog:
* opcode/arc.h: Make insn_class_t alphabetical again.
opcodes/ChangeLog:
* arc-opc.c: Correct description of availability of NPS400
features.
commit f215c83b5f4ccc6d8e14c21ccaac65d4b72e0354
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 23 00:00:23 2016 +0000
Automatic date update in version.in
commit 4041bc9b02df6404d7b2b3ff04d4e9f8bcfd43af
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu Jun 23 00:41:34 2016 +0100
MIPS/LD/testsuite: Use wildcard address matching in `undefweak-overflow'
So that test case updates result in legible dump pattern changes.
ld/
* testsuite/ld-mips-elf/undefweak-overflow.d: Use wildcard
address matching.
commit 4861b80420856a420c372b93782f32b7626c7037
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu Jun 23 00:29:14 2016 +0100
MIPS/LD/testsuite: Uniquely identify `undefweak-overflow' tests
ld/
* testsuite/ld-mips-elf/mips-elf.exp: Uniquely identify
`undefweak-overflow' tests.
commit 8cec2cfe27b40a2d61bae931d1dc17046d7e108d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 21:22:39 2016 +0100
MIPS/GAS: Handle resolved R6 PC-relative relocations (ChangeLog)
Add missing ChangeLog entry for commit 41947d9e38c4 ("MIPS/GAS: Handle
resolved R6 PC-relative relocations").
commit 6fd3a02da5548c71ff469f978444ef6c3af18783
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Wed Jun 22 17:55:17 2016 -0500
Add support for yet some more new ISA 3.0 instructions.
opcodes/
* ppc-opc.c (RM, DRM, VXASH, VXASH_MASK, XMMF, XMMF_MASK): New defines.
(powerpc_opcodes) <brd, brh, brw, mffsce, mffscdrn, mffscdrni,
mffscrn, mffscrni, mffsl, nandxor, rldixor, setbool,
xor3>: New mnemonics.
<setb>: Change to a VX form instruction.
(insert_sh6): Add support for rldixor.
(extract_sh6): Likewise.
gas/
* testsuite/gas/ppc/power9.d <brd, brh, brw, mffs, mffs., mffsce,
mffscdrn, mffscdrni, mffscrn, mffscrni, mffsl, nandxor, rldixor,
setbool, xor3>: New tests.
* testsuite/gas/ppc/power9.s: Likewise.
commit 6b4778968b298715ba78208bf047d72243961d49
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri Jun 3 23:11:46 2016 -0400
addmore extern C
opcodes/ChangeLog:
2016-06-22 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* arc-ext.h: Wrap in extern C.
include/ChangeLog:
2016-06-22 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf/dlx.h: Wrap in extern C.
* elf/xtensa.h: Likewise.
* opcode/arc.h: Likewise.
commit 96037eb0b8c22e0b080863362bee4a4f6fc476ed
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 22 14:42:26 2016 +0100
Fix various binutils testsuite failures.
* testsuite/binutils-all/ar.exp: Skip tests for Alpha target.
Skip bfdtest1 tests for tic30 target.
* testsuite/binutils-all/arm/objdump.exp: Skip for aout arm
target.
* testsuite/binutils-all/compress.exp: Expect some tests to fail
on the nds32.
* testsuite/binutils-all/copy-3.d: Skip for go32 targets.
* testsuite/binutils-all/copy-4.d: Skip for AIX and linuxecoff
targets.
* testsuite/binutils-all/nm.exp: Treat beos based targets as ELF
targets.
* testsuite/binutils-all/objcopy.exp: Only run reverse bytes tests
if the bintest.o file was created. Use the
get_standard_section_names proc to get the name of the data
section.
* testsuite/binutils-all/objdump.exp: Update regexps to allow for
RX section names.
* testsuite/binutils-all/readelf.exp: Use
get_standard_section_names proc to get the name of the data
section.
* testsuite/binutils-all/readelf.r: Allow for non standard text
section names.
* testsuite/binutils-all/readelf.s: Update regexps for tilepro.
* testsuite/binutils-all/size.exp: Allow for non standard section
names.
* testsuite/binutils-all/update-section.exp: Expect comapre 1vs4
to fail on mips targets.
* testsuite/lib/utils-lib.exp (default_binutils_run): Use
get_standard_section_names proc.
(run_dump_test): Likewise.
(proc get_standard_section_names): New proc.
commit 6b1edb94fedc7103b4929354d27304d0bd756f49
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 22 05:39:22 2016 -0700
gold: Add a linker configure option --enable-relro
Add a configure option --enable-relro to decide whether -z relro should
be enabled by default. Default to yes.
PR ld/20283
* NEWS: Mention --enable-relro.
* configure.ac: Add --enable-relro.
(DEFAULT_LD_Z_RELRO): New. Set by --enable-relro and default
to 1.
* config.in: Regenerated.
* configure: Likewise.
* options.h (General_options::relro): Default to
DEFAULT_LD_Z_RELRO.
commit 647e4d46495f2bfb0950fd1066c8a660173cca40
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 22 05:37:24 2016 -0700
ld: Add a linker configure option --enable-relro
Add a configure option --enable-relro to decide whether -z relro should
be enabled in ELF linker by default. Default to yes for all Linux
targets, except FRV, HPPA, IA64 and MIPS, since many relro tests fail
on these targets.
PR ld/20283
* NEWS: Mention --enable-relro.
* configure.ac: Add --enable-relro.
(DEFAULT_LD_Z_RELRO): New. Set by --enable-relro.
* configure.tgt (ac_default_ld_z_relro): Default it to 1 for
some Linux targets.
* config.in: Regenerated.
* configure: Likewise.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
link_info.relro to DEFAULT_LD_Z_RELRO.
* testsuite/config/default.exp (ld_elf_shared_opt): New.
* testsuite/lib/ld-lib.exp (run_dump_test): Pass
$ld_elf_shared_opt to ld for ELF targets with shared object
support.
(run_ld_link_tests): Likewise.
commit 6edaf4d75b45ff08d7296095506904663b8f0576
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 28 11:54:51 2016 -0400
tilegx: move TILEGX_NUM_PIPELINE_ENCODINGS to tilegx_pipeline enum
Its closely related to what the encodings are, more than a set of random
constants, so it seems to make sense to put it here.
include/ChangeLog:
2016-06-22 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/tilegx.h: Move TILEGX_NUM_PIPELINE_ENCODINGS into
tilegx_pipeline.
commit b0b793434ef492aa5afc95e0a9f787bdf860a1c1
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat Jun 4 16:45:13 2016 -0400
xtensa: include elf/xtensa.h in tc-xtensa.c
There's no reason to define these macros twice.
gas/ChangeLog:
2016-06-22 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-xtensa.c: Include elf/xtensa.h.
commit d5b07ef44713fc26f283cb1fa8b98d62caf703be
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 22 09:55:50 2016 +0100
Increase size of string buffer used to hold printed versions of timestamps.
binutils* readelf.c (dynamic_section_mips_val): Increase size of timebuf.
(process_mips_specific): Likewise.
(process_gnu_liblist): Likewise.
commit cbf55359ca3fdcb2590619e0165f2c8fa10b2f04
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 22 00:00:09 2016 +0000
Automatic date update in version.in
commit 41947d9e38c4fd27b17843f328d58138193e4f19
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 21:22:39 2016 +0100
MIPS/GAS: Handle resolved R6 PC-relative relocations
Complement commit 7361da2c952e ("Add support for MIPS R6.") and fix
internal errors like:
foo.s: Assembler messages:
foo.s: Internal error!
Assertion failure in md_apply_fix at .../gas/config/tc-mips.c:15028.
Please report this bug.
triggered by resolved R6 PC-relative relocations in sources containing
R6 code fragments wrapped into ISA override blocks embedded within code
otherwise assembled for an older ISA.
gas/
* config/tc-mips.c (calculate_reloc) <BFD_RELOC_HI16_S_PCREL>
<BFD_RELOC_LO16_PCREL>: New switch cases.
(md_apply_fix) <BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL>:
Move switch cases along `BFD_RELOC_MIPS_JMP'.
<BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2>
<BFD_RELOC_MIPS_18_PCREL_S3, BFD_RELOC_MIPS_19_PCREL_S2>: Handle
the resolved case.
* testsuite/gas/mips/pcrel-reloc-4.d: New test.
* testsuite/gas/mips/pcrel-reloc-4-r6.d: New test.
* testsuite/gas/mips/pcrel-reloc-5.d: New test.
* testsuite/gas/mips/pcrel-reloc-5-r6.d: New test.
* testsuite/gas/mips/pcrel-reloc-6.d: New test.
* testsuite/gas/mips/pcrel-reloc-6.l: New list test.
* testsuite/gas/mips/pcrel-reloc-4.s: New test source.
* testsuite/gas/mips/pcrel-reloc-6.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 717ba204e06d88ed68441e236da3688a92cf054c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 20:12:00 2016 +0100
MIPS/GAS: Fix null pointer dereferences in R6 PC-relative relocation checks
Avoid segmentation faults in alignment checks made in `md_apply_fix' for
BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2 relocations
caused by dereferencing `fixP->fx_addsy' which will be null if the
relocation processed has been fully resolved.
gas/
* config/tc-mips.c (md_apply_fix) <BFD_RELOC_MIPS_18_PCREL_S3>
<BFD_RELOC_MIPS_19_PCREL_S2>: Avoid null pointer dereferences
via `fixP->fx_addsy'.
commit 51f6035b9ec8b4a23d73bed6688804e5f595e1c2
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 18:54:16 2016 +0100
MIPS/GAS: Correct BFD_RELOC_MIPS_18_PCREL_S3 calculation
The PC-relative R_MIPS_PC18_S3 relocation and consequently its BFD
internal BFD_RELOC_MIPS_18_PCREL_S3 representation is calculated from
the address of the aligned doubleword containing the location being
relocated: (sign_extend(A) + S - (P & ~0x7)) >> 3 rather than the
address of the location itself. Reflect this in calculations made by
GAS so that the relocated field is set correctly if resolved by GAS,
such as with local symbols in the same section which do not require
relocations to be propagated to the link stage.
gas/
* config/tc-mips.c (md_pcrel_from) <BFD_RELOC_MIPS_18_PCREL_S3>:
Calculate relocation from the containing aligned doubleword.
(tc_gen_reloc) <BFD_RELOC_MIPS_18_PCREL_S3>: Calculate the
addend from the containing aligned doubleword.
commit 912815f079a8f3c40c0968ba5140619de079e199
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 16:01:27 2016 +0100
MIPS/GAS: Use the module level ISA setting for R6 relaxation
Use the module level ISA setting rather than the last ISA selected with
a `.set' directive in the source file in determination as to whether to
keep PC-relative relocations and then with the original symbol referred,
for the purpose of R6 linker relaxation.
This is so that with e.g. code like this:
b foo
.set mips32r2
...
it's the command line options or any `.module' directive that decides
how to encode any relocation for `foo' rather than the presence of `.set
mips32r2'.
gas/
* config/tc-mips.c (mips_force_relocation): Use `file_mips_opts'
rather than `mips_opts' for the R6 ISA check.
(mips_fix_adjustable): Likewise.
* testsuite/gas/mips/pcrel-reloc-1.d: New test.
* testsuite/gas/mips/pcrel-reloc-1-r6.d: New test.
* testsuite/gas/mips/pcrel-reloc-2.d: New test.
* testsuite/gas/mips/pcrel-reloc-2-r6.d: New test.
* testsuite/gas/mips/pcrel-reloc-3.d: New test.
* testsuite/gas/mips/pcrel-reloc-3-r6.d: New test.
* testsuite/gas/mips/pcrel-reloc-1.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 5f68df25f869d74f0235276a81536392fd376e6d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue Jun 21 14:06:27 2016 +0100
MIPS/BFD: Don't stop processing on a cross-mode jump conversion error
As with commit ed53407eec9e ("MIPS/BFD: Don't stop processing on
`bfd_reloc_outofrange'") don't bail out right away and instead continue
processing on a cross-mode jump conversion error, so that any further
issues are also reported. Adjust message formatting accordingly, using
`%X' to abort processing at conclusion. Remove the full stop from the
end of the message, for consistency across error reporting.
Adjust the corresponding test case accordingly and make it trigger the
error twice.
bfd/
* elfxx-mips.c (mips_elf_perform_relocation): Call
`info->callbacks->einfo' rather than `*_bfd_error_handler' and
use the `%X%H' format for the cross-mode jump conversion error
message. Remove the full stop from the end of the message.
Continue processing rather than returning failure.
ld/
* testsuite/ld-mips-elf/mode-change-error-1a.s: Trigger an error
twice rather than once.
* testsuite/ld-mips-elf/mode-change-error-1.d: Adjust
accordingly. Remove the full stop from the end of the message.
commit 04d59df6f311bcc20d74ada64a5e15a4bbb40026
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date: Tue Jun 21 15:15:04 2016 +0200
Improve user experience in printing Fortran derived types.
Output for Fortran derived classes is like:
"( 9, 'abc')"
with this changes the output is changed to:
"( lucky_number = 9, letters = 'abc')"
2016-06-21 Walfred Tedeschi <walfred.tedeschi@intel.com>
* f-valprint.c (f_val_print): Add field names for printing
derived types fields.
gdb/testsuite:
* gdb.fortran/derived-type.exp (print q): Add fields to the output.
* gdb.fortran/vla-type.exp (print twov): Fix vla tests with
structs.
* gdb.fortran/derived-type-function.exp: New file.
* gdb.fortran/derived-type-function.f90: New file.
commit bdd582dbf14f12998a0003b5aa772d7868bc3dc7
Author: Graham Markall <graham.markall@embecosm.com>
Date: Tue Jun 21 14:03:08 2016 +0100
Arc assembler: Convert nps400 from a machine type to an extension.
gas * config/tc-arc.c (check_cpu_feature, md_parse_option):
Add nps400 option and feature. Add check for nps400
feature. Refactor existing checks to check subclass before
feature enablement.
(md_show_usage): Document flags for NPS-400 and add some other
undocumented flags.
(cpu_type): Remove nps400 CPU type entry
(check_zol): Remove bfd_mach_arc_nps400 case.
(md_show_usage): Add help on -mcpu=nps400.
(cpu_types): Add entry for nps400 as arc700 plus nps400 extension
set.
* doc/c-arc.texi: Document the -mnps400, -mspfp, -mdpfp, and
-fpuda flags. Document -mcpu=nps400.
* testsuite/gas/arc/nps-400-0.d: Use -mcpu=arc700 -mnps400. Change
expected flags to match ARC700 instead of NPS400.
* testsuite/gas/arc/nps-400-1.d: Use -mcpu=arc700 -mnps400.
* testsuite/gas/arc/nps-400-2.d: Likewise.
* testsuite/gas/arc/nps-400-3.d: Likewise.
* testsuite/gas/arc/nps-400-4.d: Likewise.
* testsuite/gas/arc/nps-400-5.d: Likewise.
* testsuite/gas/arc/nps-400-6.d: Likewise.
* testsuite/gas/arc/nps-400-7.d: Likewise.
* testsuite/gas/arc/textinsn2op01.s: Change opcode of myinsn to
avoid clash with cbba instruction.
* testsuite/gas/arc/textinsn2op01.d: Likewise.
* testsuite/gas/arc/textinsn3op.d: Likewise.
* testsuite/gas/arc/textinsn3op.s: Likewise.
* testsuite/gas/arc/nps-400-0.d: Test using NPS-400 using
-mcpu=nps400 as an alternative to -mcpu=arc700 -mnps400 flags.
binutils* readelf.c (decode_ARC_machine_flags): Remove E_ARC_MACH_NPS400
case.
ld * testsuite/ld-arc/nps-1a.d: Use -mcpu=arc700 -mnps400.
* testsuite/ld-arc/nps-1b.d: Likewise.
include * opcode/arc.h: Add nps400 extension and instruction
subclass.
Remove ARC_OPCODE_NPS400
* elf/arc.h: Remove E_ARC_MACH_NPS400
opcodes * arc-dis.c (arc_insn_length): Add comment on instruction length.
Use same method for determining instruction length on ARC700 and
NPS-400.
(arc_insn_length, print_insn_arc): Remove bfd_mach_arc_nps400.
* arc-nps400-tbl.h: Make all nps400 instructions ARC700 instructions
with the NPS400 subclass.
* arc-opc.c: Likewise.
bfd * archures.c: Remove bfd_mach_arc_nps400.
* bfd-in2.h: Likewise.
* cpu-arc.c (arch_info_struct): Likewise.
* elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
Likewise.
commit 782c112285467b906296b020f8fce3fb76cc5bb5
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Tue Jun 21 13:26:11 2016 +0200
S390 gdbserver: Mark local funcs/vars as static
Compiling with '-Wmissing-declarations' yields warnings in
linux-s390-low.c. To fix this, mark appropriate functions as static.
gdb/gdbserver/ChangeLog:
* linux-s390-low.c (s390_emit_eq_goto): Mark function static.
(s390_emit_ne_goto): Likewise.
(s390_emit_lt_goto): Likewise.
(s390_emit_le_goto): Likewise.
(s390_emit_gt_goto): Likewise.
(s390_emit_ge_goto): Likewise.
(s390x_emit_eq_goto): Likewise.
(s390x_emit_ne_goto): Likewise.
(s390x_emit_lt_goto): Likewise.
(s390x_emit_le_goto): Likewise.
(s390x_emit_gt_goto): Likewise.
(s390x_emit_ge_goto): Likewise.
(s390_emit_ops_impl): Mark variable static.
(s390x_emit_ops): Likewise.
commit 34a60ddbad3b76d8f327250527cf4915839943d7
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Tue Jun 21 13:26:11 2016 +0200
S390: Fix typo "s930" -> "s390"
This fixes a typo in the name of the "last-break" regset.
gdb/ChangeLog:
* s390-linux-tdep.c (s390_iterate_over_regset_sections): Fix typo
in name of last-break regset.
commit f70be8a445d4ff75766073f16e92c313f9bdc0ca
Author: Cary Coutant <ccoutant@gmail.com>
Date: Mon Jun 20 20:13:08 2016 -0700
Update gold to version 1.12.
gold/
* NEWS: Add new features in 1.12.
* version.cc (version_string): Bump to 1.12.
commit ac69f7863a6b5dbd1792356275de437371b8c879
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:57 2016 +0100
Add "new-ui console" tests
This adds a test that uses new-ui to create a secondary console, and
then runs some basic smoke tests. It ensures that:
- synchronous commands send output to the UI that initiated it
- asynchronous events like breakpoint hits are reported on all
consoles.
- "new-ui" without arguments doesn't crash.
- The "new-ui" command doesn't repeat.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.base/new-ui.exp: New file.
* lib/mi-support.exp (switch_gdb_spawn_id): Move to ...
* lib/gdb.exp (switch_gdb_spawn_id): ... here.
(with_spawn_id): New procedure.
commit 49940788ab38b9d58c663cf38855f29c0ebb1b55
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:57 2016 +0100
Always switch fork child to the main UI
The following scenario:
- gdb started in normal CLI mode.
- separate MI channel created with new-ui
- inferior output redirected with the "set inferior-tty" command.
- use -exec-run in the MI channel to run the inferior
is presently mishandled.
When we create the inferior, in fork-child.c, right after vfork, we'll
close all the file descriptors in the vfork child, and then dup the
tty to file descriptors 0/1/2, create a session, etc. Note that when
we close all descriptors, we close the file descriptors behind
gdb_stdin/gdb_stdout/gdb_stderr of all secondary UIs... So if
anything goes wrong in the child and it calls warning/error, it'll end
up writting to the current UI's stdout/stderr streams, which are
backed by file descriptors that have since been closed. Because this
happens in a vfork region, the corresponding stdin/stdout/stderr in
the parent/gdb end up corrupted.
The fix is to switch to the main UI right after the vfork, so that
gdb_stdin/gdb_stdout/gdb_stderr are correctly mapped to
stdin/stdout/stderr (and thus to file descriptors 0/1/2), so this code
works as it has always worked.
(Technically, we're doing a lot of stuff we shouldn't be doing after a
vfork, while we should only be calling async-signal-safe functions.)
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* fork-child.c (fork_inferior): Switch the child to the main UI
right after vfork. Save/restore the current UI in the parent.
Flush outputs of the main UI instead of the current UI.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.mi/mi-exec-run.exp: New file.
commit ef274d26b57336b3baa5bb0ae93b49178bc45631
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:56 2016 +0100
Make mi-break.exp always expect breakpoint commands output on the main UI
mi-break.exp regresses when tested with MI running on a secondary UI,
with RUNTESTFLAGS="FORCE_SEPARATE_MI_TTY=1".
The problem is simply that the test sets a breakpoint, and attaches
"print" commands to the breakpoint. Since breakpoint commands always
run with the main UI as current UI, the breakpoint command's output
goes to the main UI. So we need to tweak the test to expect it there.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.mi/mi-break.exp (test_breakpoint_commands): Always expect
breakpoint command's output on the main UI.
(test_break): New procedure, factored out from calls in the top
level.
(top level): Use foreach_with_prefix to test MI as main UI and as
separate UI.
commit 468afe6c5fc9c80b8c175f3f13702ffaa6308400
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:56 2016 +0100
Send deleted watchpoint-scope output to all UIs
Testing with:
make check RUNTESTFLAGS="SEPARATE_MI_TTY=1"
shows this, in gdb.mi/mi-watch.exp:
-*stopped,reason="watchpoint-scope",wpnum="2",frame={addr="0x00000000004005cb",
+*stopped,frame={addr="0x00000000004005cb",
(...)
-PASS: gdb.mi/mi-watch.exp: hw: watchpoint trigger
+FAIL: gdb.mi/mi-watch.exp: hw: watchpoint trigger (unknown output after running)
That is, we lose the "watchpoint-scope" output on the MI UI.
This commit fixes it, and makes the test run with MI running as both
main UI and separate UI.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* breakpoint.c (watchpoint_check): Send watchpoint-deleted output
to all UIs.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.mi/mi-watch.exp (test_watchpoint_creation_and_listing)
(test_awatch_creation_and_listing)
(test_rwatch_creation_and_listing, test_watchpoint_triggering):
Remove 'type' parameter.
(test_watchpoint_all): New parameter mi_mode. Remove
with_test_prefix.
(top level): Use foreach_with_prefix, and add main/separate UI MI
testing axis.
commit 51f77c3704a6e5c28fdcdd6d6e0aeb97ebdb343f
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:55 2016 +0100
Add testing infrastruture bits for running with MI on a separate UI
With this, a specific test may can start GDB with MI on a separate UI
by using:
mi_gdb_start separate-mi-tty
In addition, it's also possible to run the whole testsuite with MI on
a separate tty, with:
make check RUNTESTFLAGS="FORCE_SEPARATE_MI_TTY=1"
gdb_main_spawn_id and mi_spawn_id are added so that tests may expect
output from either channel.
While at it, inferior_spawn_id was not being cleared when gdb exits,
unlike the other spawn ids, thus a test that starts gdb more than once
would end up using a stale spawn id.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* README (Testsuite Parameters): Document FORCE_SEPARATE_MI_TTY.
* lib/gdb.exp (default_gdb_exit): Clear inferior_spawn_id.
* lib/mi-support.exp (mi_uncatched_gdb_exit): Unset
gdb_main_spawn_id, mi_spawn_id, unset inferior_spawn_id.
(gdb_main_spawn_id, mi_spawn_id): Declare and
comment.
(mi_create_inferior_pty): New procedure,
factored out from default_mi_gdb_start.
(switch_gdb_spawn_id, mi_gdb_start_separate_mi_tty): New
procedures.
(default_mi_gdb_start): Call mi_gdb_start_separate_mi_tty if the
separate-mi-tty option is specified, or SEPARATE_MI_TTY is set.
Use mi_create_inferior_pty.
(mi_gdb_start): Use eval to pass down args list.
commit 86f78169c82095eced3a4d1b30f8e002ec841d79
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:55 2016 +0100
[DOC] Document support for running interpreters on separate UIs
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* NEWS: Mention support for running interpreters on separate
UIs and the new new-ui command.
gdb/doc/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Interpreters): Update intepreter-exec section,
document new-ui and explain use case.
commit 60eb5395fa7a7b8e3cd1841e38b6d1a0c16be0d0
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:55 2016 +0100
Add new command to create extra console/mi UIs
With all the previous plumbing in place, it's now easy to add a
command that actually creates a new console/mi UI.
The intended use case is to make it possible and easy for MI frontends
to provide a fully featured GDB console to users, with readline
support, command line editing, history, etc., just like if gdb was
started on the command line. Currently MI frontends have to try to
implement all of that theirselves and make use of "-interpreter-exec
console ...", which is far from perfect. If you ever tried Eclipse's
gdb console window, you'll know what I mean...
Instead of trying to multiplex console through MI, this command let's
just leverage all the built in readline/editing support already inside
gdb.
The plan is for the MI frontend to start GDB in regular console mode,
running inside a terminal emulator widget embedded in Eclipse (which
already exists, for supporting the shell widget; other frontends have
similar widgets), and then tell GDB to run a full MI interpreter on an
specified input/output device, independent of the console.
My original prototype planned to do things the other way around --
start GDB in MI mode, and then start an extra CLI console on separate
tty. I handed over that prototype to Marc Khouzam @ Eclipse CDT, and
after experimentation and discussion, we ended up concluding that
starting GDB in CLI mode instead was both easier and actually also
supported an interesting use case -- connect an Eclipse frontend to a
GDB that is already running outside Eclipse.
The current usage is "new-ui <interpreter> <tty>".
E.g., on a terminal run this scriplet:
$ cat gdb-client
#!/bin/bash
reset
tty
tail -f /dev/null
$ gdb-client
/dev/pts/15
Now run gdb on another terminal, and tell it to start a MI interpreter
on the tty of the other terminal:
...
(gdb) new-ui mi /dev/pts/15
New UI allocated
Now back to the the gdb-client terminal, we'll get an MI prompt, ready
for MI input:
/dev/pts/15
=thread-group-added,id="i1"
(gdb)
You can also start a new UI running a CLI, with:
(gdb) new-ui console /dev/pts/15
Though note that this console won't support readline command editing.
It works as if "set editing off" was entered.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* interps.c (set_top_level_interpreter): New function, factored
out from captured_main.
(interpreter_completer): Make extern.
* interps.h (set_top_level_interpreter, interpreter_completer):
New declarations.
(captured_main): Use set_top_level_interpreter.
* top.c [!O_NOCTTY] (O_NOCTTY): Define as 0.
(open_terminal_stream, new_ui_command): New functions.
(init_main): Install the "new-ui" command.
commit 268a799a454ce862f516ff2215290fae08eca7fa
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:54 2016 +0100
Make stdin be per UI
This commit makes each UI have its own "stdin" stream pointer. This
is used to determine whether the "from_tty" argument to
execute_command, etc. should be true.
Related, this commit makes input_from_terminal_p take an UI parameter,
and then avoids the gdb_has_a_terminal in it. gdb_has_a_terminal only
returns info on gdb's own main/primary terminal (the real stdin).
However, the places that call input_from_terminal_p really want to
know is whether the command came from an interactive tty. This patch
thus renames input_from_terminal_p to input_interactive_p for clarity,
and then makes input_interactive_p check for "set interactive" itself,
along with ISATTY, instead of calling gdb_has_a_terminal. Actually,
quit_force wants to call input_interactive_p _after_ stdin is closed,
we can't call ISATTY that late. So instead we save the result of
ISATTY in a field of the UI.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-script.c (read_next_line): Adjust to per-UI stdin.
(read_command_lines): Use input_interactive_p instead of
input_from_terminal_p.
* defs.h (struct ui): Forward declare.
(input_from_terminal_p): Rename to ...
(input_interactive_p): ... this.
* event-top.c (stdin_event_handler): Pass 0 as from_tty argument
to quit_command.
(command_handler): Adjust to per-UI stdin.
(handle_line_of_input): Adjust to per-UI stdin and use
input_interactive_p instead of ISATTY and input_from_terminal_p.
(gdb_readline_no_editing_callback): Adjust to per-UI stdin.
(command_line_handler): Always pass true as "from_tty" parameter
of handle_line_of_input and execute_command.
(async_sigterm_handler): Pass 0 as from_tty argument to
quit_command.
* inflow.c (interactive_mode, show_interactive_mode): Moved to ...
(gdb_has_a_terminal): Don't check interactive_mode here.
(_initialize_inflow): Don't install "set interactive-mode" here.
* main.c (captured_command_loop): Adjust to per-UI stdin.
* mi/mi-interp.c (mi_execute_command_wrapper): Adjust to per-UI
stdin.
* top.c (new_ui): Save the stdin stream and whether it's a tty.
(dont_repeat): Adjust to per-UI stdin.
(command_line_input): Adjust to per-UI stdin and to use
input_interactive_p.
(quit_force): Write history if any UI supports interactive input.
(interactive_mode, show_interactive_mode): Move here, from
inflow.c.
(input_from_terminal_p): Rename to ...
(input_interactive_p): ... this, and check the "interactive_mode"
global instead of calling gdb_has_a_terminal.
(_initialize_top): Install "set interactive-mode" here.
* top.h (struct ui) <stdin_stream, input_interactive_p>: New
fields.
* utils.c (quit): Pass 0 as from_tty argument to quit_force.
(defaulted_query): Adjust to per-UI stdin and to use
input_interactive_p.
commit 07169ff772077f566c6540f623d7d609babc4c81
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:54 2016 +0100
Handle UI's terminal closing
Without this, GDB exits if a secondary UIs terminal/input stream is
closed:
$ ./gdb -ex "new-ui mi /dev/pts/6"
New UI allocated
<<< close /dev/pts/6
(gdb) Error detected on fd 9
$
We want that for the main UI, but not secondary UIs.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (stdin_event_handler): Don't quit gdb if it was a
secondary UI's input stream that closed. Instead, just delete the
UI.
commit 98d9f24ed15c5ca33bff06647d87b85e22e586d2
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:53 2016 +0100
Make main_ui be heap allocated
This is preparation for being able to create more than one UI object.
The change to gdb_main to stop using catch_errors is necessary because
catch_errors references current_uiout, which expands to
current_ui->m_current_ui, which would crash because current_ui is not
initialized yet at that point. It didn't trigger earlier in the
series because before this patch, main_ui/current_ui always start out
non-NULL.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (main_ui_): Delete.
(main_ui, current_ui, ui_list): No longer initialize here.
* main.c (captured_main): UI initialization code factored out to
new new_ui function.
(gdb_main): Wrap captured_main with TRY/CATCH instead of
catch_errors.
* top.c (highest_ui_num): New global.
(new_ui): New function.
* top.h (struct ui) <num>: New field.
(new_ui): New declaration.
commit eaae60fd9421cd055c88584bf783942888b8c68e
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:53 2016 +0100
Only send sync execution command output to the UI that ran the command
Currently when a "step", "next", etc. finishes, the current source
line is printed on all console UIs.
This patch makes the CLI and TUI interpreters reuse MI's logic to only
emit console output related to a synchronous command on the
console-like interpreter that started the command in the first place.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c (cli_on_normal_stop): Bail out early if there's
nothing to print. Use should_print_stop_to_console.
* tui/tui-interp.c (tui_on_normal_stop): Likewise.
commit 8980e177bb62ec64875b335cf8733b41f3aae2fd
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:53 2016 +0100
Push thread->control.command_interp to the struct thread_fsm
I noticed that if we step into an inline function, step_1 never
reaches proceed, and thus nevers sets the thread's
tp->control.command_interp. Because of that,
should_print_stop_to_console fails to determine that is should print
stop output to the console.
The fix is to set the thread's command_interp earlier. However, I
realized that we can move that field to the thread_fsm, given that its
lifetime is exactly the same as thread_fsm. So the patch plumbs all
fsms constructors to take the command interp and store it in the
thread_fsm.
We can see the fix in action, with e.g., the gdb.opt/inline-cmds.exp
test, and issuing a step when stopped at line 67:
&"s\n"
^running
*running,thread-id="all"
(gdb)
~"67\t result = func2 ();\n"
*stopped,reason="end-stepping-range",frame={addr="0x00000000004004d0",func="main",args=[],file="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.opt/inline-cmds.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.opt/inline-cmds.c",line="67"},thread-id="1",stopped-threads="all",core="0"
(gdb)
s
&"s\n"
^running
*running,thread-id="all"
(gdb)
+ ~"func2 () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.opt/inline-cmds.c:67\n"
+ ~"67\t result = func2 ();\n"
*stopped,reason="end-stepping-range",frame={addr="0x00000000004004d0",func="func2",args=[],file="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.opt/inline-cmds.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.opt/inline-cmds.c",line="67"},thread-id="1",stopped-threads="all",core="0"
(gdb)
(The inline-cmds.exp command is adjusted to exercise this.)
(Due to the follow_fork change, this also fixes "next N" across a fork
with "set follow-fork child" with "set detach-on-fork on". Commands
that rely on internal breakpoints, like "finish" will still require
more work to migrate breakpoints etc. to the child thread.)
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* breakpoint.c (new_until_break_fsm): Add 'cmd_interp' parameter.
(until_break_fsm_should_stop, until_break_fsm_clean_up): Add
thread parameter.
(until_break_command): Pass command interpreter to thread fsm
ctor.
* cli/cli-interp.c (should_print_stop_to_console): Adjust.
* gdbthread.h (struct thread_control_state) <command_interp>:
Delete field.
* infcall.c (new_call_thread_fsm): Add 'cmd_interp' parameter.
Pass it down.
(call_thread_fsm_should_stop): Add thread parameter.
(call_function_by_hand_dummy): Pass command interpreter to thread
fsm ctor. Pass thread pointer to fsm clean up method.
* infcmd.c: Include interps.h.
(struct step_command_fsm) <thread>: Delete field.
(new_step_command_fsm): Add 'cmd_interp' parameter. Pass it down.
(step_command_fsm_prepare): Remove references to fsm's thread
field.
(step_1): Pass command interpreter to thread
fsm ctor. Pass thread pointer to fsm clean up method.
(step_command_fsm_should_stop, step_command_fsm_clean_up): Add
thread parameter and use it.
(new_until_next_fsm): Add 'cmd_interp' parameter. Pass it down.
(until_next_fsm_should_stop, until_next_fsm_clean_up): Add thread
parameter and use it.
(until_next_command): Pass command interpreter to thread fsm ctor.
(struct finish_command_fsm) <thread>: Delete field.
(finish_command_fsm_ops): Add NULL slot for should_notify_stop.
(new_finish_command_fsm): Add 'cmd_interp' parameter and pass it
down. Remove thread parameter and adjust.
(finish_command_fsm_should_stop, finish_command_fsm_clean_up): Add
thread parameter and use it.
(finish_command): Pass command interpreter to thread fsm ctor.
Don't pass thread.
* infrun.c (follow_fork): Move thread fsm to child fork instead of
command interpreter, only.
(clear_proceed_status_thread): Remove reference to command_interp.
(proceed): Don't record the thread's command interpreter.
(clean_up_just_stopped_threads_fsms): Pass thread to fsm clean_up
method.
(fetch_inferior_event): Pass thread to fsm should_stop method.
* thread-fsm.c (thread_fsm_ctor): Add 'cmd_interp' parameter.
Store it.
(thread_fsm_clean_up, thread_fsm_should_stop): Add thread
parameter and pass it down.
* thread-fsm.h (struct thread_fsm) <command_interp>: New field.
(struct thread_fsm_ops) <clean_up, should_stop>: Add thread
parameter.
(thread_fsm_ctor): Add 'cmd_interp' parameter.
(thread_fsm_clean_up, thread_fsm_should_stop): Add thread
parameter.
* thread.c (thread_cancel_execution_command): Pass thread to
thread fsm clean_up method.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.opt/inline-cmds.c: Add "set mi break here" marker.
* gdb.opt/inline-cmds.exp: Add MI tests.
commit 26cde2cc30c25ba4d5666ea502db51ee6cb5b069
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:52 2016 +0100
New function should_print_stop_to_console
There's code in the MI interpreter that decides whether a stop should
be sent to MI's console stream. Move this check to the CLI
interpreter code, so that we can reuse it in both the CLI and TUI
interpreters.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c: Include gdbthread.h and thread-fsm.h.
(should_print_stop_to_console): New function, factored out from
mi_on_normal_stop_1.
* cli/cli-interp.h (should_print_stop_to_console): Declare.
* mi/mi-interp.c (mi_on_normal_stop_1): Use
should_print_stop_to_console. Pass it the current UI's console
interpreter.
* mi/mi-main.c (captured_mi_execute_command): Use the
INTERP_CONSOLE symbol rather than explicit "console".
commit a8836c9358a11055a08d11ecacc5d7c8f6d5e7a8
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:52 2016 +0100
Fix for spurious prompts in secondary UIs
Running mi-break.exp with MI on a secondary UI reveals that MI emits
spurious prompts compared MI running as primary UI:
-exec-continue
^running
*running,thread-id="all"
(gdb)
=breakpoint-modified,bkpt={number="9",type="breakpoint",disp="keep",enabled="y",func="callee2",line="39",script={"set $i=0","while $i<10","print $i","set $i=$i+1","end","continue"}}
~"\n"
~"Breakpoint 9, callee2 (intarg=2, strarg=0x400730 \"A string argument.\") at ...src/gdb/testsuite/gdb.mi/basics.c:39\n"
~"39\t callee3 (strarg);\n"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="9",frame={addr="0x00000000004005dd",func="callee2",...
*running,thread-id="all"
>> (gdb)
=breakpoint-modified,bkpt={number="9",...
~"\n"
~"Breakpoint 9, callee2 (intarg=2, strarg=0x400730 \"A string argument.\") at ...src/gdb/testsuite/gdb.mi/basics.c:39\n"
~"39\t callee3 (strarg);\n"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="9",...
*running,thread-id="all"
~"[Inferior 1 (process 12639) exited normally]\n"
=thread-exited,id="1",group-id="i1"
=thread-group-exited,id="i1",exit-code="0"
*stopped,reason="exited-normally"
FAIL: gdb.mi/mi-break.exp: intermediate stop and continue
FAIL: gdb.mi/mi-break.exp: test hitting breakpoint with commands (timeout)
Note the line marked >> above.
The test sets a breakpoint that runs "continue", a foreground command.
When we get to run the "continue", we've already emitted the *stopped
event on the MI UI, and set its prompt state to PROMPT_NEEDED (this is
done from within normal_stop). Since inferior events are always
handled with the main UI as current UI, breakpoint commands always run
with the main UI as current UI too. This means that the "continue"
ends up always disabling the prompt on the main UI, instead of the UI
that had just been done with synchronous execution.
I think we'll want to extend this with a concept of "set of
threads/inferiors a UI/interpreter is blocked waiting on", but I'm
leaving that for a separate series.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* infcmd.c (prepare_execution_command): Use
all_uis_on_sync_execution_starting.
* infrun.c (all_uis_on_sync_execution_starting): New function.
* infrun.h (all_uis_on_sync_execution_starting): Declare.
commit 3b12939dfc2399200f243851fd55d0e392b64165
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:51 2016 +0100
Replace the sync_execution global with a new enum prompt_state tristate
When sync_execution (a boolean) is true, it means we're running a
foreground command -- we hide the prompt stop listening to input, give
the inferior the terminal, then go to the event loop waiting for the
target to stop.
With multiple independent UIs, we need to track whether each UI is
synchronously blocked waiting for the target. IOW, if you do
"continue" in one console, that console stops accepting commands, but
you should still be free to type other commands in the others
consoles.
Just simply making sync_execution be per-UI alone not sufficient,
because of this in fetch_inferior_event:
/* If the inferior was in sync execution mode, and now isn't,
restore the prompt (a synchronous execution command has finished,
and we're ready for input). */
if (current_ui->async && was_sync && !sync_execution)
observer_notify_sync_execution_done ();
We'd have to record at entry the "was_sync" state for each UI, not
just of the current UI.
This patch instead replaces the sync_execution flag by a per-UI
tristate flag indicating the command line prompt state:
enum prompt_state
{
/* The command line is blocked simulating synchronous execution.
This is used to implement the foreground execution commands
('run', 'continue', etc.). We won't display the prompt and
accept further commands until the execution is actually over. */
PROMPT_BLOCKED,
/* The command finished; display the prompt before returning back to
the top level. */
PROMPT_NEEDED,
/* We've displayed the prompt already, ready for input. */
PROMPTED,
;
I think the end result is _much_ clearer than the current code, and,
it addresses the original motivation too.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* annotate.c: Include top.h.
(async_background_execution_p): Delete.
(print_value_flags): Check the UI's prompt state rather then
async_background_execution_p.
* event-loop.c (start_event_loop): Set the prompt state to
PROMPT_NEEDED.
* event-top.c (display_gdb_prompt, async_enable_stdin)
(async_disable_stdin): Check the current UI's prompt state instead
of the sync_execution global.
(command_line_handler): Set the prompt state to PROMPT_NEEDED
before running a command, and display the prompt if still needed
afterwards.
* infcall.c (struct call_thread_fsm) <waiting_ui>: New field.
(new_call_thread_fsm): New parameter 'waiting_ui'. Store it.
(call_thread_fsm_should_stop): Set the prompt state to
PROMPT_NEEDED.
(run_inferior_call): Adjust to temporarily set the prompt state to
PROMPT_BLOCKED instead of using the sync_execution global.
(call_function_by_hand_dummy): Pass the current UI to
new_call_thread_fsm.
* infcmd.c: Include top.h.
(continue_1): Check the current UI's prompt state instead of the
sync_execution global.
(continue_command): Validate global execution state before calling
prepare_execution_command.
(step_1): Call all_uis_check_sync_execution_done.
(attach_post_wait): Don't call async_enable_stdin here. Remove
reference to sync_execution.
* infrun.c (sync_execution): Delete global.
(follow_fork_inferior)
(reinstall_readline_callback_handler_cleanup): Check the current
UI's prompt state instead of the sync_execution global.
(check_curr_ui_sync_execution_done)
(all_uis_check_sync_execution_done): New functions.
(fetch_inferior_event): Call all_uis_check_sync_execution_done
instead of trying to determine whether the global sync execution
changed.
(handle_no_resumed): Check the prompt state of all UIs.
(normal_stop): Emit the no unwait-for even to all PROMPT_BLOCKED
UIs. Emit the "Switching to" notification to all UIs. Enable
stdin in all UIs.
* infrun.h (sync_execution): Delete.
(all_uis_check_sync_execution_done): Declare.
* main.c (captured_command_loop): Don't call
interp_pre_command_loop if the prompt is blocked.
(catch_command_errors, catch_command_errors_const): Adjust.
(captured_main): Set the initial prompt state to PROMPT_NEEDED.
* mi/mi-interp.c (display_mi_prompt): Set the prompt state to
PROMPTED.
(mi_interpreter_resume): Don't clear sync_execution. Remove hack
comment.
(mi_execute_command_input_handler): Set the prompt state to
PROMPT_NEEDED before executing the command, and only display the
prompt if the prompt state is PROMPT_NEEDED afterwards.
(mi_on_resume_1): Adjust to check the prompt state.
* target.c (target_terminal_inferior): Adjust to check the prompt
state.
* top.c (wait_sync_command_done, maybe_wait_sync_command_done)
(execute_command): Check the current UI's prompt state instead of
sync_execution.
* top.h (enum prompt_state): New.
(struct ui) <prompt_state>: New field.
(ALL_UIS): New macro.
commit dbf30ca3f5fec91671b37592f1a6644a2c36f67a
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:51 2016 +0100
Make gdb_in_secondary_prompt_p() be per UI
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* top.c (gdb_secondary_prompt_depth): Delete.
(gdb_in_secondary_prompt_p): Add ui parameter. Use it.
(gdb_readline_wrapper_cleanup, gdb_readline_wrapper): Adjust to
per-UI gdb_secondary_prompt_depth.
* top.h (struct ui) <secondary_prompt_depth>: New field.
commit b2d86570b316c347384c4ba9bb3933ed5e807fca
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:51 2016 +0100
Simplify starting the command event loop
All interpreter types (CLI/TUI/MI) print the prompt, and then call
start_event_loop.
Because we'll need an interpreter hook to display the
interpreter-specific prompt before going back to the event loop,
without actually starting an event loop, this patch moves the
start_event_loop call to common code, and replaces the command_loop
hook with a pre_command_look hook, that now just prints the prompt.
Turns out to be a cleanup on its own right anyway.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c (cli_interpreter_pre_command_loop): New
function.
(cli_interp_procs): Install it instead of cli_command_loop.
* cli/cli-interp.h (cli_interpreter_pre_command_loop): Declare.
* event-top.c (cli_command_loop): Delete.
* interps.c (interp_new): Remove reference to command_loop_proc.
(current_interp_command_loop): Delete.
(interp_pre_command_loop): New function.
(interp_command_loop_ftype): Delete.
* interps.h (interp_pre_command_loop_ftype): New typedef.
(struct interp_procs) <command_loop_proc>: Delele field.
<pre_command_loop_proc>: New field.
(current_interp_command_loop): Delete declaration.
(interp_pre_command_loop): New declaration.
* main.c (captured_command_loop): Call interp_pre_command_loop
instead of current_interp_command_loop and start an event loop.
* mi/mi-interp.c (mi_command_loop): Delete.
(mi_interpreter_pre_command_loop): New.
(mi_interp_procs): Update.
* tui/tui-interp.c (tui_interp_procs): Install
cli_interpreter_pre_command_loop instead of cli_command_loop.
commit 9204d6922cb80f34dd799e57f7f0c74bc86e7027
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:50 2016 +0100
Make raw_stdout be per MI instance
Each MI instance should obviously have its own raw output channel,
along with save_raw_stdout.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* interps.c (current_interpreter): New function.
* interps.h (current_interpreter): New declaration.
* mi/mi-cmds.h (raw_stdout): Delete declaration.
* mi/mi-common.h (struct mi_interp) <raw_stdout,
saved_raw_stdout>: New field.
* mi/mi-interp.c (display_mi_prompt): New parameter 'mi'. Adjust
to per-UI raw_stdout.
(mi_interpreter_init): Adjust to per-UI raw_stdout.
(mi_on_sync_execution_done, mi_execute_command_input_handler)
(mi_command_loop): Pass MI instance to display_mi_prompt.
(mi_on_normal_stop_1, mi_output_running_pid, mi_on_resume_1)
(mi_on_resume): Adjust to per-UI raw_stdout.
(saved_raw_stdout): Delete.
(mi_set_logging): Adjust to per-UI raw_stdout and
saved_raw_stdout.
* mi/mi-main.c (raw_stdout): Delete.
(mi_cmd_gdb_exit, captured_mi_execute_command)
(mi_print_exception, mi_load_progress): Adjust to per-UI
raw_stdout.
(print_diff_now, mi_print_timing_maybe): New ui_file parameter.
Pass it along.
(print_diff): New ui_file parameter. Send output there instead of
raw_stdout.
* mi/mi-main.h (struct ui_file): Forward declare.
(mi_print_timing_maybe): Add ui_file parameter.
commit 05beb2750cd51a0ae1e8bb429aacda567acceba4
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:50 2016 +0100
Introduce display_mi_prompt
Just a refactor.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* mi/mi-interp.c (display_mi_prompt): New function.
commit 215d3118fe5f120c1deba66943329e30073ed780
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:49 2016 +0100
Make target_terminal_inferior/ours almost nops on non-main UIs
Since we always run the inferior in the main console (unless "set
inferior-tty" is in effect), when some UI other than the main one
calls target_terminal_inferior/target_terminal_inferior, then we only
register/unregister the UI's input from the event loop, but leave the
main UI's terminal settings as is.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* target.c (target_terminal_inferior): Bail out after
unregistering input_fd if not on the main UI.
(target_terminal_ours): Bail out after registering input_fd if not
on the main UI.
(target_terminal_ours_for_output): Bail out if not on the main UI.
commit c61db772bf5dc21bf8e0db9acfa8796804f945ab
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:49 2016 +0100
Always process target events in the main UI
This makes target events always be always processed with the main UI
as current UI. This way, warnings, debug output, etc. are always
consistently sent to the main console.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (restore_ui_cleanup): Make extern.
* infrun.c (fetch_inferior_event): Always switch to the main UI.
* top.h (restore_ui_cleanup): Declare.
commit 3c216924d6ae534ea6c2f6bdcc4b42238af52ab1
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:48 2016 +0100
Make command line editing (use of readline) be per UI
Due to the way that readline's API works (based on globals), we can
only have one instance of readline in a process. So the goal of this
patch is to only allow editing in the main UI, and make sure that only
one UI calls into readline. Some MI paths touch readline variables
currently, which is bad as that is changing variables that matter for
the main console UI. This patch fixes those.
This actually fixes a nasty bug -- starting gdb in MI mode ("gdb
-i=mi"), and then doing "set editing on" crashes GDB, because MI is
not prepared to use readline:
set editing on
&"set editing on\n"
=cmd-param-changed,param="editing",value="on"
^done
(gdb)
p 1
readline: readline_callback_read_char() called with no handler!
Aborted (core dumped)
The fix for that was to add an interp_proc method to query the
interpreter whether it actually supports editing. New test included.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
PR mi/20034
* cli/cli-interp.c: Include cli-interp.h and event-top.h.
(cli_interpreter_resume): Pass 1 to gdb_setup_readline. Set the
UI's input_handler here.
(cli_interpreter_supports_command_editing): New function.
(cli_interp_procs): Install it.
* cli/cli-interp.h: New file.
* event-top.c (async_command_editing_p): Rename to ...
(set_editing_cmd_var): ... this.
(change_line_handler): Add parameter 'editing', and use it. Bail
early if the interpreter doesn't support editing. Don't touch
readline state if editing is off.
(gdb_rl_callback_handler_remove, gdb_rl_callback_handler_install)
(gdb_rl_callback_handler_reinstall): Assert the current UI is the
main UI.
(display_gdb_prompt): Don't call gdb_rl_callback_handler_remove if
not using readline. Check whether the current UI is using command
editing instead of checking the async_command_editing_p global.
(set_async_editing_command): Delete.
(gdb_setup_readline): Add 'editing' parameter. Only allow editing
on the main UI. Don't touch readline state if editing is off.
(gdb_disable_readline): Don't touch readline state if editing is
off.
* event-top.h (gdb_setup_readline): Add 'int' parameter.
(set_async_editing_command): Delete declaration.
(change_line_handler, command_line_handler): Declare.
(async_command_editing_p): Rename to ...
(set_editing_cmd_var): ... this.
* infrun.c (reinstall_readline_callback_handler_cleanup): Check
whether the current UI has editing enabled rather than checking
the async_command_editing_p global.
* interps.c (interp_supports_command_editing): New function.
* interps.h (interp_supports_command_editing_ftype): New typedef.
(struct interp_procs) <supports_command_editing_proc>: New field.
(interp_supports_command_editing): Declare.
* mi/mi-interp.c (mi_interpreter_resume): Pass 0 to
gdb_setup_readline. Don't clear the async_command_editing_p
global. Update comments.
* top.c (gdb_readline_wrapper_line, gdb_readline_wrapper): Check
whether the current UI has editing enabled rather than checking
the async_command_editing_p global. Don't touch readline state if
editing is off.
(undo_terminal_modifications_before_exit): Switch to the main UI.
Unconditionally call gdb_disable_readline.
(set_editing): New function.
(show_async_command_editing_p): Rename to ...
(show_editing): ... this. Show the state of the current UI.
(_initialize_top): Adjust.
* top.h (struct ui) <command_editing>: New field.
* tui/tui-interp.c: Include cli/cli-interp.h.
(tui_resume): Pass 1 to gdb_setup_readline. Set the UI's
input_handler.
(tui_interp_procs): Install
cli_interpreter_supports_command_editing.
* tui/tui-io.c (tui_getc): Check whether the current UI has
editing enabled rather than checking the async_command_editing_p
global.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
PR mi/20034
* gdb.mi/mi-editing.exp: New file.
commit b6dcde571e1a230d12fc483ba6d38a1253ab097e
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:48 2016 +0100
Make current_ui_out be per UI
Similarly to gdb_stdout&co.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* top.c: Call gen_ret_current_ui_field_ptr for current_uiout.
* top.h (struct ui) <m_current_uiout>: New field.
* ui-out.c (current_uiout): Delete.
* ui-out.h (current_uiout): Delete.
(current_ui_current_uiout_ptr): New declaration.
(current_uiout): Reimplement as wrapper around
current_ui_current_uiout_ptr.
commit 23ff98d2fed4a1eaeb815e18cd4169e5aa7aaa60
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:48 2016 +0100
Delete def_uiout
Currently, current_uiout starts out pointing to def_uiout, a dummy
ui_out implementation.
Since we create a replacement uiout early on as soon as we create the
interpreter, we never actually use def_uiout. So this patch removes
it.
The proof that it works is that starting with current_uiout set to
NULL does not crash.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* ui-out.c (default_ui_out_impl): Delete.
(def_uiout): Delete.
(current_uiout): Set to NULL.
(default_table_begin, default_table_body, default_table_end)
(default_table_header, default_begin, default_end)
(default_field_int, default_field_skip, default_field_string)
(default_field_fmt, default_spaces, default_text, default_message)
(default_wrap_hint, default_flush, default_data_destroy): Delete.
commit 694ec099d2fca9e7d47848e8a7fc40ea3aa47a32
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:47 2016 +0100
Make out and error streams be per UI
stderr_fileopen () references stderr directly, which doesn't work when
we have a separate UI with its own stderr-like stream. So this also
adds a "errstream" to "struct ui", and plumbs stderr_fileopen to take
a stream parameter.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (gdb_setup_readline): Pass the UI's outstream and
errstream to stdout_fileopen and stderr_fileopen.
* exceptions.c: Include top.h.
(print_flush): Open the current UI's outstream file descriptor,
instead of hardcoding file descriptor 1.
* main.c (captured_main): Save the main UI's out and error
streams. Adjust stderr_fileopen call.
* top.h (struct ui) <outstream, errstream>: New fields.
* ui-file.c (stderr_fileopen): Add stream parameter. Use it
instead of stderr.
* ui-file.h (stderr_fileopen): Add stream parameter and update
comment.
commit 41fd2b0f5d958fe3056da5c7af4032b1b99d726f
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:47 2016 +0100
Make input_fd be per UI
And with that, we can switch the current UI to the UI whose input
descriptor woke up the event loop. IOW, if the user types in UI 2,
the event loop wakes up, switches to UI 2, and processes the input.
Next the user types in UI 3, the event loop wakes up and switches to
UI 3, etc.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (input_fd): Delete.
(stdin_event_handler): Switch to the UI whose input descriptor got
the event. Adjust to per-UI input_fd.
(gdb_setup_readline): Don't set the input_fd global. Adjust to
per-UI input_fd.
(gdb_disable_readline): Adjust to per-UI input_fd.
* event-top.h (input_fd): Delete declaration.
* linux-nat.c (linux_nat_terminal_inferior): Don't remove input_fd
from the event-loop here.
(linux_nat_terminal_ours): Don't register input_fd in the
event-loop here.
* main.c (captured_main): Adjust to per-UI input_fd.
* remote.c (remote_terminal_inferior): Don't remove input_fd from
the event-loop here.
(remote_terminal_ours): Don't register input_fd in the event-loop
here.
* target.c: Include top.h and event-top.h.
(target_terminal_inferior): Remove input_fd from the event-loop
here.
(target_terminal_ours): Register input_fd in the event-loop.
* top.h (struct ui) <input_fd>: New field.
commit f38d3ad186f1820596743a04b7394b0749942501
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:46 2016 +0100
Make instream be per UI
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-script.c (execute_user_command, read_next_line)
(read_next_line): Adjust to per-UI instream.
* event-top.c (stdin_event_handler, command_handler)
(handle_line_of_input, command_line_handler)
(gdb_readline_no_editing_callback, async_sigterm_handler)
(gdb_setup_readline): Likewise.
* inflow.c: Include top.h.
(gdb_has_a_terminal, child_terminal_init_with_pgrp)
(gdb_save_tty_state, child_terminal_inferior)
(child_terminal_ours_1, copy_terminal_info): Use the main UI.
(initialize_stdin_serial): Adjust to per-UI instream.
* main.c (captured_command_loop, captured_main): Adjust to per-UI
instream.
* mi/mi-interp.c (mi_execute_command_wrapper): Likewise.
* python/python.c (python_interactive_command): Likewise.
* terminal.h (struct ui): Forward declare.
(initialize_stdin_serial): Add struct ui parameter.
* top.c (instream): Delete.
(do_restore_instream_cleanup, read_command_file, dont_repeat)
(gdb_readline_no_editing, command_line_input)
(input_from_terminal_p, gdb_init): Adjust to per-UI instream.
* top.h (struct ui) <instream>: New field.
(instream): Delete declaration.
(quit): Adjust to per-UI instream.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.gdb/selftest.exp (do_steps_and_nexts): Add new regexp.
commit 7c36c34e4c5c9438f17373a72773d741a17dc7b3
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:46 2016 +0100
Always run async signal handlers in the main UI
Async signal handlers have no connection to whichever was the current
UI, and thus always run on the main one.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-loop.c: Include top.h.
(invoke_async_signal_handlers): Switch to the main UI.
* event-top.c (main_ui_): Update comment.
(main_ui): New global.
* top.h (main_ui): Declare.
commit 73ab01a07dfef77a9d845be2ef87754435eeffa1
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:45 2016 +0100
Make the intepreters output to all UIs
When we have multiple consoles, MI channels, etc., then we need to
broadcast breakpoint hits, etc. to all UIs. In the past, I've
adjusted most of the run control to communicate events to the
interpreters through observer notifications, so events would be
properly sent to console and MI streams, in sync and async modes.
This patch does the next logical step -- have each interpreter's
observers output interpreter-specific info to _all_ UIs.
Note that when we have multiple instances of active cli/tui
interpreters, then the cli_interp and tui_interp globals no longer
work. This is addressed by this patch.
Also, the interpreters currently register some observers when resumed
and remove them when suspended. If we have multiple instances of the
interpreters, and they can be suspended/resumed at different,
independent times, that no longer works. What we instead do is always
install the observers, and then have the observers themselves know
when to do nothing.
An earlier prototype of this series did the looping over struct UIs in
common code, and then dispatched events to the interpreters through a
matching interp_on_foo method for each observer. That turned out a
lot more complicated than the present solution, as we'd end up with
having to create a new interp method every time some interpreter
wanted to listen to some observer notification, resulting in a lot of
duplicated make-work and more coupling than desirable.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c (cli_interp): Delete.
(as_cli_interp): New function.
(cli_on_normal_stop, cli_on_signal_received)
(cli_on_end_stepping_range, cli_on_signal_exited, cli_on_exited)
(cli_on_no_history): Send output to all CLI UIs.
(cli_on_sync_execution_done, cli_on_command_error): Skip output if
the top level interpreter is not a CLI.
(cli_interpreter_init): Don't set cli_interp or install observers
here.
(_initialize_cli_interp): Install observers here.
* event-top.c (main_ui_, ui_list): New globals.
(current_ui): Point to main_ui_.
(restore_ui_cleanup, switch_thru_all_uis_init)
(switch_thru_all_uis_cond, switch_thru_all_uis_next): New
functions.
* mi/mi-interp.c (as_mi_interp): New function.
(mi_interpreter_init): Don't install observers here.
(mi_on_sync_execution_done): Skip output if the top level
interpreter is not a MI.
(mi_new_thread, mi_thread_exit, mi_record_changed)
(mi_inferior_added, mi_inferior_appeared, mi_inferior_exit)
(mi_inferior_removed): Send output to all MI UIs.
(find_mi_interpreter, mi_interp_data): Delete.
(find_mi_interp): New function.
(mi_on_signal_received, mi_on_end_stepping_range)
(mi_on_signal_exited, mi_on_exited, mi_on_no_history): Send output
to all MI UIs.
(mi_on_normal_stop): Rename to ...
(mi_on_normal_stop_1): ... this.
(mi_on_normal_stop): Reimplement, sending output to all MI UIs.
(mi_traceframe_changed, mi_tsv_created, mi_tsv_deleted)
(mi_tsv_modified, mi_breakpoint_created, mi_breakpoint_deleted)
(mi_breakpoint_modified, mi_output_running_pid): Send output to
all MI UIs.
(mi_on_resume): Rename to ...
(mi_on_resume_1): ... this. Don't handle infcalls here.
(mi_on_resume): Reimplement, sending output to all MI UIs.
(mi_solib_loaded, mi_solib_unloaded, mi_command_param_changed)
(mi_memory_changed): Send output to all MI UIs.
(report_initial_inferior): Install observers here.
* top.h (struct ui) <next>: New field.
(ui_list): Declare.
(struct switch_thru_all_uis): New.
(switch_thru_all_uis_init, switch_thru_all_uis_cond)
(switch_thru_all_uis_next): Declare.
(SWITCH_THRU_ALL_UIS): New macro.
* tui/tui-interp.c (tui_interp): Delete global.
(as_tui_interp): New function.
(tui_on_normal_stop, tui_on_signal_received)
(tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
(tui_on_no_history): Send output to all TUI UIs.
(tui_on_sync_execution_done, tui_on_command_error): Skip output if
the top level interpreter is not a TUI.
(tui_init): Don't set tui_interp or install observers here.
(_initialize_tui_interp): Install observers here.
commit 8322445e0584be846f5873b9aab257dc9fbda05d
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:45 2016 +0100
Introduce interpreter factories
If every UI instance has its own set of interpreters, then the current
scheme of creating the interpreters at GDB initialization time no
longer works. We need to create them whenever a new UI instance is
created.
The scheme implemented here has each interpreter register a factory
callback that when called creates a new instance of a specific
interpreter type. Then, when some code in gdb looks up an interpreter
(always by name), if there's none yet, the factory method is called to
construct one.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c (cli_uiout): Delete, moved into ...
(struct cli_interp): ... this new structure.
(cli_on_normal_stop, cli_on_signal_received)
(cli_on_end_stepping_range, cli_on_signal_exited, cli_on_exited)
(cli_on_no_history): Use interp_ui_out.
(cli_interpreter_init): If top level, set the cli_interp global.
(cli_interpreter_init): Return the interp's data instead of NULL.
(cli_interpreter_resume, cli_interpreter_exec, cli_ui_out): Adjust
to cli_uiout being in the interpreter's data.
(cli_interp_procs): New, factored out from _initialize_cli_interp.
(cli_interp_factory): New function.
(_initialize_cli_interp): Call interp_factory_register.
* interps.c (get_interp_info): New, factored out from ...
(get_current_interp_info): ... this.
(interp_new): Add parameter 'data'. Store it.
(struct interp_factory): New function.
(interp_factory_p): New typedef. Define a VEC_P.
(interpreter_factories): New global.
(interp_factory_register): New function.
(interp_add): Add 'ui' parameter. Use get_interp_info and
interp_lookup_existing.
(interp_lookup): Rename to ...
(interp_lookup_existing): ... this. Add 'ui' parameter. Don't
check for NULL or empty name here.
(interp_lookup): Add 'ui' parameter and reimplement.
(interp_set_temp, interpreter_exec_cmd): Adjust.
(interpreter_completer): Complete on registered interpreter
factories instead of interpreters.
* interps.h (interp_factory_func): New typedef.
(interp_factory_register): Declare.
(interp_new, interp_add): Adjust.
(interp_lookup): Declare.
* main.c (captured_main): Adjust.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Adjust.
(mi_interp_procs): New, factored out from
_initialize_mi_interp.
(mi_interp_factory): New function.
* python/python.c (execute_gdb_command): Adjust.
* tui/tui-interp.c (tui_init): If top level, set the tui_interp
global.
(tui_interp_procs): New.
(tui_interp_factory): New function.
(_initialize_tui_interp): Call interp_factory_register.
commit cb814510676f7f6c08b329af2f57006fa598b619
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:45 2016 +0100
Make the interpreters be per UI
Make each UI have its own interpreter list, top level interpreter,
current interpreter, etc. The "interpreter_async" global is not
really specific to an struct interp (it crosses interpreter-exec ...),
so I moved it to "struct ui" directly, while the other globals were
left hidden in interps.c, opaque to the rest of GDB.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* breakpoint.c (bpstat_do_actions_1): Access the current UI's
async field instead of the interpreter_async global.
* cli/cli-script.c (execute_user_command, while_command)
(if_command, script_from_file): Likewise.
* compile/compile.c: Include top.h instead of interps.h.
(compile_file_command, compile_code_command)
(compile_print_command): Access the current UI's async field
instead of the interpreter_async global.
* guile/guile.c: Include top.h instead of interps.h.
(guile_repl_command, guile_command, gdbscm_execute_gdb_command):
Access the current UI's async field instead of the
interpreter_async global.
* guile/scm-ports.c: Include top.h instead of interps.h.
(ioscm_with_output_to_port_worker): Access the current UI's async
field instead of the interpreter_async global.
* inf-loop.c (inferior_event_handler): Likewise.
* infcall.c (run_inferior_call): Likewise.
* infrun.c (reinstall_readline_callback_handler_cleanup)
(fetch_inferior_event): Likewise.
* interps.c (interpreter_async): Delete.
(struct ui_interp_info): New.
(get_current_interp_info): New function.
(interp_list, current_interpreter, top_level_interpreter_ptr):
Delete.
(interp_add, interp_set, interp_lookup, interp_ui_out)
(current_interp_set_logging, interp_set_temp)
(current_interp_named_p): Adjust to per-UI interpreters.
(command_interpreter): Delete.
(command_interp, current_interp_command_loop, interp_quiet_p)
(interp_exec, interpreter_exec_cmd, interpreter_completer)
(top_level_interpreter, top_level_interpreter_data): Adjust to
per-UI interpreters.
* interps.h (interpreter_async): Delete.
* main.c (captured_command_loop): Access the current UI's async
field instead of the interpreter_async global.
* python/python.c (python_interactive_command, python_command)
(execute_gdb_command): Likewise.
* top.c (maybe_wait_sync_command_done, execute_command_to_string):
Access the current UI's async field instead of the
interpreter_async global.
* top.h (struct tl_interp_info): Forward declare.
(struct ui) <interp_info, async>: New fields.
commit 79aa2fe86f105fae162f780f760d655f212eaeb6
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:44 2016 +0100
Make gdb_stdout&co be per UI
We need to have these send output to the proper UI.
However, this patch still make them look like globals. Kind of like
__thread variables, if you will. Changing everything throughout to
write something like current_ui->gdb_stdout instead would be massive
overkill, IMNSHO.
This leaves gdb_stdtargin/stdtarg/stdtargerr global, but maybe that was a
mistake, I'm not sure -- IIRC, MI formats target I/O differently, so
if we have a separate MI channel, then I guess target output should go
there instead of to gdb's stdout. OTOH, maybe GDB should send that
instead to "set inferior-tty", instead of multiplexing it over MI. We
can always fix those later when it gets clearer where they should go.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* main.c (gdb_stdout, gdb_stderr, gdb_stdlog, gdb_stdin): Delete
globals.
(gen_ret_current_ui_field_ptr): New macro. Use it to generate
wrappers for gdb_stdout, gdb_stderr, gdb_stdlog and gdb_stdin.
* top.h (struct ui) <m_gdb_stdout, m_gdb_stdin, m_gdb_stderr,
m_gdb_stdlog>: New fields.
(current_ui_gdb_stdout_ptr, current_ui_gdb_stdin_ptr)
(current_ui_gdb_stderr_ptr, current_ui_gdb_stdlog_ptr): Declare.
(gdb_stdout, gdb_stdin, gdb_stderr, gdb_stdlog): Reimplement as
macros.
commit a74e1786ac24d4ef1ce8a92a1ab06c727a462881
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:44 2016 +0100
Introduce "struct ui"
This is a step towards supporting multiple consoles/MIs, each on its
own stdio streams / terminal.
See intro comment in top.h.
(I've had trouble picking a name for this object. I've started out
with "struct console" originally. But then this is about MI as well,
and there's "interpreter-exec console", which is specifically about
the CLI...
So I changed to "struct terminal", but, then we have a terminal object
that works when the input is not a terminal as well ...
Then I sort of gave up and renamed it to "struct top_level". But it
then gets horribly confusing when we talk about the "top level
interpreter that's running on the current top level".
In the end, I realized we're already sort of calling this "ui", in
struct ui_out, struct ui_file, and a few coments here and there.)
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c: Update readline-related comments.
(input_handler, call_readline): Delete globals.
(gdb_rl_callback_handler): Call the current UI's input_handler
method.
(change_line_handler): Adjust to set current UI's properties
instead of globals.
(current_ui_, current_ui): New globals.
(get_command_line_buffer): Rewrite to refer to the current UI.
(stdin_event_handler): Adjust to call the call_readline method of
the current UI.
(gdb_readline_no_editing_callback): Adjust to call the current UI's
input_handler method.
(gdb_setup_readline): Adjust to set current UI's properties
instead of globals.
* event-top.h (call_readline, input_handler): Delete declarations.
* mi/mi-interp.c (mi_interpreter_resume): Adjust to set current
UI's properties instead of globals.
* top.c (gdb_readline_wrapper_cleanup): Adjust to set current UI's
properties instead of globals.
(gdb_readline_wrapper): Adjust to call and set current UI's
methods instead of globals.
* top.h: Include buffer.h and event-loop.h.
(struct ui): New struct.
(current_ui): New declaration.
commit 45db7c09c37c9aceb3a7e149a6577388fc566432
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:43 2016 +0100
[Ada catchpoints] Fix "warning: failed to get exception name: No definition of \"e.full_name\" in current context"
Looking at testsuite results, I noticed this warning in an MI test:
~"\nCatchpoint "
~"2, "
&"warning: failed to get exception name: No definition of \"e.full_name\" in current context.\n"
~"exception at 0x000000000040192d in foo () at /home/pedro/brno/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb:20\n"
~"20\t raise Constraint_Error; -- SPOT1\n"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="2",exception-name="CONSTRAINT_ERROR",frame={addr="0x000000000040192d",func="foo",args=[],file="/home/pedro/brno/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb",fullname="/home/pedro/brno/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb",line="20"},thread-id="1",stopped-threads="all",core="5"
(gdb)
PASS: gdb.ada/mi_catch_ex.exp: continue until CE caught by all-exceptions catchpoint
The problem is that:
- MI prints the breakpoint hit twice: once on the MI stream;
another time on the console stream.
- After printing the Ada catchpoint hit, gdb selects a non-current
frame, from within the catchpoint's print_it routine.
So the second time the breakpoint is printed, the selected frame is no
longer the current frame, and then evaluating e.full_name in
ada_exception_name_addr fails.
This commit fixes the problem and enhances the gdb.ada/mi_catch_ex.exp
test to make sure the catchpoint hit is printed correctly on the
console stream too.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_exception_name_addr_1): Add comment.
(print_it_exception): Select the current frame.
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.ada/mi_catch_ex.exp (continue_to_exception): New procedure.
(top level): Use it instead of mi_execute_to.
commit 5a069ab36dead610ac759c4b37f6635419f09306
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 21 01:11:43 2016 +0100
Prepare gdb.python/mi-py-events.exp for Python/MI in separate channels
Similarly to 5068630ad34dce5fefbe68d70d3a50cd8b92f71e
(gdb.python/py-events.exp and normal_stop observers ordering) [1],
this commit makes the gdb.python/py-mi-events.exp test not rely on
order in which MI and Python observers run, or even on where each
observer sends its output to.
This shows up as a problem when testing with MI running as a separate
terminal, for example, where Python event output and MI output go to
different channels, even. But in any case, relying on the order in
which observers run is always going to be fragile.
The fix is to save the string output in the handlers in some variables
and then having MI print them explicitly, instead of printing them
directly from the Python events.
Tested on x86_64 Fedora 23.
https://sourceware.org/ml/gdb-patches/2015-07/msg00290.html
gdb/testsuite/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* gdb.python/py-mi-events-gdb.py (stop_handler_str)
(cont_handler_str): New.
(signal_stop_handler): Set stop_handler_str instead of printing to
stdout.
(continue_handler): Set cont_handler_str instead of printing to
stdout.
* gdb.python/py-mi-events.exp: Ues mi_execute_to instead of
mi_send_resuming_command. Print stop_handler_str and
cont_handler_str instead of expecting the python events print
directly.
commit 4fdf8fa60425dccd4b174ac0af9280d7eccec105
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 21 00:00:18 2016 +0000
Automatic date update in version.in
commit ff03d62a82aa11d05bb7c3f3a38622b8e9aa2708
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Jun 20 23:36:01 2016 +0100
MIPS/GAS/testsuite: Uniquely identify MIPS64r6 tests
gas/
* testsuite/gas/mips/r6-64-n32.d: Change the `name' tag.
* testsuite/gas/mips/r6-64-n64.d: Likewise.
commit 507dcb323ac8bc02a54cfa5762d954deed7aad80
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Jun 20 23:39:20 2016 +0100
MIPS/GAS: Update comment on jump reloc conversion
Complement commit 44d3da233815 ("MIPS/GAS: Treat local jump relocs the
same no matter if REL or RELA") and update and clarify the comment on
jump reloc conversion.
gas/
* config/tc-mips.c (mips_fix_adjustable): Update comment on jump
reloc conversion.
commit 8474a88fd23a3c9c33dfc8ded31a9a15e31e7765
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 20 12:28:20 2016 -0700
gold/x86: Handle output without PLT
If there is no PLT in output, return 0 for first_plt_entry_offset and
plt_entry_size.
PR gold/20245
* i386.cc (Target_i386::first_plt_entry_offset): Return 0 if
plt_ is NULL.
(Target_i386::plt_entry_size): Likewise.
(Target_x86_64<size>::first_plt_entry_offset): Likewise.
(Target_x86_64<size>::plt_entry_size): Likewise.
commit a8ecc9fe61d0fdb1f694c5f3fac910802468d43f
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Mon Jun 20 12:10:53 2016 -0700
Add support for MIPS .rld_map section.
Includes DT_MIPS_RLD_MAP and DT_MIPS_RLD_MAP_REL dynamic tags and
__RLD_MAP symbol.
2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
elfcpp/
* elfcpp.h (DT_MIPS_RLD_MAP_REL): New enum constant.
gold/
* mips.cc (Target_mips::Target_mips): Initialize rld_map_.
(Target_mips::rld_map_): New data member.
(Target_mips::do_finalize_sections): Add support for
DT_MIPS_RLD_MAP and DT_MIPS_RLD_MAP_REL dynamic tags,
.rld_map section, and __RLD_MAP symbol.
(Target_mips::do_dynamic_tag_custom_value): Add support for
DT_MIPS_RLD_MAP_REL dynamic tag.
* output.cc (Output_data_dynamic::get_entry_offset): New method
definition.
* output.h (Output_data_dynamic::get_entry_offset): New method
declaration.
commit beceef50438ccf2917744147a4fdadcc84db7d78
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Mon Jun 20 12:06:56 2016 -0700
Add unaligned check for R_MIPS_PC16.
gold/
* mips.cc (Mips_relocate_functions::relpc16): Add unaligned check.
commit f5b117594fd27b73be9c1b4bb10e171883783450
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Mon Jun 20 11:45:18 2016 -0700
Add support for Mips32r6 and Mips64r6.
elfcpp/
* mips.h (R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3,
R_MIPS_PC19_S2, R_MIPS_PCHI16, R_MIPS_PCLO16): New enums for
Mips32r6 and Mips64r6 relocations.
(r6_isa): New function.
gold/
* mips.cc (relocation_needs_la25_stub): Add support for relocs:
R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
(hi16_reloc): Add support for R_MIPS_PCHI16 relocation.
(is_matching_lo16_reloc): Likewise.
(lo16_reloc): Add support for R_MIPS_PCLO16 relocation.
(Mips_output_data_plt::plt_entry_r6): New static data member for
R6 PLT entry.
(Target_mips::is_output_r6): New method.
(Target_mips::Mips_mach): Add new enum constants.
(Mips_relocate_functions::Status): Likewise.
(Mips_relocate_functions::pchi16_relocs): New static data member.
(Mips_relocate_functions::relpc21): New method.
(Mips_relocate_functions::relpc26): Likewise.
(Mips_relocate_functions::relpc18): Likewise.
(Mips_relocate_functions::relpc19): Likewise.
(Mips_relocate_functions::relpchi16): Likewise.
(Mips_relocate_functions::do_relpchi16): Likewise.
(Mips_relocate_functions::relpclo16): Likewise.
(Mips_output_data_plt::do_write): Add support for Mips r6 plt
entry.
(Target_mips::mips_32bit_flags): Add E_MIPS_ARCH_32R6 support.
(Target_mips::elf_mips_mach): Add E_MIPS_ARCH_32R6 and
E_MIPS_ARCH_64R6 support.
(Target_mips::update_abiflags_isa): Likewise.
(mips_get_size_for_reloc): Add support for relocs: R_MIPS_PCHI16,
R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3 and
R_MIPS_PC19_S2.
(Target_mips::Scan::local): Add support for relocs: R_MIPS_PCHI16
and R_MIPS_PCLO16.
(Target_mips::Scan::global): Add support for relocs:
R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
(Target_mips::Relocate::relocate): Call functions for resolving
Mips32r6 and Mips64r6 relocations, and print error message for
STATUS_PCREL_UNALIGNED.
(Target_mips::Scan::get_reference_flags): Add support for relocs:
R_MIPS_PCHI16, R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2,
R_MIPS_PC18_S3 and R_MIPS_PC19_S2.
(Target_mips::elf_mips_mach_name): Add E_MIPS_ARCH_32R6 and
E_MIPS_ARCH_64R6 support.
commit 7dc3990e4002e0062007c1d41b56e04b5b8ec1ec
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 20 05:10:29 2016 -0700
Use the IR symbol table for the IR input object
ELF linker shouldn't skip the IR object when searching the symbol table
of an archive element. If linker doesn't know if the object file is an
IR object, it should give LTO plugin a chance to get the correct symbol
table and use the IR symbol table if the input is an IR object.
bfd/
PR ld/18250
PR ld/20267
* elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
defined.
(elf_link_is_defined_archive_symbol): Call
bfd_link_plugin_object_p on unknown plugin object and use the
IR symbol table if the input is an IR object.
* plugin.c (bfd_link_plugin_object_p): New function.
* plugin.h (bfd_link_plugin_object_p): New prototype.
ld/
PR ld/20267
* testsuite/ld-plugin/lto.exp (lto_link_tests): Add test for
PR ld/20267.
(lto_run_tests): Likewise.
* testsuite/ld-plugin/pr20267a.c: New file.
* testsuite/ld-plugin/pr20267b.c: Likewise.
commit 9f99c22eb74a66e691b778cd15c24437f46d5818
Author: Virendra Pathak <virendra.pathak@broadcom.com>
Date: Mon Jun 20 09:26:43 2016 +0100
Update the feature set for the Vulcan AArch64 cpu.
gas * config/tc-aarch64.c (aarch64_cpus): Update vulcan feature set.
commit 0616a2803812f5c13f8936d281bd71c3d9c09655
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jun 20 09:53:50 2016 +0930
PR ld/20276: Set non_ir_ref on common symbol
Also, don't check alignment on symbol from plugin dummy input.
bfd/
PR ld/20276
* elflink.c (elf_link_add_object_symbols): Don't check alignment
on symbol from plugin dummy input.
ld/
PR ld/20276
* plugin.c (plugin_notice): Set non_ir_ref on common symbols.
* testsuite/ld-plugin/lto.exp (lto_link_tests): Add test for
PR ld/20276.
(lto_run_tests): Likewise.
* testsuite/ld-plugin/pass.out: New file.
* testsuite/ld-plugin/pr20276a.c: Likewise.
* testsuite/ld-plugin/pr20276b.c: Likewise.
commit 6336b4b7370b8034091364f500184c0a8674a340
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 20 00:00:17 2016 +0000
Automatic date update in version.in
commit 9a4f2f5dad3e61de46f095c72da61a0e150382b0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 19 00:00:22 2016 +0000
Automatic date update in version.in
commit 49f30d83f659591d7d2b14a18dc8308b3fdb8dd5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Jun 18 14:15:31 2016 -0700
Rename bfd_plugin_uknown to bfd_plugin_unknown
bfd/
* bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
bfd_plugin_unknown.
* bfd-in2.h: Regenerated.
* plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
with bfd_plugin_unknown.
ld/
* plugin.c (plugin_object_p): Replace bfd_plugin_uknown
with bfd_plugin_unknown.
commit 233cc9c13af8e8182d0ce5b306526b59f5b11f37
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Jun 18 09:16:52 2016 -0700
Don't generate PLT for IFUNC GOT/pointer reference
If a backend supports it, PLT entry isn't needed when all references
to a STT_GNU_IFUNC symbols are done via GOT or static function pointers.
For GOT entries, We generate dynamic R_*_GLOB_DAT relocations for
preemptable symbols and R_*_IRELATIVE relocations for non-preemptable
symbols to update them with real function address. For static pointer
pointers, we generate dynamic pointer relocations and store them in:
1. .rel[a].ifunc section in PIC object.
2. .rel[a].got section in dynamic executable.
3. .rel[a].iplt section in static executable.
We don't allocate GOT entry if it isn't used.
bfd/
PR ld/20253
* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
bfd_boolean argument.
* elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
"shared object" with "PIC object" in comments.
(_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
"shared object" with "PIC object" in comments. Avoid PLT if
requested. Generate dynamic relocations for non-GOT references.
Make room for the special first entry in PLT and allocate PLT
entry only for PLT and PC-relative references. Store dynamic
GOT relocations in .rel[a].iplt section for static executables.
If PLT isn't used, always use GOT for symbol value. Don't
allocate GOT entry if it isn't used.
* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
count only in the code section. Allocate dynamic pointer
relocation against STT_GNU_IFUNC symbol in the non-code section.
(elf_i386_adjust_dynamic_symbol): Increment PLT reference count
only for PC-relative references.
(elf_i386_allocate_dynrelocs): Pass TRUE to
_bfd_elf_allocate_ifunc_dyn_relocs.
(elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
relocations against STT_GNU_IFUNC symbols without PLT. Generate
dynamic pointer relocation against STT_GNU_IFUNC symbol in
the non-code section and store it in the proper REL section.
Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
without PLT.
(elf_i386_finish_dynamic_symbol): Generate dynamic
R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
STT_GNU_IFUNC symbols without PLT.
(elf_i386_finish_dynamic_sections): Don't handle local
STT_GNU_IFUNC symbols here.
(elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
symbols here.
(elf_backend_output_arch_local_syms): New.
* elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
count only in the code section. Allocate dynamic pointer
relocation against STT_GNU_IFUNC symbol in the non-code section.
(elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
count only for PC-relative references.
(elf_x86_64_allocate_dynrelocs): Pass TRUE to
_bfd_elf_allocate_ifunc_dyn_relocs.
(elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
without PLT. Generate dynamic pointer relocation against
STT_GNU_IFUNC symbol in the non-code section and store it in
the proper RELA section. Don't allow non-pointer relocation
against STT_GNU_IFUNC symbol without PLT.
(elf_x86_64_finish_dynamic_symbol): Generate dynamic
R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
STT_GNU_IFUNC symbols without PLT.
(elf_x86_64_finish_dynamic_sections): Don't handle local
STT_GNU_IFUNC symbols here.
(elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
symbols here.
(elf_backend_output_arch_local_syms): New.
* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
ld/
PR ld/20253
* testsuite/ld-i386/i386.exp: Run PR ld/20253 tests.
* testsuite/ld-i386/no-plt.exp: Likewise.
* testsuite/ld-x86-64/no-plt.exp: Likewise.
* testsuite/ld-i386/pr13302.d: Remove .rel.plt section.
* testsuite/ld-ifunc/ifunc-13-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-13-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-15-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-15-x86-64.d: Likewise.
* testsuite/ld-x86-64/pr13082-5a.d: Likewise.
* testsuite/ld-x86-64/pr13082-5b.d: Likewise.
* testsuite/ld-x86-64/pr13082-6a.d: Likewise.
* testsuite/ld-x86-64/pr13082-6b.d: Likewise.
* testsuite/ld-i386/pr20244-2a.d: Remove .plt section.
* testsuite/ld-ifunc/ifunc-21-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-22-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise.
* testsuite/ld-i386/pr20244-2b.d: Updated.
* testsuite/ld-i386/pr20244-2c.d: Likewise.
* testsuite/ld-ifunc/ifunc-18a-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-18a-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-18b-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-18b-x86-64.d: Likewise.
* testsuite/ld-i386/pr20253-1a.c: New file.
* testsuite/ld-i386/pr20253-1b.S: Likewise.
* testsuite/ld-i386/pr20253-1c.S: Likewise.
* testsuite/ld-i386/pr20253-1d.S: Likewise.
* testsuite/ld-i386/pr20253-2a.c: Likewise.
* testsuite/ld-i386/pr20253-2b.S: Likewise.
* testsuite/ld-i386/pr20253-2c.S: Likewise.
* testsuite/ld-i386/pr20253-2d.S: Likewise.
* testsuite/ld-i386/pr20253-3.d: Likewise.
* testsuite/ld-i386/pr20253-3.s: Likewise.
* testsuite/ld-i386/pr20253-4.s: Likewise.
* testsuite/ld-i386/pr20253-4a.d: Likewise.
* testsuite/ld-i386/pr20253-4b.d: Likewise.
* testsuite/ld-i386/pr20253-4c.d: Likewise.
* testsuite/ld-i386/pr20253-5.d: Likewise.
* testsuite/ld-i386/pr20253-5.s: Likewise.
* testsuite/ld-ifunc/ifunc-23-x86.s: Likewise.
* testsuite/ld-ifunc/ifunc-23a-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-23b-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-23c-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-24-x86.s: Likewise.
* testsuite/ld-ifunc/ifunc-24a-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-24b-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-24c-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-25-x86.s: Likewise.
* testsuite/ld-ifunc/ifunc-25a-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-25b-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-25c-x86.d: Likewise.
* testsuite/ld-x86-64/pr20253-1.s: Likewise.
* testsuite/ld-x86-64/pr20253-1a.d: Likewise.
* testsuite/ld-x86-64/pr20253-1b.d: Likewise.
* testsuite/ld-x86-64/pr20253-1c.d: Likewise.
* testsuite/ld-x86-64/pr20253-1d.d: Likewise.
* testsuite/ld-x86-64/pr20253-1e.d: Likewise.
* testsuite/ld-x86-64/pr20253-1f.d: Likewise.
* testsuite/ld-x86-64/pr20253-1g.d: Likewise.
* testsuite/ld-x86-64/pr20253-1h.d: Likewise.
* testsuite/ld-x86-64/pr20253-1i.d: Likewise.
* testsuite/ld-x86-64/pr20253-1j.d: Likewise.
* testsuite/ld-x86-64/pr20253-1k.d: Likewise.
* testsuite/ld-x86-64/pr20253-1l.d: Likewise.
* testsuite/ld-x86-64/pr20253-2a.c: Likewise.
* testsuite/ld-x86-64/pr20253-2b.S: Likewise.
* testsuite/ld-x86-64/pr20253-2c.S: Likewise.
* testsuite/ld-x86-64/pr20253-2d.S: Likewise.
* testsuite/ld-x86-64/pr20253-3.d: Likewise.
* testsuite/ld-x86-64/pr20253-3.s: Likewise.
* testsuite/ld-x86-64/pr20253-4.s: Likewise.
* testsuite/ld-x86-64/pr20253-4a.d: Likewise.
* testsuite/ld-x86-64/pr20253-4b.d: Likewise.
* testsuite/ld-x86-64/pr20253-4c.d: Likewise.
* testsuite/ld-x86-64/pr20253-4d.d: Likewise.
* testsuite/ld-x86-64/pr20253-4e.d: Likewise.
* testsuite/ld-x86-64/pr20253-4f.d: Likewise.
* testsuite/ld-x86-64/pr20253-5.s: Likewise.
* testsuite/ld-x86-64/pr20253-5a.d: Likewise.
* testsuite/ld-x86-64/pr20253-5b.d: Likewise.
* testsuite/ld-ifunc/ifunc-18a-i386.d: Remove extra IRELATIVE
relocation.
* testsuite/ld-ifunc/ifunc-18a-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-18b-i386.d: Likewise.
* testsuite/ld-ifunc/ifunc-18b-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-18a.s: Fix a typo.
* testsuite/ld-x86-64/x86-64.exp: Run pr20253-1 tests.
commit 854594f5ce00381eb0ed57e3c7fa08b5971eabec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 18 00:00:20 2016 +0000
Automatic date update in version.in
commit 2838cc1d36e55bf6d45cf971bf401f895e575849
Author: Sanjoy Das <sanjoy@playingwithpointers.com>
Date: Fri Jun 17 19:24:08 2016 +0100
Add a test case for the jit-reader interface
Originally intended to be committed on 2013-01-17 in
675921c059dbaddd02ab2eb8a1eaf77b3ac727dd (Test case for the
jit-reader), but by mistake the files were not added. Fortunately
they still work.
gdb/testsuite/ChangeLog:
2016-06-17 Sanjoy Das <sanjoy@playingwithpointers.com>
* gdb.base/jit-reader.exp: New file.
* gdb.base/jithost.c: New file.
* gdb.base/jithost.h: New file.
* gdb.base/jitreader.c : New file.
* gdb.base/jit-protocol.h: New file.
commit 80c135e55489435f47bbeeb3715b42289c51e30e
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Fri Jun 17 18:26:08 2016 +0100
Add support for Thumb-2 long branch veneers
2016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
Tony Wang <tony.wang@arm.com>
bfd/
* elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
sequence.
(stub_long_branch_thumb2_only): Define stub.
(arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
(arm_stub_long_branch_thumb2_only): Likewise.
(arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
capable targets.
ld/
* testsuite/ld-arm/arm-elf.exp (Thumb-Thumb farcall M profile):
Assemble for ARMv6-M.
(Thumb2-Thumb2 farcall M profile): New testcase.
* testsuite/ld-arm/farcall-thumb2-thumb2-m.d: New file.
* testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d: Update to
reflect the use of Thumb-2 veneers for Thumb-2 capable targets.
* testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Likewise.
commit 21a770913c24ab085fe66a5274ebe7cf9e031982
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:13 2016 +0100
Extend step-over-syscall.exp with different detach-on-fork and follow-fork modes
This patch extends step-over-syscall.exp by setting different values to
detach-on-fork and follow-fork.
gdb/testsuite:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* gdb.base/step-over-syscall.exp (break_cond_on_syscall): New
parameters follow_fork and detach_on_fork. Set follow-fork-mode
and detach-on-fork. Adjust tests.
(top level): Invoke break_cond_on_syscall with combinations of
syscall, follow-fork-mode and detach-on-fork.
commit 2e7b624b851c34f6bc2ab75fcbc94db75f72eb3a
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:13 2016 +0100
Handle reinsert breakpoints for vforked child
When a thread is doing step-over with reinsert breakpoint, and the
instruction executed is a syscall doing vfork, both parent and child
share the memory, so the reinsert breakpoint in the space is visible
to both of them. Also, removing the reinsert breakpoints from the
child will effectively remove them from the parent. We should
carefully manipulate reinsert breakpoints for both processes.
What we are doing here is that
- uninsert reinsert breakpoints from the parent before cloning the
breakpoint list. We use "uninsert" instead of "remove", because
we need to "reinsert" them back after vfork is done. In fact,
"uninsert" removes them from both child and parent process space.
- reinsert breakpoints in parent process are still copied to child's
breakpoint list,
- remove them from child's breakpoint list as what we did for fork,
at this point, reinsert breakpoints are removed from the child and
the parent, but they are still tracked by the parent's breakpoint
list,
- once vfork is done, "reinsert" them back to the parent,
gdb/gdbserver:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (handle_extended_wait): Call
uninsert_reinsert_breakpoints for the parent process. Remove
reinsert breakpoints from the child process. Reinsert them to
the parent process when vfork is done.
* mem-break.c (uninsert_reinsert_breakpoints): New function.
(reinsert_reinsert_breakpoints): New function.
* mem-break.h (uninsert_reinsert_breakpoints): Declare
(reinsert_reinsert_breakpoints): Declare.
commit 8a81c5d7a7cc3ec4d60032d2a911d2f6c3eb8328
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:13 2016 +0100
Delete reinsert breakpoints from forked child
When a thread is stepping over a syscall instruction with software
single step, GDBserver inserts reinsert breakpoints at the next pcs.
If the syscall call is fork, the forked child has reinsert breakpoint
in its space, and GDBserver clones parent's breakpoint list to child's.
When GDBserver resumes the child, its bp_reinsert is zero, but has
reinsert breakpoints, so the following assert is triggered if I apply
the patch extending step-over-syscall.exp.
gdb/gdbserver/linux-low.c:4292: A problem internal to GDBserver has been detected.^M
void linux_resume_one_lwp_throw(lwp_info*, int, int, siginfo_t*): Assertion `!has_reinsert_breakpoints (proc)' failed.
gdb/gdbserver:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (handle_extended_wait): If the parent is doing
step-over, remove the reinsert breakpoints from the forked child.
commit f50bf8e5153e3cdddd1ad5d3f7d16f2b4e5adb3c
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:12 2016 +0100
Step over exit with reinsert breakpoints
This patch fixes a GDBserver crash when one thread is stepping over
a syscall instruction which is exit. Step-over isn't finished due
to the exit, but GDBserver doesn't clean up the state of step-over,
so in the wait next time, GDBserver will wait on step_over_bkpt,
which is already exited, and GDBserver crashes because
'requested_child' is NULL. See gdbserver logs below,
Need step over [LWP 14858]? yes, found breakpoint at 0x2aaaaad91307^M
proceed_all_lwps: found thread 14858 needing a step-over^M
Starting step-over on LWP 14858. Stopping all threads^M
>>>> entering void stop_all_lwps(int, lwp_info*)
....
<<<< exiting void stop_all_lwps(int, lwp_info*)^M
Done stopping all threads for step-over.^M
pc is 0x2aaaaad91307^M
Writing 0f to 0x2aaaaad91307 in process 14858^M
Could not find fast tracepoint jump at 0x2aaaaad91307 in list (uninserting).^M
pending reinsert at 0x2aaaaad91307^M
step from pc 0x2aaaaad91307^M
Resuming lwp 14858 (step, signal 0, stop not expected)^M
# Start step-over for LWP 14858
>>>> entering ptid_t linux_wait_1(ptid_t, target_waitstatus*, int)
....
LLFE: 14858 exited.
...
<<<< exiting ptid_t linux_wait_1(ptid_t, target_waitstatus*, int)
# LWP 14858 exited
.....
>>>> entering ptid_t linux_wait_1(ptid_t, target_waitstatus*, int)^M
linux_wait_1: [<all threads>]^M
step_over_bkpt set [LWP 14858.14858], doing a blocking wait
# but step_over_bkpt is still LWP 14858, which is wrong
The fix is to finish step-over if it is ongoing, and unsuspend other
threads. Without the fix in linux-low.c, GDBserver will crash in
with running gdb.base/step-over-exit.exp.
gdb/gdbserver:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (unsuspend_all_lwps): Declare.
(linux_low_filter_event): If thread exited, call finish_step_over.
If step-over is finished, unsuspend other threads.
gdb/testsuite:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* gdb.base/step-over-exit.c: New.
* gdb.base/step-over-exit.exp: New.
commit 8376a3cbf73ca8b623db1daa8f9c49fb83ac54bd
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:12 2016 +0100
More assert checks on reinsert breakpoint
This patch adds more asserts, so the incorrect or sub-optimal
reinsert breakpoints manipulations (from the tests in the following
patches) can trigger them.
gdb/gdbserver:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (linux_resume_one_lwp_throw): Assert
has_reinsert_breakpoints returns false.
* mem-break.c (delete_disabled_breakpoints): Assert
bp type isn't reinsert_breakpoint.
commit f79b145de30d6eaafc1f3f5b2aa913519fcd311f
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Jun 17 10:25:12 2016 +0100
Switch to current thread in finish_step_over
This patch adds some sanity check that reinsert breakpoints must be
there when doing step-over on software single step target. The check
triggers an assert when running forking-threads-plus-breakpoint.exp
on arm-linux target,
gdb/gdbserver/linux-low.c:4714: A problem internal to GDBserver has been detected.^M
int finish_step_over(lwp_info*): Assertion `has_reinsert_breakpoints ()' failed.
the error happens when GDBserver has already resumed a thread of
process A for step-over (and wait for it hitting reinsert breakpoint),
but receives detach request for process B from GDB, which is shown in
the backtrace below,
(gdb) bt
#2 0x000228aa in finish_step_over (lwp=0x12bbd98) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4703
#3 0x00025a50 in finish_step_over (lwp=0x12bbd98) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4749
#4 complete_ongoing_step_over () at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4760
#5 linux_detach (pid=25228) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:1503
#6 0x00012bae in process_serial_event () at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/server.c:3974
#7 handle_serial_event (err=<optimized out>, client_data=<optimized out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/server.c:4347
#8 0x00016d68 in handle_file_event (event_file_desc=<optimized out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/event-loop.c:429
#9 0x000173ea in process_event () at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/event-loop.c:184
#10 start_event_loop () at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/event-loop.c:547
#11 0x0000aa2c in captured_main (argv=<optimized out>, argc=<optimized out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/server.c:3719
#12 main (argc=<optimized out>, argv=<optimized out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/server.c:3804
the sanity check tries to find the reinsert breakpoint from process B,
but nothing is found. It is wrong, we need to search in process A,
since we started step-over of a thread of process A.
(gdb) p lwp->thread->entry.id
$3 = {pid = 25120, lwp = 25131, tid = 0}
(gdb) p current_thread->entry.id
$4 = {pid = 25228, lwp = 25228, tid = 0}
This patch switched current_thread to the thread we are doing step-over
in finish_step_over.
gdb/gdbserver:
2016-06-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (maybe_hw_step): New function.
(linux_resume_one_lwp_throw): Call maybe_hw_step.
(finish_step_over): Switch current_thread to lwp temporarily,
and assert has_reinsert_breakpoints returns true.
(proceed_one_lwp): Call maybe_hw_step.
* mem-break.c (has_reinsert_breakpoints): New function.
* mem-break.h (has_reinsert_breakpoints): Declare.
commit a28d8e5037333291991f7b0036b273e8ca1ffc34
Author: Yan-Ting Lin <currygt52@gmail.com>
Date: Fri Jun 17 15:25:08 2016 +0800
gdb: new AndesTech NDS32 port
gdb/ChangeLog:
* Makefile.in (ALL_TARGET_OBS): Add nds32-tdep.o.
(HFILES_NO_SRCDIR): Add nds32-tdep.h.
(ALLDEPFILES): Add nds32-tdep.c.
* NEWS: Mention new NDS32 port.
* configure.tgt: Add NDS32.
* nds32-tdep.c: New file.
* nds32-tdep.h: New file.
* features/Makefile (XMLTOC): Add nds32.xml.
* features/nds32-core.xml: New file.
* features/nds32-fpu.xml: New file.
* features/nds32-system.xml: New file.
* features/nds32.c: New file (generated).
* features/nds32.xml: New file.
gdb/doc/ChangeLog:
* gdb.texinfo (Standard Target Features): Document NDS32 features.
(NDS32 Features): New Section.
gdb/testsuite/ChangeLog:
* gdb.base/float.exp: Add target check for nds32*-*-*.
* gdb.xml/tdesc-regs.exp: Set core-regs for nds32*-*-*.
commit 96074adc6a780c7984645e3e42434be368974737
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Fri Jun 17 02:15:43 2016 -0700
opcodes,gas: sparc: fix rdasr,wrasr,rdpr,wrpr,rdhpr,wrhpr insns.
This patch fixes and expands the definition of the read/write
instructions for ancillary-state, privileged and hyperprivileged
registers in opcodes.
It also adds support for three new v9m hyperprivileged registers:
%hmcdper, %hmcddfr and %hva_mask_nz.
Finally, the patch expands existing tests (and adds several new ones) in
order to cover all the read/write instructions in all its variants.
opcodes/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* sparc-opc.c (rdasr): New macro.
(wrasr): Likewise.
(rdpr): Likewise.
(wrpr): Likewise.
(rdhpr): Likewise.
(wrhpr): Likewise.
(sparc_opcodes): Use the macros above to fix and expand the
definition of read/write instructions from/to
asr/privileged/hyperprivileged instructions.
* sparc-dis.c (v9_hpriv_reg_names): Add %hmcdper, %hmcddfr and
%hva_mask_nz. Prefer softint_set and softint_clear over
set_softint and clear_softint.
(print_insn_sparc): Support %ver in Rd.
gas/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* config/tc-sparc.c (hpriv_reg_table): Add registers %hmcdper,
%hmcddfr and %hva_mask_nz.
(sparc_ip): New handling of asr/privileged/hyperprivileged
registers, adapted to the new form of the sparc opcodes table.
* testsuite/gas/sparc/rdasr.s: New file.
* testsuite/gas/sparc/rdasr.d: Likewise.
* testsuite/gas/sparc/wrasr.s: Likewise.
* testsuite/gas/sparc/wrasr.d: Likewise.
* testsuite/gas/sparc/sparc.exp (sparc_elf_setup): Add rdasr and
wrasr tests.
* testsuite/gas/sparc/rdpr.d: Use -Av9m, as some privileged
registers require it.
* testsuite/gas/sparc/wrpr.s: Complete to cover all privileged
registers and write instruction modalities.
* testsuite/gas/sparc/wrpr.d: Likewise.
* testsuite/gas/sparc/rdhpr.s: Likewise for hyperprivileged
registers.
* testsuite/gas/sparc/rdhpr.d: Likewise.
* testsuite/gas/sparc/wrhpr.s: Likewise.
* testsuite/gas/sparc/wrhpr.d: Likewise.
commit 7a10c22feb4dfb7e56855033d579338a6258722d
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Fri Jun 17 02:14:18 2016 -0700
opcodes,gas: adjust sparc insns and make GAS aware of it
This patch marks the SPARC instructions in the opcodes table with their
proper opcode architectures, and makes the assembler aware of them.
This allows the assembler to properly realize when a new instruction
needs a higher architecture (after v9b) and to react accordingly
emitting an error message or bumping the architecture.
It also expands architecture mismatch tests to cover architectures
higher than v9b, and fixes a couple of minor bugs in the GAS testsuite.
opcodes/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* sparc-opc.c (sparc_opcodes): Adjust instructions opcode
architecture according to the hardware capabilities they require.
(sparc_priv_regs): New table.
(sparc_hpriv_regs): Likewise.
(sparc_asr_regs): Likewise.
(v9anotv9m): Define.
gas/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* config/tc-sparc.c (sparc_arch_table): adjust the GAS
architectures to use the right opcode architecture.
(sparc_md_end): Handle v9{c,d,e,v,m}.
(sparc_ip): Fix some comments.
* testsuite/gas/sparc/ldx_efsr.d: Fix the architecture of this
instruction, which is v9d.
* testsuite/gas/sparc/mwait.s: Remove the `rd %mwait,%g1'
instruction from the test, as %mwait is not readable.
* testsuite/gas/sparc/mwait.d: Likewise.
* testsuite/gas/sparc/mism-1.s: Expand to check v9b and v9e
mismatch architecture errors.
* testsuite/gas/sparc/mism-2.s: New file.
commit 8b8c7c9f49992750f66f81b4601d593a3858d98c
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Fri Jun 17 02:13:30 2016 -0700
gas: sparc: fix collision of registers and pseudo-ops.
The current sparc assembler breaks when the name of an ancillary-state
register, privileged register or hyperprivileged register has a
%-pseudo-operation name as a prefix. For example, %hmcdper and %hm(),
or %hintp and %hi().
This patch fixes it by introducing a new table `perc_table' (for
%-table) that contains an entry for every %name supported by the
assembler, other than the general registers. This table is used to
detect name collisions when the assembler tries to detect a %-pseudo-op.
This patch also fixes a related bug, making sure that v9a_asr_table and
hpriv_reg_table are sorted in reverse lexicographic order, as otherwise
the search code may fail.
gas/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* config/tc-sparc.c (priv_reg_table): Use NULL instead of the
empty string to mark the end of the array.
(hpriv_reg_table): Likewise.
(v9a_asr_table): Likewise.
(cmp_reg_entry): Handle entries with NULL names.
(F_POP_V9): Define.
(F_POP_PCREL): Likewise.
(F_POP_TLS_CALL): Likewise.
(F_POP_POSTFIX): Likewise.
(struct pop_entry): New type.
(pop_table): New variable.
(enum pop_entry_type): New type.
(struct perc_entry): Likewise.
(NUM_PERC_ENTRIES): Define.
(perc_table): New variable.
(cmp_perc_entry): New function.
(md_begin): Sort hpriv_reg_table and v9a_asr_table, and initialize
perc_table.
(sparc_ip): Handle entries with NULL names in priv_reg_table,
hpriv_reg_table and v9a_asr_table. Use perc_table to handle
%-pseudo-ops.
commit 4f26fb3a1b1369a044ac642d1e82bf6fc6dfa9d9
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Fri Jun 17 02:12:48 2016 -0700
bfd,opcodes: sparc: new opcode v9{c,d,e,v,m} architectures and bfd machine numbers.
This patch adds support for the opcode architectures
SPARC_OPCODE_ARCH_V9{C,D,E,V,M} and its associated BFD machine numbers
bfd_mach_sparc_v9{c,d,e,v,m} and bfd_mach_sparc_v8plus{c,d,e,v,m}.
Note that for arches up to v9b (UltraSPARC III), the detection of the
BFD machine type was based on the bits in the e_machine field of the ELF
header. However, there are no more available bits in that field, so
this patch takes the approach of using the hardware capabilities stored
in the object attributes HWCAPS/HWCAPS2 in order to characterize the
machine the object was built for.
bfd/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* archures.c (bfd_mach_sparc_v8plusc): Define.
(bfd_mach_sparc_v9c): Likewise.
(bfd_mach_sparc_v8plusd): Likewise.
(bfd_mach_sparc_v9d): Likewise.
(bfd_mach_sparc_v8pluse): Likewise.
(bfd_mach_sparc_v9e): Likewise.
(bfd_mach_sparc_v8plusv): Likewise
(bfd_mach_sparc_v9v): Likewise.
(bfd_mach_sparc_v8plusm): Likewise.
(bfd_mach_sparc_v9m): Likewise.
(bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
(bfd_mach_sparc_64bit_p): Likewise.
* bfd-in2.h: Regenerate.
* cpu-sparc.c (arch_info_struct): Add entries for
bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
* aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
and bfd_mach_sparc_v9{c,d,e,v,m}.
* elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
include/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* opcode/sparc.h (enum sparc_opcode_arch_val): Add
SPARC_OPCODE_ARCH_V9C, SPARC_OPCODE_ARCH_V9D,
SPARC_OPCODE_ARCH_V9E, SPARC_OPCODE_ARCH_V9V and
SPARC_OPCODE_ARCH_V9M.
opcodes/ChangeLog:
2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* sparc-dis.c (MASK_V9): Add SPARC_OPCODE_ARCH_V9{C,D,E,V,M}.
(compute_arch_mask): Handle bfd_mach_sparc_v8plus{c,d,e,v,m} and
bfd_mach_sparc_v9{c,d,e,v,m}.
* sparc-opc.c (MASK_V9C): Define.
(MASK_V9D): Likewise.
(MASK_V9E): Likewise.
(MASK_V9V): Likewise.
(MASK_V9M): Likewise.
(v6): Add MASK_V9{C,D,E,V,M}.
(v6notlet): Likewise.
(v7): Likewise.
(v8): Likewise.
(v9): Likewise.
(v9andleon): Likewise.
(v9a): Likewise.
(v9b): Likewise.
(v9c): Define.
(v9d): Likewise.
(v9e): Likewise.
(v9v): Likewise.
(v9m): Likewise.
(sparc_opcode_archs): Add entry for v9{c,d,e,v,m}.
commit e7622e5214f5e099641426691d63f8179651e8a5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 17 00:00:20 2016 +0000
Automatic date update in version.in
commit ca45f6e9905edbe4066e1c8f30cc22fb6a0716f9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 16 12:38:34 2016 -0700
Add missing ChangeLog entries
commit bf52d7c72035679e6b3ab601133c56a4388f4dc9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 15 10:35:38 2016 -0700
Don't check undefined symbol for IFUNC reloc
commit bf52d7c72035679e6b3ab601133c56a4388f4dc9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 15 10:35:38 2016 -0700
Don't check undefined symbol for IFUNC reloc
Since x86 elf_*_check_relocs is called after all symbols have been
resolved, there is no need to check undefined symbols for relocations
against IFUNC symbols.
bfd/
* elf32-i386.c (elf_i386_check_relocs): Don't check undefined
symbols for relocations against IFUNC symbols.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
ld/
* testsuite/ld-i386/i386.exp: Run pr19636-2e-nacl.
* testsuite/ld-i386/pr19636-2e.d: Skip for NaCl targets.
Remove .rel.plt section.
* testsuite/ld-i386/pr19636-2e-nacl.d: New file.
commit f92339b8f316de65add11aeb9cd8ea72630aa556
Author: Marcin KoÅcielnicki <koriakin@0x04.net>
Date: Wed Jun 8 14:01:31 2016 +0200
bfd/s390: Fix DT_PLTRELSZ in presence of R_390_IRELATIVE.
This was broken by 4ade44b727ee77adaa9c22719935d012e253a5e6,
which changed the calculation to use the .rela.plt linker section
instead of its output section - thus skipping .rela.iplt .
Fix the calculations to include it.
bfd/ChangeLog:
* elf32-s390.c (elf_s390_finish_dynamic_sections): Include
.rela.iplt in DT_PLTRELSZ.
* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
for DT_PLTRELSZ and DT_RELASZ as well.
commit 081b1afe5a8cfa02bf3b3cdefb80c266705c17d1
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 16 05:52:34 2016 -0700
Skip relocations in non-loaded, non-alloced sections
Don't do anything special with non-loaded, non-alloced sections.
In particular, any relocs in such sections should not affect GOT
and PLT reference counting (ie. we don't allow them to create GOT
or PLT entries), there's no possibility or desire to optimize TLS
relocs, and there's not much point in propagating relocs to shared
libs that the dynamic linker won't relocate.
* elf32-i386.c (elf_i386_check_relocs): Skip relocations in
non-loaded, non-alloced sections.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
commit 4c23f2ffa8fbd467bca51956130a1f30cfe34371
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 15 18:42:56 2016 -0700
Check SEC_ALLOC before allocating dynamic relocation
* elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
allocating dynamic relocation.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
commit 77b1142d4e709cb12a460bdfad6f109d67260457
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 16 00:00:19 2016 +0000
Automatic date update in version.in
commit 3a4b0e0f9670679f8942f2bd57aa86ae0412b171
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 15 09:44:21 2016 -0700
X86: Add tests for static function pointer
* testsuite/ld-i386/no-plt-check1a.S (check): Test static
function pointer.
* testsuite/ld-i386/no-plt-check1b.S (check): Likewise.
* testsuite/ld-x86-64/no-plt-check1.S (check): Likewise.
* testsuite/ld-i386/no-plt-extern1a.S (func_p): New. Static
function pointer.
* testsuite/ld-i386/no-plt-extern1b.S (func_p): Likewise.
* testsuite/ld-x86-64/no-plt-extern1.S (func_p): Likewise.
* testsuite/ld-i386/no-plt-1a.dd: Updated.
* testsuite/ld-i386/no-plt-1b.dd: Likewise.
* testsuite/ld-i386/no-plt-1c.dd: Likewise.
* testsuite/ld-i386/no-plt-1d.dd: Likewise.
* testsuite/ld-i386/no-plt-1e.dd: Likewise.
* testsuite/ld-i386/no-plt-1f.dd: Likewise.
* testsuite/ld-i386/no-plt-1g.dd: Likewise.
* testsuite/ld-i386/no-plt-1h.dd: Likewise.
* testsuite/ld-i386/no-plt-1i.dd: Likewise.
* testsuite/ld-i386/no-plt-1j.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1a.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1b.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1d.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.dd: Likewise.
commit 3ee6e4fbec4a4e0451f20efce50acb720e921a9f
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 15 16:25:34 2016 +0100
Fix simple gas testsuite failures.
binutils* readelf.c (is_24bit_abs_reloc): Add support for R_FT32_20
reloc.
gas * config/tc-ft32.c (md_assemble): Call dwarf2_emit_insn with the
instruction size.
* config/tc-mcore.c (md_assemble): Likewise.
* config/tc-mn10200.c (md_assemble): Likewise.
* config/tc-moxie.c (md_assemble): Likewise.
* config/tc-pj.c (md_apply_fix): Handle BFD_RELOC_PJ_CODE_REL32.
* testsuite/gas/all/gas.exp (diff1 test): Alpha sort list of
exception targets. Add alpha, hppa, microblaze and rl78 to list
of exceptions.
(forward): Add microblaze to list of exceptions.
(fwdexp): Add alpha to list of exceptions.
(redef2): Add arm-epoc-pe and rl78 to list of exceptions.
(redef3): Add rl78 and x86_64 cygwin to list of exceptions.
(do_930509a): Alpha sort list of exception targets. Add h8300 and
mn10200 to list of exceptions.
(align2): Expect to fail for nds32.
(cond): Add alpha and rl78 to list of exceptions.
* testsuite/gas/all/none.d: Skip for ft32 and hppa.
* testsuite/gas/all/string.d: Skip for tic4x.
* testsuite/gas/alpha/alpha.exp: Note that the alpha-linuxecoff
target does not support ELF.
* testsuite/gas/arm/blx-bl-convert.dL Skip for the nto target.
* testsuite/gas/cfi/cfi-alpha-2.d: All extended format names.
* testsuite/gas/cfi/cfi.exp: Alpha sort list of targets. Skip SH
tests for sh-pe and sh-rtemscoff targets.
* testsuite/gas/elf/elf.exp (redef): Add rl78, xgate and vax to
list of exceptions.
(type): Run the noifunc version for alpha-freebsd and visium.
* testsuite/gas/elf/warn-2.s: Do not expect to fail on the mcore,
mn10200 or moxie targets.
* testsuite/gas/ft32/insn.d: Update expected disassembly.
* testsuite/gas/i386/i386.exp (x86-64-pcrel): Skip for cygwin
targets.
* testsuite/gas/lns/lns.exp (lns-common-1): No longer skip for
mcore and rx targets.
* testsuite/gas/macros/macros.exp (dot): Add exceptions for ns32k,
rl78 and vax.
(purge): Expect to fail on the ns32k and vax.
* testsuite/gas/nds32/alu-2.d: Update expected disassembly.
* testsuite/gas/nds32/ls.d: Likewise.
* testsuite/gas/nds32/sys-reg.d: Likewise.
* testsuite/gas/nds32/usr-spe-reg.d: Likewise.
* testsuite/gas/pe/aligncomm-d.d: Skip for the sh.
* testsuite/gas/pe/section-align-3.d: Likewise.
* testsuite/gas/pe/section-exclude.d: Likewise.
* testsuite/gas/ppc/test2xcoff32.d: Pass once all the required
data has been seen.
* testsuite/gas/ppc/textalign-xcoff-001.d: Fix up regexp to allow
for variations in whitespace.
* testsuite/gas/tilepro/t_constants.d: Pass once all the required
data has been seen.
* testsuite/gas/tilepro/t_constants.s (.safe_word): New macro.
Installs a 32-bit value without generating warnings on 64-bit
hosts.
Use the new macro to replace the .word directives.
opcodes * nds32-dis.c (nds32_parse_audio_ext): Change printing of integer
constants to match expected behaviour.
(nds32_parse_opcode): Likewise. Also for whitespace.
commit 02f3be19f6fca3a46794f8f32350cc090ac38d0e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Jun 14 21:48:11 2016 +0100
opcodes/arc: Fix extract for some add_s instructions
The extract function used for some arc_s instructions was not
implemented, and instead always returned 0. Fixed in this commit.
opcodes/ChangeLog:
* arc-opc.c (extract_rhv1): Extract value from insn.
gas/ChangeLog:
* testsuite/gas/arc/add_s.d: New file.
* testsuite/gas/arc/add_s.s: New file.
commit 31eef93e717c59975b3e6f37619ab956302ca37a
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Wed Jun 15 12:25:30 2016 +0530
Fix PR ld/20254
This patch fixes another edge case related to alignment property
records - reloc offsets adjacent to property record offsets were not
getting adjusted during relaxation.
bfd/
PR ld/20254
* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
offsets until reloc_toaddr.
ld/
PR ld/20254
* testsuite/ld-avr/avr-prop-6.d: New test.
* testsuite/ld-avr/avr-prop-6.s: New test.
commit 2a1d8bb3471a074ce35eb8ab9d8eb2093a5ecdb5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 15 00:00:21 2016 +0000
Automatic date update in version.in
commit 6f9f37ed752457a0dca8aaf166d328752a31e99d
Author: Graham Markall <graham.markall@embecosm.com>
Date: Tue Jun 14 21:53:04 2016 +0100
opcode/gas: Fix incorrect dates on ChangeLog entries
When committing three recent patches incorrect dates were left on the
ChangeLog entries in gas/ChangeLog and opcodes/ChangeLog. Fixed in this
commit.
commit 4bf5402d913e9a5d17d9ffb8701dbd054e1d158c
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 13:10:48 2016 -0700
Remove unneeded checks on type lengths.
Type lengths are unsigned, so they are always greater than or equal to
zero. A check against the length of 'tgt_type' is retained to prevent
dividing by zero.
gdb/ChangeLog:
* v850-tdep.c (v850_use_struct_convention): Trim type length checks.
commit 683cd65eb4787e3e2921076699e0ca9b00762df3
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 08:15:09 2016 -0700
Pass a NULL pointer as the last argument to find_pc_partial_function.
gdb/ChangeLog:
* tui/tui-stack.c (tui_show_frame_info): Fix type mismatch.
commit bec734b212d68d96560e309f49a584d98b98fbdc
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 07:26:09 2016 -0700
Initialize 'ra' to zero to avoid uninitialized use.
If the instruction in this case does not include an RA field, then 'ra'
is used uninitialized. Use the same idiom used elsewhere in this file of
initializing ra to zero before check for an RA field.
gdb/ChangeLog:
* rs6000-tdep.c (ppc_process_record_op31): Initialize ra.
commit 99a54ef6f705eedb20f8f4baf3fdd47cc5ca8a92
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 07:20:02 2016 -0700
Change the size field of MSP430_Opcode_Decoded to a plain integer.
The size field was defined as an instance of an enum, but existing code
treats the size field as a plain integer containing a bit count.
include/ChangeLog:
* opcode/msp430-decode.h (MSP430_Size): Remove.
(Msp430_Opcode_Decoded): Change type of size to int.
commit eecc1a7faa15327d4a1fc574d9b54e86bb07cbec
Author: John Baldwin <jhb@FreeBSD.org>
Date: Sat Jun 11 06:09:06 2016 -0700
Use correct enum type for do_elf_stt_common.
binutils/ChangeLog:
* objcopy.c (do_elf_stt_common): Use correct type.
commit c428ce9d900c4acc4a7ee74791c55676d96f0818
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 14 10:18:26 2016 -0700
Check R_*_IRELATIVE in x86 reloc_type_class
elf_{i386|x86_64}_reloc_type_class should return reloc_class_ifunc for
R_386_IRELATIVE/R_X86_64_IRELATIVE relocations. There is no need to
check symbol type for STN_UNDEF symbol index.
* elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
Don't check symbol type for STN_UNDEF symbol index.
* elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
index.
commit 897463b12ba936df7d2070755eaac94f87fcedfb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 14 09:21:00 2016 -0700
Fix elf_x86_64_reloc_type_class
commit 28215275a6bbb7c4b4c2d683a1d94fead7dacc35
Author: Graham Markall <graham.markall@embecosm.com>
Date: Mon Jun 13 09:03:05 2016 +0100
[ARC] Add ldbit for nps
This commit adds the ldbit instruction for the NPS-400. The ldbit
instruction uses the same encoding as the ld instruction, but sets
the ZZ field to 11 (which is a reserved setting), and sets the AA
field to 1 or 2 for the x2 and x4 flags respectively.
commit 9ba75c884776383174cd894948bd8b3cbca62897
Author: Graham Markall <graham.markall@embecosm.com>
Date: Thu Jun 9 08:38:34 2016 +0100
[ARC] Add deep packet inspection instructions for nps
With the exception of ldbit, this commit adds implementations of
all DPI instructions for the NPS-400. These instructions are:
- hash / hash.p[0-3]
- tr
- utf8
- e4by
- addf
commit 14053c1903cc0e4f0130570f61aee2825661cd7d
Author: Graham Markall <graham.markall@embecosm.com>
Date: Fri Jun 3 10:48:49 2016 +0100
[ARC] Add arithmetic and logic instructions for nps
This commit completes the implementation of arithmetic and logic
instructions for the NPS-400. These instructions are:
- calcbsd / calcbxd
- calckey / calcxkey
- mxb / imxb
- addl, subl, orl, andl, xorl
- andab / orab
- lbdsize
- bdlen
- csms, csma, cbba
- zncv
- hofs
commit d2dfe54d6c4c307dd64a5e6bdcc7d1081b17233a
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jun 14 13:51:10 2016 +0100
Fix compile time warning building gas for the NDS32 with gcc v6.1.1
gas * config/tc-nds32.c (nds32_get_align): Avoid left shifting a
signed constant.
commit 60a019a089177f3f58f636580857414d769b8c11
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue Jun 14 12:02:53 2016 +0100
Fix feature checks based on ARM architecture value
2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (using_thumb_only): Force review of arch check logic for
new architecture.
(using_thumb2): Try Tag_THUMB_ISA_use first and check
for exact arch value then. Force review of arch check logic for new
architecture.
(arch_has_arm_nop): Update and fix arch check logic. Force review of
that logic for new architecture.
(arch_has_thumb2_nop): Remove.
(elf32_arm_tls_relax): Use using_thumb2 instead of above function.
(elf32_arm_final_link_relocate): Likewise but using thumb2.
commit 0aa7f5862e5619194b3956d5bd45b93970635bde
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 14 13:25:21 2016 +0930
Formatting fixes.
* ldbuildid.c: Formatting.
* ldcref.c: Formatting.
* ldctor.c: Formatting.
* ldemul.c: Formatting.
* ldexp.c: Formatting.
* ldfile.c: Formatting.
* ldlang.c: Formatting.
* ldmain.c: Formatting.
* ldwrite.c: Formatting.
commit 3860d2b4b72feeef4cf045c6c9907a0476f46f3d
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 14 13:24:37 2016 +0930
Delete bfd_my_archive macro
Many more places use abfd->my_archive rather than bfd_my_archive (abfd),
so let's make the code consistently use the first idiom.
bfd/
* bfd-in.h (bfd_my_archive): Delete.
* bfd-in2.h: Regenerate.
binutils/
* ar.c: Expand uses of bfd_my_archive.
* size.c: Likewise.
ld/
* ldlang.c: Expand uses of bfd_my_archive.
* ldmain.c: Likewise.
* ldmisc.c: Likewise.
* plugin.c: Likewise.
commit b0cffb47671ffbaac559c1f17a9f248256ea6c42
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 14 13:12:00 2016 +0930
Set my_archive for thin archives
LTO plugin support in plugin_maybe_claim wants to close the IR bfd
after replacing it with the recompiled object, but can't do so for
archive elements due to various pointers that access the archive bfd.
Thin archives have the same problem. They too cannot have their
element bfds closed.
PR ld/20241
bfd/
* archive.c (open_nested_file): Set my_archive.
* bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
for thin archives.
* bfdio.c (bfd_tell): Don't adjust origin for thin archives.
(bfd_seek): Likewise.
* bfdwin.c (bfd_get_file_window): Likewise.
* cache.c (cache_bmmap): Likewise.
(bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
* mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
thin archives.
* plugin.c (try_claim): Likewise.
* xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
file within thin archive, not the archive.
binutils/
* bucomm.c (bfd_get_archive_filename): Return file name within thin
archive.
ld/
* ldmain.c (add_archive_element): Just print file name of file within
thin archives.
* ldmisc.c (vfinfo): Likewise.
* plugin.c (plugin_object_p): Open file within thin archives.
(plugin_maybe_claim): Expand comment.
commit 57bc0e78e9d1fc318e1265f22280e1c3b7527d65
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 14 00:00:19 2016 +0000
Automatic date update in version.in
commit 3328c04b103286c3422aed59b97595bbbd9bbef5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 13 11:14:57 2016 -0700
Add .got.plt to testsuite/script_test_2.t
The .got.plt section must be placed right after the .got section.
Otherwise, GOT offset will be wrong.
PR gold/20246
* testsuite/script_test_2.t: Add .got.plt after .got.
commit 712ec27916b5604d29d928dec060fd1ba0fd9edb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 13 11:06:10 2016 -0700
Add the GOT base for GOT32 relocs against IFUNC
Add the GOT base for R_386_GOT32/R_386_GOT32X relocations against IFUNC
symbols if there is no base register and disallow them for PIC.
bfd/
PR ld/20244
* elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
section address for R_386_GOT32/R_386_GOT32X relocations against
IFUNC symbols if there is no base register and return error for
PIC.
ld/
PR ld/20244
* testsuite/ld-i386/i386.exp: Run pr20244-2a, pr20244-2b,
pr20244-2c and pr20244-2d.
* testsuite/ld-i386/no-plt.exp: Run pr20244-3a and pr20244-3b.
* testsuite/ld-i386/pr20244-2.s: New file.
* testsuite/ld-i386/pr20244-2a.d: Likewise.
* testsuite/ld-i386/pr20244-2b.d: Likewise.
* testsuite/ld-i386/pr20244-2c.d: Likewise.
* testsuite/ld-i386/pr20244-2d.d: Likewise.
* testsuite/ld-i386/pr20244-3a.c: Likewise.
* testsuite/ld-i386/pr20244-3b.S: Likewise.
* testsuite/ld-i386/pr20244-3c.S: Likewise.
* testsuite/ld-i386/pr20244-3d.S: Likewise.
commit ca8c86efe7765262e25ebb08004012ba2fdadf52
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 13 09:27:12 2016 -0700
Add 2 i386 tests to call IFUNC functions via GOT
bfd/
* elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
GOT32 adjustment for static executables.
ld/
2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-i386/i386.exp: Run ifunc-1a and ifunc-1b.
* testsuite/ld-i386/ifunc-1a.c: New file.
* testsuite/ld-i386/ifunc-1b.S: Likewise.
* testsuite/ld-i386/ifunc-1c.S: Likewise.
* testsuite/ld-i386/ifunc-1d.S: Likewise.
commit 97f50151221de0a023a8317559b1992a90f9cb8f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Jun 13 16:52:42 2016 +0100
MIPS/GAS: Don't convert RELA JALR relocations on R6
Revert an inadvertent change to make RELA JALR relocations
section-relative on MIPS R6 targets made with commit 7361da2c952e ("Add
support for MIPS R6."). There is no need to make this a special case
and the comment introduced with the said change clearly indicates this
was not intended.
gas/
* config/tc-mips.c (mips_fix_adjustable): Don't convert RELA
JALR relocations on R6.
* testsuite/gas/mips/jal-svr4pic-local.d: New test.
* testsuite/gas/mips/mips1@jal-svr4pic-local.d: New test.
* testsuite/gas/mips/r3000@jal-svr4pic-local.d: New test.
* testsuite/gas/mips/micromips@jal-svr4pic-local.d: New test.
* testsuite/gas/mips/jal-svr4pic-local-n32.d: New test.
* testsuite/gas/mips/micromips@jal-svr4pic-local-n32.d: New
test.
* testsuite/gas/mips/jal-svr4pic-local-n64.d: New test.
* testsuite/gas/mips/micromips@jal-svr4pic-local-n64.d: New
test.
* testsuite/gas/mips/jal-svr4pic-local.s: New test source.
* testsuite/gas/mips/jal-svr4pic-local-newabi.s: New test
source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 0c9663cbd41c27a8e20ca88a53ba3deae374f1d8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Jun 13 16:29:00 2016 +0100
MIPS/BFD: Update outdated comment about o32 R_MIPS_PC32 reloc support
Complement:
commit b47468a6dbd1b54c44c2edc0f7db64a073d894ea
Author: Catherine Moore <clm@redhat.com>
Date: Mon May 6 15:25:45 2013 +0000
and the return of support for R_MIPS_PC32 there.
bfd/
* elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
commit 815dc1bcdc1de926bfbb63fb15e0725c9bbc7671
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Mon Jun 13 17:44:48 2016 +0200
[ARC] Fix condition.
bfd/
2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
* elf32-arc.c (elf_arc_relocate_section): Fixed condition.
commit cad8e26d2a2c7cee04954624fbaf91f03eec50ec
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jun 8 10:12:56 2016 +0100
gdb: Use UNSUPPORTED not XFAIL for unsupported target features
If a target does not support making function calls from GDB then in a
number of test files, we currently report an XFAIL and skip some, or all
of the tests. This commit changes the XFAIL to an UNSUPPORTED as this
seems more appropriate in these cases.
Some of the tests used bug ID 2416 to be reported in the XFAIL. In the
current GDB bugzilla bug 2416 has nothing to do with calling target
functions from GDB.
gdb/testsuite/ChangeLog:
* gdb.base/call-ar-st.exp: Report unsupported rather than xfail
for unsupported target features.
* gdb.base/call-rt-st.exp: Likewise.
* gdb.base/call-sc.exp: Likewise.
* gdb.base/call-signal-resume.exp: Likewise.
* gdb.base/call-strs.exp: Likewise.
* gdb.base/callexit.exp: Likewise.
* gdb.base/callfuncs.exp: Likewise.
* gdb.base/nodebug.exp: Likewise.
* gdb.base/printcmds.exp: Likewise.
* gdb.base/ptype.exp: Likewise.
* gdb.base/structs.exp: Likewise.
* gdb.base/unwindonsignal.exp: Likewise.
* gdb.cp/gdb2495.exp: Likewise.
* gdb.cp/templates.exp: Likewise.
* gdb.cp/virtfunc.exp: Likewise.
* gdb.threads/hand-call-in-threads.exp: Likewise.
* gdb.threads/interrupted-hand-call.exp: Likewise.
* gdb.threads/thread-unwindonsignal.exp: Likewise.
commit 82f46e2cc1caefff2902d1f368edaa37d6ff8d77
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Wed Jun 8 10:36:19 2016 +0200
[ARC] XFAIL S-Records tests for both little and big endian ARC target.
ld/
2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
* testsuite/ld-srec/srec.exp: Changed to XFAIL on both little and
big endian ARC targets.
commit 3b63d2cee1e6b894981cab59183480ac0972146a
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Thu May 26 16:00:08 2016 +0200
[ARC] Fixes related to reordering of .got and .got.plt
- Correctly solved relocations on the .got header.
- This bug arrised from enabling RELRO (-z combreloc).
Because the .got and .got.plt sections were split in new linker
scripts the header is no longer part of sgotplt contents.
Changed the patch to sgot contents instead.
- Latest fix to .got header relocs.
bfd/
2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
commit 2ab2f40d58e6ad530667b018e42dd71519556f1b
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Fri May 20 12:06:17 2016 +0200
[ARC] General bug fixes
Fail safe for trying to reloc GOT and PLT on non dynamic linker. Fix
issue with dynamic relocs not being generated with -pie. Removed some
structures that were not being used. Fixed typo changing RELENT to
RELAENT. Fix for all SECTOFF relocations.
bfd/
2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
* elf32-arc.c (arc_local_data, arc_local_data): Removed.
(SECTSTART): Changed.
(elf_arc_relocate_section): Fixed mistake in PIE related
condition.
(elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
commit 0f7f3789ca97ecaf0c4169c6d82e205f69fa0580
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Tue May 17 12:15:41 2016 +0200
[ARC] Generate DT_RELACOUNT.
bfd/
2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
* elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
enable support for "-z combreloc" and DT_RELACOUNT.
(elf_backend_reloc_type_class): Likewise
commit e46dd0f46b9a2ac2b07343b91c447620ede47d26
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 13 14:22:21 2016 +0100
Fix compile time warning about a redundant comparison in an assertion statement.
* gdbtypes.c (replace_type): Fix assertion.
commit 0a8be2fe269b769c01b0daa1b967eba51dea4af5
Author: Virendra Pathak <virendra.pathak@broadcom.com>
Date: Mon Jun 13 14:17:31 2016 +0100
Accept vulcan as a cpu name for the AArch64 port of GAS.
* config/tc-aarch64.c (aarch64_cpus): Add Broadcom Vulcan.
* doc/c-aarch64.texi: Document that vulcan is a valid processor
name.
commit 69c9e028b6c29f98b6f71faf52242aaaeb03a659
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 13 10:49:26 2016 +0100
Fix compile time warning messages building with gcc v6.1.1
etc * texi2pod.pl: Escape curly braces, whilst searching for keyword
strong.
gas * config/tc-arm.c: For non-ELF based targets skip ARM feature sets
that are not supported.
* config/tc-arc.c (md_apply_fix): Avoid left shifting a signed
constant.
* config/tc-cr16.c (check_range): Likewise.
* config/tc-nios2.c (nios2_check_overflow): Likewise.
commit 1d3843e0b714cfceed7fb3604ce7b88f0beb47e9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 13 00:00:15 2016 +0000
Automatic date update in version.in
commit 6d84fed1a0e39acec9283e7aabfa6c9bbce9fa5d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Jun 12 07:28:58 2016 -0700
Update x86-64 no-PLT tests for x32
X32 has different output formats for readelf and objdump as well as a
different conversion of load symbol address via GOT.
* testsuite/ld-x86-64/libno-plt-1b.dd: Updated for x32.
* testsuite/ld-x86-64/libno-plt-1b.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1a.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1a.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1b.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1d.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
commit 74d7f0aa5b1e27da215349fb32337e1d83aca7d7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Jun 11 20:44:24 2016 -0700
Subtract GOT base only with a base register
When relocating R_386_GOT32 in "op $0, bar@GOT", we shouldn't subtract
GOT base without a base register and we should disallow it without a
base register for PIC.
bfd/
PR ld/20244
* elf32-i386.c (elf_i386_relocate_section): When relocating
R_386_GOT32, return error without a base register for PIC and
subtract the .got.plt section address only with a base register.
ld/
PR ld/20244
* testsuite/ld-i386/i386.exp: Run pr20244-1a and pr20244-1b.
* testsuite/ld-i386/pr20244-1.s: New file.
* testsuite/ld-i386/pr20244-1a.d: Likewise.
* testsuite/ld-i386/pr20244-1b.d: Likewise.
* testsuite/ld-i386/pr20244-1c.d: Likewise.
commit 0a41a307caca19383b05c8b558c25cf888c1c3f0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 12 00:00:17 2016 +0000
Automatic date update in version.in
commit b52717c0e104eb603e8189c3c0d3658ef5d903f5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Fri Jun 10 15:50:13 2016 -0700
Add support for .MIPS.abiflags and .gnu.attributes sections.
elfcpp/
* elfcpp.h (SHT_MIPS_ABIFLAGS): New enum constant.
* mips.h (EF_MIPS_FP64, EF_MIPS_NAN2008): New enum constants for
processor-specific flags.
(E_MIPS_MACH_5900): New enum constant for machine variant.
(AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): New enum
constants.
(AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU,
AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS,
AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16, AFL_ASE_MICROMIPS,
AFL_ASE_XPA): Likewise.
(AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP,
AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900, AFL_EXT_4650,
AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900, AFL_EXT_10000,
AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120, AFL_EXT_5400,
AFL_EXT_5500, AFL_EXT_LOONGSON_2E, AFL_EXT_LOONGSON_2F,
AFL_EXT_OCTEON3): Likewise.
(Tag_GNU_MIPS_ABI_FP, Tag_GNU_MIPS_ABI_MSA): Likewise.
(Val_GNU_MIPS_ABI_FP_ANY, Val_GNU_MIPS_ABI_FP_DOUBLE,
Val_GNU_MIPS_ABI_FP_SINGLE, Val_GNU_MIPS_ABI_FP_SOFT,
Val_GNU_MIPS_ABI_FP_OLD_64,Val_GNU_MIPS_ABI_FP_XX,
Val_GNU_MIPS_ABI_FP_64, Val_GNU_MIPS_ABI_FP_64A,
Val_GNU_MIPS_ABI_FP_NAN2008, Val_GNU_MIPS_ABI_MSA_ANY,
Val_GNU_MIPS_ABI_MSA_128): Likewise.
(AFL_FLAGS1_ODDSPREG): New enum constant.
gold/
* mips.cc (struct Mips_abiflags): New struct.
(Mips_relobj::Mips_relobj): Initialize attributes_section_data_
and abiflags_.
(Mips_relobj::~Mips_relobj): Delete object pointed by
attributes_section_data_.
(Mips_relobj::abiflags): New method.
(Mips_relobj::attributes_section_data): Likewise.
(Mips_relobj::attributes_section_data_): New data member.
(Mips_relobj::abiflags_): Likewise.
(class Mips_output_section_abiflags): New class.
(Target_mips::Target_mips): Initialize attributes_section_data_,
abiflags_ and has_abiflags_section_.
(Target_mips::do_should_include_section): Don't emit input
.MIPS.abiflags sections to output .MIPS.abiflags.
(Target_mips::Mips_mach): Add new enum constants.
(Target_mips::mips_isa_ext_mach): New method.
(Target_mips::mips_isa_ext): Likewise.
(Target_mips::update_abiflags_isa): Likewise.
(Target_mips::infer_abiflags): Likewise.
(Target_mips::create_abiflags): Likewise.
(Target_mips::fp_abi_string): Likewise.
(Target_mips::select_fp_abi): Likewise.
(Target_mips::merge_obj_attributes): Likewise.
(Target_mips::merge_obj_abiflags): Likewise.
(Target_mips::level_rev): Likewise.
(Target_mips::merge_obj_e_flags): Rename from
merge_processor_specific_flags. Remove dyn_obj argument,
call update_abiflags_isa when needed, compare NaN encodings and
compare FP64 state.
(Target_mips::add_machine_extensions): Add two machine extensions
and fix one.
(Target_mips::attributes_section_data_): New data member.
(Target_mips::abiflags_): Likewise.
(Target_mips::has_abiflags_section_): Likewise.
(Mips_relobj::do_read_symbols): Read .gnu.attributes and
.MIPS.abiflags sections if they exists.
(Target_mips::elf_mips_mach): Add E_MIPS_MACH_5900 and
E_MIPS_MACH_OCTEON3 support.
(Target_mips::do_adjust_elf_header): Setup EI_ABIVERSION flag.
(Target_mips::do_finalize_sections): Merge .gnu.attributes and
.MIPS.abiflags sections from input. Create these sections if
needed.
(Target_mips::elf_mips_mach_name): Add E_MIPS_MACH_5900 and
E_MIPS_MACH_OCTEON3 support, and change strings for
E_MIPS_MACH_LS2E, E_MIPS_MACH_LS2F and E_MIPS_MACH_LS3A just
to match bfd.
commit 0eaf2e1b589472d635e85d2ce708faa35a23a90a
Author: Alan Modra <amodra@gmail.com>
Date: Sat Jun 11 14:49:49 2016 +0930
sparc-coff writing uninitialized memory
sparc-coff has a 20 byte symbol entry with an extra field, but neglects
to initialize the field. Fix that.
* coff/sparc.h (COFF_ADJUST_SYM_OUT_POST): Define.
commit ef53be89160126f2fa5dec8f1ec3bd6d99fb0681
Author: Alan Modra <amodra@gmail.com>
Date: Sat Jun 11 17:22:55 2016 +0930
Use size_t rather than bfd_size_type
I noticed when writing _bfd_elf_strtab_save/restore that size_t would
be better than bfd_size_type for a number of things in elf-strtab.c.
Using a 64-bit bfd_size_type on a 32-bit host doesn't make much sense
for array sizes and indices.
* elf-strtab.c (struct strtab_save): Use size_t for "size".
(struct elf_strtab_hash): Likewise for "size" and "alloced".
(_bfd_elf_strtab_init): Formatting.
(_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
(_bfd_elf_strtab_addref): Take size_t idx param.
(_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
(_bfd_elf_strtab_offset): Likewise.
(_bfd_elf_strtab_clear_all_refs): Use size_t idx.
(_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
(_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
(_bfd_elf_strtab_finalize): Similarly.
* elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
(_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
(_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
* elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
using bfd_size_type.
(bfd_section_from_shdr): Delete amt.
(_bfd_elf_init_reloc_shdr): Likewise.
(_bfd_elf_link_assign_sym_version): Likewise.
(assign_section_numbers): Use size_t reloc_count.
* elflink.c (struct elf_symbuf_head): Use size_t "count".
(bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
(elf_link_is_defined_archive_symbol): Likewise.
(elf_add_dt_needed_tag): Likewise.
(elf_finalize_dynstr): Likewise.
(elf_link_add_object_symbols): Likewise.
(bfd_elf_size_dynamic_sections): Likewise.
(elf_create_symbuf): Similarly.
(bfd_elf_match_symbols_in_sections): Likewise.
(elf_link_swap_symbols_out): Likewise.
(elf_link_check_versioned_symbol): Likewise.
(bfd_elf_gc_record_vtinherit): Likewise.
(bfd_elf_gc_common_finalize_got_offsets): Likewise.
commit de5b02b698cb34f1a7f7f0be87d140f88297da0e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 11 00:00:19 2016 +0000
Automatic date update in version.in
commit 82e498727a5086d51656a7407977a69d3f45720c
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date: Fri Jun 10 15:32:33 2016 -0700
Fix problems emitting MIPS .reginfo section.
gold/
* mips.cc (Mips_relobj::Mips_relobj): Initialize
has_reginfo_section_.
(Mips_relobj::has_reginfo_section_): New data member.
(Mips_relobj::has_reginfo_section): New method.
(class Mips_output_section_reginfo): Change base class to
Output_section_data, and set masks of the output .reginfo section
in constructor.
(Mips_output_section_reginfo::as_mips_output_section_reginfo):
Remove.
(Mips_output_section_reginfo::set_masks): Likewise.
(Mips_output_section_reginfo::set_final_data_size): Likewise.
(Mips_output_section_reginfo::do_print_to_mapfile): New method.
(Target_mips::do_make_output_section): Remove.
(Mips_relobj::do_read_symbols): Set has_reginfo_section_ to true
if the object contains a .reginfo section.
(Target_mips::do_finalize_sections): Create a .reginfo output
section if needed.
commit 695bfa52ccf22058e371828c3636a3d74424ec5b
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jun 6 08:06:15 2016 -0600
Constify arch_type and friends
While working on the Rust support, I happened to notice that arch_type
and related functions take "char *" arguments, where "const char *"
would be more correct. This patch fixes this oversight. Tested by
rebuilding.
2016-06-10 Tom Tromey <tom@tromey.com>
* gdbtypes.c (arch_type, arch_integer_type, arch_character_type)
(arch_boolean_type, arch_float_type, arch_complex_type)
(arch_flags_type, append_flags_type_field)
(append_flags_type_flag, arch_composite_type)
(append_composite_type_field_raw)
(append_composite_type_field_aligned)
(append_composite_type_field): Make "name" parameter const.
* gdbtypes.h (arch_type, arch_integer_type, arch_character_type)
(arch_boolean_type, arch_float_type, arch_complex_type)
(append_composite_type_field, append_composite_type_field_aligned)
(append_composite_type_field_raw, arch_flags_type)
(append_flags_type_field, append_flags_type_flag): Constify.
commit 347dc1025db1c0acf616ab6520c3f36448f25e8b
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 18 17:22:30 2016 -0600
Fix PR rust/20110
PR rust/20110 concerns the type of an integer constant that is too
large for "i32", the default integer type. This patch changes the
type of such a constant to i64. This is important because such values
are often addresses, so truncating them by default is unfriendly.
Built and regtested on x86-64 Fedora 23.
2016-06-10 Tom Tromey <tom@tromey.com>
PR rust/20110:
* rust-exp.y (lex_number): Don't truncate large numbers to i32.
2016-06-10 Tom Tromey <tom@tromey.com>
PR rust/20110:
* gdb.rust/expr.exp: Add test for integer constant larger than
i32.
commit edef7b8cf3d811ce8630591dbed1257ba16164ff
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jun 4 10:21:01 2016 -0600
Fix rust-exp handling in makefile
I noticed that the rust-exp handling in the Makefile differed from
that of other .y files. I believe I noticed this by seeing a stray
"rm" in the build log.
This patch changes the Makefile to bring the rust-exp handling in line
with that of other .y files.
2016-06-10 Tom Tromey <tom@tromey.com>
* Makefile.in (COMMON_OBS): Remove rust-exp.o.
(YYFILES): Add rust-exp.c.
(YYOBJ): Add rust-exp.o.
(local-maintainer-clean): Remove rust-exp.c.
commit b2cc3f6fc2c5abc0a5ac7e0f2b5fb2365e89d33f
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date: Fri Jun 10 13:40:48 2016 +0200
S/390: Dump unknown instructions according to their length.
Unknown instructions are currently just dumped as .long 1234. On
S/390 we can do a bit better since the instruction length is encoded
in the opcode. That way also unknown instructions can be skipped
according to their real length. That way we can continue correctly
after that instruction. However, there are also some drawbacks with
that behavior when dumping data. So for now that behavior is only
enabled for text section but even there it might mess things up when
having a literal pool embedded in the code. Therefore I've left the
feature disabled by default and have added the -Minsnlength option to
enable it explicitely.
opcodes/ChangeLog:
2016-06-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* s390-dis.c (option_use_insn_len_bits_p): New file scope
variable.
(init_disasm): Handle new command line option "insnlength".
(print_s390_disassembler_options): Mention new option in help
output.
(print_insn_s390): Use the encoded insn length when dumping
unknown instructions.
commit 5e13cf25436bf72d851d81f132fcd49b0c636607
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Fri Jun 10 11:16:49 2016 +0200
Fortran: Testsuite, non-local references in nested functions.
Non-local references in nested functions are usually implemented
by using DWARF static link. This feature was added
with commit 63e43d3aedb8b1112899c2d0ad74cbbee687e5d6
(DWARF: handle non-local references in nested functions) but
a testcase was missing in Fortran.
2016-06-10 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Testsuite/Changelog:
* gdb.fortran/nested-funcs.exp: New.
* gdb.fortran/nested-funcs.f90: New.
commit bb556f1facb86cdd1591d490f2d2d670bdd5a1ee
Author: Toshihito Kikuchi <k.toshihito@yahoo.de>
Date: Thu Jun 9 22:47:42 2016 -0700
Add negative repeat count to 'x' command
This change adds support for specifying a negative repeat count to
all the formats of the 'x' command to examine memory backward.
A new testcase 'examine-backward' is added to cover this new feature.
Here's the example output from the new feature:
<format 'i'>
(gdb) bt
#0 Func1 (n=42, p=0x40432e "hogehoge") at main.cpp:5
#1 0x00000000004041fa in main (argc=1, argv=0x7fffffffdff8) at main.cpp:19
(gdb) x/-4i 0x4041fa
0x4041e5 <main(int, char**)+11>: mov %rsi,-0x10(%rbp)
0x4041e9 <main(int, char**)+15>: lea 0x13e(%rip),%rsi
0x4041f0 <main(int, char**)+22>: mov $0x2a,%edi
0x4041f5 <main(int, char**)+27>: callq 0x404147
<format 'x'>
(gdb) x/-4xw 0x404200
0x4041f0 <main(int, char**)+22>: 0x00002abf 0xff4de800 0x76e8ffff 0xb8ffffff
(gdb) x/-4
0x4041e0 <main(int, char**)+6>: 0x7d8910ec 0x758948fc 0x358d48f0 0x0000013e
gdb/ChangeLog:
* NEWS: Mention that GDB now supports a negative repeat count in
the 'x' command.
* printcmd.c (decode_format): Allow '-' in the parameter
"string_ptr" to accept a negative repeat count.
(find_instruction_backward): New function.
(read_memory_backward): New function.
(integer_is_zero): New function.
(find_string_backward): New function.
(do_examine): Use new functions to examine memory backward.
(_initialize_printcmd): Mention that 'x' command supports a negative
repeat count.
gdb/doc/ChangeLog:
* gdb.texinfo (Examining Memory): Document negative repeat
count in the 'x' command.
gdb/testsuite/ChangeLog:
* gdb.base/examine-backward.c: New file.
* gdb.base/examine-backward.exp: New file.
commit c040f3fb55315f06ceb9e6de6ac167a95a445ace
Author: Toshihito Kikuchi <k.toshihito@yahoo.de>
Date: Thu Jun 9 21:59:04 2016 -0700
Add myself as a write-after-approval GDB maintainer
gdb/ChangeLog:
* MAINTAINERS (Write After Approval): Add Toshihito Kikuchi.
commit 936f2d3c42debba253227a6361fb1c56c92ec4fe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 10 00:00:18 2016 +0000
Automatic date update in version.in
commit cd41072b273e60438fc4db9bacdb0fc16c471a43
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 9 16:54:58 2016 -0700
Add missing ChangeLog entries
commit 4dee35314b3bae66125faf69e1d2949ff7b00b49
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jun 9 10:43:01 2016 -0600
PR python/19819 - remove unused globals from py-xmethods.c
PR python/19819 concerns some unused global variables in
py-xmethods.c. This patch deletes the unused globals.
Tested by rebuilding.
2016-06-09 Tom Tromey <tom@tromey.com>
PR python/19819:
* python/py-xmethods.c (invoke_method_name)
(py_get_result_type_method_name, py_invoke_method_name): Remove.
(gdbpy_initialize_xmethods): Don't initialize
py_invoke_method_name, py_get_result_type_method_name.
commit a080d84da0051128a7ec12c0fa87696589bcbeb7
Author: Artemiy Volkov <artemiyv@acm.org>
Date: Thu Jun 9 11:39:57 2016 -0700
Fix compilation error in mips.cc with some versions of GCC.
gold/
* mips.cc (Mips_output_data_got::do_write): Add missing template
args via typedef.
commit 5c41dbc302c2dd87e201e4fd1d9ae3186f6e51a0
Author: Denis Chertykov <chertykov@gmail.com>
Date: Thu Jun 9 19:17:43 2016 +0300
Fix PR 20221 - adjust syms and relocs only if relax shrunk section.
This patch fixes an edge case in linker relaxation that causes symbol
values to be computed incorrectly in the presence of align directives
in input source code.
bfd/
* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
and relocs only if shrinking occurred.
ld/
* testsuite/ld-avr/avr-prop-5.d: New.
* testsuite/ld-avr/avr-prop-5.s: New.
commit 1857fe72aff6f254217956d141bff4b9ca454bc5
Author: Denis Chertykov <chertykov@gmail.com>
Date: Thu Jun 9 19:00:57 2016 +0300
Print symbol names in comments for LDS/STS disassembly.
This patch adds default data address space origin (0x800000) to the symbol addresses.
when disassemble lds/sts instructions. So that symbol names shall be printed in comments
for lds/sts instructions disassemble.
ld/
* testsuite/ld-avr/lds-mega.d: New test.
* testsuite/ld-avr/lds-mega.s: New test source.
* testsuite/ld-avr/lds-tiny.d: New test.
* testsuite/ld-avr/lds-tiny.s: New test source.
opcodes/
* avr-dis.c (avr_operand): Add default data address space origin (0x800000) to the
address and set as symbol address for LDS/ STS immediate operands.
commit 337c570c5f4442459d3324c9429ad80840094015
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Wed Jun 8 13:46:22 2016 -0700
sparc: add missing comment about hyperprivileged register operands
include/ChangeLog:
2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com>
* opcode/sparc.h: Add missing documentation for hyperprivileged
registers in rd (%) and rs1 ($).
commit 08d3b0cc99459a14c398d513ca9dcf7fc0c60667
Author: Renlin Li <renlin.li@arm.com>
Date: Thu Jun 9 10:08:08 2016 +0100
[AARCH64][GAS] Fix two -Wstack-usage warnings.
Warning triggerd by gcc 5 with -O0 flag.
error: stack usage might be unbounded [-Werror=stack-usage=]
gas/
2016-06-08 Renlin Li <renlin.li@arm.com>
* config/tc-aarch64.c (print_operands): Substitute size.
(output_operand_error_record): Likewise.
commit 6b10ba223fde5021fd2d66cf80c05b700dfa810d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 9 00:00:15 2016 +0000
Automatic date update in version.in
commit ffc89b17f2a432389ef15485fa887231a0d2b6c3
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 12:41:50 2016 -0700
i386: Test external function reference without PLT
To call an external function, the direct branch to the PLT entry can be
replaced by an indirect branch via the GOT slot, which is similar to the
first instruction in the PLT slot. Instead using the PLT slot as function
address, the function address is retrieved from the GOT slot. The
R_386_GOT32X relocation can be used to compute the address of the symbolâs
GOT entry without base register when PIC is disabled. In non-PIC
executable,
call/jmp *func@GOT
should be used for indirect branch via the GOT slot and
movl func@GOT, %eax
should be used to load function address. Unlike PIC case, no register
is needed to access GOT. If linker determines the function is defined
locally, it converts indirect branch via the GOT slot to direct branch
with a nop prefix and converts load via the GOT slot to load immediate
or lea.
* testsuite/ld-i386/libno-plt-1b.dd: New file.
* testsuite/ld-i386/libno-plt-1b.rd: Likewise.
* testsuite/ld-i386/no-plt-1a.dd: Likewise.
* testsuite/ld-i386/no-plt-1a.rd: Likewise.
* testsuite/ld-i386/no-plt-1b.dd: Likewise.
* testsuite/ld-i386/no-plt-1b.rd: Likewise.
* testsuite/ld-i386/no-plt-1c.dd: Likewise.
* testsuite/ld-i386/no-plt-1c.rd: Likewise.
* testsuite/ld-i386/no-plt-1d.dd: Likewise.
* testsuite/ld-i386/no-plt-1d.rd: Likewise.
* testsuite/ld-i386/no-plt-1e.dd: Likewise.
* testsuite/ld-i386/no-plt-1e.rd: Likewise.
* testsuite/ld-i386/no-plt-1f.dd: Likewise.
* testsuite/ld-i386/no-plt-1f.rd: Likewise.
* testsuite/ld-i386/no-plt-1g.dd: Likewise.
* testsuite/ld-i386/no-plt-1g.rd: Likewise.
* testsuite/ld-i386/no-plt-1h.dd: Likewise.
* testsuite/ld-i386/no-plt-1h.rd: Likewise.
* testsuite/ld-i386/no-plt-1i.dd: Likewise.
* testsuite/ld-i386/no-plt-1i.rd: Likewise.
* testsuite/ld-i386/no-plt-1j.dd: Likewise.
* testsuite/ld-i386/no-plt-1j.rd: Likewise.
* testsuite/ld-i386/no-plt-check1a.S: Likewise.
* testsuite/ld-i386/no-plt-check1b.S: Likewise.
* testsuite/ld-i386/no-plt-extern1a.S: Likewise.
* testsuite/ld-i386/no-plt-extern1b.S: Likewise.
* testsuite/ld-i386/no-plt-func1.c: Likewise.
* testsuite/ld-i386/no-plt-main1.c: Likewise.
* testsuite/ld-i386/no-plt.exp: Likewise.
commit dcc03cb3662740029b2dde3e0a3c10692ebda054
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 12:27:32 2016 -0700
Update test name
* testsuite/ld-x86-64/tls.exp (run_cc_link_tests): Update test
name.
commit 6eaa7fb59b32beaca017abf139a67bbe87592d9b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 11:59:47 2016 -0700
Support i386 TLS code sequences without PLT
We can generate i386 TLS code sequences for general and local dynamic
models without PLT, which uses indirect call via GOT:
call *___tls_get_addr@GOT(%reg)
where EBX register isn't required as GOT base, instead of direct call:
call ___tls_get_addr[@PLT]
which requires EBX register as GOT base.
Since direct call is 4-byte long and indirect call, is 5-byte long, the
extra one byte must be handled properly.
For general dynamic model, 7-byte lea instruction before call instruction
is replaced by 6-byte one to make room for indirect call. For local
dynamic model, we simply use 5-byte indirect call.
TLS linker optimization is updated to recognize new instruction patterns.
For local dynamic model to local exec model transition, we generate
a 6-byte lea instruction as nop, instead of a 1-byte nop plus a 4-byte
lea instruction. Since linker may convert
call ___tls_get_addr[@PLT]
to
addr32 call ____tls_get_addr
when producing static executable, both patterns are recognized.
bfd/
* elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
(elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
(elf_i386_check_tls_transition): Check indirect call and direct
call with the addr32 prefix for general and local dynamic models.
Set the tls_get_addr feild.
(elf_i386_convert_load_reloc): Always use addr32 prefix for
indirect ___tls_get_addr call via GOT.
(elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
transitions with indirect call and direct call with the addr32
prefix.
ld/
* testsuite/ld-i386/i386.exp: Run libtlspic2.so, tlsbin2,
tlsgd3, tlsld2, tlsgd4, tlspie3a, tlspie3b and tlspie3c.
* testsuite/ld-i386/pass.out: New file.
* testsuite/ld-i386/tls-def1.c: Likewise.
* testsuite/ld-i386/tls-gd1.S: Likewise.
* testsuite/ld-i386/tls-ld1.S: Likewise.
* testsuite/ld-i386/tls-main1.c: Likewise.
* testsuite/ld-i386/tls.exp: Likewise.
* testsuite/ld-i386/tlsbin2-nacl.rd: Likewise.
* testsuite/ld-i386/tlsbin2.dd: Likewise.
* testsuite/ld-i386/tlsbin2.rd: Likewise.
* testsuite/ld-i386/tlsbin2.sd: Likewise.
* testsuite/ld-i386/tlsbin2.td: Likewise.
* testsuite/ld-i386/tlsbinpic2.s: Likewise.
* testsuite/ld-i386/tlsgd3.dd: Likewise.
* testsuite/ld-i386/tlsgd3.s: Likewise.
* testsuite/ld-i386/tlsgd4.d: Likewise.
* testsuite/ld-i386/tlsgd4.s: Likewise.
* testsuite/ld-i386/tlsld2.s: Likewise.
* testsuite/ld-i386/tlspic2-nacl.rd: Likewise.
* testsuite/ld-i386/tlspic2.dd: Likewise.
* testsuite/ld-i386/tlspic2.rd: Likewise.
* testsuite/ld-i386/tlspic2.sd: Likewise.
* testsuite/ld-i386/tlspic2.td: Likewise.
* testsuite/ld-i386/tlspic3.s: Likewise.
* testsuite/ld-i386/tlspie3.s: Likewise.
* testsuite/ld-i386/tlspie3a.d: Likewise.
* testsuite/ld-i386/tlspie3b.d: Likewise.
* testsuite/ld-i386/tlspie3c.d: Likewise.
commit 010bc3ce6c651455e3a27c0857021c228780523c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 10:10:56 2016 -0700
Support any relocation order
* testsuite/ld-x86-64/no-plt-1a.rd: Support any relocation order.
* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1d.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
* testsuite/ld-x86-64/no-plt.exp: Fix a typo.
commit 1f26b7ae3367e144a9dd028fd672039c0a3d6845
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 07:47:07 2016 -0700
Add missing ChangeLog entries
commit d9aee8d5f77e0b1b923e0fb1ad5d8050eb0240b8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 8 04:55:10 2016 -0700
X86-64: Test external function reference without PLT
To call an external function, the direct branch to the PLT entry can be
replaced by an indirect branch via the GOT slot, which is similar to the
first instruction in the PLT slot. Instead using the PLT slot as function
address, the function address is retrieved from the GOT slot. If linker
determines the function is defined locally, it converts indirect branch
via the GOT slot to direct branch with a nop prefix and converts load via
the GOT slot to load immediate or lea,
* testsuite/ld-x86-64/libno-plt-1b.dd: Likewise.
* testsuite/ld-x86-64/libno-plt-1b.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1a.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1a.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1b.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1d.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1d.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.dd: Likewise.
* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
* testsuite/ld-x86-64/no-plt-check1.S: Likewise.
* testsuite/ld-x86-64/no-plt.exp: Likewise.
* testsuite/ld-x86-64/no-plt-extern1.S: Likewise.
* testsuite/ld-x86-64/no-plt-func1.c: Likewise.
* testsuite/ld-x86-64/no-plt-main1.c: Likewise.
commit 33c2b983b4854cf4dbbeefa45506a1812a60328e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 8 00:00:19 2016 +0000
Automatic date update in version.in
commit 3b67f09464f771466473e64d44aa258f832d8b2d
Author: Marcin KoÅcielnicki <koriakin@0x04.net>
Date: Fri Jun 3 16:39:15 2016 +0200
bfd/s390: Misc minor fixes.
The only non-comment fix here is in the code writing out the 3 fixed
.got.plt entries - it mistakenly put a 64-bit 0 at offsets 8 and 12
instead of 8 and 16.
bfd/ChangeLog:
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
* elf64-s390.c (elf_s390x_plt_entry): Fix comment.
(elf_s390_relocate_section): Fix comment.
(elf_s390_finish_dynamic_sections): Fix initialization of fixed
.got.plt entries.
commit 1aec0b6ad6eae1fa97bb1a4a47959ff204aa15a2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue Jun 7 10:02:42 2016 -0400
mi/mi-interp.c: Add missing braces
gdb/ChangeLog:
* mi/mi-interp.c (mi_record_changed): Add missing braces.
commit 1133012c60bf2a6fe66dc5d8d923e03a001e3813
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri May 27 17:53:01 2016 +0100
ld/testsuite/ld-elf/init-fini-arrays.d: Remove `ft32-*-*' xfail
Revert the addition of `ft32-*-*' to this test case made with commit
d1f70bdcab6c ("Fix lots of linker testsuite failures for the FT32
target.") as this case scores an XPASS now.
ld/
* testsuite/ld-elf/init-fini-arrays.d: Remove `ft32-*-*' xfail.
commit 161db2790500827b74ef835ebe515dce04021316
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date: Tue Jun 7 16:45:15 2016 +0200
Fix PLT first entry GOT operand calculation.
Embedding the .plt section in another revealed a bug in the way the
larl operand of the first magic plt entry is being calculated. Fixed
with the attached patch.
bfd/ChangeLog:
* elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
section offset when calculation the larl operand in the first PLT
entry.
ld/ChangeLog:
* testsuite/ld-s390/pltoffset-1.dd: New test.
* testsuite/ld-s390/pltoffset-1.ld: New test.
* testsuite/ld-s390/pltoffset-1.s: New test.
* testsuite/ld-s390/s390.exp: Run new test.
commit 14b57c7c6a53c747a8819fed3da858eae4195a0e
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 7 22:04:38 2016 +0930
PowerPC VLE
VLE is an encoding, not a particular processor architecture, so it
isn't really proper to select insns based on PPC_OPCODE_VLE. For
example
{"evaddw", VX (4, 512), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
{"vaddubs", VX (4, 512), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
shows two insns that have the same encoding, both available with VLE.
Enabling both with VLE means we can't disassemble the second variant
even if -Maltivec is given rather than -Mspe. Also, we don't check
user assembly against the processor type as well as we could.
Another problem is that when using the VLE encoding, insns from the
main ppc opcode table are not available, except those using opcode 4
and 31. Correcting this revealed two errors in the ld testsuite,
use of "nop" and "rfmci" when -mvle.
This patch fixes those problems in the opcode table, and removes
PPCNONE. I find a plain 0 distracts less from other values.
In addition, I've implemented code to recognize some machine values
from the apuinfo note present in ppc32 objects. It's not a complete
disambiguation since we're lacking info to detect newer chips, but
what we have should help with disassembly.
include/
* elf/ppc.h (APUINFO_SECTION_NAME, APUINFO_LABEL, PPC_APUINFO_ISEL,
PPC_APUINFO_PMR, PPC_APUINFO_RFMCI, PPC_APUINFO_CACHELCK,
PPC_APUINFO_SPE, PPC_APUINFO_EFS, PPC_APUINFO_BRLOCK,
PPC_APUINFO_VLE: Define.
opcodes/
* ppc-dis.c (ppc_opts): Delete extraneous parentheses. Default
cpu for "vle" to e500.
* ppc-opc.c (ALLOW8_SPRG): Remove PPC_OPCODE_VLE.
(NO371, PPCSPE, PPCISEL, PPCEFS, MULHW, DCBT_EO): Likewise.
(PPCNONE): Delete, substitute throughout.
(powerpc_opcodes): Remove PPCVLE from "flags". Add to "deprecated"
except for major opcode 4 and 31.
(vle_opcodes <se_rfmci>): Add PPCRFMCI to flags.
bfd/
* cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
to match other 32-bit archs.
* elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
(ppc_elf_object_p): Call it.
(ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
overlong line.
(APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
* elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
* bfd-in.h (_bfd_elf_ppc_at_tls_transform,
_bfd_elf_ppc_at_tprel_transform): Move to..
* elf-bfd.h: ..here.
(_bfd_elf_ppc_set_arch): Declare.
* bfd-in2.h: Regenerate.
gas/
* config/tc-ppc.c (PPC_APUINFO_ISEL, PPC_APUINFO_PMR,
PPC_APUINFO_RFMCI, PPC_APUINFO_CACHELCK, PPC_APUINFO_SPE,
PPC_APUINFO_EFS, PPC_APUINFO_BRLOCK, PPC_APUINFO_VLE): Don't define.
(ppc_setup_opcodes): Check vle disables powerpc_opcodes overridden
by vle_opcodes, and that vle flag doesn't enable opcodes. Don't
add vle_opcodes twice.
(ppc_cleanup): Use APUINFO_SECTION_NAME and APUINFO_LABEL.
ld/
* testsuite/ld-powerpc/apuinfo1.s: Delete nop.
* testsuite/ld-powerpc/apuinfo-vle2.s: New.
* testsuite/ld-powerpc/powerpc.exp: Use apuinfo-vle2.s.
commit 2091da296fd563f62d856dcb5a049a63484ed65e
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Tue Jun 7 13:36:05 2016 +0200
Frame static link: Handle null pointer.
2016-06-07 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* findvar.c (follow_static_link): Check for valid pointer.
commit 4d1464f294405a064d84e3d4f15c1ceff3639add
Author: Matthew Wahab <matthew.wahab@arm.com>
Date: Tue Jun 7 09:56:42 2016 +0100
[ARM] Add command line option for RAS extension.
This patch adds the architecture extension "+ras" to enable RAS
support. It is enabled by default for -march=armv8.2-a and available but
disabled by default for armv8-a and armv8.1-a.
gas/
* config/tc-arm.c (arm_ext_v8_2): Rename to arm_ext_ras.
(arm_ext_ras): Renamed from arm_ext_v8_2.
(insns): Update for arm_ext_v8_2 renaming.
(arm_extensions): Add "ras".
* doc/c-arm.texi (ARM Options): Add an entry for "ras".
* testsuite/gas/arm/armv8-a+ras.d: New.
* testsuite/gas/arm/armv8_2-a.d: Add explicit command line
options.
include/
* opcode/arm.h (ARM_EXT2_RAS): New. Also align preceding
entries.
(ARM_AEXT_V8_2A): Add ARM_EXT2_RAS.
opcodes/
* arm-dis.c (arm_opcodes): Replace ARM_EXT_V8_2A with
ARM_EXT_RAS in relevant entries.
commit e5f5f1fc4982db8f1d4859b91a4caf4caef2e127
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 7 00:00:16 2016 +0000
Automatic date update in version.in
commit 38b022b4452f996fb5a8598f80d850b594621bcf
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon May 30 17:29:39 2016 -0400
Add method/format information to =record-started
Eclipse CDT now supports enabling execution recording using two methods
(full and btrace) and both formats for btrace (bts and pt). In the
event that recording is enabled behind the back of the GUI (by the user
on the command line, or a script), we need to know which method/format
are being used, so it can be correctly reflected in the interface. This
patch adds this information to the =record-started async record.
Before:
=record-started,thread-group="i1"
After:
=record-started,thread-group="i1",method="btrace",format="bts"
=record-started,thread-group="i1",method="btrace",format="pt"
=record-started,thread-group="i1",method="full"
The "format" field is only present when the current method supports
multiple formats (only the btrace method as of now).
gdb/ChangeLog:
* NEWS: Mention the new fields in =record-started.
* common/btrace-common.h (btrace_format_short_string): New function
declaration.
* common/btrace-common.c (btrace_format_short_string): New
function.
* mi/mi-interp.c (mi_record_changed): Output method and format
fields in the =record-started record.
* record-btrace.c (record_btrace_open): Adapt record_changed
notification.
* record-full.c (record_full_open): Likewise.
* record.c (cmd_record_stop): Likewise.
gdb/doc/ChangeLog:
* gdb.texinfo (GDB/MI Async Records): Document method and
format fields in =record-started.
* observer.texi (record_changed): Add method and format
parameters.
gdb/testsuite/ChangeLog:
* gdb.mi/mi-record-changed.exp: Adjust =record-started output
matching.
commit e2cbcd9156d1606a9f2153aecd93a89fe6e29180
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 6 11:06:55 2016 -0700
Support x86-64 TLS code sequences without PLT
We can generate x86-64 TLS code sequences for general and local dynamic
models without PLT, which uses indirect call via GOT:
call *__tls_get_addr@GOTPCREL(%rip)
instead of direct call:
call __tls_get_addr[@PLT]
Since direct call is 4-byte long and indirect call, is 5-byte long, the
extra one byte must be handled properly.
For general dynamic model, one 0x66 prefix before call instruction is
removed to make room for indirect call. For local dynamic model, we
simply use 5-byte indirect call.
TLS linker optimization is updated to recognize new instruction patterns.
For local dynamic model to local exec model transition, we generate
4 0x66 prefixes, instead of 3, before mov instruction in 64-bit and
generate a 5-byte nop, instead of 4-byte, before mov instruction in
32-bit. Since linker may convert
call *__tls_get_addr@GOTPCREL(%rip)
to
addr32 call __tls_get_addr
when producing static executable, both patterns are recognized.
bfd/
* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
(elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
(elf_x86_64_check_tls_transition): Check indirect call and
direct call with the addr32 prefix for general and local dynamic
models. Set the tls_get_addr feild.
(elf_x86_64_convert_load_reloc): Always use addr32 prefix for
indirect __tls_get_addr call via GOT.
(elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
transitions with indirect call and direct call with the addr32
prefix.
ld/
* testsuite/ld-x86-64/pass.out: New file.
* testsuite/ld-x86-64/tls-def1.c: Likewise.
* testsuite/ld-x86-64/tls-gd1.S: Likewise.
* testsuite/ld-x86-64/tls-ld1.S: Likewise.
* testsuite/ld-x86-64/tls-main1.c: Likewise.
* testsuite/ld-x86-64/tls.exp: Likewise.
* testsuite/ld-x86-64/tlsbin2-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsbin2.dd: Likewise.
* testsuite/ld-x86-64/tlsbin2.rd: Likewise.
* testsuite/ld-x86-64/tlsbin2.sd: Likewise.
* testsuite/ld-x86-64/tlsbin2.td: Likewise.
* testsuite/ld-x86-64/tlsbinpic2.s: Likewise.
* testsuite/ld-x86-64/tlsgd10.dd: Likewise.
* testsuite/ld-x86-64/tlsgd10.s: Likewise.
* testsuite/ld-x86-64/tlsgd11.dd: Likewise.
* testsuite/ld-x86-64/tlsgd11.s: Likewise.
* testsuite/ld-x86-64/tlsgd12.d: Likewise.
* testsuite/ld-x86-64/tlsgd12.s: Likewise.
* testsuite/ld-x86-64/tlsgd13.d: Likewise.
* testsuite/ld-x86-64/tlsgd13.s: Likewise.
* testsuite/ld-x86-64/tlsgd14.dd: Likewise.
* testsuite/ld-x86-64/tlsgd14.s: Likewise.
* testsuite/ld-x86-64/tlsgd5c.s: Likewise.
* testsuite/ld-x86-64/tlsgd6c.s: Likewise.
* testsuite/ld-x86-64/tlsgd9.dd: Likewise.
* testsuite/ld-x86-64/tlsgd9.s: Likewise.
* testsuite/ld-x86-64/tlsld4.dd: Likewise.
* testsuite/ld-x86-64/tlsld4.s: Likewise.
* testsuite/ld-x86-64/tlsld5.dd: Likewise.
* testsuite/ld-x86-64/tlsld5.s: Likewise.
* testsuite/ld-x86-64/tlsld6.dd: Likewise.
* testsuite/ld-x86-64/tlsld6.s: Likewise.
* testsuite/ld-x86-64/tlspic2-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlspic2.dd: Likewise.
* testsuite/ld-x86-64/tlspic2.rd: Likewise.
* testsuite/ld-x86-64/tlspic2.sd: Likewise.
* testsuite/ld-x86-64/tlspic2.td: Likewise.
* testsuite/ld-x86-64/tlspic3.s: Likewise.
* testsuite/ld-x86-64/tlspie2.s: Likewise.
* testsuite/ld-x86-64/tlspie2a.d: Likewise.
* testsuite/ld-x86-64/tlspie2b.d: Likewise.
* testsuite/ld-x86-64/tlspie2c.d: Likewise.
* testsuite/ld-x86-64/tlsgd5.dd: Updated.
* testsuite/ld-x86-64/tlsgd6.dd: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run libtlspic2.so, tlsbin2,
tlsgd5b, tlsgd6b, tlsld4, tlsld5, tlsld6, tlsgd9, tlsgd10,
tlsgd11, tlsgd14, tlsgd12, tlsgd13, tlspie2a, tlspie2b and
tlspie2c.
commit 67cb102be0846384ebe3c17ca19669deee2cdda8
Author: Christian Groessler <chris@groessler.org>
Date: Mon Jun 6 09:47:25 2016 +0200
2016-06-06 Christian Groessler <chris@groessler.org>
* ChangeLog: Fix entry from 2016-06-04.
commit 852a1d494228a2042f11426eb2fa681c4d27418a
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Tue May 24 08:59:35 2016 -0400
fixup another old style function definition
gas/ChangeLog:
2016-06-05 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* itbl-parse.y (yyerror): Use modern argument declaration style.
commit c4212e111cdd46d3b7da8b60c5adf39b8654e3c6
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 28 22:31:07 2016 -0400
sh{,64}: make arg type enum
The values are always members of the enum, except the two places -1 is assigned
only to playcate -Wuninitialized because gcc isn't or at least didn't used to
be smart enough to figure out its only used if it was set.
gas/ChangeLog:
2016-06-05 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-sh.c (parse_reg): Change type of mode argument to
sh_arg_type.
(get_operand): Adjust.
(insert): Change type of how to bfd_reloc_code_real_type.
(insert4): Likewise.
* config/tc-sh64.c (shmedia_get_operand): Adjust.
(shmedia_parse_reg): Change type of mode to shmedia_arg_type.
commit b5966800eaa13f4b886f94fed01a7fdfac2b3965
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 6 00:00:15 2016 +0000
Automatic date update in version.in
commit 73a229c755847ada2425c767ce15c40cc5801b6b
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 28 17:57:44 2016 -0400
nds32: constify ptr_arg
it points to the result of strchr on a const char *, so it aliases
something that is const. Further its only passed to a function that expects a
const char *, so there's no reason for it to not be const.
gas/ChangeLog:
2016-06-05 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-nds32.c (nds32_parse_option): Make the type of ptr_arg
const char *.
commit 1704fca7dab2f0c1d64ccdade61275de4ef41e94
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 5 00:00:19 2016 +0000
Automatic date update in version.in
commit a8067ea8594da345428ec9cf428a3a847ef4f98d
Author: Christian Groessler <chris@groessler.org>
Date: Sat Jun 4 22:39:46 2016 +0200
ld/testsuite/ld-z8k/test-ld.sh: Remove. Checked in by mistake.
commit 2ac27cd3c16ad828f96991f8f7b83a4bc10cae6c
Author: Christian Groessler <chris@groessler.org>
Date: Sat Jun 4 22:15:52 2016 +0200
Add z8k ld testsuite and fix range check in coff-z8k.c
bfd/
* coff-z8k.c (extra_case): Fix range check for R_JR relocation.
ld/
* ld/testsuite/ld-z8k/0filler.s: New file.
* ld/testsuite/ld-z8k/branch-target.s: New file.
* ld/testsuite/ld-z8k/branch-target2.s: New file.
* ld/testsuite/ld-z8k/calr-back-8001.d: New file.
* ld/testsuite/ld-z8k/calr-back-8002.d: New file.
* ld/testsuite/ld-z8k/calr-back-fail-8001.d: New file.
* ld/testsuite/ld-z8k/calr-back-fail-8002.d: New file.
* ld/testsuite/ld-z8k/calr-forw-8001.d: New file.
* ld/testsuite/ld-z8k/calr-forw-8002.d: New file.
* ld/testsuite/ld-z8k/calr-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/calr-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/calr-opcode.s: New file.
* ld/testsuite/ld-z8k/dbjnz-forw-8001.d: New file.
* ld/testsuite/ld-z8k/dbjnz-forw-8002.d: New file.
* ld/testsuite/ld-z8k/dbjnz-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/dbjnz-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/dbjnz-opcode.s: New file.
* ld/testsuite/ld-z8k/djnz-back-8001.d: New file.
* ld/testsuite/ld-z8k/djnz-back-8002.d: New file.
* ld/testsuite/ld-z8k/djnz-back-fail-8001.d: New file.
* ld/testsuite/ld-z8k/djnz-back-fail-8002.d: New file.
* ld/testsuite/ld-z8k/djnz-forw-8001.d: New file.
* ld/testsuite/ld-z8k/djnz-forw-8002.d: New file.
* ld/testsuite/ld-z8k/djnz-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/djnz-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/djnz-opcode.s: New file.
* ld/testsuite/ld-z8k/filler.s: New file.
* ld/testsuite/ld-z8k/jr-back-8001.d: New file.
* ld/testsuite/ld-z8k/jr-back-8002.d: New file.
* ld/testsuite/ld-z8k/jr-back-fail-8001.d: New file.
* ld/testsuite/ld-z8k/jr-back-fail-8002.d: New file.
* ld/testsuite/ld-z8k/jr-forw-8001.d: New file.
* ld/testsuite/ld-z8k/jr-forw-8002.d: New file.
* ld/testsuite/ld-z8k/jr-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/jr-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/jr-opcode.s: New file.
* ld/testsuite/ld-z8k/ldr-back-8001.d: New file.
* ld/testsuite/ld-z8k/ldr-back-8002.d: New file.
* ld/testsuite/ld-z8k/ldr-back-fail-8001.d: New file.
* ld/testsuite/ld-z8k/ldr-back-fail-8002.d: New file.
* ld/testsuite/ld-z8k/ldr-forw-8001.d: New file.
* ld/testsuite/ld-z8k/ldr-forw-8002.d: New file.
* ld/testsuite/ld-z8k/ldr-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/ldr-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/ldr-opcode.s: New file.
* ld/testsuite/ld-z8k/ldrb-forw-8001.d: New file.
* ld/testsuite/ld-z8k/ldrb-forw-8002.d: New file.
* ld/testsuite/ld-z8k/ldrb-forw-fail-8001.d: New file.
* ld/testsuite/ld-z8k/ldrb-forw-fail-8002.d: New file.
* ld/testsuite/ld-z8k/ldrb-opcode.s: New file.
* ld/testsuite/ld-z8k/ldrb-opcode2.s: New file.
* ld/testsuite/ld-z8k/other-file.s: New file.
* ld/testsuite/ld-z8k/reloc.dd: New file.
* ld/testsuite/ld-z8k/reloc.ld: New file.
* ld/testsuite/ld-z8k/relocseg.dd: New file.
* ld/testsuite/ld-z8k/relocseg.ld: New file.
* ld/testsuite/ld-z8k/relocseg1.dd: New file.
* ld/testsuite/ld-z8k/test-ld.sh: New file.
* ld/testsuite/ld-z8k/this-file.s: New file.
* ld/testsuite/ld-z8k/z8k.exp: New file.
commit de3da6457440a16311c7972e673a3c33e9621763
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 4 00:00:18 2016 +0000
Automatic date update in version.in
commit 026122a670440bc51266f8e013e5c5877c19b54e
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Fri Jun 3 18:38:02 2016 -0500
Re-add support for lbarx, lharx, stbcx. and sthcx. insns back to the E6500 cpu.
opcodes/
PR binutils/20196
* ppc-opc.c (powerpc_opcodes <lbarx, lharx, stbcx., sthcx.>): Enable
opcodes for E6500.
gas/
PR binutils/20196
* gas/testsuite/gas/ppc/e6500.s <lbarx, lharx, lwarx, ldarx,
stbcx., sthcx., stwcx., stdcx.>: Add tests.
* gas/testsuite/gas/ppc/e6500.d: Likewise.
* gas/testsuite/gas/ppc/power8.s: Likewise.
* gas/testsuite/gas/ppc/power8.d: Likewise.
* gas/testsuite/gas/ppc/power4.s <lwarx, ldarx, stwcx.,
stdcx.>: Add tests.
* gas/testsuite/gas/ppc/power4.d: Likewise.
commit 07f5af7d3c635234284e7a0f7dd7a410b1628b8b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Jun 3 15:55:29 2016 -0700
Handle indirect branches for AMD64 and Intel64
AMD64 spec and Intel64 spec differ in indirect branches in 64-bit mode.
AMD64 supports indirect branches with 16-bit address via the data size
prefix while the data size prefix is ignored by Intel64.
gas/
PR binutis/18386
* testsuite/gas/i386/i386.exp: Run x86-64-branch-4.
* testsuite/gas/i386/x86-64-branch.d: Updated.
* testsuite/gas/i386/ilp32/x86-64-branch.d: Likewise.
* testsuite/gas/i386/x86-64-branch-4.l: New file.
* testsuite/gas/i386/x86-64-branch-4.s: Likewise.
opcodes/
PR binutis/18386
* i386-dis.c (indirEv): Replace stack_v_mode with indir_v_mode.
(indir_v_mode): New.
Add comments for '&'.
(reg_table): Replace "{T|}" with "{&|}" on call and jmp.
(putop): Handle '&'.
(intel_operand_size): Handle indir_v_mode.
(OP_E_register): Likewise.
* i386-opc.tbl: Mark 64-bit indirect call/jmp as AMD64. Add
64-bit indirect call/jmp for AMD64.
* i386-tbl.h: Regenerated
commit 1aa70332cab048c3a7bb6dd7dc8b7a1b686ea657
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri Jun 3 16:59:24 2016 +0100
[AArch64][gas] Add support for Cortex-A73
* config/tc-aarch64.c (aarch64_cpus): Add cortex-a73 entry.
* doc/c-aarch64.texi (-mcpu): Document cortex-a73 value.
commit 362a3ebacae32b55b4d86dca0b9f5a5cdfcad2ad
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri Jun 3 16:58:21 2016 +0100
[ARM][gas] Add support for Cortex-A73
* config/tc-arm.c (arm_cpus): Add cortex-a73 entry.
* doc/c-arm.texi (-mcpu=): Document cortex-a73 value.
commit 0ae534d2cfef358bcde3166ce3a29faf85bc632a
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Thu Jun 2 13:34:10 2016 +0000
Fix C++ build for Cygwin
gdb/ChangeLog:
2016-06-02 Jon Turney <jon.turney@dronecode.org.uk>
* windows-nat.c (handle_output_debug_string): Return type of
gdb_signal_from_host() is gdb_signal, not an int.
(windows_get_exec_module_filename): Add pointer casts for C++.
gdb/gdbserver/ChangeLog:
2016-06-02 Jon Turney <jon.turney@dronecode.org.uk>
* win32-low.c (win32_create_inferior): Add pointer casts for C++.
commit b1058ce98878654d8c19b7b6741d84615795b9a1
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Jun 3 04:10:11 2016 -0700
Update x86 linker tests for --disable-x86-relax-relocations
Pass -mrelax-relocations=yes to x86 linker tests, which require relax
relocations, to support --disable-x86-relax-relocations.
* testsuite/ld-i386/i386.exp: Assemble gotpc1.o and pr19319b.o
with -mrelax-relocations=yes.
* testsuite/ld-i386/lea1a.d (as): Add -mrelax-relocations=yes.
* testsuite/ld-i386/lea1b.d (as): Likewise.
* testsuite/ld-i386/lea1d.d (as): Likewise.
* testsuite/ld-i386/lea1e.d (as): Likewise.
* testsuite/ld-i386/lea1f.d (as): Likewise.
* testsuite/ld-i386/load7.d (as): Likewise.
* testsuite/ld-i386/mov1b.d (as): Likewise.
* testsuite/ld-i386/pr19175.d (as): Likewise.
* testsuite/ld-ifunc/ifunc-13-i386.d (as): Likewise.
* testsuite/ld-ifunc/ifunc-21-i386.d (as): Likewise.
* testsuite/ld-ifunc/ifunc-22-i386.d (as): Likewise.
* testsuite/ld-x86-64/x86-64.exp: Assemble gotpcrel1a.o,
gotpcrel1b.o and gotpcrel1c.o with -mrelax-relocations=yes.
commit e94321588dab8a50728b5c625f0045b4d1e732a3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 3 00:00:18 2016 +0000
Automatic date update in version.in
commit 1b40ec0559f4b24ccdf6b073610c526c4aa33c4d
Author: Tom Tromey <tom@tromey.com>
Date: Sat Sep 19 17:45:47 2015 -0600
Fix PR python/18984
This fixes PR python/18984.
The bug is that gdbpy_solib_name uses GDB_PY_LL_ARG, whereas it should
use GDB_PY_LLU_ARG to avoid overflow.
Built and tested on x86-64 Fedora 23.
2016-06-02 Tom Tromey <tom@tromey.com>
PR python/18984:
* python/python.c (gdbpy_solib_name): Use GDB_PY_LLU_ARG.
2016-06-02 Tom Tromey <tom@tromey.com>
PR python/18984:
* gdb.python/py-shared.exp: Add solib_name test.
commit 99914dfd71d74bc700bb6d15647895ac0c8cc8e1
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jun 2 17:17:03 2016 +0100
Add "arm_any" architecture type to allow -m option to various binutils to match any ARM architecture.
PR target/20088
* cpu-arm.c (processors): Add "arm_any" type to match any ARM
architecture.
(arch_info_struct): Likewise.
(architectures): Likewise.
commit c09ec62dde0fa128994402ddb09c3d0dfcd35e40
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jun 2 16:32:45 2016 +0100
Also check that the group header's sh_info field is valid.
PR 20089
* objcopy.c (group_signature): Fail if the input symbol table has
not been loaded, or if the sh_info field of the group header is 0.
commit bcc3a8bca12aa077e6d40880f2d41f05864d4798
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jun 2 16:20:27 2016 +0100
Fix a seg-fault when stripping a corrupt binary.
PR 20089
* objcopy.c (group_signature): Fail if the input symbol table has
not been loaded.
commit 193bd37899bc7e301b195929bc7e335bea03d4e4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu Jun 2 10:05:59 2016 -0400
mi-memory-changed.exp: Fix filename passed to untested
gdb/testsuite/ChangeLog:
* gdb.mi/mi-memory-changed.exp: Fix filename passed to untested.
commit 4ad0bb5f3a5b2d03079819cf419b174a762c2d52
Author: Vineet Gupta <Vineet.Gupta1@synopsys.com>
Date: Thu Jun 2 15:03:47 2016 +0100
Allow ARC Linux targets that do not use uclibc.
bfd * config.bfd: Replace -uclibc with *.
gas * configure.tgt: Replace -uclibc with *.
ld * configure.tgt: Replace -uclibc with *.
commit 3ddf1bdd423a127564d5d13cabde8863431576a3
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 2 06:50:45 2016 -0700
Replace data32 with data16 in comments
The 0x66 prefix is data16, not data32 in 64-bit.
* elf64-x86-64.c: Replace data32 with data16 in comments.
commit 4eb6f892502bad1ec4e1828d0140959bb004a3b6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jun 2 14:03:23 2016 +0100
Add support for 48 and 64 bit ARC instructions.
gas * config/tc-arc.c (parse_opcode_flags): New function.
(find_opcode_match): Move flag parsing code out to new function.
Ignore operands marked IGNORE.
(build_fake_opcode_hash_entry): New function.
(find_special_case_long_opcode): New function.
(find_special_case): Lookup long opcodes.
* testsuite/gas/arc/nps400-7.d: New file.
* testsuite/gas/arc/nps400-7.s: New file.
include * opcode/arc.h (MAX_INSN_ARGS): Increase to 16.
(struct arc_long_opcode): New structure.
(arc_long_opcodes): Declare.
(arc_num_long_opcodes): Declare.
opcodes * arc-dis.c (struct arc_operand_iterator): New structure.
(find_format_from_table): All the old content from find_format,
with some minor adjustments, and parameter renaming.
(find_format_long_instructions): New function.
(find_format): Rewritten.
(arc_insn_length): Add LSB parameter.
(extract_operand_value): New function.
(operand_iterator_next): New function.
(print_insn_arc): Use new functions to find opcode, and iterator
over operands.
* arc-opc.c (insert_nps_3bit_dst_short): New function.
(extract_nps_3bit_dst_short): New function.
(insert_nps_3bit_src2_short): New function.
(extract_nps_3bit_src2_short): New function.
(insert_nps_bitop1_size): New function.
(extract_nps_bitop1_size): New function.
(insert_nps_bitop2_size): New function.
(extract_nps_bitop2_size): New function.
(insert_nps_bitop_mod4_msb): New function.
(extract_nps_bitop_mod4_msb): New function.
(insert_nps_bitop_mod4_lsb): New function.
(extract_nps_bitop_mod4_lsb): New function.
(insert_nps_bitop_dst_pos3_pos4): New function.
(extract_nps_bitop_dst_pos3_pos4): New function.
(insert_nps_bitop_ins_ext): New function.
(extract_nps_bitop_ins_ext): New function.
(arc_operands): Add new operands.
(arc_long_opcodes): New global array.
(arc_num_long_opcodes): New global.
* arc-nps400-tbl.h: Add comments referencing arc_long_opcodes.
commit 5b6312fd20ef39f1531e37e7d2601c54d5658119
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jun 2 11:34:49 2016 +0100
Fix a bug displaying the interpretation of a CFA block that just contains DW_CFA_NOP instructions.
* dwarf.c (display_debug_frames): Do not display any
interpretation if the block consists solely of DW__CFA_NOPs.
commit 5b677558bc6c7b2477bb33c709e6017e68e7ae8c
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 30 09:43:44 2016 +0930
Revert PR16467 change
This reverts the pr16467 change, which was incorrect due to faulty
analysis of the pr16467 testcase. The failure was not due to a
mismatch in symbol type (ifunc/non-ifunc) but due to a symbol loop
being set up.
See https://sourceware.org/ml/binutils/2016-06/msg00013.html for some
rambling on versioned symbols and ELF shared library symbol overriding
that explain this patch.
bfd/
PR ld/20159
PR ld/16467
* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
(_bfd_elf_add_default_symbol): Don't indirect to/from defined
symbol given a version by a script different to the version
of the symbol being added.
(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
_bfd_elf_strtab_restore. Don't fudge dynstr references.
* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
(struct strtab_save): New.
(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
commit c273521c9aad56a596202dfaedc54182cf5543eb
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun May 29 01:04:01 2016 -0400
ns32k: remove dupplicate definition of input_line_pointer
gas/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-ns32k.c: Remove definition of input_line_pointer.
commit 1fe0971e41a4097610862acabf54a896695fe834
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun May 29 04:29:22 2016 -0400
add more extern C
opcodes/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* nds32-asm.h: Add extern "C".
* sh-opc.h: Likewise.
bfd/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf32-hppa.h: Add extern "C".
* elf32-nds32.h: Likewise.
* elf32-tic6x.h: Likewise.
include/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf/mips.h: Likewise.
* elf/sh.h: Likewise.
* opcode/d10v.h: Likewise.
* opcode/d30v.h: Likewise.
* opcode/ia64.h: Likewise.
* opcode/mips.h: Likewise.
* opcode/ppc.h: Likewise.
* opcode/sparc.h: Likewise.
* opcode/tic6x.h: Likewise.
* opcode/v850.h: Likewise.
commit 814f1489e9d1d92a30d94d69a0066addcc564bd2
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri May 13 02:51:41 2016 -0400
avr: replace sentinal with iteration from 0 to ARRAY_SIZE
This seems a little easier to understand than using a sentinal, and will
hopefully let the compiler optimize the loop better. It also has the effect
that we stop initializing a field of the sentinal that is an enum with zero.
gas/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-avr.c (avr_parse_cons_expression): Replace iteration to
sentinal with iteration to array size.
commit d05584d3eeab4cb1c1d85d8dfdfef56827e03b3d
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon Mar 28 05:42:02 2016 -0400
xtensa: typedef enums when defining them
I think this is the more typical way to do this. Its also slightly shorter and
less repeditive.
gas/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/xtensa-relax.h: Move typedefs of enums to the enums
definition.
commit 5e429f4cdcf2e0bf12309c843ffb3b2619bcb287
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun May 29 01:04:15 2016 -0400
ns32k: use XOBNEW in another spot
gas/ChangeLog:
2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-ns32k.c (bit_fix_new): Replace obstack-alloc with XOBNEW
macro.
commit 65ce606bc4e69aee57c5624c855b718f71daacf7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 2 00:00:19 2016 +0000
Automatic date update in version.in
commit 885a10879eea3cf7ccbb324109a56f0bc391dcfa
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 1 16:51:55 2016 +0100
Add new Serbian translation for the bfd library.
* po/sr.po: New Serbian translation.
* configure.ac (ALL_LINGUAS): Add sr.
* configure: Regenerate.
commit bb7c96deb1a14ef7e8b51d5339a65a8064515c78
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jun 1 16:34:49 2016 +0100
gdb/remote-fileio.c: Eliminate custom SIGINT signal handler
... and fix Ctrl-C races.
The current remote-fileio.c SIGINT/EINTR code can lose Ctrl-C --
there's a period where SIG_IGN is installed as signal handler, for
example.
Since:
- remote.c no longer installs a custom SIGINT handler;
- The current remote-fileio.c SIGINT handler is basically the same as
the default SIGINT handler (event-top.c:handle_sigint), in
principle, except that instead of setting the quit flag, it sets a
separate flag.
I think we should be able to completely remove the remote-fileio.c
SIGINT handler, and centralize on the quit flag, thus fixing the
Ctrl-C race.
gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* remote-fileio.c (remote_fio_ctrl_c_flag, remote_fio_sa)
(remote_fio_osa)
(remote_fio_ofunc, remote_fileio_sig_init, remote_fileio_sig_set)
(remote_fileio_sig_exit, remote_fileio_ctrl_c_signal_handler):
Delete.
(remote_fileio_o_quit_handler): New global.
(remote_fileio_quit_handler): New function.
(remote_fileio_reply): Check the quit flag instead of the custom
'remote_fio_ctrl_c_flag' flag. Restore the quit handler instead
of changing the SIGINT handler.
(do_remote_fileio_request): Override the quit handler instead of
changing the SIGINT handler.
commit 315f180f2f0a59af561180e4ed9387f4c7bada78
Author: Graham Markall <graham.markall@embecosm.com>
Date: Wed Jun 1 16:29:27 2016 +0100
Add support for some variants of the ARC nps400 rflt instruction.
gas * testsuite/gas/arc/nps-400-1.s: Add rflt variants with
operands of types a,b,u6, 0,b,u6, and 0,b,limm.
* testsuite/gas/arc/nps-400-1.d: Likewise.
opcodes * arc-nps400-tbl.h: Add operands a,b,u6, 0,b,u6, and
0,b,limm to the rflt instruction.
commit 51403f74d96cc69f391fbd31389a9153a230b431
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 1 11:44:08 2016 +0100
Add xmalloc_failed() function to common-utils.c in to avoid the need to link in libiberty's xmalloc code.
commit e3b5daf9f735999259c5a8f68b422850c59897e5
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Tue May 31 09:03:15 2016 +0200
infcmd, btrace: fix crash in 'finish' for tailcall-only frames
Patch 7eb895307f53 Skip unwritable frames in command "finish"
skips non-writable frames in addition to tailcall frames.
If skip_tailcall_frames already returns NULL, skip_unwritable_frames
will be called with a NULL frame and crash in get_frame_arch. This is
caught by gdb.btrace/tailcall-only.exp.
Further, if we ever end up with a mixture of tailcall and non-writable
frames, we may not skip all of them, as intended.
Loop over skip_tailcall_frames and skip_unwritable_frames as long as at least
one of them makes progress.
gdb/
* infcmd.c (skip_finish_frames): New.
(finish_command): Call skip_finish_frames.
commit 03d73f1fd9d89d89bdd021cad26693e4f6abc07a
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Jun 1 09:33:40 2016 +0100
Wake up interruptible_select in remote_fileio ctrl-c handler
As reported in PR 19998, after type ctrl-c, GDB hang there and does
not send interrupt. It causes a fail in gdb.base/interrupt.exp.
All targets support remote fileio should be affected.
When we type ctrc-c, SIGINT is handled by remote_fileio_sig_set,
as shown below,
#0 remote_fileio_sig_set (sigint_func=0x4495d0 <remote_fileio_ctrl_c_signal_handler(int)>) at /home/yao/SourceCode/gnu/gdb/git/gdb/remote-fileio.c:325
#1 0x00000000004495de in remote_fileio_ctrl_c_signal_handler (signo=<optimised out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/remote-fileio.c:349
#2 <signal handler called>
#3 0x00007ffff647ed83 in __select_nocancel () at ../sysdeps/unix/syscall-template.S:81
#4 0x00000000005530ce in interruptible_select (n=10, readfds=readfds@entry=0x7fffffffd730, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0,
timeout=timeout@entry=0x0) at /home/yao/SourceCode/gnu/gdb/git/gdb/event-top.c:1017
#5 0x000000000061ab20 in stdio_file_read (file=<optimised out>, buf=0x12d02e0 "\n\022-\001", length_buf=16383)
at /home/yao/SourceCode/gnu/gdb/git/gdb/ui-file.c:577
#6 0x000000000044a4dc in remote_fileio_func_read (buf=0x12c0360 "") at /home/yao/SourceCode/gnu/gdb/git/gdb/remote-fileio.c:583
#7 0x0000000000449598 in do_remote_fileio_request (uiout=<optimised out>, buf_arg=buf_arg@entry=0x12c0340)
at /home/yao/SourceCode/gnu/gdb/git/gdb/remote-fileio.c:1179
we don't set quit_serial_event,
do
{
res = gdb_select (n, readfds, writefds, exceptfds, timeout);
}
while (res == -1 && errno == EINTR);
if (res == 1 && FD_ISSET (fd, readfds))
{
errno = EINTR;
return -1;
}
return res;
we can't go out of the loop above, and that is why GDB can't send
interrupt.
Recently, we stop throwing exception from SIGINT handler
(remote_fileio_ctrl_c_signal_handler)
https://sourceware.org/ml/gdb-patches/2016-03/msg00372.html, which
is correct, because gdb_select is interruptible. However, in the
same patch series, we add interruptible_select later as a wrapper
to gdb_select, https://sourceware.org/ml/gdb-patches/2016-03/msg00375.html
and it is not interruptible (because of the loop in it) unless
select/poll-able file descriptors are marked.
This fix in this patch is to call quit_serial_event_set, so that we can
go out of the loop above, return -1 and set errno to EINTR.
2016-06-01 Yao Qi <yao.qi@linaro.org>
PR remote/19998
* remote-fileio.c (remote_fileio_ctrl_c_signal_handler): Call
quit_serial_event_set.
commit a2b5fccc630a7cb7e1c241e5249bf6e8917d917d
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 28 20:29:54 2016 -0400
sh: make constant unsigned to avoid narrowing
Shifting into the sign bit of a 32 bit int and then converting to a unsigned
type is less straight forward than just shifting an unsigned value.
opcodes/ChangeLog:
2016-05-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* sh-opc.h (ARCH_SH_HAS_DSP): Make the shifted value an unsigned
constant.
commit c799dec78a78240678e591bb7b849c071bc814af
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue May 31 17:49:49 2016 -0700
Document the GDB 7.11.1 release in gdb/ChangeLog
gdb/ChangeLog:
GDB 7.11.1 released.
commit 75c039be62179ff617818249ff1b50547b089d19
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 1 00:00:18 2016 +0000
Automatic date update in version.in
commit 3326303bf5ae4c92f2fbbff387ce231a16c1c8bf
Author: Martin Galvan <martin.galvan@tallertechnologies.com>
Date: Tue May 31 15:54:01 2016 -0300
[PR gdb/19893] Fix handling of synthetic C++ references
https://sourceware.org/bugzilla/show_bug.cgi?id=19893
I've traced the main source of the problem to pieced_value_funcs.coerce_ref not being
implemented. Since gdb always assumes references are implemented as pointers, this
causes it to think that it's dealing with a NULL pointer, thus breaking any operations
involving synthetic references.
What I did here was implementing pieced_value_funcs.coerce_ref using some of the synthetic
pointer handling code from indirect_pieced_value, as Pedro suggested. I also made a few
adjustments to the reference printing code so that it correctly shows either the address
of the referenced value or (if it's non-addressable) the "<synthetic pointer>" string.
I also wrote some unit tests based on Dwarf::assemble; these took a while to make
because in most cases I needed a synthetic reference to a physical variable. Additionally,
I started working on a unit test for classes that have a vtable, but ran into a few issues
so that'll probably go in a future patch. One thing that should definitely be fixed is that
proc function_range (called for MACRO_AT_func) will always try to compile/link using gcc
with the default options instead of g++, thus breaking C++ compilations that require e.g. libstdc++.
gdb/ChangeLog:
* dwarf2loc.c (coerce_pieced_ref, indirect_synthetic_pointer,
fetch_const_value_from_synthetic_pointer): New functions.
(indirect_pieced_value): Move lower half to indirect_synthetic_pointer.
(pieced_value_funcs): Implement coerce_ref.
* valops.c (value_addr): Call coerce_ref for synthetic references.
* valprint.c (valprint_check_validity): Return true for synthetic
references. Also, don't show "<synthetic pointer>" if they reference
addressable values.
(generic_val_print_ref): Handle synthetic references. Also move some
code to print_ref_address.
(print_ref_address, get_value_addr_contents): New functions.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/implref.exp: Rename to...
* gdb.dwarf2/implref-const.exp: ...this. Also add more test statements.
* gdb.dwarf2/implref-array.c: New file.
* gdb.dwarf2/implref-array.exp: Likewise.
* gdb.dwarf2/implref-global.c: Likewise.
* gdb.dwarf2/implref-global.exp: Likewise.
* gdb.dwarf2/implref-struct.c: Likewise.
* gdb.dwarf2/implref-struct.exp: Likewise.
commit f7433f011ef27838551aded73b8666a86d26b8ec
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 31 20:21:09 2016 +0930
objcopy add-symbol uninitialised struct
* objcopy.c: Formatting, whitespace throughout.
(copy_main): Init newsym->othersym.
(parse_symflags): Make len a size_t. Adjust uses.
commit c12969f8b53659f0d70b5e049c49b97a96826a3f
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 31 20:34:47 2016 +0930
Don't needlessly clear xmemdup allocated memory.
* xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.
commit c7022704e9919b724a9e935b4d0bae877946c735
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 31 00:00:16 2016 +0000
Automatic date update in version.in
commit 40d85a7f9c3446db070bd792d9f2106dc9adaf8c
Author: Marcin KoÅcielnicki <koriakin@0x04.net>
Date: Fri May 6 23:02:43 2016 +0200
gold/s390: Fix compilation on gcc 4.4
gold/ChangeLog:
PR/19960
* s390.cc (Target_s390::ss_code_st_r14): Removed.
(Target_s390::ss_code_l_r14): Removed.
(Target_s390::ss_code_ear): Removed.
(Target_s390::ss_code_c): Removed.
(Target_s390::ss_match_st_r14): New function.
(Target_s390::ss_match_l_r14): New function.
(Target_s390::ss_match_mcount): Call ss_match_{l,st}_r14 instead
of matching code directly.
(Target_s390::ss_match_ear): New function.
(Target_s390::ss_match_c): New function.
(Target_s390::do_calls_non_split): Call ss_match_{ear,c} instead
of matching code directly.
commit 825c8ef28fc669bdf4eab64b43d7a64761fbd677
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Mon May 30 11:24:44 2016 -0400
Add tests for 64bit values in trace-condition.exp
This patch adds tests for emit operations with 64 bit values. It takes
special care to avoid mistakes that one could make on a 32bit architecture
using 64bit values.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-condition.exp: Add 64bit tests.
commit 2320162a6219c664a8da2e2ff68b08d6f6c2ffcc
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Mon May 30 11:24:44 2016 -0400
Add variable length tests for emit_ref in trace-condition.exp
This patch add variable length tests for emit_ref by reading the variable
passed as argument of 8 to 64 bit.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-condition.c (marker): Adapt signature to 8 to 64
bits types.
(main): Adapt to 8 to 64 bits types.
* gdb.trace/trace-condition.exp: Add new tests.
commit a781823347ec9cd84e5ccc0bb8ddde48f8d302b6
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Mon May 30 11:24:44 2016 -0400
Add emit_less_unsigned test in trace-condition.exp
This patch adds coverage for emit_less_unsigned.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-condition.exp: Add emit_less_unsigned test.
commit 0d33646690c2e88624cd9646539d63d4144d03e8
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Mon May 30 11:24:44 2016 -0400
Move trace conditions tests from ftrace.exp to trace-condition.exp
This patch moves conditional tests that were done in ftrace.exp to
trace-condition.exp.
Note that emit_ref is now tested by the anarg local variable there is no
need to test the register directly.
All emit calls have been tested using asserts before / after the move, to
ensure that the tests cover the same functions.
Note that these function were not covered before and are still not:
emit_gt_goto, emit_lt_goto, emit_pop, emit_unsigned_less.
gdb/testsuite/ChangeLog:
* gdb.trace/ftrace.exp (test_ftrace_condition): Remove.
Move condition tests...
* gdb.trace/trace-condition.exp: Here.
commit 7faeb45ae36426b827c49457cf7186d73756cccc
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Mon May 30 11:24:44 2016 -0400
Add counter-cases for trace-condition.exp tests
In trace-condition.exp, tests are done by doing a conditional tracepoint
and validating that the trace contains all the frames that could be
collected if that condition is true.
E.g. test_tracepoints $trace_command "21 + 21 == 42" 10
This will always return true and collect the 10 frames possible to collect
with the test program.
However, if the condition evaluation is broken such that the condition is
unconditional we will not notice this problem.
This patch adds counter-cases to such conditions like so:
$trace_command "21 + 11 == 42" 0
This way such a problem would be noticed.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-condition.exp: Add counter-case tests.
commit e385593eef98ac92be57159e141f4b805dadbbb3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon May 30 14:14:43 2016 +0200
PR 15231: import bare DW_TAG_lexical_block
Local variables in lambdas are not accessible
https://sourceware.org/bugzilla/show_bug.cgi?id=15231
GDB: read_lexical_block_scope
/* Ignore blocks with missing or invalid low and high pc attributes. */
[...]
if (!dwarf2_get_pc_bounds (die, &lowpc, &highpc, cu, NULL))
return;
But sometimes there is:
FAIL: gcc-5.3.1-6.fc23.x86_64
<2><92>: Abbrev Number: 11 (DW_TAG_lexical_block)
<3><9c>: Abbrev Number: 13 (DW_TAG_structure_type)
<9d> DW_AT_name : (indirect string, offset: 0x3c): <lambda()>
[...]
Where DW_TAG_lexical_block has no attributes. Such whole subtree is currently
dropped by GDB while I think it should just import all its children DIEs.
It even XFAIL->XPASSes gdb.ada/out_of_line_in_inlined.exp:
commit 0fa7fe506c242b459c4c05d331e7c7d66fb52390
Author: Joel Brobecker <brobecker@adacore.com>
out of line functions nested inside inline functions.
So I have removed that xfail.
gdb/ChangeLog
2016-05-30 Jan Kratochvil <jan.kratochvil@redhat.com>
PR c++/15231
* dwarf2read.c (enum pc_bounds_kind): Add PC_BOUNDS_INVALID.
(process_psymtab_comp_unit_reader, read_func_scope): Adjust callers.
(read_lexical_block_scope): Import DIEs from bare DW_TAG_lexical_block.
(read_call_site_scope): Adjust callers.
(dwarf2_get_pc_bounds): Implement pc_bounds_invalid.
(dwarf2_get_subprogram_pc_bounds, get_scope_pc_bounds): Adjust callers.
gdb/testsuite/ChangeLog
2016-05-30 Jan Kratochvil <jan.kratochvil@redhat.com>
PR c++/15231
* gdb.ada/out_of_line_in_inlined.exp: Remove xfails.
* gdb.dwarf2/dw2-lexical-block-bare.exp: New file.
commit 3a2b436ae9958a1029545c03201b7223ff33c150
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Mon May 30 14:11:43 2016 +0200
Code cleanup: dwarf2_get_pc_bounds: -1/0/+1 -> enum
Make the code (maybe) more readable + primarily prepare it for [patch 2/2]
enum extension.
This change should have no code change impact.
gdb/ChangeLog
2016-05-30 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup: dwarf2_get_pc_bounds: -1/0/+1 -> enum
* dwarf2read.c (enum pc_bounds_kind) New.
(dwarf2_get_pc_bounds): Use it in the declaration.
(process_psymtab_comp_unit_reader): Adjust caller. Rename has_pc_info
to cu_bounds_kind.
(read_func_scope, read_lexical_block_scope, read_call_site_scope):
Adjust callers.
(dwarf2_get_pc_bounds): Use enum pc_bounds_kind in the definition.
(dwarf2_get_subprogram_pc_bounds, get_scope_pc_bounds): Adjust callers.
commit 2adb06b571adc7c56702e2f57fa53db97d69c0fa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 30 00:00:15 2016 +0000
Automatic date update in version.in
commit aab3c527d779a8e833a469203336afcc17512559
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sun May 29 20:45:42 2016 +0200
NEWS: QCatchSyscalls: simplify
Standardize the QCatchSyscalls NEWS entry.
gdb/ChangeLog
2016-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
* NEWS (QCatchSyscalls): Remove the parameter. Include ...
(QCatchSyscalls:1 in qSupported) ... this separate entry which got
deleted.
commit c64e0f6165537efda112a9744e588f4ecac8ca41
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Sun May 29 18:40:32 2016 +0200
NEWS: Remove empty line.
gdb/ChangeLog
2016-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
* NEWS (N stop reply): Remove empty line.
commit 0cbd0046fa3e9b5e789fe5cfa3ff70a6d10584d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun May 29 08:26:43 2016 -0700
Add missing ChangeLog entries
commit 144b71e2a88e02d0b54d4f09cc652f353b46e455
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 27 15:41:45 2016 -0700
Add .noavx512XX directives to x86 assembler
Add .noavx512f, .noavx512cd, .noavx512er, .noavx512pf, .noavx512dq,
.noavx512bw, .noavx512vl, .noavx512ifma, .noavx512vbmi directives to x86
assembler.
gas/
PR gas/20145
* config/tc-i386.c (cpu_noarch): Add noavx512f, noavx512cd,
noavx512er, noavx512pf, noavx512dq, noavx512bw, noavx512vl,
noavx512ifma and noavx512vbmi.
* doc/c-i386.texi: Mention noavx512f, noavx512cd, noavx512er,
noavx512pf, noavx512dq, noavx512bw, noavx512vl, noavx512ifma
and noavx512vbmi.
* testsuite/gas/i386/i386.exp: Run noavx512-1 and noavx512-2.
* testsuite/gas/i386/noavx512-1.l: New file.
* testsuite/gas/i386/noavx512-1.s: Likewise.
* testsuite/gas/i386/noavx512-2.l: Likewise.
* testsuite/gas/i386/noavx512-2.s: Likewise.
opcodes/
PR gas/20145
* i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS,
CPU_ANY_AVX512CD_FLAGS, CPU_ANY_AVX512ER_FLAGS,
CPU_ANY_AVX512PF_FLAGS, CPU_ANY_AVX512DQ_FLAGS,
CPU_ANY_AVX512BW_FLAGS, CPU_ANY_AVX512VL_FLAGS,
CPU_ANY_AVX512IFMA_FLAGS and CPU_ANY_AVX512VBMI_FLAGS.
* i386-init.h: Regenerated.
commit bb69990f869ed8cb932eec52e38c7ec8111794f0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 29 00:00:19 2016 +0000
Automatic date update in version.in
commit 0597bdc443005c70f0fd474279098ee17db882eb
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 28 22:36:04 2016 +0930
Add dependencies to configure rule
* Makefile.tpl (configure): Depend on m4 files included.
* Makefile.in: Regenerate.
commit 99aefae6818be07a77739e0366121f2032916d9c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat May 28 10:57:58 2016 +0100
MIPS/BFD: Correctly handle `bfd_reloc_outofrange' with branches
Fix internal errors like:
ld: BFD (GNU Binutils) 2.26.51.20160526 internal error, aborting at .../bfd/elfxx-mips.c:10278 in _bfd_mips_elf_relocate_section
ld: Please report this bug.
triggered by the `bfd_reloc_outofrange' condition on branch relocations.
bfd/
* elfxx-mips.c (b_reloc_p): New function.
(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
branch relocations.
ld/
* testsuite/ld-mips-elf/unaligned-branch.d: New test.
* testsuite/ld-mips-elf/unaligned-branch.s: New test source.
* testsuite/ld-mips-elf/unaligned-text.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
commit 3b4412a0419d0faa42432df1e4faab880fe43b35
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat May 28 10:28:05 2016 +0100
MIPS/LD/testsuite: Rename `unaligned-syms' to `unaligned-data'
ld/
* testsuite/ld-mips-elf/unaligned-syms.s: Rename to...
* testsuite/ld-mips-elf/unaligned-data.s: ... this.
* testsuite/ld-mips-elf/unaligned-ldpc-0.d: Adjust accordingly.
* testsuite/ld-mips-elf/unaligned-ldpc-1.d: Likewise.
* testsuite/ld-mips-elf/unaligned-lwpc-0.d: Likewise.
* testsuite/ld-mips-elf/unaligned-lwpc-1.d: Likewise.
commit 7743482350c9c97484a429070db7d994a643a9eb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat May 28 10:30:22 2016 +0100
MIPS/BFD: Enable local R_MIPS_26 overflow detection
The original MIPS SVR4 psABI defines the calculation for the R_MIPS_26
relocation in a complex way, as follows[1]:
Name Value Field Symbol Calculation
R_MIPS_26 4 T-targ26 local (((A << 2) | \
(P & 0xf0000000)) + S) >> 2
4 T-targ26 external (sign-extend(A << 2) + S) >> 2
This is further clarified, by correcting typos (already applied in the
excerpt above) in the 64-bit psABI extension[2]. A note is included in
both documents to specify that for the purpose of relocation processing
a local symbol is one with binding STB_LOCAL and type STT_SECTION, and
otherwise, a symbol is external.
We have both calculations implemented for the R_MIPS_26 relocation, and
by extension also for the R_MIPS16_26 and R_MICROMIPS_26_S1 relocations,
from now on collectively called jump relocations. However our code uses
a different condition to tell local and external symbols apart, that is
it only checks for the STB_LOCAL binding and ignores the symbol type,
however for REL relocations only. The external calculation is used for
all RELA jump relocations.
In reality the difference matters for jump relocations referring local
MIPS16 and, as from recent commit 44d3da233815 ("MIPS/GAS: Treat local
jump relocs the same no matter if REL or RELA"), also local microMIPS
symbols. Such relocations are not converted to refer to corresponding
section symbols instead and retain the original local symbol reference.
It can be inferred from the relocation calculation definitions that the
addend is effectively unsigned for the local case and explicitly signed
for the external case. With the REL relocation format it makes sense
given the limited range provided for by the field being relocated: the
use of an unsigned addend expands the range by one bit for the local
case, because a negative offset from a section symbol makes no sense,
and any usable negative offset from the original local symbol will have
worked out positive if converted to a section-relative reference. In
the external case a signed addend gives more flexibility as offsets both
negative and positive can be used with a symbol. Any such offsets will
typically have a small value.
The inclusion of the (P & 0xf0000000) component, ORed in the calculation
in the local case, seems questionable as bits 31:28 are not included in
the relocatable field and are masked out as the relocation is applied.
Their value is therefore irrelevant for output processing, the relocated
field ends up the same regardless of their value. They could be used
for overflow detection, however this is precluded by adding them to bits
31:28 of the symbol referred, as the sum will not correspond to the
value calculated by the processor at run time whenever bits 31:28 of the
symbol referred are not all zeros, even though it is valid as long they
are the same as bits 31:28 of P.
We deal with this problem by ignoring any overflow resulting from the
local calculation. This however makes us miss genuine overflow cases,
where 31:28 of the symbol referred are different from bits 31:28 of P,
and non-functional code is produced.
Given the situation, for the purpose of overflow detection we can change
our code to follow the original psABI and only treat the in-place addend
as unsigned in the section symbol case, permitting jumps to offsets
128MiB and above into section. Sections so large may be uncommon, but
still a reasonable use case. On the other hand such large offsets from
regular local symbols are not expected and it makes sense to support
(possibly small) negative offsets instead, also in consistency with what
we do for global symbols.
Drop the (P & 0xf0000000) component then, treat the addend as signed
with local non-section symbols and also detect an overflow in the result
of such calculation with local symbols. NB it does not affect the value
computed for the relocatable field, it only affects overflow detection.
References:
[1] "SYSTEM V APPLICATION BINARY INTERFACE, MIPS RISC Processor
Supplement, 3rd Edition", Figure 4-11: "Relocation Types", p. 4-19
<http://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf>
[2] "64-bit ELF Object File Specification, Draft Version 2.5", Table 32
"Relocation Types", p. 45
<http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf>
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
<R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
reloc location from calculation, treat the addend as signed with
local non-section symbols and enable overflow detection.
ld/
* testsuite/ld-mips-elf/jal-global-overflow-0.d: New test.
* testsuite/ld-mips-elf/jal-global-overflow-1.d: New test.
* testsuite/ld-mips-elf/jal-local-overflow-0.d: New test.
* testsuite/ld-mips-elf/jal-local-overflow-1.d: New test.
* testsuite/ld-mips-elf/jal-global-overflow.s: New test source.
* testsuite/ld-mips-elf/jal-local-overflow.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit 1a72702bb30ec3f94627cfcae684823b413f20b9
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 27 17:20:55 2016 +0930
Return void from linker callbacks
The ldmain.c implementation of these linker callback functions always
return true, so any code handling a false return is dead. What's
more, some of the bfd backends abort if ever a false return is seen,
and there seems to be some confusion in gdb's compile-object-load.c.
The return value was never meant to be "oh yes, a multiple_definition
error occurred", but rather "out of memory or other catastrophic
failure".
This patch removes the status return on the callbacks that always
return true. I kept the return status for "notice" because that one
does happen to need to return "out of memory".
include/
* bfdlink.h (struct bfd_link_callbacks): Update comments.
Return void from multiple_definition, multiple_common,
add_to_set, constructor, warning, undefined_symbol,
reloc_overflow, reloc_dangerous and unattached_reloc.
bfd/
* aoutx.h: Adjust linker callback calls throughout file,
removing dead code.
* bout.c: Likewise.
* coff-alpha.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-h8500.c: Likewise.
* coff-i960.c: Likewise.
* coff-mcore.c: Likewise.
* coff-mips.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-sh.c: Likewise.
* coff-tic80.c: Likewise.
* coff-w65.c: Likewise.
* coff-z80.c: Likewise.
* coff-z8k.c: Likewise.
* coff64-rs6000.c: Likewise.
* cofflink.c: Likewise.
* ecoff.c: Likewise.
* elf-bfd.h: Likewise.
* elf-m10200.c: Likewise.
* elf-m10300.c: Likewise.
* elf32-arc.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-avr.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cr16.c: Likewise.
* elf32-cr16c.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-crx.c: Likewise.
* elf32-d10v.c: Likewise.
* elf32-epiphany.c: Likewise.
* elf32-fr30.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-ft32.c: Likewise.
* elf32-h8300.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-i860.c: Likewise.
* elf32-ip2k.c: Likewise.
* elf32-iq2000.c: Likewise.
* elf32-lm32.c: Likewise.
* elf32-m32c.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-mep.c: Likewise.
* elf32-metag.c: Likewise.
* elf32-microblaze.c: Likewise.
* elf32-moxie.c: Likewise.
* elf32-msp430.c: Likewise.
* elf32-mt.c: Likewise.
* elf32-nds32.c: Likewise.
* elf32-nios2.c: Likewise.
* elf32-or1k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sh64.c: Likewise.
* elf32-spu.c: Likewise.
* elf32-tic6x.c: Likewise.
* elf32-tilepro.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-visium.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ia64-vms.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elflink.c: Likewise.
* elfnn-aarch64.c: Likewise.
* elfnn-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* elfxx-tilegx.c: Likewise.
* linker.c: Likewise.
* pdp11.c: Likewise.
* pe-mips.c: Likewise.
* reloc.c: Likewise.
* reloc16.c: Likewise.
* simple.c: Likewise.
* vms-alpha.c: Likewise.
* xcofflink.c: Likewise.
* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
status param. Adjust calls to these and linker callbacks throughout.
* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
get_ramstart): Delete status param. Adjust calls to these and
linker callbacks throughout.
ld/
* ldmain.c (multiple_definition, multiple_common, add_to_set,
constructor_callback, warning_callback, undefined_symbol,
reloc_overflow, reloc_dangerous, unattached_reloc): Return void.
* emultempl/elf32.em: Adjust callback calls.
gdb/
* compile/compile-object-load.c (link_callbacks_multiple_definition,
link_callbacks_warning, link_callbacks_undefined_symbol,
link_callbacks_undefined_symbol, link_callbacks_reloc_overflow,
link_callbacks_reloc_dangerous,
link_callbacks_unattached_reloc): Return void.
commit d5dca95ffc284d4380fddc063be43e155b7eb731
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 28 00:00:19 2016 +0000
Automatic date update in version.in
commit bc27bb0573a5e1ce1a6365fc06aeab9bd891fc3a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri May 27 20:43:05 2016 +0100
MIPS/BFD: Include the addend in JALX's target alignment verification
On RELA targets the addend can affect JALX target's alignment, so only
verify it once the whole relocation calculation has completed.
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
<R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
target alignment verification.
ld/
* testsuite/ld-mips-elf/unaligned-jalx-addend-0.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-1.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-0.d: New
test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d: New
test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-0.d: New
test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d: New
test.
* testsuite/ld-mips-elf/unaligned-jalx-addend-0.s: New test
source.
* testsuite/ld-mips-elf/unaligned-jalx-addend-1.s: New test
source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit ceab86af75e9870ecf2da772a0d867ca12521a24
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri May 27 20:41:40 2016 +0100
MIPS/BFD: Fix section symbol name fetching in relocation
Symbol table entries for section symbols are different between IRIX and
traditional MIPS ELF targets in that IRIX entries have their `st_name'
member pointing at the section's name in the string table section, while
traditional entries have 0 there and the section header string table has
to be referred via the relevant section header's `shn_name' member
instead.
This is chosen with the `elf_backend_name_local_section_symbols' backend
and can be observed with `readelf -s' output for an IRIX object:
Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1 .text
2: 00000000 0 SECTION LOCAL DEFAULT 3 .data
3: 00000000 0 SECTION LOCAL DEFAULT 4 .bss
4: 00000000 0 SECTION LOCAL DEFAULT 5 .reginfo
5: 00000000 0 SECTION LOCAL DEFAULT 6 .MIPS.abiflags
6: 00000000 0 SECTION LOCAL DEFAULT 7 .pdr
7: 00000000 0 SECTION LOCAL DEFAULT 9 .gnu.attributes
8: 00002000 16 FUNC GLOBAL DEFAULT 1 foo
9: 00004008 0 FUNC LOCAL DEFAULT 1 abar
10: 00002008 0 FUNC LOCAL DEFAULT 1 afoo
11: 00004000 16 FUNC GLOBAL DEFAULT 1 bar
and a corresponding traditional object:
Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT 3
3: 00000000 0 SECTION LOCAL DEFAULT 4
4: 00004008 0 FUNC LOCAL DEFAULT 1 abar
5: 00002008 0 FUNC LOCAL DEFAULT 1 afoo
6: 00000000 0 SECTION LOCAL DEFAULT 5
7: 00000000 0 SECTION LOCAL DEFAULT 6
8: 00000000 0 SECTION LOCAL DEFAULT 7
9: 00000000 0 SECTION LOCAL DEFAULT 9
10: 00002000 16 FUNC GLOBAL DEFAULT 1 foo
11: 00004000 16 FUNC GLOBAL DEFAULT 1 bar
respectively. Consequently the right way to retrieve a section symbol's
name has to be chosen in `mips_elf_calculate_relocation' for the purpose
of error reporting.
Originally we produced symbol tables in the traditional object format
only and we handled it correctly until it was lost in a rewrite with:
commit 7403cb6305f5660fccc8869d3333a731102ae978
Author: Mark Mitchell <mark@codesourcery.com>
Date: Wed Jun 30 20:13:43 1999 +0000
probably because of the extra pointer indirection added which made the
same expression have a different meaning.
With the addition of IRIX symbol table format with:
commit 174fd7f9556183397625dbfa99ef68ecd325c74b
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Mon Feb 9 08:04:00 2004 +0000
the bug has been partially covered and now when a relocation error is
triggered with an IRIX object the offending section symbol is correctly
reported:
tmpdir/dump0.o: In function `foo':
(.text+0x2000): relocation truncated to fit: R_MIPS_26 against `.text'
tmpdir/dump0.o: In function `bar':
(.text+0x4000): relocation truncated to fit: R_MIPS_26 against `.text'
because `bfd_elf_string_from_elf_section' retrieves the name from the
string table section. With a traditional object however the function
returns an empty string and consequently `no symbol' is printed instead:
tmpdir/dump0.o: In function `foo':
(.text+0x2000): relocation truncated to fit: R_MIPS_26 against `no symbol'
tmpdir/dump0.o: In function `bar':
(.text+0x4000): relocation truncated to fit: R_MIPS_26 against `no symbol'
Restore the original semantics so that the section name is always
correctly retrieved.
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Also use the
section name if `bfd_elf_string_from_elf_section' returns an
empty string.
ld/
* testsuite/ld-mips-elf/reloc-local-overflow.d: New test.
* testsuite/ld-mips-elf/reloc-local-overflow.s: Source for the
new test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
commit 1848e567343e9c50979453463f34e0a55ba892eb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 27 10:05:39 2016 -0700
Update x86 CPU_XXX_FLAGS handling
Support defining CPU_XXX_FLAGS with other CPU_XXX_FLAGS. Update
CPU_XXX_FLAGS to enable more bits like x87 and SYSCALL. Don't enable
MMX when enabling SSE, AVX or AVX512. Don't disable AVX nor AVX512 when
disabling SSE. Don't disable AVX512 when disabling AVX. Disable F16C,
FMA, FMA4 and XOP when disabling AVX. Add 87, no287, no387, no687,
nosse2, nosse3, nossse3, nosse4.1, nosse4.2, nosse4 and noavx2 directives
to x86 assembler.
TODO: Add more .noXXX, like .noavx512f, directives to x86 assembler.
gas/
PR gas/20145
* config/tc-i386.c (cpu_arch): Add 687.
(cpu_noarch): Add no287, no387, no687, nosse2, nosse3, nossse3,
nosse4.1, nosse4.2, nosse4 and noavx2.
(parse_real_register): Check cpuregmmx instead of cpummx for MMX
register. Check cpuregxmm instead of cpusse for XMM register.
Check cpuregymm instead of cpuavx for YMM register. Check
cpuregzmm/cpuregmask instead of cpuavx512f for ZMMM/mask register.
* doc/c-i386.texi: Mention 687, no287, no387, no687, nosse2,
nosse3, nossse3, nosse4.1, nosse4.2, nosse4 and noavx2.
* testsuite/gas/i386/arch-10-prefetchw.d (as): Add mmx.
* testsuite/gas/i386/arch-10.d (as): Likewise.
* testsuite/gas/i386/arch-11.s: Add ".arch .mmx".
* testsuite/gas/i386/i386.exp: Pass mmx to assembler for
arch-10-3 and arch-10-4. Run no87-3, nosse-4, nosse-5, noavx-3
and noavx-4.
* testsuite/gas/i386/no87-3.l: New file.
* testsuite/gas/i386/no87-3.s: Likewise.
* testsuite/gas/i386/noavx-3.l: Likewise.
* testsuite/gas/i386/noavx-3.s: Likewise.
* testsuite/gas/i386/noavx-4.d: Likewise.
* testsuite/gas/i386/noavx-4.s: Likewise.
* testsuite/gas/i386/nosse-4.l: Likewise.
* testsuite/gas/i386/nosse-4.s: Likewise.
* testsuite/gas/i386/nosse-5.d: Likewise.
* testsuite/gas/i386/nosse-5.s: Likewise.
opcodes/
PR gas/20145
* i386-gen.c (cpu_flag_init): Update CPU_XXX_FLAGS. Remove
CpuMMX from CPU_SSE_FLAGS. Remove AVX and AVX512 bits from
CPU_ANY_SSE_FLAGS. Remove AVX512 bits from CPU_ANY_AVX_FLAGS.
Add CPU_XSAVE_FLAGS to CPU_XSAVEOPT_FLAGS, CPU_XSAVE_FLAGS and
CpuXSAVEC. Add CPU_AVX_FLAGS to CpuF16C. Remove CpuMMX from
CPU_AVX512F_FLAGS, CPU_AVX512CD_FLAGS, CPU_AVX512ER_FLAGS,
CPU_AVX512PF_FLAGS, CPU_AVX512DQ_FLAGS and CPU_AVX512BW_FLAGS.
Add CPU_SSE2_FLAGS to CPU_SHA_FLAGS. Add CPU_ANY_287_FLAGS,
CPU_ANY_387_FLAGS, CPU_ANY_687_FLAGS, CPU_ANY_SSE2_FLAGS,
CPU_ANY_SSE3_FLAGS, CPU_ANY_SSSE3_FLAGS, CPU_ANY_SSE4_1_FLAGS,
CPU_ANY_SSE4_2_FLAGS and CPU_ANY_AVX2_FLAGS. Enable CpuRegMMX
for MMX. Enable CpuRegXMM for SSE, AVX and AVX512. Enable
CpuRegYMM for AVX and AVX512VL, Enable CpuRegZMM and
CpuRegMask for AVX512.
(cpu_flags): Add CpuRegMMX, CpuRegXMM, CpuRegYMM, CpuRegZMM
and CpuRegMask.
(set_bitfield_from_cpu_flag_init): New function.
(set_bitfield): Remove const on f. Call
set_bitfield_from_cpu_flag_init to handle CPU_XXX_FLAGS.
* i386-opc.h (CpuRegMMX): New.
(CpuRegXMM): Likewise.
(CpuRegYMM): Likewise.
(CpuRegZMM): Likewise.
(CpuRegMask): Likewise.
(i386_cpu_flags): Add cpuregmmx, cpuregxmm, cpuregymm, cpuregzmm
and cpuregmask.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
commit 744608cc854a365661e93d307aadf22ab6e6bd7c
Author: Pedro Alves <palves@redhat.com>
Date: Fri May 27 16:18:28 2016 +0100
Skip attach-many-short-lived-threads.exp on known-broken DejaGnu versions
If the testsuite is run with a DejaGnu version that predates the fix
from last year:
[PATCH] DejaGnu kills the wrong process due to PID-reuse races
http://lists.gnu.org/archive/html/dejagnu/2015-07/msg00005.html
... gdb.threads/attach-many-short-lived-threads.exp fails randomly,
often. Other tests randomly fail due to that issue too, but this one
is _much_ more exposed.
DejaGnu 1.6 was released meanwhile, which includes that DejaGnu fix,
and also some distros backported the fix too.
So skip the test when run with older/broken DejaGnus.
gdb/testsuite/ChangeLog:
2016-05-27 Pedro Alves <palves@redhat.com>
* gdb.threads/attach-many-short-lived-threads.exp (bad_dejagnu):
New procedure.
(top level): Call it, and bail out of DejaGnu is known to be bad.
commit e92bae62606702c1c07e095789ffed103e0e34c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 27 08:02:56 2016 -0700
Replace CpuAMD64/CpuIntel64 with AMD64/Intel64
AMD64 vs CpuIntel64 ISA should be handled similar as AT&T vs Intel
syntax. Since cpu_flags isn't sorted by position, we need to check
the whole cpu_flags array for the maximum position when verifying
CpuMax.
gas/
PR gas/20154
* config/tc-i386.c (cpu_flags_match): Don't set cpuamd64 nor
cpuintel64.
(match_template): Check Intel64/AMD64 ISA.
opcodes/
PR gas/20154
* i386-gen.c (cpu_flags): Remove CpuAMD64 and CpuIntel64.
(opcode_modifiers): Add AMD64 and Intel64.
(main): Properly verify CpuMax.
* i386-opc.h (CpuAMD64): Removed.
(CpuIntel64): Likewise.
(CpuMax): Set to CpuNo64.
(i386_cpu_flags): Remove cpuamd64 and cpuintel64.
(AMD64): New.
(Intel64): Likewise.
(i386_opcode_modifier): Add amd64 and intel64.
(i386-opc.tbl): Replace CpuAMD64/CpuIntel64 with AMD64/Intel64
on call and jmp.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
commit c185ba27ca74b02bcca8d016e2d82b09aa6df28b
Author: Eli Zaretskii <eliz@gnu.org>
Date: Fri May 27 16:59:22 2016 +0300
Improve documentation of general query packets
gdb/doc/ChangeLog:
* gdb.texinfo (General Query Packets): Move the description of the
response before the long list of the specific 'read' and 'write'
requests.
commit e89c5eaa7208f06e927a79facff0316f4e550f6f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 27 06:55:42 2016 -0700
Correct CpuMax in i386-opc.h
CpuMax should be CpuIntel64, not CpuNo64. i386-gen.c is updated to
verify that CpuMax is correct. X86 assembler is updated to properly
set cpuamd64 and cpuintel64.
gas/
PR gas/20154
* config/tc-i386.c (intel64): New.
(cpu_flags_match): Set cpuamd64 and cpuintel64.
(md_parse_option): Set intel64 instead of cpuamd64 and
cpuintel64.
opcodes/
PR gas/20154
* i386-gen.c (main): Fail if CpuMax is incorrect.
* i386-opc.h (CpuMax): Set to CpuIntel64.
* i386-tbl.h: Regenerated.
commit 1690f1db1ac7a4e91d81ae968b8158af2b7ff91f
Author: Nick Clifton <nickc@redhat.com>
Date: Fri May 27 14:34:06 2016 +0100
Fix typo introduced during the most recent synchronization update.
commit 77d66e7b303f6fa65dd2ca4abce6393d6ea70a8f
Author: Nick Clifton <nickc@redhat.com>
Date: Fri May 27 13:49:58 2016 +0100
Improve the MSP430 disassembler's handling of memory read errors.
PR target/20150
* msp430-dis.c (msp430dis_read_two_bytes): New function.
(msp430dis_opcode_unsigned): New function.
(msp430dis_opcode_signed): New function.
(msp430_singleoperand): Use the new opcode reading functions.
Only disassenmble bytes if they were successfully read.
(msp430_doubleoperand): Likewise.
(msp430_branchinstr): Likewise.
(msp430x_callx_instr): Likewise.
(print_insn_msp430): Check that it is safe to read bytes before
attempting disassembly. Use the new opcode reading functions.
commit 51415b9f309443261016ad1b63b9e350bbe3903d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue May 24 16:53:58 2016 +0100
gdb: Forward VALUE_LVAL when avoiding side effects for STRUCTOP_STRUCT
When evaluating an expression with EVAL_AVOID_SIDE_EFFECTS if the value
we return is forced to be of type not_lval then GDB will be unable to
take the address of the returned value.
Instead, we should properly initialise the LVAL of the returned value.
This commit builds on two previous commits 2520f728b710 (Forward
VALUE_LVAL when avoiding side effects for STRUCTOP_STRUCT) and
ac775bf4d35b (gdb: Forward VALUE_LVAL when avoiding side effects for
STRUCTOP_PTR), which in turn build on ac1ca910d74d (Fixes for PR
exp/15364).
This commit is currently untested due to my lack of access to an OpenCL
compiler, however, if follows the same pattern as the first two commits
mentioned above and so I believe that it is correct.
gdb/ChangeLog:
* opencl-lang.c (evaluate_subexp_opencl): If
EVAL_AVOID_SIDE_EFFECTS mode, forward the VALUE_LVAL attribute to
the returned value in the STRUCTOP_STRUCT case.
commit ac775bf4d35b7a2d5715e0ccf3d648d4670213fd
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue May 24 16:17:52 2016 +0100
gdb: Forward VALUE_LVAL when avoiding side effects for STRUCTOP_PTR
Assume that we have a C program like this:
struct foo_type
{
int var;
} foo;
struct foo_type *foo_ptr = &foo;
int
main ()
{
return foo_ptr->var;
}
Then GDB should be able to evaluate the following, however, it currently
does not:
(gdb) start
...
(gdb) whatis &(foo_ptr->var)
Attempt to take address of value not located in memory.
The problem is that in EVAL_AVOID_SIDE_EFFECTS mode,
eval.c:evaluate_subexp_standard always returns a not_lval value as the
result for a STRUCTOP_PTR operation. As a consequence, the rest of
the code believes that one cannot take the address of the returned
value.
This patch fixes STRUCTOP_PTR handling so that the VALUE_LVAL
attribute for the returned value is properly initialized. After this
change, the above session becomes:
(gdb) start
...
(gdb) whatis &(foo_ptr->var)
type = int *
This commit is largely the same as commit 2520f728b710 (Forward
VALUE_LVAL when avoiding side effects for STRUCTOP_STRUCT) but applied
to STRUCTOP_PTR rather than STRUCTOP_STRUCT. Both of these commits are
building on top of commit ac1ca910d74d (Fixes for PR exp/15364).
gdb/ChangeLog:
* eval.c (evaluate_subexp_standard): If EVAL_AVOID_SIDE_EFFECTS
mode, forward the VALUE_LVAL attribute to the returned value in
the STRUCTOP_PTR case.
gdb/testsuite/ChangeLog:
* gdb.base/whatis.c: Extend the test case.
* gdb.base/whatis.exp: Add additional tests.
commit 9d07ebe108f4e11508e350eaf2ba10d7480636fa
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 27 04:56:05 2016 -0700
Don't clear cpu64 nor cpuno64
No need to clear cpu64 nor cpuno64 since they will be cleared by
cpu_flags_and.
* config/tc-i386.c (cpu_flags_match): Don't clear cpu64 nor
cpuno64.
commit 19dfcc89e8d94526f011242041b700ede8834996
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Thu May 26 19:06:51 2016 -0500
Add support for new POWER ISA 3.0 instructions.
opcodes/
* ppc-opc.c (CY): New define. Document it.
(powerpc_opcodes) <addex[.], lwzmx, vmsumudm>: New mnemonics.
gas/
* testsuite/gas/ppc/altivec3.d <vmsumudm>: Add test.
* testsuite/gas/ppc/altivec3.s: Likewise.
* testsuite/gas/ppc/power9.d <addex[.], lwzmx, vmsumudm>: Add tests.
* testsuite/gas/ppc/power9.s: Likewise.
commit 5e0bc41893d659b2935fca7595411c08ed18546c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 27 00:00:20 2016 +0000
Automatic date update in version.in
commit 8d5b9a5a3012a5e4a39823cc51afc559c354d76f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 26 07:55:38 2016 -0700
Append ".p2align 4" to some x86 directive tests
Append ".p2align 4" to some x86 directive tests for explicit paddings
for section alignment to avoid implicit section alignment in assembler
listings.
* testsuite/gas/i386/avx512vl-2.l: Append "#pass".
* testsuite/gas/i386/noavx-1.l: Likewise.
* testsuite/gas/i386/nommx-1.l: Likewise.
* testsuite/gas/i386/nosse-1.l: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-2.l: Likewise.
* testsuite/gas/i386/avx512vl-2.s: Append ".p2align 4".
* testsuite/gas/i386/noavx-1.s: Likewise.
* testsuite/gas/i386/nommx-1.s: Likewise.
* testsuite/gas/i386/nosse-1.s: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-2.s: Likewise.
commit 81cead6f5e9b765788483ad66f490f7540264eba
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon May 23 07:42:14 2016 -0400
metag: make an array's type unsigned char[]
It contains values between 128 and 256 which fit in an unsigned char, but not a
signed char, so we should explicitly use unsigned char to not rely on how these
values are converted to signed char.
gas/ChangeLog:
2016-05-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-metag.c (metag_handle_align): Make the type of noop
unsigned char.
commit 79052aaec9ec394bb6c8ec9d68e7e86d5838e42b
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 21 22:24:24 2016 -0400
rx: make the type of a variable bfd_reloc_code_real_type
gas/ChangeLog:
2016-05-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-rx.c (md_convert_frag): Make the type of reloc_type
bfd_reloc_code_real_type.
commit ed53407eec9eba3b55a3a00fb7eaa7eddbf01363
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu May 26 12:24:45 2016 +0100
MIPS/BFD: Don't stop processing on `bfd_reloc_outofrange'
Upon a `bfd_reloc_outofrange' error continue processing so that any
further issues are also reported, similarly to how `bfd_reloc_overflow'
is handled. Adjust message formatting accordingly, using `%X' to abort
processing at conclusion.
Reduce the number of test cases by grouping relocations the handling of
which can now be verified together with a single source and dump.
bfd/
* elfxx-mips.c (_bfd_mips_elf_relocate_section)
<bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
for message. Continue processing rather than returning failure.
ld/
* testsuite/ld-mips-elf/unaligned-jalx-0.d: Fold
`unaligned-jalx-2' here.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d: Fold
`unaligned-jalx-mips16-2' here.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d: Fold
`unaligned-jalx-micromips-2' here.
* testsuite/ld-mips-elf/unaligned-jalx-0.s: Update accordingly.
* testsuite/ld-mips-elf/unaligned-jalx-1.d: Update error
message.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: Likewise.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: Likewise.
* testsuite/ld-mips-elf/unaligned-jalx-2.d: Remove test.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d: Remove test.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d: Remove
test.
* testsuite/ld-mips-elf/unaligned-jalx-2.s: Remove test source.
* testsuite/ld-mips-elf/unaligned-lwpc-0.d: Fold
`unaligned-lwpc-3' here.
* testsuite/ld-mips-elf/unaligned-lwpc-0.s: Update accordingly.
* testsuite/ld-mips-elf/unaligned-lwpc-1.d: Fold
`unaligned-lwpc-2' here.
* testsuite/ld-mips-elf/unaligned-lwpc-1.s: Update accordingly.
* testsuite/ld-mips-elf/unaligned-lwpc-2.d: Remove test.
* testsuite/ld-mips-elf/unaligned-lwpc-2.s: Remove test source.
* testsuite/ld-mips-elf/unaligned-lwpc-3.d: Remove test.
* testsuite/ld-mips-elf/unaligned-lwpc-3.s: Remove test source.
* testsuite/ld-mips-elf/unaligned-ldpc-0.d: Fold
`unaligned-ldpc-4' here.
* testsuite/ld-mips-elf/unaligned-ldpc-0.s: Update accordingly.
* testsuite/ld-mips-elf/unaligned-ldpc-1.d: Update error
message. Fold `unaligned-ldpc-2' and `unaligned-ldpc-3' here.
* testsuite/ld-mips-elf/unaligned-ldpc-1.s: Update accordingly.
* testsuite/ld-mips-elf/unaligned-ldpc-2.d: Remove test.
* testsuite/ld-mips-elf/unaligned-ldpc-2.s: Remove test source.
* testsuite/ld-mips-elf/unaligned-ldpc-3.d: Remove test.
* testsuite/ld-mips-elf/unaligned-ldpc-3.s: Remove test source.
* testsuite/ld-mips-elf/unaligned-ldpc-4.d: Remove test.
* testsuite/ld-mips-elf/unaligned-ldpc-4.s: Remove test source.
* testsuite/ld-mips-elf/mips-elf.exp: Delete removed tests.
commit 0d832c8ea736150cb246f8988b2f9f78bf58de5e
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 26 11:43:38 2016 +0100
Provide the __bssstart and __bsssize symbols needed by the MSP430's crt0.o code.
PR target/20134
* scripttempl/elf32msp430.sc (.bss): Provide __bssstart and
__bsssize.
* scripttempl/elf32msp430_3.sc (.bss): Likewise.
commit 94740f9c4b20ec88a5e33823a4da13d6da311a22
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon May 23 07:54:24 2016 -0400
metag: add extern C to header
include/ChangeLog:
2016-05-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/metag.h: wrap declarations in extern "C".
commit d7b61136f9b7ace0c66a16ae4085cbef18223c0a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 26 00:00:20 2016 +0000
Automatic date update in version.in
commit 73b090a922a5f43931f0ec10b1b1b9507c819ebf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 14:59:05 2016 -0700
Require another match for AVX512VL
The AVX512VL bit alone isn't sufficient to select a 128-bit or 256-bit
AVX512 instruction. We must match another AVX512 bit.
PR gas/20140
* config/tc-i386.c (cpu_flags_match): Require another match
for AVX512VL.
* testsuite/gas/i386/i386.exp: Run avx512vl-1, avx512vl-2,
x86-64-avx512vl-1 and x86-64-avx512vl-2.
* testsuite/gas/i386/avx512vl-1.l: New file.
* testsuite/gas/i386/avx512vl-1.s: Likewise.
* testsuite/gas/i386/avx512vl-2.l: Likewise.
* testsuite/gas/i386/avx512vl-2.s: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-1.l: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-1.s: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-2.l: Likewise.
* testsuite/gas/i386/x86-64-avx512vl-2.s: Likewise.
commit de341542a60f7d3a80cc339db7d341b615cfa52f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed May 25 20:59:37 2016 +0100
MIPS/BFD: Report `bfd_reloc_outofrange' errors as such
A `bfd_reloc_outofrange' condition from `mips_elf_calculate_relocation'
currently triggers the warning callback, which in the case of LD prints
messages like:
foo.o: In function `foo':
(.text+0x0): warning: JALX to a non-word-aligned address
or:
foo.o: In function `foo':
(.text+0x0): warning: PC-relative load from unaligned address
and nothing else, which suggests this is a benign condition and link has
otherwise successfully run to completion. This is however not the case,
the link terminates right away with no further messages and no output
produced.
Use the general error or warning info callback then, preserving the
message format. Also set a BFD error condition so that a failure is
unambiguously reported. Complement the change with a set of suitable
test suite additions.
bfd/
* elfxx-mips.c (_bfd_mips_elf_relocate_section)
<bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
Call `bfd_set_error'.
ld/
* testsuite/ld-mips-elf/unaligned-jalx-0.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-1.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-2.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-mips16-2.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-micromips-2.d: New test.
* testsuite/ld-mips-elf/unaligned-lwpc-0.d: New test.
* testsuite/ld-mips-elf/unaligned-lwpc-1.d: New test.
* testsuite/ld-mips-elf/unaligned-lwpc-2.d: New test.
* testsuite/ld-mips-elf/unaligned-lwpc-3.d: New test.
* testsuite/ld-mips-elf/unaligned-ldpc-0.d: New test.
* testsuite/ld-mips-elf/unaligned-ldpc-1.d: New test.
* testsuite/ld-mips-elf/unaligned-ldpc-2.d: New test.
* testsuite/ld-mips-elf/unaligned-ldpc-3.d: New test.
* testsuite/ld-mips-elf/unaligned-ldpc-4.d: New test.
* testsuite/ld-mips-elf/unaligned-jalx-0.s: New test source.
* testsuite/ld-mips-elf/unaligned-jalx-1.s: New test source.
* testsuite/ld-mips-elf/unaligned-jalx-2.s: New test source.
* testsuite/ld-mips-elf/unaligned-insn.s: New test source.
* testsuite/ld-mips-elf/unaligned-lwpc-0.s: New test source.
* testsuite/ld-mips-elf/unaligned-lwpc-1.s: New test source.
* testsuite/ld-mips-elf/unaligned-lwpc-2.s: New test source.
* testsuite/ld-mips-elf/unaligned-lwpc-3.s: New test source.
* testsuite/ld-mips-elf/unaligned-ldpc-0.s: New test source.
* testsuite/ld-mips-elf/unaligned-ldpc-1.s: New test source.
* testsuite/ld-mips-elf/unaligned-ldpc-2.s: New test source.
* testsuite/ld-mips-elf/unaligned-ldpc-3.s: New test source.
* testsuite/ld-mips-elf/unaligned-ldpc-4.s: New test source.
* testsuite/ld-mips-elf/unaligned-syms.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit f3ad76370f8c79e4ae74ca6826e23bf417d5283a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 11:23:40 2016 -0700
Enable VREX for all AVX512 directives
Add all AVX512 bits to CPU_ANY_AVX_FLAGS.
* i386-gen.c (cpu_flag_init): Add CpuVREX to CPU_AVX512DQ_FLAGS,
CPU_AVX512BW_FLAGS, CPU_AVX512VL_FLAGS, CPU_AVX512IFMA_FLAGS
and CPU_AVX512VBMI_FLAGS. Add CpuAVX512DQ, CpuAVX512BW,
CpuAVX512VL, CpuAVX512IFMA and CpuAVX512VBMI to
CPU_ANY_AVX_FLAGS.
* i386-init.h: Regenerated.
commit f1360d5830fc7695cd26214257c62f34b73070c8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 10:49:25 2016 -0700
Enable VREX for AVX512 directives
Enable VREX for AVX512 instructions with upper 16 vector registers.
gas/
PR gas/20141
* testsuite/gas/i386/i386.exp: Run x86-64-pr20141.
* testsuite/gas/i386/x86-64-pr20141.d: New file.
* testsuite/gas/i386/x86-64-pr20141.s: Likewise.
opcodes/
PR gas/20141
* i386-gen.c (cpu_flag_init): Add CpuVREX to CPU_AVX512F_FLAGS,
CPU_AVX512CD_FLAGS, CPU_AVX512ER_FLAGS and CPU_AVX512PF_FLAGS.
* i386-init.h: Regenerated.
commit 293f5f65435c4d309cbf463e941a8bd5ae50c02d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 10:25:50 2016 -0700
Reimplement .no87/.nommx/.nosse/.noavx directives
Move all .noXXX directives to cpu_noarch.
gas/
* config/tc-i386.c (arch_entry): Remove negated.
(noarch_entry): New struct.
(cpu_arch): Updated. Remove .no87, .nommx, .nosse and .noavx.
(cpu_noarch): New.
(set_cpu_arch): Check cpu_noarch after cpu_arch.
(md_parse_option): Allow -march=+nosse. Check cpu_noarch after
cpu_arch.
(output_message): New function.
(show_arch): Use it. Handle cpu_noarch.
* testsuite/gas/i386/i386.exp: Run nommx-1, nommx-2, nommx-3,
nosse-1, nosse-2, nosse-3, noavx-1 and noavx-2.
* testsuite/gas/i386/noavx-1.l: New file.
* testsuite/gas/i386/noavx-1.s: Likewise.
* testsuite/gas/i386/noavx-2.s: Likewise.
* testsuite/gas/i386/noavx-2.l: Likewise.
* testsuite/gas/i386/nommx-1.s: Likewise.
* testsuite/gas/i386/nommx-1.l: Likewise.
* testsuite/gas/i386/nommx-2.s: Likewise.
* testsuite/gas/i386/nommx-2.l: Likewise.
* testsuite/gas/i386/nommx-3.s: Likewise.
* testsuite/gas/i386/nommx-3.l: Likewise.
* testsuite/gas/i386/nosse-1.s: Likewise.
* testsuite/gas/i386/nosse-1.l: Likewise.
* testsuite/gas/i386/nosse-2.s: Likewise.
* testsuite/gas/i386/nosse-2.l: Likewise.
* testsuite/gas/i386/nosse-3.s: Likewise.
* testsuite/gas/i386/nosse-3.l: Likewise.
opcodes/
* i386-gen.c (cpu_flag_init): Rename CPU_ANY87_FLAGS to
CPU_ANY_X87_FLAGS. Add CPU_ANY_MMX_FLAGS.
* i386-init.h: Regenerated.
commit e6cc316af931911da20249e19f9342e5cf8aeeff
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 09:46:47 2016 -0700
Enable 64-bit archives in ar and ranlib
Since existing ld and gold support the 64-bit (MIPS) ELF archives, we
can use the 64-bit (MIPS) ELF archives as 64-bit archives. Since the
plugin target is used to create archive in plugin-enabled ar, we need
a way to enable 64-bit archives in the plugin target. This patch adds
--enable-64-bit-archive to bfd to force 64-bit archives in ar and
ranlib. Since both 64-bit MIPS and s390 ELF targets currently use
64-bit archives, 64-bit archives are enabled by default for them.
64-bit archive is generated automatically if the archive is too big.
Tested on Linux/x86 and Linux/x86-64 with existing ld and gold.
bfd/
PR binutils/14625
* archive.c (bfd_slurp_armap): Replace
bfd_elf64_archive_slurp_armap with
_bfd_archive_64_bit_slurp_armap.
(bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
BFD64 is defined and the archive is too big.
(coff_write_armap): Likewise.
* archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
(_bfd_archive_64_bit_slurp_armap): This.
(bfd_elf64_archive_write_armap): Renamed to ...
(_bfd_archive_64_bit_write_armap): This.
* configure.ac: Add --enable-64-bit-archive.
(want_64_bit_archive): New. Set to true by default for 64-bit
MIPS and s390 ELF targets.
(USE_64_BIT_ARCHIVE): New AC_DEFINE.
* config.in: Regenerated.
* configure: Likewise.
* elf64-mips.c (bfd_elf64_archive_functions): Removed.
(bfd_elf64_archive_slurp_armap): Likewise.
(bfd_elf64_archive_write_armap): Likewise.
(bfd_elf64_archive_slurp_extended_name_table): Likewise.
(bfd_elf64_archive_construct_extended_name_table): Likewise.
(bfd_elf64_archive_truncate_arname): Likewise.
(bfd_elf64_archive_read_ar_hdr): Likewise.
(bfd_elf64_archive_write_ar_hdr): Likewise.
(bfd_elf64_archive_openr_next_archived_file): Likewise.
(bfd_elf64_archive_get_elt_at_index): Likewise.
(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
(bfd_elf64_archive_update_armap_timestamp): Likewise.
* elf64-s390.c (bfd_elf64_archive_functions): Removed.
(bfd_elf64_archive_slurp_armap): Likewise.
(bfd_elf64_archive_write_armap): Likewise.
(bfd_elf64_archive_slurp_extended_name_table): Likewise.
(bfd_elf64_archive_construct_extended_name_table): Likewise.
(bfd_elf64_archive_truncate_arname): Likewise.
(bfd_elf64_archive_read_ar_hdr): Likewise.
(bfd_elf64_archive_write_ar_hdr): Likewise.
(bfd_elf64_archive_openr_next_archived_file): Likewise.
(bfd_elf64_archive_get_elt_at_index): Likewise.
(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
(bfd_elf64_archive_update_armap_timestamp): Likewise.
* elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
bfd_elfNN_archive_functions isn't defined.
(TARGET_LITTLE_SYM): Likewise.
* libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
(_bfd_archive_64_bit_write_armap): Likewise.
(_bfd_archive_64_bit_slurp_extended_name_table): New macro.
(_bfd_archive_64_bit_construct_extended_name_table): Likewise.
(_bfd_archive_64_bit_truncate_arname): Likewise.
(_bfd_archive_64_bit_read_ar_hdr): Likewise.
(_bfd_archive_64_bit_write_ar_hdr): Likewise.
(_bfd_archive_64_bit_openr_next_archived_file): Likewise.
(_bfd_archive_64_bit_get_elt_at_index): Likewise.
(_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
(_bfd_archive_64_bit_update_armap_timestamp): Likewise.
* libbfd.h: Regenerated.
* plugin.c (plugin_vec): Use _bfd_archive_64_bit on
BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
binutils/
PR binutils/14625
* NEWS: Mention --enable-64-bit-archive.
commit b95a0a3177bcf797c8f5ad6a7d276fb6275352b7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 25 08:40:52 2016 -0700
Skip an archive element if not added by linker
During archive rescan to resolve symbol references for files added by
LTO, linker add_archive_element callback is called to check if an
archive element should added. After all IR symbols have been claimed,
linker won't claim new IR symbols and shouldn't add the LTO archive
element. This patch updates linker add_archive_element callback to
return FALSE when seeing an LTO archive element during rescan and
changes ELF linker to skip such archive element.
bfd/
PR ld/20103
* cofflink.c (coff_link_check_archive_element): Return TRUE if
linker add_archive_element callback returns FALSE.
* ecoff.c (ecoff_link_check_archive_element): Likewise.
* elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
archive element if linker add_archive_element callback returns
FALSE.
* elflink.c (elf_link_add_archive_symbols): Likewise.
* pdp11.c (aout_link_check_ar_symbols): Likewise.
* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
(xcoff_link_check_ar_symbols): Likewise.
ld/
PR ld/20103
* ldmain.c (add_archive_element): Don't claim new IR symbols
after all IR symbols have been claimed.
* plugin.c (plugin_call_claim_file): Remove no_more_claiming
check.
* testsuite/ld-plugin/lto.exp (pr20103): New proc.
Run PR ld/20103 tests.
* testsuite/ld-plugin/pr20103a.c: New file.
* testsuite/ld-plugin/pr20103b.c: Likewise.
* testsuite/ld-plugin/pr20103c.c: Likewise.
commit 7bd787e8774f96712d2e15a4094f094e00ff45ba
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 25 07:54:44 2016 -0600
fix spelling of HAVE_LIBPYTHON2_4 in py-value.c
Ulrich pointed out that an earlier patch had misspelled
HAVE_LIBPYTHON2_4, adding an extra "_". This caused a build failure.
This patch fixes the bug.
2016-05-25 Tom Tromey <tom@tromey.com>
* python/py-value.c (value_object_as_number): Use correct spelling
of HAVE_LIBPYTHON2_4.
commit ee4d7613b9b5b4a96a01717663676a3eea3d3862
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 25 13:12:14 2016 +0100
Fix typo in changelog entry
commit 934c26326909f953aaa15edb423dd4af6f33c448
Author: Chua Zheng Leong <chuazl@comp.nus.edu.sg>
Date: Wed May 25 13:09:51 2016 +0100
Only generate VMOV.I64 instructions for loading constant floating point values if this instruction is supported by the currently selected fpu.
PR target/2006764
* config/tc-arm.c (move_or_literal_pool): Only generate a VMOV.I64
instruction if supported by the currently selected fpu variant.
* testsuite/gas/arm/vfpv3-ldr_immediate.s: Add test of this PR.
* testsuite/gas/arm/vfpv3-ldr_immediate.d: Update expected disassembly.
commit 2bbad2ea1102733a2a4143be4afe195caf730cd0
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:18 2016 +0200
Fortran, typeprint: Forward level of details to be printed for pointers.
Variable "show" was hardcoded to zero for pointer and reference types.
This implementation didn't allow a correct "whatis" print
for those types and results in same output for "ptype" and "whatis".
Before:
(gdb) whatis t3p
type = PTR TO -> ( Type t3
integer(kind=4) :: t3_i
Type t2 :: t2_n
End Type t3 )
After:
(gdb) whatis t3p
type = PTR TO -> ( Type t3 )
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* f-typeprint.c (f_type_print_base): Replace 0 by show.
gdb/testsuite/Changelog:
* gdb.fortran/type.f90: Add pointer variable.
* gdb.fortran/whatis_type.exp: Add whatis/ptype of pointers.
commit 8b70175dfa76c97e28d83cd09f3604933a7c05f5
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:18 2016 +0200
Fortran, testsuite: Fix duplicate testcase name.
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/testsuite/Changelog:
* gdb.fortran/vla-type.exp: Fix testcase name.
commit 86d8a84882643db4d8c28cea8e4a358465cb11f5
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:18 2016 +0200
Fortran, testsuite: Add testcases for nested structures.
As as result of printing only the outer elements of nested structures,
some testcases have to be added to check for corner cases with VLA's.
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/testsuite/Changelog:
* gdb.fortran/vla-type.exp: Access elements in nested structs.
commit e188eb36215c031304aa7d2630447e2d0726adf5
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:17 2016 +0200
Fortran, typeprint: Decrease level of details when printing elements of a structure.
According to the typeprint's description, the level of details is
decreased by one for the typeprint of elements of a structure.
Before:
(gdb) ptype t3v
type = Type t3
integer(kind=4) :: t3_i
Type t2
integer(kind=4) :: t2_i
Type t1
integer(kind=4) :: t1_i
real(kind=4) :: t1_r
End Type t1 :: t1_n
End Type t2 :: t2_n
End Type t3
After:
(gdb) ptype t3v
type = Type t3
integer(kind=4) :: t3_i
Type t2 :: t2_n
End Type t3
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* f-typeprint.c (f_type_print_base): Decrease show by one.
gdb/testsuite/Changelog:
* gdb.fortran/type.f90: Add nested structures.
* gdb.fortran/whatis-type.exp: Whatis/ptype nested structures.
* gdb.fortran/derived-type.exp: Adapt expected output.
* gdb.fortran/vla-type.exp: Adapt expected output.
commit 9b2db1fd27cea1323a7ae0beb9399c8e1c4a3741
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:17 2016 +0200
Fortran, typeprint: Take level of details into account when printing elements of a structure.
According to the typeprint's description, elements of a structure
should not be printed when show is < 1.
This variable is also used to distinguish the level of details
between "ptype" and "whatis" expressions.
Before:
(gdb) whatis t1v
type = Type t1
integer(kind=4) :: t1_i
real(kind=4) :: t1_r
End Type t1
After:
(gdb) whatis t1v
type = Type t1
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* f-typeprint.c (f_type_print_base): Don't print fields when show < 0.
gdb/testsuite/Changelog:
* gdb.fortran/whatis_type.exp: Adapt expected output.
commit 72b1705502a891e07d40ad215146c71193920801
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:16 2016 +0200
Fortran, typeprint: Fix wrong indentation when ptype nested structures.
Level of indentation was not proper handled when printing
the elements type's name.
Before:
type = Type t1
integer(kind=4) :: var_1
integer(kind=4) :: var_2
End Type t1
After:
type = Type t1
integer(kind=4) :: var_1
integer(kind=4) :: var_2
End Type t1
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* f-typeprint.c (f_type_print_base): Take print level into account.
gdb/testsuite/Changelog:
* gdb.fortran/print_type.exp: Fix expected output.
* gdb.fortran/whatis_type.exp: Fix expected output.
commit 3cd81d8df727cc961b9333d5e977718c622bf9c3
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed May 25 08:47:16 2016 +0200
Fortran, testsuite: Use multi_line in whatis_type testcase.
2016-05-25 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/testsuite/Changelog:
* gdb.fortran/whatis_type.exp: Use multi_line.
commit e4c1704d7af52f3eeb2b8a676912da41d4b19c9e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 25 00:00:17 2016 +0000
Automatic date update in version.in
commit 7db9a74e9f03427ed2844a17cebecc5e793f38ef
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue May 24 20:45:30 2016 +0100
MIPS/BFD: Unify `bfd_reloc_outofrange' error reporting code
bfd/
* elfxx-mips.c (_bfd_mips_elf_relocate_section)
<bfd_reloc_outofrange>: Unify error reporting code.
commit ddae946278bf4269370f7d945732485ad13469fa
Author: Tom Tromey <tom@tromey.com>
Date: Sat Sep 13 22:24:50 2014 -0600
Fix PR python/17386 - add __index__ method to gdb.Value
This patch fixes PR python/17386.
The bug is that gdb.Value does not implement the Python __index__
method. This method is needed to convert a Python object to an index
and is used by various operations in Python, such as indexing an
array.
The fix is to implement the nb_index method for gdb.Value.
nb_index was added in Python 2.5. I don't have a good way to test
Python 2.4, but I made an attempt to accomodate it.
I chose to use valpy_long in all cases because this simplifies porting
to Python 3, and because there didn't seem to be any harm.
Built and regtested on x86-64 Fedora 23.
2016-05-24 Tom Tromey <tom@tromey.com>
PR python/17386:
* python/py-value.c (value_object_as_number): Add
nb_inplace_floor_divide, nb_inplace_true_divide, nb_index.
2016-05-24 Tom Tromey <tom@tromey.com>
PR python/17386:
* gdb.python/py-value.exp (test_value_numeric_ops): Add tests that
use value as an index.
commit e2b7f516fc688975ea22ad3cf2066c6972454fdc
Author: Tom Tromey <tom@tromey.com>
Date: Mon May 23 10:58:51 2016 -0600
add nb_inplace_divide for python 2
Python 2's PyNumberMethods has nb_inplace_divide, but Python 3 does
not. This patch adds it for Python 2.
This buglet didn't cause much fallout because the only non-NULL entry
in value_object_as_number after this is for valpy_divide; and the
missing slot caused it to slide up to nb_floor_divide (where
nb_true_divide was intended).
2016-05-24 Tom Tromey <tom@tromey.com>
* python/py-value.c (value_object_as_number): Add
nb_inplace_divide for Python 2.
commit 1957f6b89f3db02d51e3e3361de6af073a03f19d
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 18 21:41:28 2016 -0600
Fix PR python/17981
PR python/17981 notes that gdb.breakpoints() returns None when there
are no breakpoints; whereas an empty list or tuple would be more in
keeping with Python and the documentation.
This patch fixes the bug by changing the no-breakpoint return to make
an empty tuple.
Built and regtested on x86-64 Fedora 23.
2016-05-23 Tom Tromey <tom@tromey.com>
PR python/17981:
* python/py-breakpoint.c (gdbpy_breakpoints): Return a new tuple
when there are no breakpoints.
2016-05-23 Tom Tromey <tom@tromey.com>
* python.texi (Basic Python): Document gdb.breakpoints return.
2016-05-23 Tom Tromey <tom@tromey.com>
PR python/17981:
* gdb.python/py-breakpoint.exp (test_bkpt_basic): Add test for
no-breakpoint case.
commit 224f10c1ae5d815b6d2efddb479052b79ea4d256
Author: Tom Tromey <tom@tromey.com>
Date: Tue May 24 09:41:39 2016 -0600
PR gdb/19194 - fix typo in the manual
PR gdb/19194 points out a typo in the documentation. I'm checking
this in as obvious.
2016-05-24 Tom Tromey <tom@tromey.com>
PR gdb/19194:
* gdb.texinfo (gdb man): Fix typo.
commit 026a91747567565bf2956fae98fed6a958151aab
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:57 2016 +0100
Fix PR gdb/19828: gdb -p <process from a container>: internal error
When GDB attaches to a process, it looks at the /proc/PID/task/ dir
for all clone threads of that process, and attaches to each of them.
Usually, if there is more than one clone thread, it means the program
is multi threaded and linked with pthreads. Thus when GDB soon after
attaching finds and loads a libthread_db matching the process, it'll
add a thread to the thread list for each of the initially found
lower-level LWPs.
If, however, GDB fails to find/load a matching libthread_db, nothing
is adding the LWPs to the thread list. And because of that, "detach"
hits an internal error:
(gdb) PASS: gdb.threads/clone-attach-detach.exp: fg attach 1: attach
info threads
Id Target Id Frame
* 1 LWP 6891 "clone-attach-de" 0x00007f87e5fd0790 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:84
(gdb) FAIL: gdb.threads/clone-attach-detach.exp: fg attach 1: info threads shows two LWPs
detach
.../src/gdb/thread.c:1010: internal-error: is_executing: Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
FAIL: gdb.threads/clone-attach-detach.exp: fg attach 1: detach (GDB internal error)
From here:
...
#8 0x00000000007ba7cc in internal_error (file=0x98ea68 ".../src/gdb/thread.c", line=1010, fmt=0x98ea30 "%s: Assertion `%s' failed.")
at .../src/gdb/common/errors.c:55
#9 0x000000000064bb83 in is_executing (ptid=...) at .../src/gdb/thread.c:1010
#10 0x00000000004c23bb in get_pending_status (lp=0x12c5cc0, status=0x7fffffffdc0c) at .../src/gdb/linux-nat.c:1235
#11 0x00000000004c2738 in detach_callback (lp=0x12c5cc0, data=0x0) at .../src/gdb/linux-nat.c:1317
#12 0x00000000004c1a2a in iterate_over_lwps (filter=..., callback=0x4c2599 <detach_callback>, data=0x0) at .../src/gdb/linux-nat.c:899
#13 0x00000000004c295c in linux_nat_detach (ops=0xe7bd30, args=0x0, from_tty=1) at .../src/gdb/linux-nat.c:1358
#14 0x000000000068284d in delegate_detach (self=0xe7bd30, arg1=0x0, arg2=1) at .../src/gdb/target-delegates.c:34
#15 0x0000000000694141 in target_detach (args=0x0, from_tty=1) at .../src/gdb/target.c:2241
#16 0x0000000000630582 in detach_command (args=0x0, from_tty=1) at .../src/gdb/infcmd.c:2975
...
Tested on x86-64 Fedora 23. Also confirmed the test passes against
gdbserver with "maint set target-non-stop".
gdb/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-nat.c (attach_proc_task_lwp_callback): Mark the lwp
resumed, and add the thread to GDB's thread list.
testsuite/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* gdb.threads/clone-attach-detach.c: New file.
* gdb.threads/clone-attach-detach.exp: New file.
commit 72b049d38ce85c51fc9f97ee64b00a47be5ebe94
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:57 2016 +0100
Make gdb/linux-nat.c consider a waitstatus pending on the infrun side
Working on the fix for gdb/19828, I saw
gdb.threads/attach-many-short-lived-threads.exp fail once in an
unusual way. Unfortunately I didn't keep debug logs, but it's an
issue similar to what's been fixed in remote.c a while ago --
linux-nat.c was not fetching the pending status from the right place.
gdb/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-nat.c (get_pending_status): If the thread reported the
event to the core and it's pending, use the pending status signal
number.
commit 774113b02f41ded4d9ba4d18571ee5024312ad1b
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:57 2016 +0100
[Linux] Optimize PID -> struct lwp_info lookup
Hacking the gdb.threads/attach-many-short-lived-threads.exp test to
spawn thousands of threads instead of dozens, and running gdb under
perf, I saw that GDB was spending most of the time in find_lwp_pid:
- captured_main
- 93.61% catch_command_errors
- 87.41% attach_command
- 87.40% linux_nat_attach
- 87.40% linux_proc_attach_tgid_threads
- 82.38% attach_proc_task_lwp_callback
- 81.01% find_lwp_pid
5.30% ptid_get_lwp
+ 0.10% ptid_lwp_p
+ 0.64% add_thread
+ 0.26% set_running
+ 0.24% set_executing
0.12% ptid_get_lwp
+ 0.01% ptrace
+ 0.01% add_lwp
attach_proc_task_lwp_callback is called once for each LWP that we
attach to, found by listing the /proc/PID/task/ directory. In turn,
attach_proc_task_lwp_callback calls find_lwp_pid to check whether the
LWP we're about to try to attach to is already known. Since
find_lwp_pid does a linear walk over the whole LWP list, this becomes
quadratic. We do the /proc/PID/task/ listing until we get two
iterations in a row where we found no new threads. So the second and
following times we walk the /proc/PID/task/ dir, we're going to take
an even worse find_lwp_pid hit.
Fix this by adding a hash table keyed by LWP PID, for fast lookup.
The linked list embedded in the LWP structure itself is kept, and made
a double-linked list, so that removals from that list are O(1). An
earlier version of this patch got rid of this list altogether, but
that revealed hidden dependencies / assumptions on how the list is
sorted. For example, killing a process and then waiting for all the
LWPs status using iterate_over_lwps only works as is because the
leader LWP is always last in the list. So I thought it better to take
an incremental approach and make this patch concern itself _only_ with
the PID lookup optimization.
gdb/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-nat.c (lwp_lwpid_htab): New htab.
(lwp_info_hash, lwp_lwpid_htab_eq, lwp_lwpid_htab_create)
(lwp_lwpid_htab_add_lwp): New functions.
(lwp_list): Tweak comment.
(lwp_list_add, lwp_list_remove, lwp_lwpid_htab_remove_pid): New
functions.
(purge_lwp_list): Rewrite, using htab_traverse_noresize.
(add_initial_lwp): Add lwp to htab too. Use lwp_list_add.
(delete_lwp): Use lwp_list_remove. Remove htab too.
(find_lwp_pid): Search in htab.
(_initialize_linux_nat): Call lwp_lwpid_htab_create.
* linux-nat.h (struct lwp_info) <prev>: New field.
commit 1ad3de988d2f41c72de66613c68ed78507a3abbd
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:57 2016 +0100
[Linux] Avoid refetching core-of-thread if thread hasn't run
Hacking the gdb.threads/attach-many-short-lived-threads.exp test to
spawn thousands of threads instead of dozens, I saw GDB having trouble
keeping up with threads being spawned too fast, when it tried to stop
them all. This was because while gdb is doing that, it updates the
thread list to make sure no new thread has sneaked in that might need
to be paused. It does this a few times until it sees no-new-threads
twice in a row. The thread listing update itself is not that
expensive, however, in the Linux backend, updating the threads list
calls linux_common_core_of_thread for each LWP to record on which core
each LWP was last seen running, which opens/reads/closes a /proc file
for each LWP which becomes expensive when you need to do it for
thousands of LWPs.
perf shows gdb in linux_common_core_of_thread 44% of the time, in the
stop_all_threads -> update_thread_list path in this use case.
This patch simply makes linux_common_core_of_thread avoid updating the
core the thread is bound to if the thread hasn't run since the last
time we updated that info. This makes linux_common_core_of_thread
disappear into the noise in the perf report.
gdb/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-nat.c (linux_resume_one_lwp_throw): Clear the LWP's core
field.
(linux_nat_update_thread_list): Don't fetch the core if already
known.
commit 95e94c3f18aaf34fadcd9a2a882ffe6147b9acc3
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:56 2016 +0100
[Linux] Read vDSO range from /proc/PID/task/PID/maps instead of /proc/PID/maps
... as it's _much_ faster.
Hacking the gdb.threads/attach-many-short-lived-threads.exp test to
spawn thousands of threads instead of dozens to stress and debug
timeout problems with gdb.threads/attach-many-short-lived-threads.exp,
I saw that GDB would spend several seconds just reading the
/proc/PID/smaps file, to determine the vDSO mapping range. GDB opens
and reads the whole file just once, and caches the result, but even
that is too slow. For example, with almost 8000 threads:
$ ls /proc/3518/task/ | wc -l
7906
reading the /proc/PID/smaps file grepping for "vdso" takes over 15
seconds :
$ time cat /proc/3518/smaps | grep vdso
7ffdbafee000-7ffdbaff0000 r-xp 00000000 00:00 0 [vdso]
real 0m15.371s
user 0m0.008s
sys 0m15.017s
Looking around the web for hints, I found a nice description of the
issue here:
http://backtrace.io/blog/blog/2014/11/12/large-thread-counts-and-slow-process-maps/
The problem is that /proc/PID/smaps wants to show the mappings as
being thread stack, and that has the kernel iterating over all threads
in the thread group, for each mapping.
The fix is to use the "map" file under /proc/PID/task/PID/ instead of
the /proc/PID/ one, as the former doesn't mark thread stacks for all
threads.
That alone drops the timing to the millisecond range on my machine:
$ time cat /proc/3518/task/3518/smaps | grep vdso
7ffdbafee000-7ffdbaff0000 r-xp 00000000 00:00 0 [vdso]
real 0m0.150s
user 0m0.009s
sys 0m0.084s
And since we only need the vdso mapping's address range, we can use
"maps" file instead of "smaps", and it's even cheaper:
/proc/PID/task/PID/maps :
$ time cat /proc/3518/task/3518/maps | grep vdso
7ffdbafee000-7ffdbaff0000 r-xp 00000000 00:00 0 [vdso]
real 0m0.027s
user 0m0.000s
sys 0m0.017s
gdb/ChangeLog:
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-tdep.c (find_mapping_size): Delete.
(linux_vsyscall_range_raw): Rewrite reading from
/proc/PID/task/PID/maps directly instead of using
gdbarch_find_memory_regions.
commit aa01bd3689d204ce3d657cf7eb17b8343d79a080
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 24 14:47:56 2016 +0100
Linux native thread create/exit events support
A following patch (fix for gdb/19828) makes linux-nat.c add threads to
GDB's thread list earlier in the "attach" sequence, and that causes a
surprising regression on
gdb.threads/attach-many-short-lived-threads.exp on my machine. The
extra "thread x exited" handling and traffic slows down that test
enough that GDB core has trouble keeping up with new threads that are
spawned while trying to stop existing ones.
I saw the exact same issue with remote/gdbserver a while ago and fixed
it in 65706a29bac5 (Remote thread create/exit events) so part of the
fix here is the exact same -- add support for thread created events to
gdb/linux-nat.c. infrun.c:stop_all_threads enables those events when
it tries to stop threads, which ensures that new threads never get a
chance to themselves start new threads, thus fixing the race.
gdb/
2016-05-24 Pedro Alves <palves@redhat.com>
PR gdb/19828
* linux-nat.c (report_thread_events): New global.
(linux_handle_extended_wait): Report
TARGET_WAITKIND_THREAD_CREATED if thread event reporting is
enabled.
(wait_lwp, linux_nat_filter_event): Report all thread exits if
thread event reporting is enabled. Remove comment.
(filter_exit_event): New function.
(linux_nat_wait_1): Use it.
(linux_nat_thread_events): New function.
(linux_nat_add_target): Install it as target_thread_events method.
commit 44d3da2338157ad7acfd6facbcfb38ed6ec94fa1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue May 24 13:54:31 2016 +0100
MIPS/GAS: Treat local jump relocs the same no matter if REL or RELA
Do not convert jump relocs against local MIPS16 or microMIPS symbols to
refer to a section symbol instead even on RELA targets, as it makes it
impossible for the linker to make a JAL to JALX conversion based on ISA
symbol annotation, breaking regular and compressed MIPS interlinking.
gas/
* config/tc-mips.c (mips_fix_adjustable): Also return 0 for
jump relocations against MIPS16 or microMIPS symbols on RELA
targets.
* testsuite/gas/mips/jalx-local.d: New test.
* testsuite/gas/mips/jalx-local-n32.d: New test.
* testsuite/gas/mips/jalx-local-n64.d: New test.
* testsuite/gas/mips/jalx-local.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
ld/
* testsuite/ld-mips-elf/jalx-local.d: New test.
* testsuite/ld-mips-elf/jalx-local-n32.d: New test.
* testsuite/ld-mips-elf/jalx-local-n64.d: New test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit 4512dafa508c4b148996f2d67222a82dd018cdd3
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue May 24 14:05:19 2016 +0100
MIPS/GAS: Cut TLS reloc dead code path in `md_apply_fix'
With code refactoring made in commit b886a2ab0d52 and the addition of
`calculate_reloc' and a separate test for TLS relocs against constants
made there the preexisting fall-through from the TLS reloc switch case
has effectively become a dead execution path. This is because the call
to `calculate_reloc' present there is only made if `fixP->fx_done' is
true, which can only be the case if `fixP->fx_addsy' is NULL, which in
turn has already triggered the TLS reloc test and made execution break
out of the switch statement.
Remove the fall-through then and reshape code accordingly.
gas/
* config/tc-mips.c (md_apply_fix)
<BFD_RELOC_MIPS16_TLS_TPREL_LO16>: Remove fall-through, adjust
code accordingly.
commit cc34adb29049afb367107bad78b163d7deddac3e
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon May 23 00:39:47 2016 -0400
xtensa: make map_suffix_reloc_to_operator return operatorT
It always returns an element of the enum operatorT, so it should be clearer to
make that the return type.
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-xtensa.c (struct suffix_reloc_map): Change type of field
operator to operatorT.
(map_suffix_reloc_to_operator): Change return type to operatorT.
commit c023823f5f7bff47977658ca8978d8961d2544ef
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun May 22 03:39:00 2016 -0400
d30v: make var type operatorT
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-d30v.c (find_format): Change type of X_op to operatorT.
commit 049efc6495c229476f6cf5bc27021e7c167fe1fb
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sun May 22 00:32:22 2016 -0400
mmix: constify handler_charp
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-mmix.c (mmix_parse_predefined_name): Change type of
handler_charp to const char *.
commit b19e0aeb53c77e0dbb2083c18dcb0a154db99d17
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 21 04:21:32 2016 -0400
ft32: fixup TARGET_FORMAT
Nothing ever assigns to ft32_target_format, so its always null, which means the
bfd target arch is the default one. It looks like ft32 only has one target
format, so we can just define TARGET_FORMAT to be that literal string.
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-ft32.h (DEFAULT_TARGET_FORMAT): Remove.
(ft32_target_format): Likewise.
(TARGET_FORMAT): Adjust.
commit e5e27b0769acf1c864ac9e41544c0747d1058cd5
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri May 20 06:33:35 2016 -0400
ia64: use XOBNEW and XOBNEWVEC
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-ia64.c (dot_rot): simplify allocations from obstacks.
(ia64_frob_label): Likewise.
commit 6610dc6daa661b7cd042bc6313a29859b87263d9
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Fri May 13 04:05:59 2016 -0400
change some variable's type to op_err
They only hold values from the op_err enum, so it should be clearer to give
them the enum type.
gas/ChangeLog:
2016-05-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-cr16.c (check_range): Make type of retval op_err.
* config/tc-crx.c: Likewise.
commit e70a7231e6347212258d43d2a46a20f7f7584386
Author: Francis Ricci <francisjricci@gmail.com>
Date: Tue May 24 12:07:00 2016 +0100
Fix syntax error in annota-input-while-running.exp
This patch fixes a syntax error which caused a failure in
annota-input-while-running.exp to crash the test suite runner.
2016-05-24 Francis Ricci <francisjricci@gmail.com>
* gdb.base/annota-input-while-running.exp: Fix syntax error.
commit 00a3cb9c7c69cf65fdce73079a445cb379ae7842
Author: Yan-Ting Lin <currygt52@gmail.com>
Date: Tue May 24 16:41:13 2016 +0800
Add myself as a write-after-approval GDB maintainer
gdb/ChangeLog:
* MAINTAINERS (Write After Approval): Add "Yan-Ting Lin".
commit c17cd1124866bf2f9bcd2bffefc0f568da40b720
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 24 00:00:18 2016 +0000
Automatic date update in version.in
commit b7f28d873c8bb26500e46828d34445cebfab7fd4
Author: Jim Wilson <jim.wilson@linaro.org>
Date: Mon May 23 16:38:21 2016 -0700
Enable R_AARCH64_NONE for 64-bit code.
* elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
* relocs.c: Add BFD_RELOC_AARCH64_NULL.
* bfd-in2.h: Regenerate.
* libbfd.h: Likewise.
commit 7eb895307f53af3435440d3fe67c0e4e679d99b2
Author: Yao Qi <yao.qi@arm.com>
Date: Mon May 23 17:32:56 2016 +0100
Skip unwritable frames in command "finish"
Nowadays, GDB can't insert breakpoint on the return address of the
exception handler on ARM M-profile, because the address is a magic
one 0xfffffff9,
(gdb) bt
#0 CT32B1_IRQHandler () at ../src/timer.c:67
#1 <signal handler called>
#2 main () at ../src/timer.c:127
(gdb) info frame
Stack level 0, frame at 0x200ffa8:
pc = 0x4ec in CT32B1_IRQHandler (../src/timer.c:67); saved pc = 0xfffffff9
called by frame at 0x200ffc8
source language c.
Arglist at 0x200ffa0, args:
Locals at 0x200ffa0, Previous frame's sp is 0x200ffa8
Saved registers:
r7 at 0x200ffa0, lr at 0x200ffa4
(gdb) x/x 0xfffffff9
0xfffffff9: Cannot access memory at address 0xfffffff9
(gdb) finish
Run till exit from #0 CT32B1_IRQHandler () at ../src/timer.c:67
Ed:15: Target error from Set break/watch: Et:96: Pseudo-address (0xFFFFFFxx) for EXC_RETURN is invalid (GDB error?)
Warning:
Cannot insert hardware breakpoint 0.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
Command aborted.
even some debug probe can't set hardware breakpoint on the magic
address too,
(gdb) hbreak *0xfffffff9
Hardware assisted breakpoint 2 at 0xfffffff9
(gdb) c
Continuing.
Ed:15: Target error from Set break/watch: Et:96: Pseudo-address (0xFFFFFFxx) for EXC_RETURN is invalid (GDB error?)
Warning:
Cannot insert hardware breakpoint 2.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
Command aborted.
The problem described above is quite similar to PR 8841, in which GDB
can't set breakpoint on signal trampoline, which is mapped to a read-only
page by kernel. The rationale of this patch is to skip "unwritable"
frames when looking for caller frames in command "finish", and a new
gdbarch method code_of_frame_writable is added. This patch fixes
the problem on ARM cortex-m target, but it can be used to fix
PR 8841 too.
gdb:
2016-05-10 Yao Qi <yao.qi@arm.com>
* arch-utils.c (default_code_of_frame_writable): New function.
* arch-utils.h (default_code_of_frame_writable): Declare.
* arm-tdep.c (arm_code_of_frame_writable): New function.
(arm_gdbarch_init): Install gdbarch method
code_of_frame_writable if the target is M-profile.
* frame.c (skip_unwritable_frames): New function.
* frame.h (skip_unwritable_frames): Declare.
* gdbarch.sh (code_of_frame_writable): New.
* gdbarch.c, gdbarch.h: Re-generated.
* infcmd.c (finish_command): Call skip_unwritable_frames.
commit 0f6ed0e0efe2c4dcd35b0e483dc3b5da7fe4edf0
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 18 21:19:17 2016 -0600
Fix PR python/19438, PR python/18393 - initialize dictionaries
This fixes PR python/19438 and PR python/18393. Both bugs are about
invoking dir() on some Python object implemented by gdb, and getting a
crash.
The crash happens because the dictionary field of these objects was
not initialized. Apparently what happens is that this field can be
lazily initialized by Python when assigning to an attribute; and it
can also be handled ok when using dir() but without __dict__ defined;
but gdb defines __dict__ because this isn't supplied automatically by
Python.
The docs on this seem rather sparse, but this patch works ok.
An alternative might be to lazily create the dictionary in
gdb_py_generic_dict, but I went with this approach because it seemed
more straightforward.
Built and regtested on x86-64 Fedora 23.
2016-05-23 Tom Tromey <tom@tromey.com>
PR python/19438, PR python/18393:
* python/py-objfile.c (objfpy_initialize): Initialize self->dict.
* python/py-progspace.c (pspy_initialize): Initialize self->dict.
2016-05-23 Tom Tromey <tom@tromey.com>
PR python/19438, PR python/18393:
* gdb.python/py-progspace.exp: Add "dir" test.
* gdb.python/py-objfile.exp: Add "dir" test.
commit d9eca1df01c0e6f7f22566c154e63b1df9315790
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu May 19 12:19:32 2016 +0200
[ARC] Update instruction type and delay slot info.
This patch corrects the instructioninformation passed into the
disassebler_info structure.
include/
2016-05-23 Claudiu Zissulescu <claziss@synopsys.com>
* opcode/arc.h (insn_subclass_t): Add COND.
(flag_class_t): Add F_CLASS_EXTEND.
opcodes/
2016-05-23 Claudiu Zissulescu <claziss@synopsys.com>
* arc-dis.c (print_flags): Set branch_delay_insns, and insn_type
information.
(print_insn_arc): Set insn_type information.
* arc-opc.c (C_CC): Add F_CLASS_COND.
* arc-tbl.h (bbit0, bbit1): Update subclass to COND.
(beq_s, bge_s, bgt_s, bhi_s, bhs_s): Likewise.
(ble_s, blo_s, bls_s, blt_s, bne_s): Likewise.
(breq, breq_s, brge, brhs, brlo, brlt): Likewise.
(brne, brne_s, jeq_s, jne_s): Likewise.
commit 87789e08e5cb2191af1122ed98af2d6c023b3a0a
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu May 19 12:33:17 2016 +0200
[ARC] Add XY registers, update neg instruction.
gas/
2016-05-23 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (md_begin): Add XY registers.
(cpu_types): Code density is default off for ARC EM.
opcodes/
2016-05-23 Claudiu Zissulescu <claziss@synopsys.com>
* arc-tbl.h (neg): New instruction variant.
commit c810e0b87a2084656af944fe269d8c2680ba5469
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Mon May 23 17:25:46 2016 +0200
[ARC] Rename "class" named attributes.
gas/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* config/tc-arc.c (attributes_t): Renamed attribute class to
attr_class.
(find_opcode_match, assemble_insn, tokenize_extinsn): Changed.
opcode/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* arc-dis.c (find_format, find_format, get_auxreg)
(print_insn_arc): Changed.
* arc-ext.h (INSERT_XOP): Likewise.
include/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* opcode/arc.h (struct arc_opcode): Renamed attribute class to
insn_class.
(struct arc_flag_class): Renamed attribute class to flag_class.
commit ffd19d610b3807bd5e2622440e225adb12a6766b
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon May 23 15:45:12 2016 +0100
Use standard_testfile in gdb.arch/thumb-prologue.exp and gdb.arch/thumb2-it.exp
This patch fixes the errors below:
Running /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.arch/thumb-prologue.exp ...
gdb compile failed, arm-linux-gnueabihf/bin/ld: cannot open output file /scratch/yao/gdb/build-git/arm-linux-gnueabihf/gdb/testsuite/gdb.arch/thumb-prologue: No such file or directory
collect2: error: ld returned 1 exit status
Running /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.arch/thumb2-it.exp ...
gdb compile failed, arm-linux-gnueabihf/bin/ld: cannot open output file /scratch/yao/gdb/build-git/arm-linux-gnueabihf/gdb/testsuite/gdb.arch/thumb2-it: No such file or directory
gdb/testsuite:
2016-05-23 Yao Qi <yao.qi@linaro.org>
* gdb.arch/thumb-prologue.exp: Use standard_testfile.
* gdb.arch/thumb2-it.exp: Likewise.
commit d26a14db86600ccc1f05cbe35d99c6995475c271
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 23 13:56:46 2016 +0100
oops - omitted from previous delta
commit a2bea3245ecf4ff67f923c85adf57aa78423eb45
Author: Kuba Sejdak <jakub.sejdak@phoesys.com>
Date: Mon May 23 13:53:07 2016 +0100
Add support for configuring for the ARM Phoenix target.
bfd * config.bfd: Add entry for arm-phoenix.
gas * configuse.tgt: Add entry for arm-phoenix.
ld * Makefile.am: Add earmelf_phoenix.c.
* Makefile.in: Regenerate.
* configure.tgt: Add entry for arm-phoenix.
* emulparams/armelf_phoenix.sh: New file.
commit d0571b9934241e58a5325fc6e09298d0e3396280
Author: Gary Benson <gbenson@redhat.com>
Date: Mon May 23 13:26:47 2016 +0100
Remove unused libthread_db td_thr_validate reference
Native GDB looks up the function td_thr_validate from libthread_db.so
on Linux, but the value is never used. This commit removes this dead
code.
gdb/ChangeLog:
* nat/gdb_thread_db.h (td_thr_validate_ftype): Remove typedef.
* linux-thread-db.c (struct thread_db_info) <td_thr_validate_p>:
Remove field.
(try_thread_db_load_1): Remove td_thr_validate initialization.
commit b43b853577ed4fb6cc19b1faa17e8fbea3c58be7
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 23 11:42:17 2016 +0100
Sync config.guess and config.sub with FSF GCC mainline versions
commit d7c5bd02f73408553992db3650b95b14e73820d4
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Mon May 23 09:41:36 2016 +0100
Support for dedicated ARM stub section with padding
2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (arm_dedicated_stub_section_padding): New function.
(elf32_arm_size_stubs): Declare stub_type in a more outer scope and
account for padding for stub section requiring one.
(elf32_arm_build_stubs): Add comment to stress the importance of
zeroing veneer section content.
commit daa4adae63f91377fe9b3e8d7421a0ceb4a51e26
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Mon May 23 09:38:32 2016 +0100
Support for dedicated output section for some ARM veneer types
2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
bfd hook.
* bfd-in2.h: Regenerate.
* elf32-arm.c (arm_dedicated_stub_output_section_required): New
function.
(arm_dedicated_stub_output_section_required_alignment): Likewise.
(arm_dedicated_stub_output_section_name): Likewise.
(arm_dedicated_stub_input_section_ptr): Likewise.
(elf32_arm_create_or_find_stub_sec): Add stub type parameter and
function description comment. Add support for dedicated output stub
section to given stub types.
(elf32_arm_add_stub): Add a stub type parameter and pass it down to
elf32_arm_create_or_find_stub_sec.
(elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
(elf32_arm_size_stubs): Pass stub type when calling
elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
(bfd_elf32_arm_keep_private_stub_output_sections): New function.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Call
bfd_elf32_arm_keep_private_stub_output_sections before generic
before_allocation function.
commit 37773e7803b370802302719a48c9c46f64c602b4
Author: Jon Boden <jon@ubuntubsd.org>
Date: Mon May 23 08:46:33 2016 +0100
Search for libutil-freebsd as alternative to libutil
GDB needs kinfo_getvmmap() on GNU/kFreeBSD systems same as on
pure FreeBSD. However on these systems the FreeBSD version of libutil
is renamed to libutil-freebsd.
2016-05-23 Jon Boden <jon@ubuntubsd.org>
* configure.ac: Search for libutil-freebsd as alternative to libutil.
* configure: Re-generated.
commit f10e0aef4f9cb98d8c49c237ef3987f0ca3ee90f
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed May 18 22:48:34 2016 -0400
tic54x: use concat more
gas/ChangeLog:
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-tic54x.c (tic54x_sect): simplify string creation.
commit 2900e701e0f0216b17e04e4fff1ca4711a9c072f
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed May 18 22:39:18 2016 -0400
spu: make some constants unsigned
The field in spu_opcode is unsigned, and for some values of opcode we can end
up shifting into the high bit. So avoid possibly creating a negative number
and then assigning it to a unsigned field by shifting an unsigned constant.
gas/ChangeLog:
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-spu.c (APUOP): Use OPCODE as an unsigned constant.
commit 3d207518c117df7a6c58f20bc2693171b7690650
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed May 18 23:48:48 2016 -0400
tic54x: rename typedef of struct symbol_
generic gas code has a struct symbol, and tic54x typedefs a struct to symbol.
This seems at least rather confusing, and it seems like target specific headers
shouldn't put such generic names in the global namespace preventing other
generic code from using them.
opcodes/ChangeLog:
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* tic54x-dis.c (sprint_mmr): Adjust.
* tic54x-opc.c: Likewise.
gas/ChangeLog:
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-tic54x.c (tic54x_mmregs): Adjust.
(md_begin): Likewise.
(encode_condition): Likewise.
(encode_cc3): Likewise.
(encode_cc2): Likewise.
(encode_operand): Likewise.
(tic54x_undefined_symbol): Likewise.
include/ChangeLog:
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/tic54x.h (struct symbol_): typedef to tic54x_symbol instead of
plain symbol.
commit 82418e18f81ea76deb633b7531f197b13e77bc8f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 23 00:00:19 2016 +0000
Automatic date update in version.in
commit 666a13303cef83e977c8bf10fc23aac1737ac9dc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 22 00:00:19 2016 +0000
Automatic date update in version.in
commit c8eaca27fff44f076896046ba3260164c896e10e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 21 00:00:22 2016 +0000
Automatic date update in version.in
commit 52bf37dd91e5dd983ed20d1329293d077fe71e41
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 20 09:36:48 2016 -0700
Don't check R_386_GOT32 when setting need_convert_load
Since we no longer convert R_386_GOT32, don't check R_386_GOT32 when
setting need_convert_load.
* elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
when setting need_convert_load.
commit a4968f42e78972fa10b1a84a5e72afd4b65b0eca
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date: Fri May 20 15:20:42 2016 +0100
MIPS: Add support for P6600
gas/
* config/tc-mips.c (mips_cpu_info_table): Update comment. Add
p6600 entry.
* doc/c-mips.texi: Document p6600 -march option.
commit 4e21640f674499048157fa62f08b16f6039f78f6
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 20 06:01:28 2016 -0700
Preserve addend for R_386_GOT32 and R_X86_64_GOT32
We should preserve addend for R_386_GOT32 and R_X86_64_GOT32 as in
"movl $foo@GOT + 4, %eax" and "movq $foo@GOT + 4, %rax".
PR gas/19600
* config/tc-i386.c (md_apply_fix): Preserve addend for
BFD_RELOC_386_GOT32 and BFD_RELOC_X86_64_GOT32.
* testsuite/gas/i386/addend.d: New file.
* testsuite/gas/i386/addend.s: Likewise.
* testsuite/gas/i386/x86-64-addend.d: Likewise.
* testsuite/gas/i386/x86-64-addend.s: Likewise.
* testsuite/gas/i386/i386.exp: Run addend and x86-64-addend.
* testsuite/gas/i386/reloc32.d: Updated.
commit 17c6c9d9f3e71459edb4b6af5ec75125f0d06f87
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri May 20 13:32:19 2016 +0100
MIPS: Fix the encoding of immediates with microMIPS JALX
The microMIPS JALX instruction shares the R_MICROMIPS_26_S1 relocation
with microMIPS J/JAL/JALS instructions, however unlike the latters its
encoded immediate argument is unusually shifted left by 2 rather than 1
in calculating the value used for the operation requested.
We already handle this exception in `mips_elf_calculate_relocation' in
LD, in a scenario where JALX is produced as a result of relaxing JAL for
the purpose of making a cross-mode jump. We also get it right in the
disassembler in `decode_micromips_operand'.
What we don't correctly do however is processing microMIPS JALX produced
by GAS from an assembly source, where a non-zero constant argument or a
symbol reference with a non-zero in-place addend has been used. In this
case the same calculation is made as for microMIPS J/JAL/JALS, causing
the wrong encoding to be produced by GAS on making an object file, and
then again by LD in the final link. The latter in particular causes the
calculation, where the addend fits in the relocatable field, to produce
different final addresses for the same source code depending on whether
REL or RELA relocations are used.
Correct these issues by special-casing microMIPS JALX in the places that
have been previously missed.
bfd/
* elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
microMIPS JALX.
gas/
* config/tc-mips.c (append_insn): Correct the encoding of a
constant argument for microMIPS JALX.
(tc_gen_reloc): Correct the encoding of an in-place addend for
microMIPS JALX.
* testsuite/gas/mips/jalx-addend.d: New test.
* testsuite/gas/mips/jalx-addend-n32.d: New test.
* testsuite/gas/mips/jalx-addend-n64.d: New test.
* testsuite/gas/mips/jalx-imm.d: New test.
* testsuite/gas/mips/jalx-imm-n32.d: New test.
* testsuite/gas/mips/jalx-imm-n64.d: New test.
* testsuite/gas/mips/jalx-addend.s: New test source.
* testsuite/gas/mips/jalx-imm.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
ld/
* testsuite/ld-mips-elf/jalx-addend.d: New test.
* testsuite/ld-mips-elf/jalx-addend-n32.d: New test.
* testsuite/ld-mips-elf/jalx-addend-n64.d: New test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit 134c0c8bf4a258ba10e72b724eadf40f731bb7ec
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri May 20 12:41:50 2016 +0100
MIPS/GAS: Correct tab-after-space formatting mistakes
* config/tc-mips.c: Correct tab-after-space formatting mistakes
throughout.
commit d310f46e3343f2575465fed65079fc6912dee9cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 20 00:00:10 2016 +0000
Automatic date update in version.in
commit 6eeb0170bbb43ffb73e8f01b8b481adde8194c21
Author: Cary Coutant <ccoutant@gmail.com>
Date: Thu May 19 14:58:18 2016 -0700
Don't allow COPY relocations for protected symbols.
gold/
PR gold/19823
* copy-relocs.cc (Copy_relocs::make_copy_reloc): Add object
parameter; check for protected symbol.
* copy-relocs.h (Copy_relocs::make_copy_reloc): Add object parameter.
* mips.cc (Mips_copy_relocs): Adjust call to make_copy_reloc.
* symtab.cc (Symbol::init_fields): Initialize is_protected_.
(Symbol_table::add_from_dynobj): Mark protected symbols.
* symtab.h (Symbol::is_protected): New method.
(Symbol::set_is_protected): New method.
(Symbol::is_protected_): New data member.
* testsuite/Makefile.am (copy_test_protected): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/copy_test.cc (main): Add legal reference to protected
symbol.
* testsuite/copy_test_v1.cc (main): Likewise.
* testsuite/copy_test_2.cc (ip): Add protected symbol.
* testsuite/copy_test_protected.cc: New test source file.
* testsuite/copy_test_protected.sh: New test script.
commit 15eb1bebe1525ba8baf1f56e9df791cff146a352
Author: Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
Date: Thu May 19 14:57:14 2016 -0700
Fix non-deterministic behavior when generating MIPS GOT.
* mips.cc (Mips_got_entry::Mips_got_entry): Remove object argument
for global got symbols, and set addend to 0.
(Mips_got_entry::hash): Change hash algorithm.
(Mips_got_entry::equals): Refactor.
(Mips_got_entry::object): Return input object for local got symbols
from union d.
(Mips_got_entry::addend): Change return of the relocation addend.
(Mips_got_entry::addend_): Move from union d.
(Mips_got_entry::object_): Move into union d.
(class Mips_symbol_hash): New class.
(Mips_got_info::Global_got_entry_set): New type.
(Mips_got_info::global_got_symbols): Change return type to
Global_got_entry_set.
(Mips_got_info::global_got_symbols_): Change type to
Global_got_entry_set.
(Mips_symbol::hash): New method.
(Mips_output_data_la25_stub::symbols_): Change type to std::vector.
(Mips_output_data_mips_stubs::Mips_stubs_entry_set): New type.
(Mips_output_data_mips_stubs::symbols_): Change type to
Mips_stubs_entry_set.
(Mips_got_info::record_global_got_symbol): Don't pass object
argument when creating global got symbol.
(Mips_got_info::record_got_entry): Remove find before inserting
got entries.
(Mips_got_info::add_reloc_only_entries): Change type of iterator
to Global_got_entry_set.
(Mips_got_info::count_got_symbols): Likewise.
(Mips_output_data_la25_stub::create_la25_stub): Use push_back
for adding entries to symbols_.
(Mips_output_data_la25_stub::do_write): Change type of iterator
to std::vector.
(Mips_output_data_mips_stubs::set_lazy_stub_offsets): Change type
of iterator to Mips_stubs_entry_set.
(Mips_output_data_mips_stubs::set_needs_dynsym_value): Likewise.
(Mips_output_data_mips_stubs::do_write): Likewise.
commit 7d4d970973c4735dcdd2a69d645309f167a1d9d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 19 12:56:55 2016 -0700
Don't convert R_386_GOT32 relocation
Don't convert R_386_GOT32 since we can't tell if it is applied
to "mov $foo@GOT, %reg" which isn't a load via GOT.
bfd/
PR ld/20117
* elf32-i386.c (elf_i386_convert_load_reloc): Don't check
R_386_GOT32X.
(elf_i386_convert_load): Don't convert R_386_GOT32.
ld/
PR ld/20117
* testsuite/ld-i386/i386.exp: Run pr20117.
* testsuite/ld-i386/pr19609-1i.d: Updated.
* testsuite/ld-i386/pr20117.d: New file.
* testsuite/ld-i386/pr20117.s: Likewise.
commit 606851fbf66c4a9e47c958014579dd363a74ba76
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 20 00:33:42 2016 +0930
Set sh_entsize for .init_array and similar.
PR gas/20118
* elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
commit bfb0d950a58edc4eb1f102174af38a364f4f43f7
Author: Andreas Schwab <schwab@suse.de>
Date: Thu May 19 14:43:56 2016 +0200
Fix invalid implicit conversions from void *
* ia64-libunwind-tdep.c (libunwind_descr): Add cast from void *.
(libunwind_frame_set_descr): Likewise.
(libunwind_frame_cache): Likewise.
(libunwind_frame_dealloc_cache): Likewise.
(libunwind_frame_sniffer): Likewise.
(libunwind_search_unwind_table): Likewise.
(libunwind_sigtramp_frame_sniffer): Likewise.
(libunwind_get_reg_special): Likewise.
(libunwind_load): Likewise.
* ia64-linux-nat.c (ia64_linux_fetch_register): Likewise.
(ia64_linux_store_register): Likewise.
(ia64_linux_xfer_partial): Likewise.
* ia64-tdep.c (ia64_access_reg): Likewise.
(ia64_access_fpreg): Likewise.
(ia64_access_rse_reg): Likewise.
(ia64_access_rse_fpreg): Likewise.
commit fc3eec7ebd155d31c1a58e6446cc231ddb6e361b
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu May 19 14:51:53 2016 +0200
[ARC] Fixed-linker-related-testsuite-for-ARC
ld/
2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
* testsuite/ld-elf/compressed1d.d: Removed from notarget.
* testsuite/ld-elf/group8a.d: Likewise.
* testsuite/ld-elf/group8b.d: Likewise.
* testsuite/ld-elf/group9a.d: Likewise.
* testsuite/ld-elf/group9b.d: Likewise.
* testsuite/ld-elf/pr12851.d: Likewise.
* testsuite/ld-elf/pr12975.d: Likewise.
* testsuite/ld-elf/pr13177.d: Likewise.
* testsuite/ld-elf/pr13195.d: Likewise.
* testsuite/ld-elf/pr17615.d: Likewise.
* testsuite/ld-elf/eh-frame-hdr.d: Removed from xfail.
* testsuite/ld-elf/group3b.d: Likewise.
* testsuite/ld-srec/srec.exp: Likewise.
* testsuite/lib/ld-lib.exp (check_gc_sections_available): Mark ARC
as supporting gc.
(check_shared_lib_support): Mark ARC as supporting.
commit c0913ebfafa2c3b94e08856c3304037fa9f0906e
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu May 19 14:44:01 2016 +0200
[ARC] Emulation and default script template changes.
2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
* emulparams/arcelf.sh: Changed.
* emulparams/arclinux.sh: Likewise.
* scripttempl/arclinux.sc: Moved to a more standard implementation
similar to elf.sc.
commit 3c8adacaf910480e3cda19ac9566133864a781d1
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu May 19 14:39:36 2016 +0200
[ARC] BFD fixes.
2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
* elf32-arc.c (arc_elf_final_write_processing): Changed.
(debug_arc_reloc): Likewise.
(elf_arc_relocate_section): Likewise.
(elf_arc_check_relocs): Likewise.
(elf_arc_adjust_dynamic_symbol): Likewise.
(elf_arc_add_symbol_hook): Likewise.
commit c4107a7def0ea68cb3177ca97a09a5cbef48f8fb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Thu May 19 11:19:04 2016 +0100
LD/testsuite: Fix `ft32-*-*' position in `check_shared_lib_support'
ld/
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Reorder
`ft32-*-*' behind `frv-*-*'.
commit 6b200de0f7a7008f74cde68fe87aa62b7729cd9a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed May 18 04:19:02 2016 +0100
Remove unsupported `am34-*-linux*' target triplet
The `am34-*-linux*' target cannot be configured for, `am34' is not a CPU
name recognized by `config.sub'. It has never been, required code has
not been contributed to GNU config, neither before nor since the
addition of the target triplet to our configury with commit bfff16424942
("Add MN10300 linker relaxation support for symbol differences") back in
2007. Also there is no difference in actual tool configuration between
the `am34-*-linux*' and `am33_2.0-*-linux*' targets, except from a
different executable prefix and tooldir name.
Given the above remove the target triplet from our configuration.
bfd/
* config.bfd: Remove `am34-*-linux*' support.
ld/
* configure.tgt: Remove `am34-*-linux*' support.
commit 514e58b726338c24b672d96bd48f8ce8a47f7803
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 19 16:54:54 2016 +0930
Correct "Fix powerpc subis range"
* ppc-opc.c (NSISIGNOPT): Use insert_nsi and extract_nsi.
commit e43de63c8fd11a15d7c6c852747c81664c0beb2a
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 19 00:10:35 2016 +0930
Fix powerpc subis range
* ppc-opc.c: Formatting.
(NSISIGNOPT): Define.
(powerpc_opcodes <subis>): Use NSISIGNOPT.
commit 82bc9362f1b0851bb992515d44871e6438c2020c
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 19 00:10:13 2016 +0930
Hack crossref tests for powerpc64
A different set of hacks to make the crossref tests pass on powerpc64
and powerpc64le.
* testsuite/ld-scripts/crossref.exp: Remove -mcall-aixdesc hack.
* testsuite/ld-scripts/cross2.t: Tweak .opd and .toc placement.
* testsuite/ld-scripts/cross3.t: Likewise.
* testsuite/ld-scripts/cross4.t: Likewise.
* testsuite/ld-scripts/cross5.t: Likewise.
* testsuite/ld-scripts/cross6.t: Likewise.
* testsuite/ld-scripts/cross7.t: Likewise.
commit f1b2ca70c95ac45883cd0b5ec94fb1e9beb7a59b
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 19 00:09:03 2016 +0930
ld-elf/shared.exp mix_pic_and_non_pic
Tweaks to make it easier to re-run these testcases by hand.
* testsuite/ld-elf/shared.exp (mix_pic_and_non_pic): Pass in
exe name rather than constructing testname. Fix typo in
sub-test name. Log copying. Use -rpath rather than -R.
commit 57e7d118480f4adf8cf1c8a82f234463d15d509d
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 18 23:59:04 2016 +0930
Allocate ppc64 got and dynrelocs before plt
The idea being to make undefined weak syms dynamic, before deciding
whether a sym needs a plt entry. Fixes pr19719 ld testcase.
* elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
relocs before plt relocs.
commit 9f284bf9da3ecc689405cb7b698c7714acdf1ab0
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 19 12:32:40 2016 +0930
Fix ppc64le S-record test fail
Segfaults on --defsym symbol (__stack_chk_fail in this instance).
* elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
before dereferencing.
commit 6472871146e43446c43deaca0a8bb352b67f8f8e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 19 00:00:09 2016 +0000
Automatic date update in version.in
commit 38cd8a0de838966a045ddef4ad31c715ef720a42
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri May 6 13:59:03 2016 +0100
gas/arc: Make member of arc_flags const
By making the flgp field of struct arc_flags constant we can remove a
place where we cast away the const-ness of a variable. Also, given that
the value assigned to this field almost always comes from compile-time
constant data, having the field non-constant is probably a bad thing.
gas/ChangeLog:
* config/tc-arc.c (find_opcode_match): Remove casting away of
const.
* config/tc-arc.h (struct arc_flags): Make flgp field const.
commit 9e32d9ae97bf54078f993955a7de2f5a9247c497
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed May 4 14:11:11 2016 +0100
gas/arc: Use BFD_VMA_FMT for printf format specifier
Some debug code has the wrong printf format specifier for some types
that are (ultimately) bfd_vma. Fixed by using BFD_VMA_FMT string. This
only becomes an issue when building the tc-arc.c file with -DDEBUG=1 to
build in the debug code.
gas/ChangeLog:
* config/tc-arc.c (md_pcrel_from_section): Use BFD_VMA_FMT where
appropriate.
(md_convert_frag): Likewise.
commit fe779266b39080e49b04e61160e6af8be439c182
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed May 4 13:57:10 2016 +0100
gas/arc: Fix array overrun when checking opcode array
The opcode array iterator mechanism can, in some situations, result in
reading memory outside of the opcode array. When using the
iterator-next mechanism to find the next possible arc_opcode, if we find
an opcode where the name field is NULL, or the name does not match, then
the cached opcode pointer is not set to NULL. The result is that
another call to iterator-next will again increment the opcode
pointer (which might now point outside the opcode array) and attempt to
access the name field of this undefined opcode.
Fixed in this commit by clearing the cached opcode pointer.
I've added a test case, which currently shows the bug, however, this
will only expose this bug while the opcode used (dsp_fp_cmp) is the last
opcode in the table.
gas/ChangeLog:
* config/tc-arc.c (arc_opcode_hash_entry_iterator_next): Set
cached opcode to NULL when we reach a non-matching opcode.
* testsuite/gas/arc/asm-errors-2.d: New file.
* testsuite/gas/arc/asm-errors-2.err: New file.
* testsuite/gas/arc/asm-errors-2.s: New file.
commit 3b889a787863d22694bb53eb08160c94ab52c58d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue May 3 13:43:44 2016 +0100
gas/arc: Add guard against operand array overflow.
Currently supplying an input file with too many operands to an
instruction will cause the assembler to overflow and array and trigger
undefined behaviour.
This change checks that we don't access outside the limits of the
operand array.
gas/ChangeLog:
* config/tc-arc.c (tokenize_arguments): Add checks for array
overflow.
* testsuite/gas/arc/asm-errors.s: Addition test line added.
* testsuite/gas/arc/asm-errors.err: Update expected results.
commit 45f4ed92d14ddf891be1470556f53de6c94c8dc2
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 18 10:48:41 2016 -0600
Fix build failure with GCC 4.1.
2016-05-18 Tom Tromey <tom@tromey.com>
* rust-lang.c (rust_subscript): Initialize "high".
commit f507bebf459de9b145bd8ccfcfa2f5f6690adac4
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 18 15:21:16 2016 +0100
Prevent a run time segmentation fault when stripping a corrupt binary.
PR 20096
* objcopy.c (copy_relocations_in_section): Also check for the
symbol pointed to by sym_ptr_ptr being NULL.
commit 9e8f9b05add4517189d7724ff3ed7c16f7b04daf
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed May 18 10:13:12 2016 -0400
Add mi-threads-interrupt.exp test (PR 20039)
Add a new test for PR 20039. The test spawns new threads, then tries to
interrupt, continue, and interrupt again. This use case was fixed by
commit 5fe966540d6b748f825774868463003700f0c878 in master, but gdb 7.11
is affected (so if you try it on the gdb-7.11-branch right now, the test
will fail).
New in v2, the test now handles mi-async on mode properly. The failure
was specific to mi-async off, but I don't think it's bad to test the
same thing under async on mode. I added a little hack when running in
async mode to work around bug 20045.
I also removed one continue/interrupt pair, as a single one was enough to
trigger the problem.
gdb/testsuite/ChangeLog:
* gdb.mi/mi-threads-interrupt.c: New file.
* gdb.mi/mi-threads-interrupt.exp: New file.
commit 28addb40c77db5a5873172b62b6b7b43e5e05014
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue May 17 17:07:20 2016 -0400
Fix double prompt output after run control MI commands with mi-async on (PR 20045)
When you use a run control command (-exec-run, -exec-continue,
-exec-next, ...) with mi-async on, an extra (gdb) prompt is displayed:
-exec-continue
^running
*running,thread-id="all"
(gdb)
(gdb)
It doesn't seem to be a big problem for front-ends, since this behavior
started in gdb 7.9 and we haven't heard anything about that. However,
it caused me some trouble while writing a test for PR 20039 [1].
The problem comes from an extra (gdb) prompt that we write when running
in mi-async off mode to emulate a past buggy behavior. When executing a
run control command synchronously, previous gdbs always printed a prompt
right away, even though they are not ready to accept new MI commands
until the target stops. Only at this time should they display a prompt.
But to keep backwards compatibility apparently, we print it anyway.
Since commit 198297aaf, the condition that decides whether we should
print that "bogus" prompt or not has become true, even when running with
mi-async on. Since we already print a prompt at the end of the
asynchronous command execution, it results in two prompts for one
command.
The proposed fix is to call target_can_async_p instead of
target_is_async_p, to make the condition:
if (!target_can_async_p () || sync_execution)
... show prompt ...
That shows the prompt if we are emulating a synchronous command on top
of an asynchronous target (sync_execution) or if the target simply can't
run asynchronously (!target_can_async_p ()).
Note that this code is changed and this bug fixed by Pedro's separate
console series, but I think it would be nice to have it fixed in the
mean time.
I ran the gdb.mi directory of the testsuite with mi-async on and off, I
didn't see any regressions.
gdb/ChangeLog:
* mi/mi-main.c (mi_on_resume): Call target_can_async_p instead
of target_is_async_p.
[1] https://sourceware.org/ml/gdb-patches/2016-05/msg00075.html
commit 1401d2fe675c5b0634a97e84e6b094eea527e63e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed May 18 11:22:30 2016 +0100
MIPS/opcodes: Correct mixed MIPS16 and microMIPS disassembly
Mixing MIPS16 and microMIPS code in a single binary isn't usually
supported but GAS happily produces such code if requested. However it
is not correctly disassembled even if a symbol table is available and
function symbols are correctly anotated with the ISA mode. This is
because the ELF-header global microMIPS ASE flag takes precedence over
MIPS16 function annotation, causing them to be treated as regular MIPS
code.
Correct the problem by respecting function symbol anotation regardless
of the ELF-header flag.
binutils/
* testsuite/binutils-all/mips/mixed-mips16-micromips.d: New test.
* testsuite/binutils-all/mips/mixed-mips16-micromips.s: New test
source.
* testsuite/binutils-all/mips/mips.exp: Run the new test.
opcodes/
* mips-dis.c (is_compressed_mode_p): Add `micromips_p' operand,
replacing references to `micromips_ase' throughout.
(_print_insn_mips): Don't use file-level microMIPS annotation to
determine the disassembly mode with the symbol table.
commit 5049806017a546184b87fc3282a586d686b8d98f
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 18 12:44:43 2016 +0100
Updated Swedish translations for bfd and binutils
commit 42e58860e260edf7d92734c01b95fccf9ddb2431
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 04:33:53 2016 -0400
rx: make field type enum
gas/ChangeLog:
2016-05-18 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-rx.c (struct cpu_type): Change the type of a field from
int to enum rx_cpu_types.
commit 4bfaa1cae74531b8c7a7ccfb95e202ab9772dfdd
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 02:34:23 2016 -0400
change the type of some fields to bfd_reloc_code_real_type
gas/ChangeLog:
2016-05-18 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-dlx.c (struct machine_it): change the type of a field from
int to bfd_reloc_code_real_type.
* config/tc-tic4x.c: Likewise.
commit eb408eaac923140f561d8307cb63da9c9550096a
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed May 18 06:17:33 2016 -0400
commit ChangeLog for previous commit
commit b42e9fa8cc214f0fa94598da86aa112713a9b192
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon May 16 18:04:17 2016 -0400
Change type of v850_target_arch to enum bfd_architecture
gas/ChangeLog:
2016-05-18 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-v850.c (v850_target_arch): change type to enum
bfd_architecture.
* config/tc-v850.h (v850_target_arch): Likewise.
commit d1f70bdcab6cffce423617c6e081a5128d9dabe0
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 18 10:11:47 2016 +0100
Fix lots of linker testsuite failures for the FT32 target.
* scripttempl/ft32.sc: Use fixed constants for memory region
lengths. Include DWARF debug sections.
(.data .bss): Do not assign locations during relocatable links.
* testsuite/ld-elf/compressed1d.d: Skip for FT32.
* testsuite/ld-elf/sec-to-seg.exp: Likewise.
* testsuite/ld-elf/sec64k.exp: Likewise.
* testsuite/ld-elf/init-fini-array.d: XFail for FT32.
* testsuite/ld-elf/merge.d: Likewise.
* testsuite/ld-elf/orphan-region.d: Likewise.
* testsuite/ld-elf/orphan.s: Likewise.
* testsuite/ld-elf/orphan3.d: Likewise.
* testsuite/ld-elf/pr349.d: Likewise.
* testsuite/ld-elf/warn2.d: Likewise.
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Note
that the FT32 does not support shared libraries.
commit 7f9919700d0023db7d66fee9f437251a263f5d53
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 18 15:44:46 2016 +0930
elf32-arm.c build breakage
* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
for each BFD. Don't goto error_ret_free_local from outside loop.
commit c69075ac096c9de1b8a532123b493173f8fe0975
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed May 18 04:30:50 2016 +0100
MIPS/readelf: Use the `d_val' dynamic entry member with the relevant tags
binutils/
* readelf.c (dynamic_section_mips_val) <DT_MIPS_RLD_VERSION>
<DT_MIPS_LOCAL_GOTNO, DT_MIPS_CONFLICTNO, DT_MIPS_LIBLISTNO>
<DT_MIPS_SYMTABNO, DT_MIPS_UNREFEXTNO, DT_MIPS_HIPAGENO>
<DT_MIPS_DELTA_CLASS_NO, DT_MIPS_DELTA_INSTANCE_NO>
<DT_MIPS_DELTA_RELOC_NO, DT_MIPS_DELTA_SYM_NO>
<DT_MIPS_DELTA_CLASSSYM_NO, DT_MIPS_COMPACT_SIZE>: Use the
`d_val' rather than `d_ptr' member of the dynamic entry.
commit a255f00a28d31979293d10cd2b121a1ca8d1fcf9
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 18 11:27:56 2016 +0930
PPC_OPERAND_SIGNOPT range.
Commit b84bf58a accidentally extended the range of allowed negative
numbers.
* config/tc-ppc.c (ppc_insert_operand): Trim PPC_OPERAND_SIGNOPT
allowed negative range.
* testsuite/gas/ppc/power9.s: Test xxspltib of -128, not -256.
* testsuite/gas/ppc/power9.d: Update.
commit dec880ee27480b00fd7ce32196fc39a208f2fce5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 18 00:00:18 2016 +0000
Automatic date update in version.in
commit 61c6156df6e3c638eb3bdb4a6e3d418a43a6eb70
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue May 17 16:44:57 2016 -0400
Fix -exec-run not running asynchronously with mi-async on (PR gdb/18077)
When doing -exec-run on a freshly started GDB, the only target on the
target stack at the time the dummy one. When mi_async_p is called to
know whether the run should be async, it queries whether the current
target (dummy) supports async, and the answer is no. The fix is to make
the code query the target that will be used for the run, which is not
necessarily the current target.
No regressions in the gdb.mi directory using the unix, native-gdbserver
and native-extended-gdbserver boards. The test doesn't pass when
forcing maint set target-async off, obviously, since it makes mi-async
have no effect. It doesn't seem like other tests are checking for that
eventuality, so I didn't in the new test.
gdb/ChangeLog:
* mi/mi-main.c (run_one_inferior): Use run target to determine
whether to run async or not.
(mi_cmd_exec_run): Likewise.
gdb/testsuite/ChangeLog:
* gdb.mi/mi-async-run.exp: New file.
* gdb.mi/mi-async-run.c: New file.
commit 01739a3b6a564f6552acf6c01617aa21ab4d8833
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 27 10:28:56 2016 -0600
Rename OP_F90_RANGE to OP_RANGE.
This renames OP_F90_RANGE to OP_RANGE, and similarly renames the
f90_range_type enum.
2016-05-17 Tom Tromey <tom@tromey.com>
* std-operator.def (OP_RANGE): Rename from OP_F90_RANGE.
* rust-lang.c: Don't include f-lang.h.
(rust_range, rust_compute_range, rust_subscript)
(rust_evaluate_subexp): Update.
* rust-exp.y: Don't include f-lang.h.
(ast_range, convert_ast_to_expression): Update.
* parse.c (operator_length_standard): Update.
* f-lang.h (enum f90_range_type): Move to expression.h.
* f-exp.y: Use OP_RANGE.
* expression.h (enum range_type): New enum; renamed from
f90_range_type.
* expprint.c: Don't include f-lang.h.
(print_subexp_standard, dump_subexp_body_standard): Use OP_RANGE.
* eval.c (value_f90_subarray, evaluate_subexp_standard): Update.
commit 0bdfa368bc8dbea2f39706e34306c9b67883bbb1
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 26 19:38:56 2016 -0600
Add Rust documentation
This patch adds documentation for the new Rust support in gdb.
2016-05-17 Tom Tromey <tom@tromey.com>
* NEWS: Add Rust item.
2016-05-17 Tom Tromey <tom@tromey.com>
* gdb.texinfo (Supported Languages): Mention Rust. Update menu.
(Rust): New node.
commit 67218854b1987d89593ccaf5feaf5b29b1b976f2
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 26 19:38:43 2016 -0600
Update gdb test suite for Rust
This updates the gdb test suite for Rust.
2016-05-17 Tom Tromey <tom@tromey.com>
Manish Goregaokar <manishsmail@gmail.com>
* lib/rust-support.exp: New file.
* lib/gdb.exp (skip_rust_tests): New proc.
(build_executable_from_specs): Handle rust.
* lib/future.exp (gdb_find_rustc): New proc.
(gdb_default_target_compile): Handle rust.
* gdb.rust/expr.exp: New file.
* gdb.rust/generics.exp: New file.
* gdb.rust/generics.rs: New file.
* gdb.rust/methods.exp: New file.
* gdb.rust/methods.rs: New file.
* gdb.rust/modules.exp: New file.
* gdb.rust/modules.rs: New file.
* gdb.rust/simple.exp: New file.
* gdb.rust/simple.rs: New file.
commit c44af4ebc000f606d16b42224cba2cfe80391d5c
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 26 19:38:08 2016 -0600
Add support for the Rust language
This patch adds support for the Rust language.
2016-05-17 Tom Tromey <tom@tromey.com>
Manish Goregaokar <manishsmail@gmail.com>
* symtab.c (symbol_find_demangled_name): Handle Rust.
* symfile.c (init_filename_language_table): Treat ".rs" as Rust.
* std-operator.def (STRUCTOP_ANONYMOUS, OP_RUST_ARRAY): New
constants.
* rust-lang.h: New file.
* rust-lang.c: New file.
* rust-exp.y: New file.
* dwarf2read.c (read_file_scope): Add Rust producer sniffing.
(dwarf2_compute_name, read_func_scope, read_structure_type)
(read_base_type, read_subrange_type, set_cu_language)
(new_symbol_full, determine_prefix): Handle Rust.
* defs.h (enum language) <language_rust>: New constant.
* Makefile.in (SFILES): Add rust-exp.y, rust-lang.c.
(COMMON_OBS): Add rust-exp.o, rust-lang.o.
2016-05-17 Tom Tromey <tom@tromey.com>
* gdb.base/default.exp (set language): Add rust.
commit 00272ec4b0cc22c1b9d60d39ce7bf5b2d5512582
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 26 16:45:21 2016 -0600
Add array start and end strings to generic_val_print_decorations
For Rust value-printing, I wanted to use generic_val_print_array, but
I also wanted to control the starting and ending strings.
This patch adds new strings to generic_val_print_decorations, updates
generic_val_print_array to use them, and updates all the existing
instances of generic_val_print_decorations.
2016-05-17 Tom Tromey <tom@tromey.com>
* valprint.h (struct generic_val_print_array) <array_start,
array_end>: New fields.
* valprint.c (generic_val_print_array): Add "decorations"
parameter. Use "array_start", "array_end".
(generic_val_print) <TYPE_CODE_ARRAY>: Update.
* p-valprint.c (p_decorations): Update.
* m2-valprint.c (m2_decorations): Update.
* f-valprint.c (f_decorations): Update.
* c-valprint.c (c_decorations): Update.
commit dcd1f97951b432032fd0728992b1384064663701
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 20 10:09:53 2016 -0600
Add self-test framework to gdb
I wanted to unit test the Rust lexer, so I added a simple unit testing
command to gdb.
The intent is that self tests will only be compiled into gdb in
development mode. In release mode they simply won't exist. So, this
exposes $development to C code as GDB_SELF_TEST.
In development mode, test functions are registered with the self test
module. A test function is just a function that does some checks, and
throws an exception on failure.
Then this adds a new "maint selftest" command which invokes the test
functions, and a new dejagnu test case that invokes it.
2016-05-17 Tom Tromey <tom@tromey.com>
* NEWS: Add "maint selftest" entry.
* selftest.h: New file.
* selftest.c: New file.
* maint.c: Include selftest.h.
(maintenance_selftest): New function.
(_initialize_maint_cmds): Add "maint selftest" command.
* configure.ac (GDB_SELF_TEST): Maybe define.
* config.in, configure: Rebuild.
* Makefile.in (SFILES): Add selftest.c.
(COMMON_OBS): Add selftest.o.
2016-05-17 Tom Tromey <tom@tromey.com>
* gdb.texinfo (Maintenance Commands): Document "maint selftest".
2016-05-17 Tom Tromey <tom@tromey.com>
* gdb.gdb/unittest.exp: New file.
commit e4b8a1c839b88c345b82c37c90814a89c7f0c3c2
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 20 08:14:16 2016 -0600
Make gdb expression debugging handle OP_F90_RANGE
print_subexp_standard and dump_subexp_body_standard did not handle
OP_F90_RANGE. Attempting to dump an expression using this opcode
would fail.
This patch adds support for this opcode to these functions.
2016-05-17 Tom Tromey <tom@tromey.com>
* expprint.c: Include f-lang.h.
(print_subexp_standard, dump_subexp_body_standard): Handle
OP_F90_RANGE.
commit 9ab0bb2a673875ba15d6956f2c587c9c31f40357
Author: Tom Tromey <tom@tromey.com>
Date: Thu Mar 31 14:16:56 2016 -0600
Fix latent yacc-related bug in gdb/Makefile.in init.c rule
gdb's Makefile.in does not currently scan .y files to add global
initializers from these files to init.c. However, at least ada-exp.y
tries to use this feature.
This patch fixes the problem.
2016-05-17 Tom Tromey <tom@tromey.com>
* Makefile.in (init.c): Search .y files for initialization
functions.
commit 5ff087ac1870878ad980503f5c8b60b6ffa32350
Author: Tom Tromey <tom@tromey.com>
Date: Mon May 16 12:21:49 2016 -0600
Add DW_LANG_Rust
include/
* dwarf2.h (enum dwarf_source_language) <DW_LANG_Rust,
DW_LANG_Rust_old>: New constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235643 138bc75d-0d04-0410-961f-82ee72b054a4
commit 68bce0209f2be6d0f852ef7092b9d412d78fd43a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue May 17 09:55:05 2016 -0700
Check global CC in at_least_gcc_version
at_least_gcc_version should check global CC.
* testsuite/lib/ld-lib.exp (at_least_gcc_version): Check
global CC.
commit 23b5dc392be051ab5a86d7f1734c29d5222b9e1f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue May 17 09:53:44 2016 -0700
Fix date in ChangeLog
commit 659f032c0a57467e19a1d81aba7cf6df36ae689a
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 17 16:35:12 2016 +0100
Make ARMv8-M GAS tests pass on non ELF targets
2016-05-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* testsuite/gas/arm/archv8m-cmse-msr-base.d: Force Thumb when
disassembling and stop skipping targets.
* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
* testsuite/gas/arm/archv8m-base.d: Also allow nops after the last
instruction for targets that have stronger alignment requirement.
* testsuite/gas/arm/archv8m-cmse-base.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-main-1.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-main-2.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-2.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-3.d: Likewise.
* testsuite/gas/arm/archv8m-main.d: Likewise.
* testsuite/gas/arm/archv8m.s: Add label.
* testsuite/gas/arm/archv8m-cmse.s: Likewise.
* testsuite/gas/arm/archv8m-cmse-msr.s: Likewise.
* testsuite/gas/arm/archv8m-cmse-main.s: Likewise.
commit 1bdc036f254394412f32b2ae89a6575ececc7031
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Tue May 17 13:14:26 2016 +0100
Place progmem data from AVR's libc before other progmem data.
* scripttempl/avr.sc (text): Place .progmem.data from avr-libc
above .progmem*.
* scripttempl/avrtiny.sc (text): Likewise.
commit a43942db49b07a457ee4f960d0f118b23641ec38
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon May 16 08:51:26 2016 +0100
LD/ELF: Unify STB_GNU_UNIQUE handling
Take STB_GNU_UNIQUE handling scattered across targets and gather it in
the generic ELF linker. Update test suite infrastructure accordingly.
bfd/
* elf-s390-common.c (elf_s390_add_symbol_hook): Remove
STB_GNU_UNIQUE handling.
* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
* elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
* elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
(elf_backend_add_symbol_hook): Remove macro.
* elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
for STB_GNU_UNIQUE symbols.
binutils/
* testsuite/lib/binutils-common.exp (supports_gnu_unique): New
procedure.
* testsuite/binutils-all/objcopy.exp: Use `supports_gnu_unique'
with the `strip-10' test.
ld/
* testsuite/ld-unique/unique.exp: Use `is_elf_format' and
`supports_gnu_unique' to qualify testing.
commit fcdad592cd1f76046c5e4b7a2b0337e146d1e796
Author: Yao Qi <yao.qi@linaro.org>
Date: Tue May 17 08:24:26 2016 +0100
Use unsuspend_all_lwps
This patch is to replace find_inferior (&all_threads, unsuspend_one_lwp, NULL)
with unsuspend_all_lwps (NULL), which is shorter. They are equivalent
to each other.
gdb/gdbserver:
2016-05-17 Yao Qi <yao.qi@linaro.org>
* linux-low.c (linux_stabilize_threads): Call unsuspend_all_lwps
instead of find_inferior.
commit acac2e457a32e84814c212183ab2824869a27b5b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 17 00:00:18 2016 +0000
Automatic date update in version.in
commit 155b7f573bf6a9fffcb00108ab7a5fc12ed2f727
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon May 16 17:32:43 2016 +0100
Match shell_prompt # in batch-preserve-term-settings.exp
batch-preserve-term-settings.exp fails if the shell prompt isn't $. It
is # in our testing env. In fact, the shell prompt can be anything.
The perfect solution would be "set_board_info shell_prompt" in the
host board file, and use board_info shell_prompt in
batch-preserve-term-settings.exp. This is a little bit overkill to
me, and we still need to figure out the different prompts on different
shells. I also tried to start shell with the prompt preset, but there is
not unique way to set shell prompt in different shells, so I give up.
It is reasonably simple to match either $ or # for the shell prompt, and
we can easily extend it to match other char, like >.
gdb/testsuite:
2016-05-16 Yao Qi <yao.qi@linaro.org>
* gdb.base/batch-preserve-term-settings.exp: Remove variable
shell_prompt. Update shell_prompt_re.
commit 71de341392d18d7951b5a00fe68b6309e2dfbb47
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon May 16 08:22:59 2016 +0100
V850/BFD: Call `_bfd_elf_copy_private_bfd_data' again
Correct a regression introduced with commit 685080f21003 ("Adds support
for generating notes in V850 binaries.") which replaced rather than
extending the call to `_bfd_elf_copy_private_bfd_data' with
`v850_elf_copy_private_bfd_data'. Consequently ELFOSABI_GNU marking is
not propagated to output by `objcopy' from objects containing
STB_GNU_UNIQUE symbols.
bfd/
* elf32-v850.c (v850_elf_copy_notes): New function, factored out
from...
(v850_elf_copy_private_bfd_data): ... here. Call the new
function and `_bfd_elf_copy_private_bfd_data'.
binutils/
* testsuite/binutils-all/objcopy.exp: Don't skip the `strip-10'
test for the V850.
commit 7b14583ef0c858dc8f29c127f70b034f7f5d4ad2
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 16:31:45 2016 -0400
m32r: make mach_table static and const
It is only read in tc-m32r.c, so it might as well be static and const, and
that should help the compiler slightly.
gas/ChangeLog:
2016-05-16 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-m32r.c (mach_table): Make static and const.
commit 0591130a7c17645db7a62598f6768e9a1cc8d839
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 02:34:02 2016 -0400
tc-vax.c: make prototype of flonum_gen2vax match its definition
gas/ChangeLog:
2016-05-16 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-vax.c (flonum_gen2vax): Adjust prototype to match
definition.
commit 9117cd3e10673e8f80fc0c64f1a32215d9638fc2
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 00:34:05 2016 -0400
stop defining linkrelax in multiple places
Defining linkrelax to have different values in as.c and tc-msp430.c /
tc-mn10300.c is at least rather tricky, and seems fragile, when we can just set
it in md_begin instead.
gas/ChangeLog:
2016-05-16 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-mn10300.c (md_begin): set linkrelax here instead of
defining it.
* config/tc-msp430.c (md_begin): Likewise.
commit e18382406ce321517210e0fdb6a8a0d417078fef
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Sat May 14 15:27:26 2016 -0400
m68hc11: make some vars type bfd_reloc_code_real_type
These variables only hold values from the bfd_reloc_code_real_type enum, and
are passed to functions that expect the argument to be of type
bfd_reloc_code_real_type, so it seems to make sense that there type is
bfd_reloc_code_real_type rather than int.
gas/ChangeLog:
2016-05-16 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-m68hc11.c (fixup8): Change variables type from int to
bfd_reloc_code_real_type where appropriate.
(fixup16): Likewise.
(fixup8_xg): Likewise.
commit 69a1c8561a541b00b483115eb80a260062a4bb8e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sun May 15 06:49:54 2016 +0100
ld/testsuite/ld-elf/flags1.d: Update the xfail list
Update to match commit 924bc11ba455 ("Update section merge test.").
ld/
* testsuite/ld-elf/flags1.d: Update the xfail list.
commit 558e50badbe8e1dd1d49222caf08cb8d61b184bc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 16 00:00:08 2016 +0000
Automatic date update in version.in
commit 9dfa3e63479d3c3106c7e5e86764a0ed8e22aa7f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sun May 15 23:14:52 2016 +0100
SH64/GAS: Fix a -Wwrite-strings build failure
Fix a commit 6757cf57697d ("enable -Wwrite-strings for gas") regression.
gas/
* config/tc-sh64.c (shmedia_check_limits): Constify `msg'.
commit 180c87d999b4ae31b8ee092369b11cd9c840123b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sun May 15 06:39:14 2016 +0100
ld/testsuite/ld-elf/flags1.d: Update for `*-*-nacl*' xfail removal
ld/
* testsuite/ld-elf/flags1.d: Update for `*-*-nacl*' xfail
removal.
commit ea0ebc4fd8be2530a46159ba9741366488d06454
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 15 00:00:08 2016 +0000
Automatic date update in version.in
commit bf6f87e726c7e585402575a0976c717c6edd9817
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat May 14 05:51:28 2016 -0700
Remove redundant sizeof on EXPECTED_VIEW_LENGTH
PR ld/20097
* testplug2.c (onall_symbols_read): Remove redundant sizeof
on EXPECTED_VIEW_LENGTH.
* testplug4.c (onall_symbols_read): Likewise.
commit 34ac9af335c2243f85f1e569e21506b35521dd7a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 14 00:00:14 2016 +0000
Automatic date update in version.in
commit 1178da445ad5faf37f9cc2be3aaa69d916f10f62
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Fri May 13 15:15:00 2016 -0500
Accept valid one byte signed and unsigned values for the IMM8 operand.
opcodes/
* ppc-opc.c (IMM8): Use PPC_OPERAND_SIGNOPT.
gas/
* testsuite/gas/ppc/power9.d <xxspltib>: Add additional operand tests.
* testsuite/gas/ppc/power9.s: Likewise.
commit 2168b2688ae343a61c467450068503295a5e3deb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 13 10:59:32 2016 -0700
Don't convert GOTPCREL relocation against large section
bfd/
PR ld/20093
* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
GOTPCREL relocation against large section.
ld/
PR ld/20093
* testsuite/ld-x86-64/pr20093-1.d: New file.
* testsuite/ld-x86-64/pr20093-1.s: Likewise.
* testsuite/ld-x86-64/pr20093-2.d: Likewise.
* testsuite/ld-x86-64/pr20093-2.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr20093-1 and pr20093-2.
commit d2edc834f769d9d05756c66f01c3bf05349a7fb7
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 13 15:57:10 2016 +0930
Fix build breakage
* config/obj-coff.c (weak_uniquify): Delete unused var.
commit 4ade44b727ee77adaa9c22719935d012e253a5e6
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 13 11:48:56 2016 +0930
Set dynamic tag VMA and size from dynamic section when possible
Rather than searching the output for a specific named section, it's
better, where possible, to use a linker created dynamic section to set
a dynamic tag's value. That way ld doesn't depend on the output
section name, making it possibile to map dynamic sections differently.
bfd/
* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
linker dynamic sections in calculating size and address of
* dynamic tags rather than using output sections. Remove asserts.
* elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
* elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
* elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
* elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
* elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
* elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
* elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
* elflink.c (bfd_elf_final_link): Likewise.
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
* elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
* elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
don't set doit. Look up dynobj section.
(elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
invocation and dynamic tag vma calculation. Don't test
boolean var == TRUE.
* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
DT_JMPREL calc.
ld/
* testsuite/ld-arm/arm-elf.exp: Adjust for arm-no-rel-plt now passing.
Use different output file name for static app without .rel.plt.
* testsuite/ld-arm/arm-no-rel-plt.ld: Align .rel.dyn and .rela.dyn.
* testsuite/ld-arm/arm-no-rel-plt.out: Delete.
* testsuite/ld-arm/arm-no-rel-plt.r: New.
* testsuite/ld-arm/arm-static-app.d: Don't check file name.
* testsuite/ld-arm/arm-static-app.r: Likewise.
commit c8e44c6d168f8e68b7bbb1119065e0059a16fe34
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 13 11:34:56 2016 +0930
ld -z combreloc elf_link_sort_relocs
A linker script may put .rela.plt in with other .rela.dyn relocs.
The change to elf_reloc_type_class puts any PLT relocs last. This
patch makes the input section layout better match the sorted relocs.
* elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
octets_per_byte. Put dynamic .rela.plt last in link orders.
Assign output_offset for reloc sections rather than writing
sorted relocs from block corresponding to output_offset.
commit add39d2344036db9334bdeb1ec20a90beaa3ca49
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 6 16:26:46 2016 -0400
use XNEW and related macros more
Its a bit shorter and simpler than raw xmalloc.
gas/ChangeLog:
2016-05-13 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* app.c (app_push): Use XNEW and related macros.
* as.c (parse_args): Likewise.
* cgen.c (make_right_shifted_expr): Likewise.
(gas_cgen_tc_gen_reloc): Likewise.
* config/bfin-defs.h: Likewise.
* config/bfin-parse.y: Likewise.
* config/obj-coff.c (stack_init): Likewise.
(stack_push): Likewise.
(coff_obj_symbol_new_hook): Likewise.
(coff_obj_symbol_clone_hook): Likewise.
(add_lineno): Likewise.
(coff_frob_symbol): Likewise.
* config/obj-elf.c (obj_elf_section_name): Likewise.
(build_group_lists): Likewise.
* config/obj-evax.c (evax_symbol_new_hook): Likewise.
* config/obj-macho.c (obj_mach_o_indirect_symbol): Likewise.
* config/tc-aarch64.c (insert_reg_alias): Likewise.
(find_or_make_literal_pool): Likewise.
(add_to_lit_pool): Likewise.
(fill_instruction_hash_table): Likewise.
* config/tc-alpha.c (load_expression): Likewise.
(emit_jsrjmp): Likewise.
(s_alpha_ent): Likewise.
(s_alpha_end): Likewise.
(s_alpha_linkage): Likewise.
(md_begin): Likewise.
(tc_gen_reloc): Likewise.
* config/tc-arc.c (arc_insert_opcode): Likewise.
(arc_extcorereg): Likewise.
* config/tc-bfin.c: Likewise.
* config/tc-cr16.c: Likewise.
* config/tc-cris.c: Likewise.
* config/tc-crx.c (preprocess_reglist): Likewise.
* config/tc-d10v.c: Likewise.
* config/tc-frv.c (frv_insert_vliw_insn): Likewise.
(frv_tomcat_shuffle): Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-i370.c (i370_macro): Likewise.
* config/tc-i386.c (lex_got): Likewise.
(md_parse_option): Likewise.
* config/tc-ia64.c (alloc_record): Likewise.
(set_imask): Likewise.
(save_prologue_count): Likewise.
(dot_proc): Likewise.
(dot_endp): Likewise.
(ia64_frob_label): Likewise.
(add_qp_imply): Likewise.
(add_qp_mutex): Likewise.
(mark_resource): Likewise.
(dot_alias): Likewise.
* config/tc-m68hc11.c: Likewise.
* config/tc-m68k.c (m68k_frob_label): Likewise.
(s_save): Likewise.
(mri_control_label): Likewise.
(push_mri_control): Likewise.
(build_mri_control_operand): Likewise.
(s_mri_else): Likewise.
(s_mri_break): Likewise.
(s_mri_next): Likewise.
(s_mri_for): Likewise.
(s_mri_endw): Likewise.
* config/tc-metag.c (create_mnemonic_htab): Likewise.
* config/tc-microblaze.c: Likewise.
* config/tc-mmix.c (s_loc): Likewise.
* config/tc-nds32.c (nds32_relax_hint): Likewise.
* config/tc-nios2.c (nios2_insn_reloc_new): Likewise.
* config/tc-rl78.c: Likewise.
* config/tc-rx.c (rx_include): Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sh64.c (shmedia_frob_section_type): Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-spu.c: Likewise.
* config/tc-tic6x.c (static tic6x_unwind_info *tic6x_get_unwind): Likewise.
(tic6x_start_unwind_section): Likewise.
* config/tc-tilegx.c: Likewise.
* config/tc-tilepro.c: Likewise.
* config/tc-v850.c: Likewise.
* config/tc-visium.c: Likewise.
* config/tc-xgate.c: Likewise.
* config/tc-xtensa.c (xtensa_translate_old_userreg_ops): Likewise.
(new_resource_table): Likewise.
(resize_resource_table): Likewise.
(xtensa_create_trampoline_frag): Likewise.
(xtensa_maybe_create_literal_pool_frag): Likewise.
(cache_literal_section): Likewise.
* config/xtensa-relax.c (append_transition): Likewise.
(append_condition): Likewise.
(append_value_condition): Likewise.
(append_constant_value_condition): Likewise.
(append_literal_op): Likewise.
(append_label_op): Likewise.
(append_constant_op): Likewise.
(append_field_op): Likewise.
(append_user_fn_field_op): Likewise.
(enter_opname_n): Likewise.
(enter_opname): Likewise.
(split_string): Likewise.
(parse_insn_templ): Likewise.
(clone_req_or_option_list): Likewise.
(clone_req_option_list): Likewise.
(parse_option_cond): Likewise.
(parse_insn_pattern): Likewise.
(parse_insn_repl): Likewise.
(build_transition): Likewise.
(build_transition_table): Likewise.
* dw2gencfi.c (alloc_fde_entry): Likewise.
(alloc_cfi_insn_data): Likewise.
(cfi_add_CFA_remember_state): Likewise.
(dot_cfi_escape): Likewise.
(dot_cfi_fde_data): Likewise.
(select_cie_for_fde): Likewise.
* dwarf2dbg.c (dwarf2_directive_loc): Likewise.
* ecoff.c (ecoff_add_bytes): Likewise.
(ecoff_build_debug): Likewise.
* input-scrub.c (input_scrub_push): Likewise.
(input_scrub_begin): Likewise.
(input_scrub_next_buffer): Likewise.
* itbl-ops.c (append_insns_as_macros): Likewise.
(alloc_entry): Likewise.
(alloc_field): Likewise.
* listing.c (listing_newline): Likewise.
(listing_listing): Likewise.
* macro.c (get_any_string): Likewise.
(delete_macro): Likewise.
* stabs.c (generate_asm_file): Likewise.
(stabs_generate_asm_lineno): Likewise.
* subsegs.c (subseg_change): Likewise.
(subseg_get): Likewise.
* symbols.c (define_dollar_label): Likewise.
(symbol_relc_make_sym): Likewise.
* write.c (write_relocs): Likewise.
commit 29a2809e4210d5055291e95de861b493c55b9c0a
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon Mar 28 05:49:15 2016 -0400
use xstrdup, xmemdup0 and concat more
gas/ChangeLog:
2016-05-13 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/obj-coff.c (obj_coff_def): Simplify string copying.
(weak_name2altname): Likewise.
(weak_uniquify): Likewise.
(obj_coff_section): Likewise.
(obj_coff_init_stab_section): Likewise.
* config/obj-elf.c (obj_elf_section_name): Likewise.
(obj_elf_init_stab_section): Likewise.
* config/obj-evax.c (evax_shorten_name): Likewise.
* config/obj-macho.c (obj_mach_o_make_or_get_sect): Likewise.
* config/tc-aarch64.c (create_register_alias): Likewise.
* config/tc-alpha.c (load_expression): Likewise.
(s_alpha_file): Likewise.
(s_alpha_section_name): Likewise.
(tc_gen_reloc): Likewise.
* config/tc-arc.c (md_assemble): Likewise.
* config/tc-arm.c (create_neon_reg_alias): Likewise.
(start_unwind_section): Likewise.
* config/tc-hppa.c (pa_build_unwind_subspace): Likewise.
(hppa_elf_mark_end_of_function): Likewise.
* config/tc-nios2.c (nios2_modify_arg): Likewise.
(nios2_negate_arg): Likewise.
* config/tc-rx.c (rx_section): Likewise.
* config/tc-sh64.c (sh64_consume_datalabel): Likewise.
* config/tc-tic30.c (tic30_find_parallel_insn): Likewise.
* config/tc-tic54x.c (tic54x_include): Likewise.
(tic54x_macro_info): Likewise.
(subsym_get_arg): Likewise.
(subsym_substitute): Likewise.
(tic54x_start_line_hook): Likewise.
* config/tc-xtensa.c (xtensa_literal_prefix): Likewise.
(xg_reverse_shift_count): Likewise.
* config/xtensa-relax.c (enter_opname_n): Likewise.
(split_string): Likewise.
* dwarf2dbg.c (get_filenum): Likewise.
(process_entries): Likewise.
* expr.c (operand): Likewise.
* itbl-ops.c (alloc_entry): Likewise.
* listing.c (listing_message): Likewise.
(listing_title): Likewise.
* macro.c (check_macro): Likewise.
* stabs.c (s_xstab): Likewise.
* symbols.c (symbol_relc_make_expr): Likewise.
* write.c (compress_debug): Likewise.
commit 59441ccdbd5d74575ae0149c6cf7b4663b56ff6d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 13 00:00:12 2016 +0000
Automatic date update in version.in
commit 3355cb3b643bd50aafae768e7cf990d4bec40fe1
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 12 16:50:34 2016 -0700
Handle symbols defined/referenced only within IR
The plugin is called to claim symbols in an archive element from
plugin_object_p. But those symbols aren't needed to create output.
They are defined and referenced only within IR. get_symbols should
return resolution based on IR symbol kinds.
PR ld/20070
* Makefile.am (noinst_LTLIBRARIES): Add libldtestplug4.la.
(libldtestplug4_la_SOURCES): New.
(libldtestplug4_la_CFLAGS): Likewise.
(libldtestplug4_la_LDFLAGS): Likewise.
* Makefile.in: Regenerated.
* plugin.c (get_symbols): Return resolution based on IR symbol
kinds for symbols defined/referenced only within IR.
* testplug4.c: New file.
* ld/testsuite/ld-plugin/pr20070.d: Likewise.
* ld/testsuite/ld-plugin/pr20070a.c: Likewise.
* ld/testsuite/ld-plugin/pr20070b.c: Likewise.
* testsuite/ld-plugin/plugin.exp (plugin4_name): New.
(plugin4_path): Likewise.
Add a test for ld/20070.
commit 8ddd5a6cd692ca8c4041d9fb64cbb4e0585d4aa1
Author: Doug Evans <dje@google.com>
Date: Thu May 12 09:20:57 2016 -0700
PR symtab/19999 gdb unable to resolve vars with fission+PIE
gdb/ChangeLog:
* dwarf2loc.c (dwarf2_find_location_expression): For DWO files still
add base_offset.
gdb/testsuite/ChangeLog:
* lib/dwarf.exp (build_executable_from_fission_assembler): Pass
$options when building executable.
* gdb.dwarf2/fission-loclists-pie.c: New file.
* gdb.dwarf2/fission-loclists-pie.exp: New file.
commit 58c7f094c0093a7773e939938f22a9a063c4b9a8
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 12 17:19:44 2016 +0100
Use correct regexp syntax in ARM PR20068 test
commit 1997c9943a1979a7407f3c70ead92493a799e13e
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 12 23:59:26 2016 +0930
ld -z combreloc reloc sorting
PLT relocs don't appear in .rela.dyn, at least not when using
normal linker scripts. However, if they do, then they ought to be
placed last rather than in the middle of other relocs.
* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
commit 001c250f57f5ef42189de5391db9eac9225b5971
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 12 00:00:11 2016 +0000
Automatic date update in version.in
commit d5e74e8d3e6207251486bc0d88f54d3e70cb1240
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 11 18:04:03 2016 +0100
Update pr20068 test to allow for big endian ARM configuration
commit 8f4f9071ad5fe6076c3554a75d59536e74e6a3fe
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date: Wed Nov 26 11:15:01 2014 +0000
Add MIPS32 DSPr3 support.
bfd/
* elfxx-mips.c (print_mips_ases): Add DSPR3.
binutils/
* readelf.c (print_mips_ases): Add DSPR3.
gas/
* config/tc-mips.c (options): Add OPTION_DSPR3 and
OPTION_NO_DSPR3.
(md_longopts): Likewise.
(md_show_usage): Add help for -mdspr3 and -mno-dspr3.
(mips_ases): Define availability for DSPr3.
(mips_ase_groups): Add ASE_DSPR3 to the DSP group.
(mips_convert_ase_flags): Map ASE_DSPR3 to AFL_ASE_DSPR3.
* doc/as.texinfo: Document -mdspr3, -mno-dspr3. Fix -mdspr2
formatting.
* doc/c-mips.texi: Document -mdspr3, -mno-dspr3, .set dspr3 and
.set nodspr3. Fix -mdspr2 formatting.
* testsuite/gas/mips/mips32-dspr3.d: New file.
* testsuite/gas/mips/mips32-dspr3.s: Likewise.
* testsuite/gas/mips/mips.exp: Run mips32-dspr3 test.
include/
* elf/mips.h (AFL_ASE_DSPR3): New macro.
(AFL_ASE_MASK): Update to include AFL_ASE_DSPR3.
* opcode/mips.h (ASE_DSPR3): New macro.
opcodes/
* mips-dis.c (mips_arch_choices): Add ASE_DSPR3 to mips32r6 and
mips64r6.
* mips-opc.c (D34): New macro.
(mips_builtin_opcodes): Define bposge32c for DSPr3.
commit a464198b013940745d43cff029330b9e7dda71c2
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 11 22:51:14 2016 +0930
[HPPA] Attach linker created dynamic sections to stub bfd
bfd/
* elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
(elf32_hppa_check_relocs): Don't set dynobj.
(elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
(elf32_hppa_build_stubs): Likewise.
* elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
ld/
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
Call elf32_hppa_init_stub_bfd.
commit 3bd43ebcb6025a8a43f119238f490e2e238697a2
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 11 21:54:05 2016 +0930
ld --gc-sections fail with __tls_get_addr_opt
When --gc-sections is active, __tls_get_addr_opt is marked as not
needed and forced local before ppc*_elf_tls_setup is run.
bfd/
PR 20060
* elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
* elf32-ppc.c (ppc_elf_tls_setup): Likewise.
ld/
PR 20060
* testsuite/ld-powerpc/powerpc.exp: Run new tests.
* testsuite/ld-powerpc/tlsdll.s: New.
* testsuite/ld-powerpc/tlsdll.ver: New.
* testsuite/ld-powerpc/tlsdll_32.s: New.
* testsuite/ld-powerpc/tlsopt5.d: New.
* testsuite/ld-powerpc/tlsopt5.s: New.
* testsuite/ld-powerpc/tlsopt5_32.d: New.
* testsuite/ld-powerpc/tlsopt5_32.s: New.
commit a6684f0dddb292873f962dc36b20e6db00ef6b09
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 11 12:51:04 2016 +0100
Ensure that padding in the constant pool uses constant values.
PR target/20068
* config/tc-arm.c (add_to_lit_pool): Ensure that the padding added
to the pool uses O_constant.
* testsuite/gas/arm/pr20068.s: New test.
* testsuite/gas/arm/pr20068.d: Test driver.
commit 4e7fbb34f0546360e86b56dcd32b4d6478662b41
Author: Jiong Wang <jiong.wang@arm.com>
Date: Wed May 11 11:55:02 2016 +0100
[AArch64] Remove redundant tls relax in elfNN_aarch64_final_link_relocate
bfd/
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
aarch64_tls_transition check.
commit 4179a6a209f22354a605413e0de9ac10331c108b
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 11 09:06:58 2016 +0100
oops - fix up changelog entry
commit be5c445b697febda5111c0cc3fb9924f9162c037
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 11 09:04:17 2016 +0100
Skip new ARM security extension tests on non-ELF based targets.
* testsuite/gas/arm/archv8m-cmse-base.d: Skip for non-ELF ARM targets.
* testsuite/gas/arm/archv8m-cmse-main-1.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-main-2.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-2.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-3.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
commit df140a0bc3140bca133cd7ced6e18903db69c396
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Tue May 10 21:33:45 2016 -0400
fix up two issues with the removal of unused variables
gdb/ChangeLog:
2016-05-10 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* iq2000-tdep.c (iq2000_scan_prologue): Remove if that shouldn't guard
anything.
* linespec.c (add_sal_to_sals): Restore call to symtab_to_fullname.
commit aa79adb05d96728b8b35015eaf902266d9b53d0b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 11 00:00:18 2016 +0000
Automatic date update in version.in
commit 8bc526963edde8cf8789ce82072d05fd2bcc90c4
Author: Alexander Fomin <alexander.fomin@intel.com>
Date: Tue May 10 21:35:52 2016 +0300
Enable Intel RDPID instruction.
This patch enables Intel RDPID instruction described in Intel64 and
IA-32 Architectures Software Developer's Manual, April 2016.
gas/
* config/tc-i386.c (cpu_arch): Add RDPID.
* doc/c-i386.texi: Document RDPID.
gas/testsuite/
* gas/i386/i386.exp: Run RDPID tests.
* gas/i386/prefix.d: Adjust.
* gas/i386/rdpid.s: New test.
* gas/i386/rdpid.d: Ditto.
* gas/i386/rdpid-intel.d: Ditto.
* gas/i386/x86-64-rdpid.s: Ditto.
* gas/i386/x86-64-rdpid.d: Ditto.
* gas/i386/x86-64-rdpid-intel.d: Ditto.
opcodes/
* i386-dis.c (prefix_table): Add RDPID instruction.
* i386-gen.c (cpu_flag_init): Add RDPID flag.
(cpu_flags): Add RDPID bitfield.
* i386-opc.h (enum): Add RDPID element.
(i386_cpu_flags): Add RDPID field.
* i386-opc.tbl: Add RDPID instruction.
* i386-init.h: Regenerate.
* i386-tbl.h: Regenerate.
commit 4f4faa4d43aeaf5dd0a5fe0aff2fde89df3e5b8c
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 16:20:19 2016 +0100
Allow veneers to claim veneered symbols
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
enumerator.
(arm_stub_sym_claimed): New function.
(elf32_arm_create_stub): Use veneered symbol name and section if
veneer needs to claim its symbol, and keep logic unchanged otherwise.
(arm_stub_claim_sym): New function.
(arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
veneered symbol, otherwise create local symbol as before.
commit 39d911fc3c6519799ca1af4365d4b56f9d71ca94
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 16:14:23 2016 +0100
Use getters/setters to access ARM branch type
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (elf32_arm_size_stubs): Use new macros
ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
and set branch type of a symbol.
(bfd_elf32_arm_process_before_allocation): Likewise.
(elf32_arm_relocate_section): Likewise and fix identation along the
way.
(allocate_dynrelocs_for_symbol): Likewise.
(elf32_arm_finish_dynamic_symbol): Likewise.
(elf32_arm_swap_symbol_in): Likewise.
(elf32_arm_swap_symbol_out): Likewise.
gas/
* config/tc-arm.c (arm_adjust_symtab): Use ARM_SET_SYM_BRANCH_TYPE to
set branch type of a symbol.
gdb/
* arm-tdep.c (arm_elf_make_msymbol_special): Use
ARM_GET_SYM_BRANCH_TYPE to get branch type of a symbol.
include/
* arm.h (enum arm_st_branch_type): Add new ST_BRANCH_ENUM_SIZE
enumerator.
(NUM_ENUM_ARM_ST_BRANCH_TYPE_BITS): New macro.
(ENUM_ARM_ST_BRANCH_TYPE_BITMASK): Likewise.
(ARM_SYM_BRANCH_TYPE): Replace by ...
(ARM_GET_SYM_BRANCH_TYPE): This and ...
(ARM_SET_SYM_BRANCH_TYPE): This in two versions depending on whether
BFD_ASSERT is defined or not.
ld/
* emultempl/armelf.em (gld${EMULATION_NAME}_finish): Use
ARM_GET_SYM_BRANCH_TYPE to get branch type of a symbol.
opcodes/
* arm-dis.c (get_sym_code_type): Use ARM_GET_SYM_BRANCH_TYPE to get
branch type of a symbol.
(print_insn): Likewise.
commit 6bde4c52fb2d49572d365612f222a42b4d316f09
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:45:01 2016 +0100
Allow stubs without associated input section in ARM backend
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
* bfd-in2.h: Regenerated.
* elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
parameter to add_stub_section callback.
(elf32_arm_create_or_find_stub_sec): Get output section from link_sec
and pass it down to add_stub_section.
(elf32_arm_add_stub): Set section to stub_sec if NULL before using it
for error message.
(elf32_arm_size_stubs): Add output section parameter to
add_stub_section function pointer parameter.
ld/
* emultempl/armelf.em (elf32_arm_add_stub_section): Add output_section
parameter and rename input_section parameter to after_input_section.
Append input stub section to the output section if after_input_section
is NULL.
commit b715f643ef3810bd77d50cc97fe4f7a3116b1556
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:42:20 2016 +0100
Factor our stub creation in ARM backend
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (elf32_arm_create_stub): New function.
(elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
commit 8d9d9490142a0cd6edb7cfec820a7c8f28b88395
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:28:10 2016 +0100
Refactor Cortex-A8 erratum workaround in preparation
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (enum elf32_arm_stub_type): Delete
arm_stub_a8_veneer_lwm enumerator.
(arm_stub_a8_veneer_lwm): New unsigned constant to replace
aforementioned enumerator.
(struct elf32_arm_stub_hash_entry): Delete target_addend
field and add source_value.
(struct a8_erratum_fix): Delete addend field and add target_offset.
(stub_hash_newfunc): Initialize source_value field amd remove
initialization for target_addend.
(arm_build_one_stub): Stop special casing Thumb relocations: promote
the else to being always executed, moving the
arm_stub_a8_veneer_b_cond specific code in it. Remove
stub_entry->target_addend from points_to computation.
(cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
to target symbol from start of section rather than the offset from the
stub address.
(elf32_arm_size_stubs): Set stub_entry's source_value and target_value
fields from struct a8_erratum_fix's offset and target_offset
respectively.
(make_branch_to_a8_stub): Rename target variable to loc. Compute
veneered_insn_loc and loc using stub_entry's source_value.
commit 15afaa63f39a44563e49bb3b9fb38ed43e8b48ed
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:15:15 2016 +0100
Add support for ARMv8-M Mainline with DSP extension
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
(elf32_arm_merge_eabi_attributes): Add merging logic for
Tag_DSP_extension.
binutils/
* readelf.c (display_arm_attribute): Add output for Tag_DSP_extension.
(arm_attr_public_tags): Define DSP_extension attribute.
gas/
* NEWS: Document ARMv8-M and ARMv8-M Security and DSP Extensions.
* config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP
instructions.
(arm_extensions): Add dsp extension for ARMv8-M Mainline.
(aeabi_set_public_attributes): Memorize the feature bits of the
architecture selected for Tag_CPU_arch. Use it to set
Tag_DSP_extension to 1 for ARMv8-M Mainline with DSP extension.
(arm_convert_symbolic_attribute): Define Tag_DSP_extension.
* testsuite/gas/arm/arch7em-bad.d: Rename to ...
* testsuite/gas/arm/arch7em-bad-1.d: This.
* testsuite/gas/arm/arch7em-bad-2.d: New file.
* testsuite/gas/arm/arch7em-bad-3.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-2.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-3.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-5.d: Likewise.
* testsuite/gas/arm/attr-march-armv8m.main.dsp.d: Likewise.
include/
* elf/arm.h (Tag_DSP_extension): Define.
ld/
* testsuite/ld-arm/arm-elf.exp (EABI attribute merging 10 (DSP)): New
test.
* testsuite/ld-arm/attr-merge-10b-dsp.s: New file.
* testsuite/ld-arm/attr-merge-10-dsp.attr: Likewise.
commit d942732e829030b8eab483dd48b979f8eed7c9e2
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:06:41 2016 +0100
Allow extension availability to depend on several architecture bits
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* config/tc-arm.c (struct arm_option_extension_value_table): Make
allowed_archs an array with 2 entries.
(ARM_EXT_OPT): Adapt to only fill the first entry of allowed_archs.
(ARM_EXT_OPT2): New macro filling the two entries of allowed_archs.
(arm_extensions): Use separate entries in allowed_archs when several
archs are allowed to use an extension and change ARCH_ANY in
ARM_ARCH_NONE in allowed_archs.
(arm_parse_extension): Check that, for each allowed_archs entry, all
bits are set in the current architecture, ignoring ARM_ANY entries.
(s_arm_arch_extension): Likewise.
include/
* arm.h (ARM_FSET_CPU_SUBSET): Define macro.
commit 16a1fa25be5705102b84ef0ea6eea71312328c2c
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Tue May 10 15:01:53 2016 +0100
Add support for ARMv8-M security extensions instructions
2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* config/tc-arm.c (arm_ext_m): Add feature bit ARM_EXT2_V8M_MAIN.
(arm_ext_v8m_main): New feature set for bit ARM_EXT2_V8M_MAIN.
(arm_ext_v8m_m_only): New feature set for instructions in ARMv8-M not
shared with a non M profile architecture.
(do_rn): New function.
(known_t32_only_insn): Check opcode against arm_ext_v8m_m_only rather
than arm_ext_v8m.
(v7m_psrs): Add ARMv8-M security extensions new special registers.
(insns): Add ARMv8-M Security Extensions instructions.
(aeabi_set_public_attributes): Use arm_ext_v8m_m_only instead of
arm_ext_v8m_m to decide the profile and the Thumb ISA.
* testsuite/gas/arm/archv8m-cmse.s: New file.
* testsuite/gas/arm/archv8m-cmse-main.s: Likewise..
* testsuite/gas/arm/archv8m-cmse-msr.s: Likewise.
* testsuite/gas/arm/any-cmse.d: Likewise.
* testsuite/gas/arm/any-cmse-main.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-base.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-main-1.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-main-2.d: Likewise.
* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
include/
* opcode/arm.h (ARM_EXT2_V8M_MAIN): new feature bit.
(ARM_AEXT2_V8M_MAIN): New architecture extension feature set.
(ARM_ARCH_V8M_MAIN): Use ARM_AEXT2_V8M_MAIN instead of ARM_AEXT2_V8M
for the high core bits.
opcodes/
* arm-dis.c (coprocessor_opcodes): Add entries for VFP ARMv8-M
Mainline Security Extensions instructions.
(thumb_opcodes): Add entries for narrow ARMv8-M Security
Extensions instructions.
(thumb32_opcodes): Add entries for wide ARMv8-M Security Extensions
instructions.
(psr_name): Add new MSP_NS and PSP_NS ARMv8-M Security Extensions
special registers.
commit 29f4fdc42db187300b208ba4310920bedb300a04
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Apr 29 13:22:51 2016 +0100
binutils/doc: Update documentation for nm --size-sort
The documentation for 'nm --size-sort' is out of step with the code, the
special handling for ELF is not mentioned in the documentation, and
could cause confusion to a user.
binutils/ChangeLog:
* doc/binutils.texi (nm): Update description of --size-sort.
commit d63a50b79e50b9a48570a9d9fdb86d7c692f3c18
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date: Tue May 10 09:33:08 2016 +0200
2016-05-10 Christophe Lyon <christophe.lyon@linaro.org>
* ld/testsuite/ld-elf/flags1.d (xfail): Remove *-*-nacl*".
commit 66a368220cc109070a30ac2bbf24057c8b07a2b0
Author: Pip Cet <pipcet@gmail.com>
Date: Tue May 10 11:01:47 2016 +0930
PR 20059 _bfd_elf_copy_link_hash_symbol_type segfault
PR ld/20059
* elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
Define as _bfd_generic_copy_link_hash_symbol_type when using
generic hash table.
commit a932d108b10518994c873b38a363af9f21bc2e87
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 10 00:00:17 2016 +0000
Automatic date update in version.in
commit 5c28a5038108d75652e1ee9753aa2f1ffe8176db
Author: Han Shen <shenhan@google.com>
Date: Fri May 6 15:07:13 2016 -0700
Fix for PR gold/19987.
commit 315350be6598235df12a0190a5a4c21447eead36
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 9 17:31:07 2016 +0100
Fix seg fault objdumping a corrupt binary with an invalid sh_link field.
PR binutils/20063
* elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
field before accessing sections array.
* readelf.c (get_32bit_section_headers): Warn if an out of range
sh_link or sh_info field is encountered.
(get_64bit_section_headers): Likewise.
commit 9239bbd3a6bf901dba1c0170622c50c78f6d1096
Author: Christophe Monat <christophe.monat@st.com>
Date: Mon May 9 15:10:37 2016 +0200
[ARM/STM32L4XX] PR 20030: --fix-stm32l4xx-629360 fails to create vldm/vpop veneers for double-precision registers
bfd/
PR ld/20030
* elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
(stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
to nb_words.
(create_instruction_vldmia): Add is_dp to disambiguate SP/DP
encoding.
(create_instruction_vldmdb): Likewise.
(stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
uses it to re-encode.
ld/
PR ld/20030
* testsuite/ld-arm/arm-elf.exp: Run new stm32l4xx-fix-vldm-dp
tests. Fix misnamed stm32l4xx-fix-all.
* testsuite/ld-arm/stm32l4xx-fix-vldm-dp.s: New tests for multiple
loads with DP registers.
* testsuite/ld-arm/stm32l4xx-fix-vldm-dp.d: New reference file.
* testsuite/ld-arm/stm32l4xx-fix-vldm.s: Add missing comment.
* testsuite/ld-arm/stm32l4xx-fix-all.s: Add tests for multiple
loads with DP registers.
* testsuite/ld-arm/stm32l4xx-fix-all.d: Update reference.
commit 73597c183c78ed0bea291897de6d8867ec640208
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 9 12:07:32 2016 +0100
Revert accidental commit.
PR 19938
* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
commit.
commit 924bc11ba455cfe5e44afa3cb24e4dbe24536734
Author: Pitchumani Sivanupandi <pitchumani.s@atmel.com>
Date: Mon May 9 12:04:16 2016 +0100
Update section merge test.
* testsuite/ld-elf/flags1.d (readelf): Dump section header instead
program headers.
(xfail): Remove avr-*-*.
Update regex to check the section flags.
* testsuite/ld-elf/merge.d (xfail): Remove avr-*-*.
commit d751b79ea6bd7721367f1d78d22b70cee161fc26
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Mon May 9 04:09:53 2016 -0700
opcodes,gas: sparc: fix mnemonic of faligndatai
opcodes/ChangeLog:
2016-05-09 Jose E. Marchesi <jose.marchesi@oracle.com>
* sparc-opc.c (sparc_opcodes): Fix mnemonic of faligndatai.
gas/ChangeLog:
2016-05-09 Jose E. Marchesi <jose.marchesi@oracle.com>
* testsuite/gas/sparc/sparc5vis4.s: Fix mnemonic of faligndatai.
* testsuite/gas/sparc/sparc5vis4.d: Likewise.
commit 6eb7d83039db70127a6eb3e4b64ecae782c42f00
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 9 17:24:30 2016 +0930
Regenerate configure
commit a64f5ba148ca55949677dc4a99727f1f6c02d17d
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 9 17:10:03 2016 +0930
Fix ealphavms.c and eelf64_ia64_vms.c deps
* Makefile.am (ealphavms.c, eelf64_ia64_vms): Correct .em deps.
* Makefile.in: Regenerate.
commit ae1bb197269ca8f7aa560168c0dfd0bb80730e0f
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 9 17:08:35 2016 +0930
Redundant hash table check
* elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
commit cc969da947681b3199a2091ca4ad7d550ee19ac9
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 9 17:07:33 2016 +0930
Correct script input section pattern
We don't want this to match .rela.text or similar.
* testsuite/ld-scripts/pr14962-2.t: Match .text, not *.text.
* testsuite/ld-scripts/rgn-at5.t: Similarly, .sec not *.sec.
* testsuite/ld-scripts/section-match-1.t: Likewise.
commit 4612fb8101a70a9585b6464b1a43f6a6e44b116d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 9 00:00:20 2016 +0000
Automatic date update in version.in
commit 870f88f7551b0f2d6aaaa36fb684b5ff8f468107
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Mon Apr 18 13:16:27 2016 -0400
remove trivialy unused variables
gdb/ChangeLog:
2016-05-07 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Remove unused
variables.
* aarch64-tdep.c (aarch64_skip_prologue): Likewise.
(aarch64_scan_prologue): Likewise.
(aarch64_prologue_prev_register): Likewise.
(aarch64_dwarf2_prev_register): Likewise.
(pass_in_v): Likewise.
(aarch64_push_dummy_call): Likewise.
(aarch64_breakpoint_from_pc): Likewise.
(aarch64_return_in_memory): Likewise.
(aarch64_return_value): Likewise.
(aarch64_displaced_step_b_cond): Likewise.
(aarch64_displaced_step_cb): Likewise.
(aarch64_displaced_step_tb): Likewise.
(aarch64_gdbarch_init): Likewise.
(aarch64_process_record): Likewise.
* alpha-mdebug-tdep.c (alpha_mdebug_init_abi): Likewise.
* alpha-tdep.c (_initialize_alpha_tdep): Likewise.
* amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
* amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Likewise.
* amd64-tdep.c (fixup_riprel): Likewise.
* amd64-windows-tdep.c (amd64_windows_frame_decode_epilogue): Likewise.
(amd64_windows_frame_decode_insns): Likewise.
(amd64_windows_frame_cache): Likewise.
(amd64_windows_frame_prev_register): Likewise.
(amd64_windows_frame_this_id): Likewise.
(amd64_windows_init_abi): Likewise.
* arm-linux-tdep.c (arm_linux_get_syscall_number): Likewise.
(arm_linux_get_next_pcs_syscall_next_pc): Likewise.
* arm-symbian-tdep.c (arm_symbian_init_abi): Likewise.
* arm-tdep.c (arm_make_epilogue_frame_cache): Likewise.
(arm_epilogue_frame_prev_register): Likewise.
(arm_record_vdata_transfer_insn): Likewise.
(arm_record_exreg_ld_st_insn): Likewise.
* auto-load.c (execute_script_contents): Likewise.
(print_scripts): Likewise.
* avr-tdep.c (avr_frame_prev_register): Likewise.
(avr_push_dummy_call): Likewise.
* bfin-linux-tdep.c (bfin_linux_sigframe_init): Likewise.
* bfin-tdep.c (bfin_gdbarch_init): Likewise.
* blockframe.c (find_pc_partial_function_gnu_ifunc): Likewise.
* break-catch-throw.c (fetch_probe_arguments): Likewise.
* breakpoint.c (breakpoint_xfer_memory): Likewise.
(breakpoint_init_inferior): Likewise.
(breakpoint_inserted_here_p): Likewise.
(software_breakpoint_inserted_here_p): Likewise.
(hardware_breakpoint_inserted_here_p): Likewise.
(bpstat_what): Likewise.
(break_range_command): Likewise.
(save_breakpoints): Likewise.
* coffread.c (coff_symfile_read): Likewise.
* cris-tdep.c (cris_push_dummy_call): Likewise.
(cris_scan_prologue): Likewise.
(cris_register_size): Likewise.
(_initialize_cris_tdep): Likewise.
* d-exp.y: Likewise.
* dbxread.c (dbx_read_symtab): Likewise.
(process_one_symbol): Likewise.
(coffstab_build_psymtabs): Likewise.
(elfstab_build_psymtabs): Likewise.
* dicos-tdep.c (dicos_init_abi): Likewise.
* disasm.c (do_mixed_source_and_assembly): Likewise.
(gdb_disassembly): Likewise.
* dtrace-probe.c (dtrace_process_dof): Likewise.
* dwarf2read.c (error_check_comp_unit_head): Likewise.
(build_type_psymtabs_1): Likewise.
(skip_one_die): Likewise.
(process_imported_unit_die): Likewise.
(dwarf2_physname): Likewise.
(read_file_scope): Likewise.
(setup_type_unit_groups): Likewise.
(create_dwo_cu_reader): Likewise.
(create_dwo_cu): Likewise.
(create_dwo_unit_in_dwp_v1): Likewise.
(create_dwo_unit_in_dwp_v2): Likewise.
(lookup_dwo_unit_in_dwp): Likewise.
(free_dwo_file): Likewise.
(check_producer): Likewise.
(dwarf2_add_typedef): Likewise.
(dwarf2_add_member_fn): Likewise.
(read_unsigned_leb128): Likewise.
(read_signed_leb128): Likewise.
(dwarf2_const_value): Likewise.
(follow_die_sig_1): Likewise.
(dwarf_decode_macro_bytes): Likewise.
* extension.c (restore_active_ext_lang): Likewise.
* frv-linux-tdep.c (frv_linux_sigtramp_frame_cache): Likewise.
* ft32-tdep.c (ft32_analyze_prologue): Likewise.
* gdbtypes.c (lookup_typename): Likewise.
(resolve_dynamic_range): Likewise.
(check_typedef): Likewise.
* h8300-tdep.c (h8300_is_argument_spill): Likewise.
(h8300_gdbarch_init): Likewise.
* hppa-tdep.c (hppa32_push_dummy_call): Likewise.
(hppa_frame_this_id): Likewise.
(_initialize_hppa_tdep): Likewise.
* hppanbsd-tdep.c (hppanbsd_sigtramp_cache_init): Likewise.
* hppaobsd-tdep.c (hppaobsd_supply_fpregset): Likewise.
* i386-dicos-tdep.c (i386_dicos_init_abi): Likewise.
* i386-tdep.c (i386_bnd_type): Likewise.
(i386_gdbarch_init): Likewise.
(i386_mpx_bd_base): Likewise.
* i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Likewise.
* i386obsd-tdep.c (i386obsd_elf_init_abi): Likewise.
* ia64-tdep.c (examine_prologue): Likewise.
(ia64_frame_cache): Likewise.
(ia64_push_dummy_call): Likewise.
* infcmd.c (finish_command_fsm_async_reply_reason): Likewise.
(default_print_one_register_info): Likewise.
* infrun.c (infrun_thread_ptid_changed): Likewise.
(thread_still_needs_step_over): Likewise.
(stop_all_threads): Likewise.
(restart_threads): Likewise.
(keep_going_stepped_thread): Likewise.
* iq2000-tdep.c (iq2000_scan_prologue): Likewise.
* language.c (language_init_primitive_type_symbols): Likewise.
* linespec.c (add_sal_to_sals): Likewise.
* linux-nat.c (status_callback): Likewise.
(kill_unfollowed_fork_children): Likewise.
(linux_nat_kill): Likewise.
* linux-tdep.c (linux_fill_prpsinfo): Likewise.
* linux-thread-db.c (thread_db_notice_clone): Likewise.
(record_thread): Likewise.
* location.c (string_to_event_location_basic): Likewise.
* m32c-tdep.c (m32c_prev_register): Likewise.
* m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
* m32r-tdep.c (decode_prologue): Likewise.
* m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
* machoread.c (macho_symtab_read): Likewise.
(macho_symfile_read): Likewise.
(macho_symfile_offsets): Likewise.
* maint.c (set_per_command_cmd): Likewise.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
(mi_cmd_stack_list_variables): Likewise.
* mi/mi-main.c (mi_cmd_exec_run): Likewise.
(output_register): Likewise.
(mi_cmd_execute): Likewise.
(mi_cmd_trace_define_variable): Likewise.
(print_variable_or_computed): Likewise.
* minsyms.c (prim_record_minimal_symbol_full): Likewise.
* mn10300-tdep.c (mn10300_frame_prev_register): Likewise.
* msp430-tdep.c (msp430_pseudo_register_write): Likewise.
* mt-tdep.c (mt_registers_info): Likewise.
* nios2-tdep.c (nios2_analyze_prologue): Likewise.
(nios2_push_dummy_call): Likewise.
(nios2_frame_unwind_cache): Likewise.
(nios2_stub_frame_cache): Likewise.
(nios2_stub_frame_sniffer): Likewise.
(nios2_gdbarch_init): Likewise.
* ppc-ravenscar-thread.c: Likewise.
* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
* python/py-evts.c (add_new_registry): Likewise.
* python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
(bpfinishpy_detect_out_scope_cb): Likewise.
* python/py-framefilter.c (py_print_value): Likewise.
* python/py-inferior.c (infpy_write_memory): Likewise.
* python/py-infevents.c (create_inferior_call_event_object): Likewise.
* python/py-infthread.c (thpy_get_ptid): Likewise.
* python/py-linetable.c (ltpy_get_pcs_for_line): Likewise.
(ltpy_get_all_source_lines): Likewise.
(ltpy_is_valid): Likewise.
(ltpy_iternext): Likewise.
* python/py-symtab.c (symtab_and_line_to_sal_object): Likewise.
* python/py-unwind.c (pyuw_object_attribute_to_pointer): Likewise.
(unwind_infopy_str): Likewise.
* python/py-varobj.c (py_varobj_get_iterator): Likewise.
* ravenscar-thread.c (ravenscar_inferior_created): Likewise.
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
* s390-linux-tdep.c (s390_supply_tdb_regset): Likewise.
(s390_frame_prev_register): Likewise.
(s390_dwarf2_frame_init_reg): Likewise.
(s390_record_vr): Likewise.
(s390_process_record): Likewise.
* score-tdep.c (score_push_dummy_call): Likewise.
(score3_analyze_prologue): Likewise.
* sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
* sh64-tdep.c (sh64_analyze_prologue): Likewise.
(sh64_push_dummy_call): Likewise.
(sh64_extract_return_value): Likewise.
(sh64_do_fp_register): Likewise.
* solib-aix.c (solib_aix_get_section_offsets): Likewise.
* solib-darwin.c (darwin_read_exec_load_addr_from_dyld): Likewise.
(darwin_solib_read_all_image_info_addr): Likewise.
* solib-dsbt.c (enable_break): Likewise.
* solib-frv.c (enable_break2): Likewise.
(frv_fdpic_find_canonical_descriptor): Likewise.
* solib-svr4.c (svr4_handle_solib_event): Likewise.
* sparc-tdep.c (sparc_skip_stack_check): Likewise.
* sparc64-linux-tdep.c (sparc64_linux_get_longjmp_target): Likewise.
* sparcobsd-tdep.c (sparc32obsd_init_abi): Likewise.
* spu-tdep.c (info_spu_dma_cmdlist): Likewise.
* stack.c (read_frame_local): Likewise.
* symfile.c (symbol_file_add_separate): Likewise.
(remove_symbol_file_command): Likewise.
* symmisc.c (maintenance_print_one_line_table): Likewise.
* symtab.c (symbol_cache_flush): Likewise.
(basic_lookup_transparent_type): Likewise.
(sort_search_symbols_remove_dups): Likewise.
* target.c (target_memory_map): Likewise.
(target_detach): Likewise.
(target_resume): Likewise.
(acquire_fileio_fd): Likewise.
(target_store_registers): Likewise.
* thread.c (print_thread_info_1): Likewise.
* tic6x-tdep.c (tic6x_analyze_prologue): Likewise.
* tilegx-linux-tdep.c (tilegx_linux_sigframe_init): Likewise.
* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
(tilegx_analyze_prologue): Likewise.
(tilegx_stack_frame_destroyed_p): Likewise.
(tilegx_frame_cache): Likewise.
* tracefile.c (trace_save): Likewise.
* tracepoint.c (encode_actions_and_make_cleanup): Likewise.
(start_tracing): Likewise.
(print_one_static_tracepoint_marker): Likewise.
* tui/tui.c (tui_enable): Likewise.
* valops.c (value_struct_elt_bitpos): Likewise.
(find_overload_match): Likewise.
(find_oload_champ): Likewise.
* value.c (value_contents_copy_raw): Likewise.
* windows-tdep.c (windows_get_tlb_type): Likewise.
* x86-linux-nat.c (x86_linux_enable_btrace): Likewise.
* xcoffread.c (record_minimal_symbol): Likewise.
(scan_xcoff_symtab): Likewise.
* xtensa-tdep.c (execute_code): Likewise.
(xtensa_gdbarch_init): Likewise.
(_initialize_xtensa_tdep): Likewise.
commit 9852e3081f1f500ab725af96f0536eb2986c5f60
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 8 00:00:19 2016 +0000
Automatic date update in version.in
commit 9c088cc0590087cd918408f8ec0dd2e8b9f1a676
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 7 00:00:19 2016 +0000
Automatic date update in version.in
commit 97196564c7e981bab7b968e19b171c5dfcb28c3c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 6 09:46:34 2016 -0700
Strip global symbol defined in discarded section
When a global symbol is defined in COMDAT group, we shouldn't leave an
undefined symbol in symbol table when the symbol section is discarded
unless there is a reference to the symbol outside of COMDAT group.
bfd/
PR ld/17550
* elf-bfd.h (elf_link_hash_entry): Update comments for indx,
documenting that indx == -3 if symbol is defined in a discarded
section.
* elflink.c (elf_link_add_object_symbols): Set indx to -3 if
symbol is defined in a discarded section.
(elf_link_output_extsym): Strip a global symbol defined in a
discarded section.
ld/
PR ld/17550
* testsuite/ld-elf/pr17550-1.s: New file.
* testsuite/ld-elf/pr17550-2.s: Likewise.
* testsuite/ld-elf/pr17550-3.s: Likewise.
* testsuite/ld-elf/pr17550-4.s: Likewise.
* testsuite/ld-elf/pr17550a.d: Likewise.
* testsuite/ld-elf/pr17550b.d: Likewise.
* testsuite/ld-elf/pr17550c.d: Likewise.
* testsuite/ld-elf/pr17550d.d: Likewise.
commit 030e823caf4243a3337c2134a4a2f38490d3cf3d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 6 08:28:27 2016 -0700
Define elf_backend_add_symbol_hook for Intel MCU
elf_backend_add_symbol_hook is undefined for FreeBSD. Define it for
Intel MCU to support STB_GNU_UNIQUE for Intel MCU and NaCl.
* elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
MCU.
commit 887cf7913771a045a28b8ce43ed78a9a6c1dd2f0
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Fri May 6 16:24:01 2016 +0100
* ld/testsuite/ld-srec/srec.exp: Mark test as XFAIL for AVR.
commit f85d59c30681f55150bf28225b3873fe2d4b6bf7
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri May 6 13:36:07 2016 +0100
[ARM][gas] Fix warnings about uninitialised uses and unused const variables
* config/tc-arm.c (fpu_arch_vfp_v1): Mark with ATTRIBUTE_UNUSED.
(fpu_arch_vfp_v3): Likewise.
(fpu_arch_neon_v1): Likewise.
(arm_arch_full): Likewise.
(parse_neon_el_struct_list): Initialize fields of firsttype.
commit 2856a6272397d159aa2a21fd2ef0f1a6e80f5e41
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 6 05:28:18 2016 -0700
Test load conversion with symbol versioning for x86
* testsuite/ld-i386/i386.exp: Run load7.
* testsuite/ld-i386/load7.d: New file.
* testsuite/ld-i386/load7.map: Likewise.
* testsuite/ld-i386/load7.s: Likewise.
* testsuite/ld-x86-64/load2.d: Likewise.
* testsuite/ld-x86-64/load2.map: Likewise.
* testsuite/ld-x86-64/load2.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run load2.
commit fd7ed446fbee07c70ebc7d1e92f1ece665d7fc64
Author: Nick Clifton <nickc@redhat.com>
Date: Fri May 6 10:35:33 2016 +0100
Add support for FMLA (by element) to AArch64 sim.
* simulator.c (do_FMLA_by_element): New function.
(do_vec_op2): Call it.
commit 405b757bdf23ea6612e0943bca05297049291612
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 6 00:00:19 2016 +0000
Automatic date update in version.in
commit 004b1309187a673f078d52f3fe9c770461dcb708
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 5 08:43:58 2016 -0700
More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes
* emulparams/elf_iamcu.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): New.
* emulparams/elf_k1om.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_l1om.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
commit d7adef8baf2589aa88ddf4f498e215fbcd81a4f0
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun May 1 14:19:03 2016 -0700
Pass --no-relax to ld in ld-x86-64/pr18591.d
Pass --no-relax to ld so that GOTPCREL relocation will be kept.
* testsuite/ld-x86-64/pr18591.d: Pass --no-relax to ld.
commit cbe14bcfada1e6f88811f82260f804167e95ac6f
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu May 5 09:46:06 2016 -0400
Fix ChangeLog entry format
commit c175a65796a6f1d6a69ed0d7e3bce6f048c8e983
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 5 04:13:47 2016 -0700
Extract convert_load_reloc from x86 convert_load
* elf32-i386.c (elf_i386_convert_load): Extract the GOT load
conversion to ...
(elf_i386_convert_load_reloc): This. New function.
* elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
conversion to ...
(elf_x86_64_convert_load_reloc): This. New function.
commit bedfd056d4d58a3ebaf8d396c8453f0d0468576f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 5 04:11:57 2016 -0700
Cache the section contents in x86 check_relocs
Cache the section contents in x86 check_relocs for sections without
TLS relocations.
* elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
Don't check if contents == NULL.
(elf_i386_tls_transition): Add from_relocate_section. Check
from_relocate_section instead of contents != NULL. Update
elf_i386_check_tls_transition call.
(elf_i386_check_relocs): Cache the section contents if
keep_memory is FALSE. Pass FALSE as from_relocate_section to
elf_i386_tls_transition.
(elf_i386_relocate_section): Pass TRUE as from_relocate_section
to elf_i386_tls_transition.
(elf_backend_caches_rawsize): New.
* elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
if contents == NULL.
(elf_x86_64_tls_transition): Add from_relocate_section. Check
from_relocate_section instead of contents != NULL.
(elf_x86_64_check_relocs): Cache the section contents if
keep_memory is FALSE. Pass FALSE as from_relocate_section to
elf_x86_64_tls_transition.
(elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
to elf_x86_64_tls_transition.
(elf_backend_caches_rawsize): New.
commit 9e78496443ec1525ee94c54249779639b4cded0b
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu May 5 09:00:56 2016 +0100
Initialize res in get_next_pcs_read_memory_unsigned_integer
This patch initialize res to zero, otherwise, it may have some garbage
bits after the *the_target->read_memory call.
gdb/gdbserver:
2016-05-05 Yao Qi <yao.qi@linaro.org>
* linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer):
Initialize res to zero.
commit cf2ebb6e0958c9193c7c65620cd7a8b990d8b316
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu May 5 09:00:56 2016 +0100
Change type of cpsr in arm_sigreturn_next_pc
Variable cpsr holds the value of cpsr register, which is 32-bit. It
is better to explicitly use uint32_t.
gdb/gdbserver:
2016-05-05 Yao Qi <yao.qi@linaro.org>
* linux-arm-low.c (arm_sigreturn_next_pc): Change type of cpsr
to uint32_t.
commit d4758f96f74225319f8cc9412acd72c228a187b9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 4 19:41:34 2016 -0700
Pass %E to einfo when bfd_section == NULL
Report BFD error When bfd_section == NULL in init_os.
* ldlang.c (init_os): Pass %E to einfo when bfd_section == NULL.
commit d286e29293b181d6bb6f199f39f0a7ecace69af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 5 00:00:24 2016 +0000
Automatic date update in version.in
commit c1aebf87fd3887ae02e5e62fb41889c9fa37a8a9
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Wed May 4 19:42:09 2016 -0400
[spu] Fix C++ build problems
ChangeLog:
* spu-linux-nat.c (spu_bfd_iovec_pread): Add pointer cast for C++.
(spu_bfd_open): Likewise.
gdbserver/ChangeLog:
* spu-low.c (fetch_ppc_register): Cast PowerPC-Linux-specific value
used as first ptrace argument to PTRACE_TYPE_ARG1 for C++.
(fetch_ppc_memory_1, store_ppc_memory_1): Likewise.
commit c3fbf828add04de391d40883e4bdaf51500300d1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed May 4 01:46:10 2016 +0100
LD/testsuite: Add STB_GNU_UNIQUE cross-linker test
Some targets are only really, or at least regularly, regression-tested
in a crossed configuration. Currently we only have native compiled test
cases for the STB_GNU_UNIQUE feature in the linker test suite. This is
nice, covering run-time semantics even, but quite often not run at all.
Consequently a regression may remain unnoticed for long.
Add a simple test case then to provide basic linker coverage with no
need for a compiler or a native toolchain.
ld/
* testsuite/ld-unique/unique.d: New test.
* testsuite/ld-unique/unique.exp: Run the new test. Adjust
messages for compiled tests.
commit 945e0f82dad31db89a107b496532886fe215c011
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Tue May 3 13:44:13 2016 +0200
[ARC] Add SYNTAX_NOP and SYNTAX_1OP for extension instructions
gas/
2016-05-03 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (syntaxclass): Add SYNTAX_NOP and SYNTAX_1OP.
(arc_extinsn): Handle new introduced syntax.
* testsuite/gas/arc/textinsn1op.d: New file.
* testsuite/gas/arc/textinsn1op.s: Likewise.
* doc/c-arc.texi: Document SYNTAX_NOP and SYNTAX_1OP.
opcodes/
2016-05-03 Claudiu Zissulescu <claziss@synopsys.com>
* arc-ext.c (dump_ARC_extmap): Handle SYNATX_NOP and SYNTAX_1OP.
(arcExtMap_genOpcode): Likewise.
* arc-opc.c (arg_32bit_rc): Define new variable.
(arg_32bit_u6): Likewise.
(arg_32bit_limm): Likewise.
include/
2016-05-03 Claudiu Zissulescu <claziss@synopsys.com>
* opcode/arc.h (ARC_SYNTAX_1OP): Declare
(ARC_SYNTAX_NOP): Likewsie.
(ARC_OP1_MUST_BE_IMM): Update defined value.
(ARC_OP1_IMM_IMPLIED): Likewise.
(arg_32bit_rc, arg_32bit_u6, arg_32bit_limm): Declare.
commit edf689f02787121a49ea0e36cfaa051b06852c8b
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed May 4 15:04:01 2016 +0100
Throw NOT_AVAILABLE_ERROR in read_stack and read_code
Nowadays, read_memory may throw NOT_AVAILABLE_ERROR (it is done by
patch http://sourceware.org/ml/gdb-patches/2013-08/msg00625.html)
however, read_stack and read_code still throws MEMORY_ERROR only. This
causes PR 19947, that is prologue unwinder is unable unwind because
code memory isn't available, but MEMORY_ERROR is thrown, while unwinder
catches NOT_AVAILABLE_ERROR.
#0 memory_error (err=err@entry=TARGET_XFER_E_IO, memaddr=memaddr@entry=140737349781158) at /home/yao/SourceCode/gnu/gdb/git/gdb/corefile.c:217
#1 0x000000000065f5ba in read_code (memaddr=memaddr@entry=140737349781158, myaddr=myaddr@entry=0x7fffffffd7b0 "\340\023<\001", len=len@entry=1)
at /home/yao/SourceCode/gnu/gdb/git/gdb/corefile.c:288
#2 0x000000000065f7b5 in read_code_unsigned_integer (memaddr=memaddr@entry=140737349781158, len=len@entry=1, byte_order=byte_order@entry=BFD_ENDIAN_LITTLE)
at /home/yao/SourceCode/gnu/gdb/git/gdb/corefile.c:363
#3 0x00000000004717e0 in amd64_analyze_prologue (gdbarch=gdbarch@entry=0x13c13e0, pc=140737349781158, current_pc=140737349781165, cache=cache@entry=0xda0cb0)
at /home/yao/SourceCode/gnu/gdb/git/gdb/amd64-tdep.c:2267
#4 0x0000000000471f6d in amd64_frame_cache_1 (cache=0xda0cb0, this_frame=0xda0bf0) at /home/yao/SourceCode/gnu/gdb/git/gdb/amd64-tdep.c:2437
#5 amd64_frame_cache (this_frame=0xda0bf0, this_cache=<optimised out>) at /home/yao/SourceCode/gnu/gdb/git/gdb/amd64-tdep.c:2508
#6 0x000000000047214d in amd64_frame_this_id (this_frame=<optimised out>, this_cache=<optimised out>, this_id=0xda0c50)
at /home/yao/SourceCode/gnu/gdb/git/gdb/amd64-tdep.c:2541
#7 0x00000000006b94c4 in compute_frame_id (fi=0xda0bf0) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:481
#8 get_prev_frame_if_no_cycle (this_frame=this_frame@entry=0xda0b20) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1809
#9 0x00000000006bb6c9 in get_prev_frame_always_1 (this_frame=0xda0b20) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1983
#10 get_prev_frame_always (this_frame=this_frame@entry=0xda0b20) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1999
#11 0x00000000006bbe11 in get_prev_frame (this_frame=this_frame@entry=0xda0b20) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:2241
#12 0x00000000006bc13c in unwind_to_current_frame (ui_out=<optimised out>, args=args@entry=0xda0b20) at /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1485
The fix is to let read_stack and read_code throw NOT_AVAILABLE_ERROR too,
in order to align with read_memory.
gdb:
2016-05-04 Yao Qi <yao.qi@linaro.org>
PR gdb/19947
* corefile.c (read_memory): Rename it to ...
(read_memory_object): ... it. Add parameter object.
(read_memory): Call read_memory_object.
(read_stack): Likewise.
(read_code): Likewise.
commit 02e370d94ee3abc6f910602e79c6d4515d9c720d
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed May 4 09:27:34 2016 -0400
Fix solib-display.exp remote check
This test currently uses [is_remote target] to check if the test is
supported. This is not quite correct, as the limitation is actually
that it requires support for "running", ruling out stub-like targets.
Therefore, it should check for use_gdb_stub.
This has no visible effect right now, but it will once we make the
native-gdbserver board non-dejagnu-remote.
gdb/testsuite/ChangeLog:
* gdb.base/solib-display.exp: Check for [use_gdb_stub]Â instead
of [is_remote target],
commit 8929ad8bbca9a8b036eba0397992d6f3b4d1966b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed May 4 09:27:19 2016 -0400
Introduce procedure use_gdb_stub
This patch introduces the use_gdb_stub procedure, which allows getting
the right value of the use_gdb_stub variable/property in any all
situations.
When calling it before the $use_gdb_stub global variable has been set,
it will return the value of the use_gdb_stub property from the board
file. This happens when tests want to bail out early (even before gdb
has been started) when the current test setup is a stub.
Otherwise, it returns the value of the $use_gdb_stub global.
It's possible for these two to differ when a test file overrides the
value of the global.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (use_gdb_stub): New procedure.
commit 4a85cc09258dfe2ab3cefb503221696a0f439c63
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Wed May 4 13:03:52 2016 +0100
Fix some AVR test failures.
binutils* testsuite/lib/binutils-common.exp (is_elf_format): Add avr-*-*.
ld * testsuite/ld-elf/pr18735.d: Allow other symbols.
* testsuite/ld-elf/sec64k.exp: Skip 64ksec for avr.
* testsuite/ld-gc/pr14265.d: Allow other symbols.
* testsuite/ld-plugin/plugin.exp: Add PR ld/17973 to
plugin_tests only if check_shared_lib_support is true.
* testsuite/ld-selective/selective.exp: Add --section-start
flag for avr.
commit 1d2a41dbbdca96017cc5e1ecb8a9fb05bb1897cc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 4 00:00:19 2016 +0000
Automatic date update in version.in
commit 6c4474237ab3356b100ebbdd6ff1a8839745023d
Author: Doug Evans <dje@google.com>
Date: Tue May 3 16:30:58 2016 -0700
PR symtab/19914 fix handling of dwp + split debug
PR symtab/19914
* dwarf2read.c (open_and_init_dwp_file): Look at backlink if objfile
is separate debug file.
testsuite/
* gdb.dwarf2/dwp-sepdebug.c: New file.
* gdb.dwarf2/dwp-sepdebug.exp: New file.
commit a1ec3d244a75a6e6a2f54235c26e6b1e3b8a2482
Author: Don Breazeal <donb@codesourcery.com>
Date: Tue May 3 15:54:45 2016 -0700
Fix typos in gdb_pipe function comment
gdb/ChangeLog:
2016-05-03 Don Breazeal <donb@codesourcery.com>
* serial.h (gdb_pipe): Fix argument names in comment.
commit 6d6a648c0789fb227ee2adfb089fe0ce8174708d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Tue May 3 23:47:55 2016 +0100
PR 10549: MIPS/LD: Handle OSABI setting for STB_GNU_UNIQUE
Add missing OSABI handling for MIPS/LD, complementing:
commit f64b2e8d60f277b705c96d4b4e585f5f7c847cc4
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Apr 11 08:13:22 2011 +0000
Adjust test coverage accordingly.
bfd/
PR 10549
* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
STB_GNU_UNIQUE.
ld/
PR 10549
* testsuite/ld-unique/unique.exp: Also run for `mips*-*-*'.
commit 99d1b2682145c2b154a8a0d91787e55321f2b269
Author: Nick Clifton <nickc@redhat.com>
Date: Tue May 3 13:36:22 2016 +0100
Updated Swedish translation for the binutils.
commit 86f1abec458df24ea7d4a38a7b3e21861c5b9bd8
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 3 12:16:56 2016 +0100
Fix gdb/python/python.c use-after-free
Valgrind shows:
==26964== Invalid read of size 1
==26964== at 0x6E14100: __GI_strcmp (strcmp.S:180)
==26964== by 0x6DB55AA: setlocale (setlocale.c:238)
==26964== by 0x4E0455: _initialize_python() (python.c:1731)
==26964== by 0x786731: initialize_all_files() (init.c:319)
==26964== by 0x72EF0A: gdb_init(char*) (top.c:1929)
==26964== by 0x60BCAC: captured_main(void*) (main.c:863)
==26964== by 0x606AD5: catch_errors(int (*)(void*), void*, char*, return_mask) (exceptions.c:234)
==26964== by 0x60C608: gdb_main(captured_main_args*) (main.c:1165)
==26964== by 0x40CAEC: main (gdb.c:32)
==26964== Address 0x81d30a0 is 0 bytes inside a block of size 181 free'd
==26964== at 0x4C29CF0: free (vg_replace_malloc.c:530)
==26964== by 0x6DB5B65: setname (setlocale.c:201)
==26964== by 0x6DB5B65: setlocale (setlocale.c:388)
==26964== by 0x4E037F: _initialize_python() (python.c:1712)
==26964== by 0x786731: initialize_all_files() (init.c:319)
==26964== by 0x72EF0A: gdb_init(char*) (top.c:1929)
==26964== by 0x60BCAC: captured_main(void*) (main.c:863)
==26964== by 0x606AD5: catch_errors(int (*)(void*), void*, char*, return_mask) (exceptions.c:234)
==26964== by 0x60C608: gdb_main(captured_main_args*) (main.c:1165)
==26964== by 0x40CAEC: main (gdb.c:32)
The problem is doing this:
oldloc = setlocale (LC_ALL, NULL);
setlocale (LC_ALL, "");
...
setlocale (LC_ALL, oldloc);
I.e., the second setlocale call frees 'oldloc'.
From http://pubs.opengroup.org/onlinepubs/9699919799/functions/setlocale.html :
"The returned string pointer might be invalidated or the string
content might be overwritten by a subsequent call to setlocale()."
gdb/ChangeLog:
2016-05-03 Pedro Alves <palves@redhat.com>
PR python/20037
* python/python.c (_initialize_python) [IS_PY3K]: xstrdup/xfree
oldloc.
commit 1aa96702887a9c0f66b5d7cab034bf6718796708
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 3 12:16:55 2016 +0100
Remove gdb/python/python.c code that handles strlen failing with -1
This makes no sense -- strlen doesn't really ever fail with -1.
gdb/ChangeLog:
2016-05-03 Pedro Alves <palves@redhat.com>
* python/python.c (_initialize_python) [IS_PY3K]: Remove dead
code.
commit 1f56df9d0d5ad89806c24e71f296576d82344613
Author: Jiong Wang <jiong.wang@arm.com>
Date: Tue May 3 11:59:37 2016 +0100
[AArch64] Also puts value in place for R_AARCH64_RELATIVE
When handling absolute relocations for global symbols bind within the
shared object, AArch64 will generate one dynamic RELATIVE relocation,
but won't apply the value for this absolution relocations at static
linking stage. This is different from AArch64 gold linker and x86-64.
This is not a bug as AArch64 is RELA, there is only guarantee that
relocation addend is placed in the relocation entry. But some
system softwares originally writen for x86-64 might assume AArch64
bfd linker gets the same behavior as x86-64, then they could take
advantage of this buy skipping those RELATIVE dynamic relocations
if the load address is the same as the static linking address.
This patch makes AArch64 BFD linker applies absolution relocations at
static linking stage for scenario described above. Meanwhile old AArch64
android loader has a bug (PR19163) which relies on current linker behavior
as a workaround, so the same option --no-apply-dynamic-relocs added.
commit 20f55f3866ab70778d08fec2c09626cff9ed781d
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Tue May 3 11:48:56 2016 +0100
Fix generation of AArhc64 instruction table.
* aarch64-gen.c (VERIFIER): Define.
* aarch64-opc.c (VERIFIER): Define.
(verify_ldpsw): Use static linkage.
* aarch64-opc.h (verify_ldpsw): Remove.
* aarch64-tbl.h: Use VERIFIER for verifiers.
commit b782c63d52a9caf15f1f3ec2e09c9268b48bf065
Author: Pitchumani Sivanupandi <pitchumani.s@atmel.com>
Date: Tue May 3 10:56:30 2016 +0100
Assume that the GAS testsuite for the AVR is being run without -mlink-relax specified.
* testsuite/gas/lns/lns.exp: Add avr to list of targets using
DW_LNS_fixed_advance_pc.
commit a2076b34e146a1f181ef58b5954815571fbcd6c6
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Tue May 3 10:44:35 2016 +0100
Skip ELF STT_COMMON linker tests if shared libraries are not supported.
* testsuite/ld-elfcomm/elfcomm.exp: Check for shared lib support
before running STT_COMMON tests.
commit a4a1c15754d144d14dc48cd8ff62601f977e908c
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 3 10:30:51 2016 +0100
Fix PR gdb/16818, workaround Python's forcing of -export-dynamic
GDB's use of --dynamic-list to only export the proc-service symbols is
broken due to Python's "python-config --ldflags" saying we should link
with -export-dynamic, causing us to export _all_ extern symbols
anyway. On Fedora 23:
$ python-config --ldflags
-lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
$ python3.4-config --ldflags
-L/usr/lib64 -lpython3.4m -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
Having GDB export all its symbols leads to issues such as PR gdb/16818
(GDB crashes when using name for target remote hostname:port), where a
GDB symbol unintentionally preempts a symbol in one of the NSS modules
glibc loads into the process. NSS modules should not define symbols
outside the implementation namespace or the relevant standards, but,
alas, that's a longstanding and hard to fix issue. See libc-alpha
discussion at:
[symbol name space issues with NSS modules]
https://sourceware.org/ml/libc-alpha/2016-04/msg00130.html
Python should instead be either using GCC's symbol visibility feature
or -Wl,--dynamic-list as well, to only export Python API symbols, but,
it doesn't. There are bugs open upstream for that:
[Use -Wl,--dynamic-list=x.list, not -Xlinker -export-dynamic]
http://bugs.python.org/issue10112
[Use GCC visibility attrs in PyAPI_*]
http://bugs.python.org/issue11410
But that's taking a long while to resolve.
I thought of working around this Python issue by making GDB build with
-fvisibility=hidden, as Jan suggests in Python issue 10112, as then
Python's "-Xlinker -export-dynamic" has no effect. However, that
would need to be done in the whole source tree (bfd, libiberty, etc.),
and I think that would break GCC plugins, as I believe those have
access to all of GCCs symbols, by "design". So we'd need a new
configure switch, or have the libraries in the tree detect which of
GCC or GDB is being built, but that doesn't work, because the answer
can be "both" with combined builds...
So this patch instead works around Python's bug, by simply sed'ing
away "-Xlinker -export-dynamic" from the result of python-config.py
--ldflags, making -Wl,--dynamic-list work again as it used to. It's
ugly, but so is the bug...
Note that if -Wl,--dynamic-list doesn't work, we always link with
-rdynamic, so static Python should still work.
Tested on F23 with --python=python (Python 2.7) and
--python=python3.4.
gdb/ChangeLog:y
2016-05-03 Pedro Alves <palves@redhat.com>
* configure.ac (PYTHON_LIBS): Sed away "-Xlinker -export-dynamic".
* configure: Regenerate.
commit 1b4f615e4087a3ae9feba5912312cdcabc25e6a5
Author: Pedro Alves <palves@redhat.com>
Date: Tue May 3 10:30:51 2016 +0100
Fix "-Wl,--dynamic-list" gdb/configure test
The -Wl,--dynamic-list test is currently broken on Fedora 23, when you
configure with --with-python=python3.4. We see:
configure:13741: checking for the dynamic export flag
configure:13796: gcc -o conftest -g3 -O0 -fno-strict-aliasing -DNDEBUG -fwrapv -Wl,--dynamic-list=/home/pedro/gdb/mygit/src/gdb/proc-service.list conftest.c -ldl -lncurses -lm -ldl -lpthread -ldl -lutil -lm -lpython3.4m -Xlinker -export-dynamic >&5
conftest.c:182:30: fatal error: python3.4/Python.h: No such file or directory
compilation terminated.
configure:13796: $? = 1
The correct -I path is in PYTHON_CPPFLAGS:
PYTHON_CPPFLAGS='-I/usr/include/python3.4m -I/usr/include/python3.4m'
(Other Python-related tests in the file are already doing this.)
gdb/ChangeLog:
2016-05-03 Pedro Alves <palves@redhat.com>
* configure.ac (checking for the dynamic export flag): Add
$PYTHON_CPPFLAGS to CPPFLAGS.
* configure: Regenerate.
commit b631e59ba05af7c888838d3e2d6d408bfe60b57f
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Tue May 3 09:40:54 2016 +0100
[gdb] Fix -Wparentheses warnings
2016-05-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* symfile.c (find_pc_overlay): Add braces to avoid -Wparentheses
warning.
(find_pc_mapped_section): Likewise.
(list_overlays_command): Likewise.
commit a1da4399c724fac367bf084e68a25cce0f86f8a5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 3 00:00:09 2016 +0000
Automatic date update in version.in
commit 444e826c911693e6dad1cf907d81eb9dc1bef7d2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon May 2 13:10:33 2016 -0400
Fix detach.exp remote check
This test seems to work with both native-gdbserver and
native-extended-gdbserver, so I removed the remote check.
When running with native-gdbserver (a stub-like target), detach makes
gdbserver stop and gdb disconnect. runto_main just spawns a brand new
gdbserver. So it tests the exact same thing twice. It doesn't hurt
though.
With native-extended-gdbserver, the test is probably a bit more useful
(and similar to native). It tests running/detaching twice using the
same gdb/gdbserver instances, since with extended-remote, you can
detach/attach/run all you want, unlike with remote.
gdb/testsuite/ChangeLog:
* gdb.base/detach.exp: Remove is_remote check.
commit 740feeaa2049d0f9a7e5928191124583a1a8c645
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon May 2 13:04:42 2016 -0400
Fix annota-input-while-running.exp remote check
The comment says that we can't use runto_main here becore it doesn't
know how to handle annotation. Instead, the test puts a breakpoint at
main and calls run by hand. Therefore, it can't work with stub targets,
since they can't "run". The check should be then changed to check the
use_gdb_stub variable instead of [is_remote target].
But as an alternative, we can just use runto_main and enable annotations
after, since the "run to main" part is not really part of what we want
to test.
I also removed the "set test..." line that is unused.
gdb/testsuite/ChangeLog:
* gdb.base/annota-input-while-running.exp: Don't check for
[is_remote target]. Enable annotations after running to main.
Remove unused "set test..." line.
commit 1270fac69d2f7e89161ccb780ce3b17466da34ea
Author: Eli Zaretskii <eliz@gnu.org>
Date: Mon May 2 19:37:43 2016 +0300
Fix startup on MS-Windows when 'gdb.ini' is found in $HOME
* windows-nat.c (_initialize_check_for_gdb_ini): Fix off-by-one
error in allocation of space for "$HOME/.gdbinit" string. This
caused GDB to abort on startup whenever a '~/gdb.ini' file was
actually found, because xsnprintf would hit an assertion
violation.
commit 2e1fb61c58b4a5579a43d9ff3cae8382347e323e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 2 00:00:18 2016 +0000
Automatic date update in version.in
commit 7d8e7981db043f19b6fc171742152c276aeee0bf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 1 00:00:20 2016 +0000
Automatic date update in version.in
commit 94af22593bc6a3649f52b06a9367e8abeb9f8721
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 30 00:00:19 2016 +0000
Automatic date update in version.in
commit 493f652c956f2037c1c638c1887b634d67da0835
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 29 08:27:13 2016 -0700
Set interpreter in x86 create_dynamic_sections
Set interpreter in x86 create_dynamic_sections to make this information
available to x86 check_relocs.
* elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
setting to ...
(elf_i386_create_dynamic_sections): Here.
* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
interp setting to ...
(elf_x86_64_create_dynamic_sections): Here.
commit e62b9723fdfcf655ecbd46ea455567593e333f47
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 29 08:17:12 2016 -0700
Pass GOT_RELOC to UNDEFINED_WEAK_RESOLVED_TO_ZERO
When UNDEFINED_WEAK_RESOLVED_TO_ZERO is checked to convert load via
GOT, has_got_reloc is always TRUE. This patch adds GOT_RELOC, which
is TRUE in x86 convert_load, to UNDEFINED_WEAK_RESOLVED_TO_ZERO.
* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
and replace (EH)->has_got_reloc with GOT_RELOC.
(elf_i386_fixup_symbol): Pass has_got_reloc to
UNDEFINED_WEAK_RESOLVED_TO_ZERO.
(elf_i386_allocate_dynrelocs): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(elf_i386_convert_load): Pass TRUE to
UNDEFINED_WEAK_RESOLVED_TO_ZERO.
* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
(elf_x86_64_fixup_symbol): Pass has_got_reloc to
UNDEFINED_WEAK_RESOLVED_TO_ZERO.
(elf_x86_64_allocate_dynrelocs): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_finish_dynamic_symbol): Likewise.
(elf_x86_64_convert_load): Pass TRUE to
UNDEFINED_WEAK_RESOLVED_TO_ZERO.
commit 010f98a5859620001aed9f27f213ed681c73a59a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 29 06:50:33 2016 -0700
Download source only on remote host
There is no need to download source if we aren't on remote host.
Otherwise, each ld test run on local host leaves behind a couple
test files.
* config/default.exp (NOPIE_CFLAGS): Download source only on
remote host.
(NOPIE_LDFLAGS): Likewise.
* testsuite/lib/ld-lib.exp (check_lto_available): Likewise.
(check_lto_fat_available): Likewise.
(check_lto_shared_available): Likewise.
(check_ifunc_available): Likewise.
(check_ifunc_attribute_available): Likewise.
commit d347c9df495036dcbe5bc710ac5a07079bdd59ad
Author: Pitchumani Sivanupandi <pitchumani.s@atmel.com>
Date: Fri Apr 29 14:05:12 2016 +0100
Enhance readelf's recognition of AVR relocation types.
* readelf.c (is_32bit_pcrel_reloc): Return true if reloc is 32-bit
PC relocation for AVR target.
(is_none_reloc): Return true if reloc is any of AVR diff
relocations.
commit c337a1627c7e0edf6d46e66dee513c56975d0625
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 29 04:31:54 2016 -0700
i386: Don't relocate section when check_relocs failed
No need to relocate section when check_relocs failed.
* elf32-i386.c (check_relocs_failed): New.
(elf_i386_check_relocs): Set check_relocs_failed on error.
(elf_i386_relocate_section): Skip if check_relocs failed.
commit afd9acee15d55fccf2a25b72c99303f7cbaaa1c2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 29 04:29:38 2016 -0700
X86-64: Set check_relocs_failed on error
When checking relocations, set check_relocs_failed on error.
* elf64-x86-64.c (elf_x86_64_check_relocs): Set
check_relocs_failed on error.
commit 5522f910cb539905d6adfdceab208ddfa5e84557
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 29 09:24:42 2016 +0100
Enhance support for copying and stripping Solaris and ARM binaries.
PR 19938
bfd * elf-bfd.h (struct elf_backend_data): Rename
elf_backend_set_special_section_info_and_link to
elf_backend_copy_special_section_fields.
* elfxx-target.h: Likewise.
* elf.c (section_match): Ignore the SHF_INFO_LINK flag when
comparing section flags.
(copy_special_section_fields): New function.
(_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
Perform two scans over special sections. The first one looks for
a direct mapping between the output section and an input section.
The second scan looks for a possible match based upon section
characteristics.
* elf32-arm.c (elf32_arm_copy_special_section_fields): New
function. Handle setting the sh_link field of SHT_ARM_EXIDX
sections.
* elf32-i386.c (elf32_i386_set_special_info_link): Rename to
elf32_i386_copy_solaris_special_section_fields.
* elf32-sparc.c (elf32_sparc_set_special_section_info_link):
Rename to elf32_sparc_copy_solaris_special_section_fields.
* elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
elf64_x86_64_copy_solaris_special_section_fields.
binutils* readelf.c (get_solaris_segment_type): New function.
(get_segment_type): Call it.
commit 2deb93c7a7708ed164e4b10afb9d6a885d4615c6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 29 00:00:17 2016 +0000
Automatic date update in version.in
commit 0400cf2f56c41896ecf52b88baa1d6178eb10432
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu Apr 28 14:11:38 2016 -0400
Don't show deprecated commands in help
Just like completion doesn't show deprecated commands, I think that help
should not list them, so that we don't incite users to use them.
gdb/ChangeLog:
* cli/cli-decode.c (help_cmd_list): Do not list commands that
are deprecated.
commit 9080ac9d99e5326286a7df806955a326fcd655b2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu Apr 28 12:55:30 2016 -0400
Add test for tracepoint enable/disable
This patch adds a test for tracepoints enabling/disabling, which
didn't work properly for fast tracepoints on big endian systems.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-enable-disable.exp: New file.
* gdb.trace/trace-enable-disable.c: New file.
commit 35fd2deb6916e972248d52b1bc1d584fa9059f8f
Author: Par Olsson <par.olsson@windriver.com>
Date: Thu Apr 28 12:54:07 2016 -0400
Fix write endianness/size problem for fast tracepoint enabled flag
I am sending this fix on behalf of Par Olsson, as a follow-up of this
one:
https://www.sourceware.org/ml/gdb-patches/2015-10/msg00196.html
This problem is exposed when enabling/disabling fast tracepoints on big
endian machines. The flag is defined as an int8_t, but is written from
gdbserver as an integer (usually 32 bits). When the agent code reads it
as an int8_t, it only considers the most significant byte, which is
always 0.
Also, we were writing 32 bits in an 8 bits field, so the write would
overflow, but since the following bytes are padding (the next field is
an uint64_t), it luckily didn't cause any issue on little endian
systems.
The fix was originally tested on ARM big endian systems, but I don't
have access to such a system. However, thanks to Marcin's PowerPC fast
tracepoint patches and gcc110 (big endian Power7) on the gcc compile
farm, I was able to reproduce the problem, test the fix and write a
test (the following patch).
gdb/gdbserver/ChangeLog:
YYYY-MM-DD Par Olsson <par.olsson@windriver.com>
* tracepoint.c (write_inferior_int8): New function.
(cmd_qtenable_disable): Write enable flag using
write_inferior_int8.
commit 952ebca5831911a8ef2a79f6e1e7a2c24f71a388
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu Apr 28 09:49:01 2016 -0400
ftrace tests: Use gdb_load_shlib result to lookup IPA in info sharedlibrary
Some fast tracepoints tests make sure that the in-process agent library
is properly loaded, by searching for the library name in "info
sharedlibrary".
Originally, it would search for the full path. Since patch "Make ftrace
tests work with remote targets" [1], the "runtime" location of the IPA,
in the standard output directory, is not the same as the original
location, in the gdbserver build directory. Therefore, the patch
changed the checks:
gdb_test "info sharedlibrary" ".*${libipa}.*" "IPA loaded"
to
gdb_test "info sharedlibrary" ".*[file tail ${libipa}].*" "IPA loaded"
so that only the "libinproctrace.so" part would be searched for.
Antoine (in CC) pointed out that I missed some, so I have to update
them. In the mean time, I noticed that I missed a few test failures:
adding the SONAME to the IPA makes it possible for the test executable
to erroneously pick up libinproctrace.so from /usr/lib if the test
harness failed to put the libinproctrace.so we want to test in the right
place. To mitigate that kind of error in the future, we can use the
return value of gdb_load_shlib (the path of the "runtime" version of the
library) and use that to search in the output of info sharedlibrary.
When testing locally, gdb_load_shlib returns the full normalized path of
the destination library, which the test executable should use e.g.:
/path/to/gdb/testsuite/outputs/gdb.trace/thetest/libinproctrace.so
My testing showed that it was the same path that gdb displayed in info
sharedlibrary. If the test executable picks up another
libinproctrace.so, the test will fail.
When testing remotely, gdb_load_shlib/gdb_remote_download only returns
us "libinproctrace.so", so the situation doesn't really change. If
there is a rogue libinproctrace.so in /usr/lib on the target and we fail
to download ours, it might cover up a test failure. But that situation
is probably still better than the original one, where it wasn't possible
to test remotely using the IPA at all.
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=6e774b13c3b81ac2599812adf058796948ce7e95
gdb/testsuite/ChangeLog:
* gdb.arch/ftrace-insn-reloc.exp: Save gdb_load_shlib result,
use it in info sharedlibrary test.
* gdb.trace/ftrace-lock.exp: Likewise.
* gdb.trace/ftrace.exp: Likewise.
* gdb.trace/range-stepping.exp: Likewise.
* gdb.trace/trace-break.exp: Likewise.
* gdb.trace/trace-condition.exp: Likewise.
* gdb.trace/trace-mt.exp: Likewise.
commit 786a118cdf1aa33a8c232c63307e6711a0c00dfb
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 28 14:09:49 2016 +0100
Updated Chinese (simplified) translations for bfd, binutils and gold.
commit f166f943f30a91792e8754cbca9d7652fc400aae
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Apr 28 11:52:23 2016 +0100
Remove need_step_over from struct lwp_info
Hi,
I happen to see that field need_step_over in struct lwp_info is only
used to print a debug info. need_step_over is set in linux_wait_1
when breakpoint_here is true, however, we check breakpoint_here too in
need_step_over_p and do the step over. I think we don't need field
need_step_over, and check breakpoint_here directly in need_step_over_p.
This field was added in this patch
https://sourceware.org/ml/gdb-patches/2010-03/msg00605.html and the code
wasn't changed much since then.
This patch is to remove it.
gdb/gdbserver:
2016-04-28 Yao Qi <yao.qi@linaro.org>
* linux-low.h (struct lwp_info) <need_step_over>: Remove.
* linux-low.c (linux_wait_1): Update.
(need_step_over_p): Likewise.
commit 4bd13cde17a27c342b79b72bde9ef8e1b5373344
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 28 09:11:03 2016 +0100
Add support to AArch64 disassembler for verifying instructions. Add verifier for LDPSW.
PR target/19722
opcodes * aarch64-dis.c (aarch64_opcode_decode): Run verifier if present.
* aarch64-opc.c (verify_ldpsw): New function.
* aarch64-opc.h (verify_ldpsw): New prototype.
* aarch64-tbl.h: Add initialiser for verifier field.
(LDPSW): Set verifier to verify_ldpsw.
binutils* testsuite/binutils-all/aarch64/illegal.s: New test.
* testsuite/binutils-all/aarch64/illegal.d: New test driver.
include * opcode/aarch64.h (struct aarch64_opcode): Add verifier field.
commit a3a65e6e1d8b31bf2c8b0abca1903106ae48e092
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 28 00:00:22 2016 +0000
Automatic date update in version.in
commit 83a471c3a112bfce3b13085e51209c826be8257d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 27 15:51:29 2016 -0700
Limit ld-elf/compressed1b.d to Linux/GNU targets
Since not all ELF targets use the elf.em emulation to support ld option:
--compress-debug-sections=zlib-gnu, limit compressed1b.d to Linux/GNU
targets.
* testsuite/ld-elf/compressed1b.d: Only run for Linux/GNU targets.
commit d9019901f830e58b0b16793ffe6e70b9afd26ea6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Apr 27 18:08:59 2016 -0400
Rename gdb_load_shlibs to gdb_load_shlib
Rename gdb_load_shlibs to gdb_load_shlib to reflect that it can only
load a single shlib at the time.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (gdb_load_shlibs): Rename to...
(gdb_load_shlib): ... this.
* gdb.arch/ftrace-insn-reloc.exp: Adjust gdb_load_shlibs ->
gdb_load_shlib.
* gdb.base/catch-load.exp (one_catch_load_test): Likewise.
* gdb.base/ctxobj.exp: Likewise.
* gdb.base/dprintf-pending.exp: Likewise.
* gdb.base/dso2dso.exp: Likewise.
* gdb.base/fixsection.exp: Likewise.
* gdb.base/gcore-relro.exp: Likewise.
* gdb.base/gdb1555.exp: Likewise.
* gdb.base/global-var-nested-by-dso.exp: Likewise.
* gdb.base/gnu-ifunc.exp: Likewise.
* gdb.base/hbreak-in-shr-unsupported.exp: Likewise.
* gdb.base/jit-so.exp (one_jit_test): Likewise.
* gdb.base/pending.exp: Likewise.
* gdb.base/print-file-var.exp: Likewise.
* gdb.base/print-symbol-loading.exp: Likewise.
* gdb.base/shlib-call.exp: Likewise.
* gdb.base/shreloc.exp: Likewise.
* gdb.base/so-impl-ld.exp: Likewise.
* gdb.base/solib-disc.exp: Likewise.
* gdb.base/solib-nodir.exp: Likewise.
* gdb.base/solib-overlap.exp: Likewise.
* gdb.base/solib-symbol.exp: Likewise.
* gdb.base/solib-weak.exp (do_test): Likewise.
* gdb.base/sym-file.exp: Likewise.
* gdb.base/symtab-search-order.exp: Likewise.
* gdb.base/type-opaque.exp: Likewise.
* gdb.base/unload.exp: Likewise.
* gdb.base/watchpoint-solib.exp: Likewise.
* gdb.compile/compile.exp: Likewise.
* gdb.cp/gdb2384.exp: Likewise.
* gdb.cp/infcall-dlopen.exp: Likewise.
* gdb.cp/re-set-overloaded.exp: Likewise.
* gdb.fortran/library-module.exp: Likewise.
* gdb.opt/solib-intra-step.exp: Likewise.
* gdb.python/py-finish-breakpoint.exp: Likewise.
* gdb.python/py-shared.exp: Likewise.
* gdb.reverse/solib-precsave.exp: Likewise.
* gdb.reverse/solib-reverse.exp: Likewise.
* gdb.server/solib-list.exp: Likewise.
* gdb.threads/dlopen-libpthread.exp: Likewise.
* gdb.threads/tls-shared.exp: Likewise.
* gdb.threads/tls-so_extern.exp: Likewise.
* gdb.trace/change-loc.exp: Likewise.
* gdb.trace/ftrace-lock.exp: Likewise.
* gdb.trace/ftrace.exp: Likewise.
* gdb.trace/mi-tracepoint-changed.exp (test_reconnect): Likewise.
* gdb.trace/pending.exp: Likewise.
* gdb.trace/range-stepping.exp: Likewise.
* gdb.trace/strace.exp (strace_remove_socket): Likewise.
(strace_info_marker): Likewise.
(strace_probe_marker): Likewise.
(strace_trace_on_same_addr): Likewise.
(strace_trace_on_diff_addr): Likewise.
* gdb.trace/trace-break.exp: Likewise.
* gdb.trace/trace-condition.exp: Likewise.
* gdb.trace/trace-mt.exp: Likewise.
commit fca4cfd9ec8f28d0883cb8bbd55b82aa3418576b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Apr 27 18:07:44 2016 -0400
Make gdb_load_shlibs return the destination path of the library
This patch makes gdb_load_shlibs return the destination path of the
copied library. To make the procedure implementation and interface more
straightforward, it also changes it so that it accepts a single shared
library path at the time. Therefore, calls that are passed multiple
libraries:
gdb_load_shlibs $lib1 $lib2
must be changed to separate calls:
gdb_load_shlibs $lib1
gdb_load_shlibs $lib2
A subtle impact is the solib-search-path handling. In the former
version, solib-search-path is set using the directory of the first
passed lib (further calls overwrite the value). In the later version,
the directory of the library passed to the last call to gdb_load_shlibs
remnains. I don't think that's a problem in practice, since if we had
tests that needed multiple different paths in solib-search-path, they
wouldn't work in the first place.
Changed in v2:
* Split behavioural and rename changes in two separate patches.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (gdb_load_shlibs): Accept a single argument. Return
result of gdb_remote_download.
* gdb.base/ctxobj.exp: Split gdb_load_shlibs call.
* gdb.base/dso2dso.exp: Likewise.
* gdb.base/global-var-nested-by-dso.exp: Likewise.
* gdb.base/print-file-var.exp: Likewise.
* gdb.base/shlib-call.exp: Likewise.
* gdb.base/shreloc.exp: Likewise.
* gdb.base/solib-overlap.exp: Likewise.
* gdb.base/solib-weak.exp (do_test): Likewise.
* gdb.base/unload.exp: Likewise.
commit 57809e5e5a506664eb54433ded81ab0785168a83
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Wed Apr 27 21:27:40 2016 +0200
Workaround gdbserver<7.7 for setfs
With current FSF GDB HEAD and old FSF gdbserver I expected I could do:
gdb -ex 'file target:/root/redhat/threadit' -ex 'target remote :1234'
(supplying that unsupported qXfer:exec-file:read by "file")
But that does not work because:
Sending packet: $vFile:setfs:0#bf...Packet received: OK
Packet vFile:setfs (hostio-setfs) is supported
...
Sending packet: $vFile:setfs:104#24...Packet received: OK
"target:/root/redhat/threadit": could not open as an executable file: Invalid argument
GDB documentation says:
The valid responses to Host I/O packets are:
An empty response indicates that this operation is not recognized.
This "empty response" vs. "OK" was a bug in gdbserver < 7.7. It was fixed by:
commit e7f0d979dd5cc4f8b658df892e93db69d6d660b7
Author: Yao Qi <yao@codesourcery.com>
Date: Tue Dec 10 21:59:20 2013 +0800
Fix a bug in matching notifications.
Message-ID: <1386684626-11415-1-git-send-email-yao@codesourcery.com>
https://sourceware.org/ml/gdb-patches/2013-12/msg00373.html
2013-12-10 Yao Qi <yao@codesourcery.com>
* notif.c (handle_notif_ack): Return 0 if no notification
matches.
with unpatched old FSF gdbserver and patched FSF GDB HEAD:
gdb -ex 'file target:/root/redhat/threadit' -ex 'target remote :1234'
Sending packet: $vFile:setfs:0#bf...Packet received: OK
Packet vFile:setfs (hostio-setfs) is NOT supported
...
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007ffff7ddbae0 0x00007ffff7df627a Yes (*) target:/lib64/ld-linux-x86-64.so.2
0x00007ffff7bc48a0 0x00007ffff7bcf514 Yes (*) target:/lib64/libpthread.so.0
gdb/ChangeLog
2016-04-26 Jan Kratochvil <jan.kratochvil@redhat.com>
* remote.c (remote_start_remote): Detect PACKET_vFile_setfs.support.
commit 91f8bf69a526912f86da81070407bba6a050e27f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 27 09:13:10 2016 -0700
Skip debug sections when estimating distances
Skip debug sections when estimating distances between output sections
since compressed_size is used to compress debug sections and debug
sections aren't excluded from distances between output sections.
bfd/
PR ld/20006
* elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
when estimating distances between output sections.
ld/
PR ld/20006
* testsuite/ld-elfvsb/elfvsb.exp (COMPRESS_LDFLAG): New.
(visibility_run): Pass COMPRESS_LDFLAG to visibility_test on
ELF targets.
commit 11cf4ffb5e256d268a8f4cea0fc88a0a46bf824c
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Apr 27 16:11:53 2016 +0100
Skip gdb.base/branch-to-self.exp if gdb,nosignals exists
I get a timeout fail in branch-to-self.exp when it is compiled by a
bare-mental target running qemu, which doesn't have signal.
The test should be skipped if gdb,nosignals exists, and that is
what this patch does.
gdb/testsuite:
2016-04-27 Yao Qi <yao.qi@linaro.org>
* gdb.base/branch-to-self.exp: Skip it if gdb,nosignals
exists.
commit 476350ba4800f1144b125f6511a5e25b223cc90b
Author: Martin Galvan <martin.galvan@tallertechnologies.com>
Date: Wed Apr 27 12:01:14 2016 -0300
c_value_print: Revert 'val' to a reference for TYPE_CODE_STRUCT
Currently c_value_print will turn struct reference values into pointers before
doing a set of RTTI checks. This was introduced as a fix to PR c++/15401.
If there's RTTI the pointer will be adjusted and converted back to a reference.
However, if there's no RTTI the value will still be treated as a pointer during
the remainder of the function.
This patch moves the conversion down so that it's always performed when needed.
Notice this currently has not user-visible effects, so can be seen as a small
code cleanup. However, it'll be necessary for the bug-fix for handling
synthetic C++ references. It causes no testsuite regressions.
gdb/ChangeLog:
2016-04-26 Martin Galvan <martin.galvan@tallertechnologies.com>
* c-valprint.c (c_value_print): Always convert val back to reference
type if we converted it to a pointer type.
commit 310cdbb65119c60959578460576ad316e3e2fb11
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Apr 27 15:01:20 2016 +0100
Tweak doc on command tfind
Hi,
command "tfind" will find the first trace snapshot if no trace
snapshot is selected, but this behavior isn't documented.
This patch completes the doc of command "tfind" without argument.
gdb/doc:
2016-04-27 Yao Qi <yao.qi@linaro.org>
* gdb.texinfo (tfind): Complete doc about tfind without
argument.
commit 2d681be471cf8aff8f296cb7713c39e9aa4fc2bb
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Wed Apr 27 15:52:16 2016 +0200
Avoid non-C++-enabled babeltrace versions
In some babeltrace versions before 1.2.0, the header file iterator.h
declares the enum values `BT_SEEK_*' within the struct declaration of
bt_iter_pos. The enum values are supposed to be globally-scoped, which
works for C, but not for C++. Later babeltrace versions declare the
enum outside the struct:
https://lists.lttng.org/pipermail/lttng-dev/2013-September/021411.html
Now that GDB is compiled with C++, the GDB build fails on a system with
an affected babeltrace version: the compiler complains about a missing
declaration of BT_SEEK_BEGIN in ctf.c.
This patch enhances the configure check to recognize such babeltrace
versions as unusable for GDB.
gdb/ChangeLog:
* configure.ac: Enhance configure check for babeltrace to reject
non-C++-enabled versions.
* configure: Regenerate.
commit 52728a42a8c0a169537e55b74613146d9c67bac8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 27 05:25:18 2016 -0700
Pass --compress-debug-sections=none to ld
Since ld may generate compressed debug sections by default, pass
--compress-debug-sections=none to ld to avoid compressed debug
sections.
* ld-elf/compressed1b.d: Pass --compress-debug-sections=none
to ld.
* ld-elf/compressed1c.d: Likewise.
commit 7881f69ee902b06433f071fd8cbdee1b401c9b76
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 27 12:37:11 2016 +0100
Fix a typo in the check for SNANs in the RX simulator.
PR target/20000
* fpu.c (check_exceptions): Fix typo checking for signalling
NANs.
commit 2cdad34c4fba2c6319584d6bb42b84020a9244ac
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 27 11:39:14 2016 +0100
Add support for the --trace-decode option to the AArch64 simulator.
* simulator.c: Add TRACE_DECODE statements to all emulation
functions.
commit 13b8c3356bc76abc3624ea9348cc8e834594dfe0
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 27 16:51:15 2016 +0930
Fix powerpc64 ld testsuite fail
PR target/19985
* configure.tgt: Don't use var+=.
commit 25771140e2dc735712d052ba621c57eeb7248d9f
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 27 15:42:50 2016 +0930
Provide xmemdup0
and some tidies in as.h
* as.h (inline, __PTR_TO_INT, __INT_TO_PTR): Don't define.
(xmemdup0): New inline function.
commit a6a4679fc0ad12e99e0d8374752ecce9ef097ec2
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 27 12:53:05 2016 +0930
Cache result of scan for __start_* and __stop_* sections
include/
* bfdlink.h (struct bfd_link_hash_entry): Add "section" field to
undef. Formatting.
bfd/
* elflink.c (_bfd_elf_is_start_stop): New function.
(_bfd_elf_gc_mark_rsec): Use it.
* elf-bfd.h (_bfd_elf_is_start_stop): Declare.
commit 28cc9170c3d0bc0c5e82b45a10015e4bbcb01125
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 13 05:17:31 2016 -0400
add casts to avoid arithmetic on void *
arithmetic on void * is undefined in ISO C, so we should avoid it. In
GNU C sizeof void * is defined as 1, and that is pretty clearly what
this code wants, so change it to do arithmetic on bfd_byte *.
Unfortunately most of the argument types come from virtual function
interfaces so changing the types to bfd_byte * isn't trivial though it
might make the code clearer. So for the moment its easiest to leave the
variable types as void * and cast before doing arithmetic.
bfd/ChangeLog:
2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
* mmo.c (mmo_get_section_contents): Likewise.
(mmo_set_section_contents): Likewise.
commit ffbad59e36154c69cd95d2ed59223e9449206314
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 27 00:00:19 2016 +0000
Automatic date update in version.in
commit 3e2e34f8623d9eeb6710d8f3883f26af8b07bbd1
Author: Keven Boell <keven.boell@intel.com>
Date: Tue Apr 26 16:46:48 2016 +0200
fort_dyn_array: Use value constructor instead of raw-buffer manipulation.
Instead of pre-computing indices into a fortran array re-use
the value_* interfaces to subscript a fortran array.
The benefit of using the new interface is that it takes care of
dynamic types and resolve them when needed.
This fixes issues when printing structures with dynamic arrays from toplevel.
Before:
(gdb) p twov
$1 = ( (( ( 6352320, 0, -66, -1, 267) ( 343476, 1, -15, 1, 0) ( 5, 0, 5, 0, 1) ...
After:
(gdb) p twov
$1 = ( (( ( 1, 1, 1, 1, 1) ( 1, 1, 321, 1, 1) ( 1, 1, 1, 1, 1) ...
2016-04-26 Sanimir Agovic <sanimir.agovic@intel.com>
Keven Boell <keven.boell@intel.com>
Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* f-valprint.c (f77_create_arrayprint_offset_tbl): Remove
function.
(F77_DIM_SIZE, F77_DIM_OFFSET): Remove macro.
(f77_print_array_1): Use value_subscript to subscript a
value array.
(f77_print_array): Remove call to f77_create_arrayprint_offset_tbl.
(f_val_print): Use value_field to construct a field value.
gdb/testsuite/Changelog:
* vla-type.exp: Print structure from toplevel.
commit 8f07e298b16e6419a11f9e9d75b15658e42ea775
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Tue Apr 26 16:38:19 2016 +0200
fort_dyn_array: Support evaluation of dynamic elements inside arrays.
Resolve type of an array's element to be printed in case it is dynamic.
Otherwise we don't use the correct boundaries nor the right location.
Before:
ptype fivearr(1)
type = Type five
Type one
integer(kind=4) :: ivla(34196784:34196832,34197072:34197120,34197360:34197408)
End Type one :: tone
End Type five
After:
ptype fivearr(1)
type = Type five
Type one
integer(kind=4) :: ivla(2,4,6)
End Type one :: tone
End Type five
2016-04-26 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Changelog:
* valarith.c (value_address): Resolve dynamic types.
gdb/testsuite/Changelog:
* gdb.fortran/vla-type.f90: Add test for static and dynamic arrays
of dynamic types.
* gdb.fortran/vla-type.exp: Add test for static and dynamic arrays
of dynamic types.
commit 9920b4348edbdd83e3f91c85d7174cb92bba204d
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Tue Apr 26 16:28:43 2016 +0200
fort_dyn_array: Enable dynamic member types inside a structure.
Fortran supports dynamic types for which bounds, size and location
can vary during their lifetime. As a result of the dynamic
behaviour, they have to be resolved at every query.
This patch will resolve the type of a structure field when it
is dynamic.
2016-04-26 Bernhard Heckel <bernhard.heckel@intel.com>
2016-04-26 Keven Boell <keven.boell@intel.com>
Before:
(gdb) print threev%ivla(1)
Cannot access memory at address 0x3
(gdb) print threev%ivla(5)
no such vector element
After:
(gdb) print threev%ivla(1)
$9 = 1
(gdb) print threev%ivla(5)
$10 = 42
gdb/Changelog:
* NEWS: Add new supported features for fortran.
* gdbtypes.c (remove_dyn_prop): New.
(resolve_dynamic_struct): Keep type length for fortran structs.
* gdbtypes.h: Forward declaration of new function.
* value.c (value_address): Return dynamic resolved location of a value.
(set_value_component_location): Adjust the value address
for single value prints.
(value_primitive_field): Support value types with a dynamic location.
(set_internalvar): Remove dynamic location property of
internal variables.
gdb/testsuite/Changelog:
* gdb.fortran/vla-type.f90: New file.
* gdb.fortran/vla-type.exp: New file.
commit d5486c43728b4fa17c111a301c30a1e072eaec6a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Apr 26 03:53:07 2016 -0700
Always count the NULL entry in dynamic symbol table
There is an unused NULL entry at the head of dynamic symbol table which
we must account for in our count even if the table is empty or unused
since it is intended for the mandatory DT_SYMTAB tag (.dynsym section)
in .dynamic section.
* elf-bfd.h (elf_link_hash_table): Update comments for
dynsymcount.
* elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
the unused NULL entry at the head of dynamic symbol table.
(bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
checks.
commit 3283f4fb4c772f21d2c5f0091569ffcfc7eb6dec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 26 00:00:10 2016 +0000
Automatic date update in version.in
commit 731bb67af7ba357164095a035749e3aaa9ac1f4f
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Apr 25 17:25:27 2016 +0100
Allow powerpc64le-linux-gnu toolchain to support big endian targets as well.
PR target/19985
* configure.tgt: Include big endian PPC64 emulations with little
endian PPC64 targets.
commit 0e03d18a4eeb90d3dc17814d5e4c05c5812f50ba
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date: Mon Apr 25 13:14:10 2016 +0100
AVR: Allow the start address of the .text section to be set by --section-start.
* scripttempl/avrtiny.sc (.text): Do not set LMA to zero.
commit f3abeff575541dd80e1facd6d0f920e10f77fede
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 25 09:53:51 2016 +0100
New test case gdb.base/branch-to-self.exp
gdb/testsuite:
2016-04-25 Yao Qi <yao.qi@linaro.org>
* gdb.base/branch-to-self.c: New file.
* gdb.base/branch-to-self.exp: New file.
commit 484b3c325d8182cd7b7da4ceeaedc238c7f80b5c
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 25 09:46:36 2016 +0100
Resume the inferior with signal rather than stepping over
When GDBserver steps over a breakpoint using software single step, it
enqueues the signal, single step and deliver the signal in the next
resume if step over is not needed. In this way, the program won't
receive the signal if the conditional breakpoint is set a branch to
self instruction, because the step over is always needed.
This patch removes the restriction that don't deliver the signal to
the inferior if we are trying to reinsert a breakpoint for software
single step and change the decision on resume vs. step-over when the
LWP has pending signals to deliver.
gdb/gdbserver:
2016-04-25 Yao Qi <yao.qi@linaro.org>
* linux-low.c (lwp_signal_can_be_delivered): Adjust.
(need_step_over_p): Return zero if the LWP has pending signals
can be delivered on software single step target.
commit 85ba7d867af39fe1408accd1f9ea4ca3dcb84b99
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 25 09:46:36 2016 +0100
[GDBserver] Don't error in reinsert_raw_breakpoint if bp->inserted
GDBserver steps over a breakpoint while the single step breakpoint
is inserted at the same address, there are two breakpoint objects
using single raw breakpoint, which is inserted (for single step).
When step over is finished, GDBserver reinsert the breakpoint, but
it finds the raw breakpoint is already inserted, and error out
"Breakpoint already inserted at reinsert time." Even if I change the
order to delete reinsert breakpoints first (which only decreases the
refcount, but leave inserted flag unchanged), the error is still
there.
The fix is to remove the error and return instead.
gdb/gdbserver:
2016-04-25 Yao Qi <yao.qi@linaro.org>
* linux-low.c (reinsert_raw_breakpoint): If bp->inserted is true
return instead of error.
commit 20249ae4551ae7b2193caed73d9ce8d594f38754
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 25 09:43:36 2016 +0100
Insert breakpoint even when the raw breakpoint is found
When GDBserver inserts a breakpoint, it looks for raw breakpoint, if
the raw breakpoint is found, increase its refcount, and return. This
doesn't work when it steps over a breakpoint using software single
step and the underneath instruction of breakpoint is branch to self.
When stepping over a breakpoint on ADDR using software single step,
GDBserver uninsert the breakpoint, so the corresponding raw breakpoint
RAW's 'inserted' flag is zero. Then, GDBserver insert single step
breakpoint at the same address ADDR because the instruction is branch
to self, the same raw brekapoint RAW is found, and increase the
refcount. However, the raw breakpoint is not inserted, and the
program won't stop.
gdb/gdbserver:
2016-04-25 Pedro Alves <palves@redhat.com>
Yao Qi <yao.qi@linaro.org>
* mem-break.c (set_raw_breakpoint_at): Create a raw breakpoint
object. Insert it if it is not inserted yet. Increase the
refcount and link it into the proc's raw breakpoint list.
commit 21edc42f4e1ec6fe8cfce171232bab27ad4af372
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 25 09:16:21 2016 +0100
Force to insert software single step breakpoint
GDB doesn't insert software single step breakpoint if the instruction
branches to itself, so that the program can't stop after command "si".
(gdb) b 32
Breakpoint 2 at 0x8680: file git/gdb/testsuite/gdb.base/branch-to-self.c, line 32.
(gdb) c
Continuing.
Breakpoint 2, main () at gdb/git/gdb/testsuite/gdb.base/branch-to-self.c:32
32 asm (".Lhere: " BRANCH_INSN " .Lhere"); /* loop-line */
(gdb) si
infrun: clear_proceed_status_thread (Thread 3991.3991)
infrun: proceed (addr=0xffffffff, signal=GDB_SIGNAL_DEFAULT)
infrun: step-over queue now empty
infrun: resuming [Thread 3991.3991] for step-over
infrun: skipping breakpoint: stepping past insn at: 0x8680
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sending packet: $Z0,8678,4#f3...Packet received: OK
infrun: skipping breakpoint: stepping past insn at: 0x8680
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sending packet: $Z0,b6fe86c8,4#82...Packet received: OK
infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=1, current thread [Thread 3991.3991] at 0x868
breakpoint.c:should_be_inserted thinks the breakpoint shouldn't be
inserted, which is wrong. This patch restrict the condition that
only skip the non-single-step breakpoints if they are inserted at
the place we are stepping over, however we don't want to skip
single-step breakpoint if its thread is the thread we are stepping
over, so in this patch, I add a thread num in 'struct step_over_info'
to record the thread we're stepping over.
gdb:
2016-04-25 Yao Qi <yao.qi@linaro.org>
* breakpoint.c (should_be_inserted): Return 0 if the location's
owner is not single step breakpoint or single step breakpoint's
thread isn't the thread which is stepping past a breakpoint.
* gdbarch.sh (software_single_step): Update comments.
* gdbarch.h: Regenerated.
* infrun.c (struct step_over_info) <thread>: New field.
(set_step_over_info): New argument 'thread'. Callers updated.
(clear_step_over_info): Set field thread to -1.
(thread_is_stepping_over_breakpoint): New function.
* infrun.h (thread_is_stepping_over_breakpoint): Declaration.
commit 101ae4cd3167bcb6fa1becee4f0c3ad1ffc41f15
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 25 00:00:19 2016 +0000
Automatic date update in version.in
commit 08ff6104911fde281df28046e45791f14277b2b2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 24 00:00:19 2016 +0000
Automatic date update in version.in
commit c0f92bf9430546707f2154b8a2656974e5c7093c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Apr 23 09:32:59 2016 -0700
Skip if size of bfd_vma is smaller than address size
Disassembler won't work properly when size of bfd_vma is smaller than
address size.
PR binutils/19983
PR binutils/19984
* i386-dis.c (print_insn): Return -1 if size of bfd_vma is
smaller than address size.
commit 0ca76ec3e5a987238d3d9932f5dc4dae9b3138ab
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 23 00:00:09 2016 +0000
Automatic date update in version.in
commit 0154d99053a95392380cd4629a89b0ac46df3737
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date: Fri Apr 22 19:39:12 2016 -0300
Fix checks for VSX and Altivec availability on Power
gdb/ChangeLog
* ppc-linux-nat.c (ppc_linux_read_description): Use PPC_FEATURE_HAS_VSX
and PPC_FEATURE_HAS_ALTIVEC to check if such features are available.
commit 0a5d52f0ec8dd56b7953764a9bc1dc71ff6b69ca
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 17:23:23 2016 +0100
Fix fails in gdb.trace/unavailable.exp
I am seeing some test fails in gdb.trace/unavailable.exp on aarch64-linux,
like this,
print derived_whole^M
$43 = (Derived) {<Middle> = {<Base> = {x = 2}, _vptr.Middle = 0x401860 <VTT for Derived>, y = 3}, _vptr.Derived = 0x401848 <vtable for Derived+32>, z = 4}^M
(gdb) FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_whole
print derived_whole^M
$47 = {<Middle> = {<Base> = {x = 2}, _vptr.Middle = 0x401860 <VTT for Derived>, y = 3}, _vptr.Derived = 0x401848 <vtable for Derived+32>, z = 4}^M
(gdb) FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_whole
these fails are also found by recent x86_64-linux buildbot,
https://sourceware.org/ml/gdb-testers/2016-q2/msg00622.html
The fix is exactly the same as this one
http://www.sourceware.org/ml/gdb-patches/2015-10/msg00252.html (the
extra "VTT" after hex), in which we match extra things after $hex.
gdb/testsuite:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* gdb.trace/unavailable.exp (gdb_collect_globals_test_1): Match
more after $hex.
commit 6d7e9d3b8dbbf46a0cd5dc4f6341c1f9eb8cd6ae
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 17:18:31 2016 +0100
Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory
Before this patch
https://sourceware.org/ml/gdb-patches/2014-02/msg00709.html
read_value_memory checks parameter 'stack', and call read_stack or
read_memory respectively. However, 'stack' is not checked and
TARGET_OBJECT_MEMORY is always used in target_xfer_partial, which is
a mistake in the patch above.
This patch checks parameter 'stack', and choose TARGET_OBJECT_MEMORY
or TARGET_OBJECT_STACK_MEMORY accordingly.
gdb:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* valops.c (read_value_memory): New local variable 'stack'.
Set it to either TARGET_OBJECT_STACK_MEMORY or
TARGET_OBJECT_MEMORY.
commit b3f11165aad39586cca0352ed5fe32b721699c76
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 22 16:40:33 2016 +0100
Centralize yacc interface names remapping (yyparse, yylex, yyerror, etc)
This factors out all the yy-variables remapping to a single file,
instead of each parser having to do the same, with different prefixes.
With this, a parser just needs to define the prefix they want and
include yy-remap.h, which does the dirty job.
Note this renames the c_error, ada_error, etc. functions. Writing the
remapping pattern as:
#define yyerror GDB_YY_REMAP (error)
instead of:
#define yyerror GDB_YY_REMAP (yyerror)
would have avoided the renaming. However, that would be problematic
if we have a macro 'foo' in scope, when we write:
#define yyfoo GDB_YY_REMAP (foo)
as that would expand 'foo'.
The c_yyerror etc. naming end ups indicating that this is a yacc
related function more clearly, so feels like a good change, anyway.
gdb/ChangeLog:
2016-04-22 Pedro Alves <palves@redhat.com>
* ada-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* ada-lang.c (ada_language_defn): Adjust.
* ada-lang.h (ada_error): Rename to ...
(ada_yyerror): ... this.
* c-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* c-lang.c (c_language_defn, cplus_language_defn)
(asm_language_defn, minimal_language_defn): Adjust.
* c-lang.h (c_error): Rename to ...
(c_yyerror): ... this.
* d-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* d-lang.c (d_language_defn): Adjust.
* d-lang.h (d_error): Rename to ...
(d_yyerror): ... this.
* f-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* f-lang.c (f_language_defn): Adjust.
* f-lang.h (f_error): Rename to ...
(f_yyerror): ... this.
* go-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* go-lang.c (go_language_defn): Adjust.
* go-lang.h (go_error): Rename to ...
(go_yyerror): ... this.
* jv-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* jv-lang.c (java_language_defn): Adjust.
* jv-lang.h (java_error): Rename to ...
(java_yyerror): ... this.
* m2-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* m2-lang.c (m2_language_defn): Adjust.
* m2-lang.h (m2_error): Rename to ...
(m2_yyerror): ... this.
* objc-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* objc-lang.c (objc_language_defn): Adjust.
* opencl-lang.c (opencl_language_defn): Adjust.
* p-exp.y: Remove all yy symbol remappings.
(GDB_YY_REMAP_PREFIX): Define.
Include "yy-remap.h".
* p-lang.c (pascal_language_defn): Adjust.
* p-lang.h (pascal_error): Rename to ...
(pascal_yyerror): ... this.
* yy-remap.h: New file.
commit 6290672f89d5638a9da5ce10b2f4ba793dcc6396
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 22 16:18:33 2016 +0100
Switch gdb's TRY/CATCH to C++ try/catch
The exceptions-across-readline issue was fixed by the previous commit.
Let's try this again.
gdb/ChangeLog:
2016-04-22 Pedro Alves <palves@redhat.com>
* common/common-exceptions.h (GDB_XCPT_TRY): Remove mention of
the foreign frames issue.
[__cplusplus] (GDB_XCPT): Define as GDB_XCPT_TRY.
commit 89525768cd086a0798a504c81fdf7ebcd4c904e1
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 22 16:18:33 2016 +0100
Propagate GDB/C++ exceptions across readline using sj/lj-based TRY/CATCH
If we map GDB'S TRY/CATCH macros to C++ try/catch, GDB breaks on
systems where readline isn't built with exceptions support. The
problem is that readline calls into GDB through the callback
interface, and if GDB's callback throws a C++ exception/error, the
system unwinder won't manage to unwind past the readline frame, and
ends up calling std::terminate(), which aborts the process:
(gdb) whatever-command-that-causes-an-error
terminate called after throwing an instance of 'gdb_exception_RETURN_MASK_ERROR'
Aborted
$
This went unnoticed for so long because:
- the x86-64 ABI requires -fasynchronous-unwind-tables, making it
possible for exceptions to cross readline with no special handling.
But e.g., on ARM or AIX, unless you build readline with
-fexceptions, you trip on the problem.
- TRY/CATCH was mapped to setjmp/longjmp, even in C++ mode, until
quite recently.
The fix is to catch and save any GDB exception that is thrown inside
the GDB readline callback, and then once the callback returns back to
the GDB code that called into readline in the first place, rethrow the
saved GDB exception.
This is similar in spirit to how we catch/map GDB exceptions at the
GDB/Python and GDB/Guile API boundaries.
The next question is then: if we intercept all exceptions within GDB's
readline callback, should we simply return normally to readline? The
callback prototype has no way to signal an error back to readline (*).
The answer is no -- if we return normally, we'll be returning to a
loop inside rl_callback_read_char that continues processing pending
input, calling into GDB again, redisplaying the prompt, etc. Thus if
we want to error out of rl_callback_read_char, we need to long jump
across it, just like we always did before TRY/CATCH were ever mapped
to C++ exceptions.
My first approach built a specialized API to handle this, with a
couple macros to hide the setjmp/longjmp and the struct gdb_exception
saving/rethrowing.
However, I realized that we need to:
- Handle multiple active rl_callback_read_char invocations. If,
while processing input something triggers a secondary prompt, we
end up in a nested rl_callback_read_char call, through
gdb_readline_wrapper.
- Propagate a struct gdb_exception along with the longjmp.
... and that this is exactly what the setjmp/longjmp-based TRY/CATCH
does.
So the fix makes the setjmp/longjmp TRY/CATCH always available under
new TRY_SJLJ/CATCH_SJLJ aliases, even when TRY/CATCH is mapped to C++
try/catch, and then uses TRY_SJLJ/CATCH_SJLJ to propagate GDB
exceptions across the readline callback.
This turns out to be a much better looking fix than my bespoke API
attempt, even. We'll probably be able to simplify TRY_SJLJ/CATCH_SJLJ
when we finally get rid of TRY/CATCH all over the tree, but until
then, this reuse seems quite nice for avoiding a second parallel
setjmp/longjmp mechanism.
(*) - maybe we could propose a readline API change, but we still need
to handle current readline, anyway.
gdb/ChangeLog:
2016-04-22 Pedro Alves <palves@redhat.com>
* common/common-exceptions.c (enum catcher_state, struct catcher)
(current_catcher): Define in C++ mode too.
(exceptions_state_mc_catch): Call throw_exception_sjlj instead of
throw_exception.
(throw_exception_sjlj, throw_exception_cxx): New functions,
factored out from throw_exception.
(throw_exception): Reimplement.
* common/common-exceptions.h (exceptions_state_mc_init)
(exceptions_state_mc_action_iter)
(exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
Declare in C++ mode too.
(TRY): Rename to ...
(TRY_SJLJ): ... this.
(CATCH): Rename to ...
(CATCH_SJLJ): ... this.
(END_CATCH): Rename to ...
(END_CATCH_SJLJ): ... this.
[GDB_XCPT == GDB_XCPT_SJMP] (TRY, CATCH, END_CATCH): Map to SJLJ
equivalents.
(throw_exception): Update comments.
(throw_exception_sjlj): Declare.
* event-top.c (gdb_rl_callback_read_char_wrapper): Extend intro
comment. Wrap body in TRY_SJLJ/CATCH_SJLJ and rethrow any
intercepted exception.
(gdb_rl_callback_handler): New function.
(gdb_rl_callback_handler_install): Always install
gdb_rl_callback_handler as readline callback.
commit 3c610247abdf7fd6d22d21f11552d223be1e12cd
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 22 16:18:33 2016 +0100
Rename rl_callback_read_char_wrapper -> gdb_rl_callback_read_char_wrapper
Use the "gdb_rl_" prefix like other gdb readline function wrappers to
make it clear this is a gdb function, not a readline function.
gdb/ChangeLog:
2016-04-22 Pedro Alves <palves@redhat.com>
* event-top.c (rl_callback_read_char_wrapper): Rename to ...
(gdb_rl_callback_read_char_wrapper): ... this.
(change_line_handler, gdb_setup_readline): Adjust.
commit 3539aa13fbcadd930b0b6d8a97f9f125f02a73dc
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 15:53:05 2016 +0100
[ARM] Clear reserved bits in CPSR
Bits 20 ~ 23 of CPSR are reserved (RAZ, read as zero), but they are not
zero if the arm program runs on aarch64-linux. AArch64 tracer gets PSTATE
from arm 32-bit tracee as CPSR, but bits 20 ~ 23 are used in PSTATE. I
think kernel should clear these bits when it is read through ptrace, but
the fix in user space is still needed.
This patch fixes these two fails,
-FAIL: gdb.reverse/insn-reverse.exp: ext_reg_push_pop: compare registers on insn 0:vldr d7, [r11, #-12]
-FAIL: gdb.reverse/insn-reverse.exp: ext_reg_push_pop: compare registers on insn 0:vldr d7, [r7]
gdb:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* aarch32-linux-nat.c (aarch32_gp_regcache_supply): Clear CPSR
bits 20 to 23.
gdb/gdbserver:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* linux-aarch32-low.c (arm_store_gregset): Clear CPSR bits 20
to 23.
commit 495346f6f07ea711662106f0e6f8d684fe489cd8
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 15:35:07 2016 +0100
Fix fail in gdb.base/annota1.exp and gdb.base/annota3.exp
Hi,
I am seeing the fail below on aarch64-linux with gcc 4.9.2,
break main
Breakpoint 1 at 0x4006e8: file binutils-gdb/gdb/testsuite/gdb.base/annota1.c, line 14.^M
(gdb) FAIL: gdb.base/annota1.exp: breakpoint main
the test expects the breakpoint is set on line 15. Let us look at
the main function,
12 int
13 main (void)
14 {
15 int my_array[3] = { 1, 2, 3 }; /* break main */
16
17 value = 7;
18
19 #ifdef SIGUSR1
20 signal (SIGUSR1, handle_USR1);
21 #endif
(gdb) disassemble main
Dump of assembler code for function main:
0x00000000004006e0 <+0>: stp x29, x30, [sp,#-48]!
0x00000000004006e4 <+4>: mov x29, sp
0x00000000004006e8 <+8>: adrp x0, 0x411000 <signal@got.plt>
0x00000000004006ec <+12>: add x0, x0, #0x40
the breakpoint is set on the right address after skipping prologue, but
0x00000000004006e8 is mapped to the line 14, as shown below,
(gdb) maintenance info line-table
objfile: /home/yao.qi/source/build-aarch64/gdb/testsuite/outputs/gdb.base/annota1/annota1 ((struct objfile *) 0x2b0e1850)
compunit_symtab: ((struct compunit_symtab *) 0x2b0ded50)
symtab: /home/yao.qi/source/binutils-gdb/gdb/testsuite/gdb.base/annota1.c ((struct symtab *) 0x2b0dedd0)
linetable: ((struct linetable *) 0x2b12c8b0):
INDEX LINE ADDRESS
0 7 0x00000000004006d0
1 8 0x00000000004006d8
2 14 0x00000000004006e0
3 14 0x00000000004006e8
4 15 0x00000000004006fc
so GDB does nothing wrong. Program hits breakpoint on either line 14
or line 15 is right to me. With anther gcc (4.9.3), the line-table looks
correct, and no test fail. Instead of setting breakpoint on main and
assuming the line is what we get from the source, we can set breakpoint
on that line. On the other hand, the test prints the values of the
array and check, so we need to set breakpoint on the line setting the
values of array and "next", rather than setting the breakpoint on main.
gdb/testsuite:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* gdb.base/annota1.exp: Set breakpoint on line $main_line.
* gdb.base/annota3.exp: Likewise.
commit 0f60e29b5a13066f7625dfeadcc329aeefd9d5a5
Author: Joel Brobecker <brobecker@adacore.com>
Date: Fri Apr 22 10:16:31 2016 -0400
Joel Brobecker stepping down as AIX Maintainer
gdb/ChangeLog:
* MAINTAINERS: Remove myself as AIX Maintainer.
commit 7915f48c28e24927d2842cc66ad001947776dcd8
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date: Fri Apr 22 14:23:29 2016 +0200
[obv] [PR gdb/19980] Typo in gdbserver/configure.srv
Simple exchange of mpx-avx for avx-mpx.
Other occurrences were not found.
2016-04-22 Walfred Tedeschi <walfred.tedeschi@intel.com>
gdb/gdbserver/ChangeLog:
* configure.srv (srv_amd64_xmlfiles): Exchange
i386/amd64-mpx-avx.xml for i386/amd64-avx-mpx.xml.
commit 4a7e075c3fdb862d1a9632fc3500c6e5111013fc
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 12:14:40 2016 +0100
Tweak gdb.reverse/step-precsave.exp and gdb.reverse/step-reverse.exp
I see the following test fail in arm-linux with -marm and -fomit-frame-pointer,
step
callee () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:27
27 } /* RETURN FROM CALLEE */
(gdb) step
main () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:58
58 callee(); /* STEP INTO THIS CALL */
(gdb) FAIL: gdb.reverse/step-precsave.exp: reverse step into fn call
As we can see, the "step" has already stepped into the function callee,
but in the last line. The second "step" attempts to step to function
body, but it goes out of callee, which isn't expected.
The program is compiled with -marm and -fomit-frame-pointer, the
function callee is prologue-less, because nothing needs to be saved
on stack,
(gdb) disassemble callee
Dump of assembler code for function callee:
0x00010680 <+0>: movw r3, #2364 ; 0x93c
0x00010684 <+4>: movt r3, #2
0x00010688 <+8>: ldr r3, [r3]
0x0001068c <+12>: add r2, r3, #1
0x00010690 <+16>: movw r3, #2364 ; 0x93c
0x00010694 <+20>: movt r3, #2
0x00010698 <+24>: str r2, [r3]
0x0001069c <+28>: mov r3, #0
0x000106a0 <+32>: mov r0, r3
0x000106a4 <+36>: bx lr
program stops at the 0x106a0 (passed the epilogue) after the first
"step". When second "step" is executed, the stepping range is
[0x10680-0x106a0], which starts from the first instruction of function
callee (because it doesn't have prologue).
infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=0, current thread [LWP 2461] at 0x1069c^M
infrun: prepare_to_wait^M
infrun: target_wait (-1.0.0, status) =^M
infrun: 2461.2461.0 [LWP 2461],^M
infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP^M
infrun: TARGET_WAITKIND_STOPPED^M
infrun: stop_pc = 0x10698^M
infrun: stepping inside range [0x10680-0x106a0]
When program goes out of the range, it stops at the caller of callee,
and test fails. IOW, if function callee has prologue, the stepping
range won't start from the first instruction of the function, and
program stops at the prologue and test passes.
IMO, GDB does nothing wrong, but test shouldn't expect the program
stops in callee after the second "step". I decide to fix test rather
than GDB. In this patch, I change to test to do one "step", and check
the program is still in callee, then, do multiple "step" until program
goes out of the callee.
gdb/testsuite:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* gdb.reverse/step-precsave.exp: Do one step and test program
stops in "callee" and do multiple steps until program goes out
of "callee".
* gdb.reverse/step-reverse.exp: Likewise.
commit 5b061e98860ad84315704c732a1a43525f494946
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 11:59:18 2016 +0100
Deliver signal in hardware single step
GDBserver doesn't deliver signal when stepping over a breakpoint even
hardware single step is used. When GDBserver started to step over
(thread creation) breakpoint for mutlit-threaded debugging in 2002 [1],
GDBserver behaves this way.
This behavior gets trouble on conditional breakpoints on branch to
self instruction like this,
0x00000000004005b6 <+29>: jmp 0x4005b6 <main+29>
and I set breakpoint
$(gdb) break branch-to-self.c:43 if counter > 3
and the variable counter will be set to 5 in SIGALRM signal handler.
Since GDBserver keeps stepping over breakpoint, the SIGALRM can never
be dequeued and delivered to the inferior, so the program can't stop.
The test can be found in gdb.base/branch-to-self.exp.
GDBserver didn't deliver signal when stepping over a breakpoint because
a tracepoint is collected twice if GDBserver does so in the following
scenario, which can be reproduced by gdb.trace/signal.exp.
- program stops at tracepoint, and tracepoint is collected,
- gdbserver starts a step-over,
- a signal arrives, step-over is canceled, and signal should be passed,
- gdbserver starts a new step-over again, pass the signal as well,
- program stops at the entry of signal handler, step-over finished,
- gdbserver proceeds,
- program returns from the signal handler, again to the tracepoint,
and thus is collected again.
The spurious collection isn't that harmful, IMO, so it should be OK
to let GDBserver deliver signal when stepping over a breakpoint.
gdb/gdbserver:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* linux-low.c (lwp_signal_can_be_delivered): Don't deliver
signal when stepping over breakpoint with software single
step.
gdb/testsuite:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* gdb.trace/signal.exp: Also pass if
$tracepoint_hits($i) > $iterations.
commit 5c5dc57fcf2f543b7b8bdd2c3cfdabc74c39041b
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 22 11:59:18 2016 +0100
New test case gdb.trace/signal.exp
This is to test whether GDBserver deliver signal to the inferior while
doing the step over. Nowadays, GDBserver doesn't deliver signal, so
there won't be spurious collection, however, if GDBserver does deliver
signal, there might be spurious collection.
gdb/testsuite:
2016-04-22 Yao Qi <yao.qi@linaro.org>
* gdb.trace/signal.c: New file.
* gdb.trace/signal.exp: New file.
commit 6645479e9dc9470d22393d5bc4ef2ef2d391e848
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 21 21:45:57 2016 -0700
Exclude linker created file from dynobj
Some ELF targets create a "linker stubs" fake bfd. Don't use it to
set dynobj.
* elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
created file from dynobj.
commit 6cd255ca1f03550291bd05ac4548e383bca88c5f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 21 19:14:10 2016 -0700
Set dynobj to a normal input file if possible
When check_relocs is called after gc-sections has run,
_bfd_elf_link_create_dynstrtab may be called with an dynamic object
and hash_table->dynobj may be NULL. We may not set dynobj, an input
file holding linker created dynamic sections to the dynamic object,
which has its own dynamic sections. We need to find a normal input
file to hold linker created sections if possible. Otherwise ld will
crash during LTO input rescan when linker created dynamic section
overrides input dynamic section.
* elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
normal input file if possible.
commit 22522f880a8e17a17c4f195796ec89caece7652b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Fri Apr 22 01:04:52 2016 +0100
MIPS/GAS: Fix an ISA override not lifting ABI restrictions
Correct a regression introduced with commit 919731affbef ("Add MIPS
.module directive") causing code like:
.set mips3
dli $2, 0x9000000080000000
to fail assembly with the following error message produced:
Error: number (0x9000000080000000) larger than 32 bits
if built with `mips3' selected as the global ISA (e.g. `-march=mips3').
This is because a `.set' directive doing an ISA override does not lift
the ABI restriction on register sizes if the ISA remains unchanged.
Previously the directive always set register sizes from the ISA chosen,
which is what some code expects. Restore the old semantics then.
gas/
* config/tc-mips.c (code_option_type): New enum.
(parse_code_option): Return status indicating option type.
(s_mipsset): Update `parse_code_option' call site accordingly.
Always set register sizes from the ISA with ISA overrides.
(s_module): Update `parse_code_option' call site.
* testsuite/gas/mips/isa-override-1.d: New test.
* testsuite/gas/mips/micromips@isa-override-1.d: New test.
* testsuite/gas/mips/mips1@isa-override-1.d: New test.
* testsuite/gas/mips/mips2@isa-override-1.d: New test.
* testsuite/gas/mips/mips32@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r2@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r3@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r5@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r6@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r2@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r3@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r5@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r6@isa-override-1.d: New test.
* testsuite/gas/mips/r3000@isa-override-1.d: New test.
* testsuite/gas/mips/r3900@isa-override-1.d: New test.
* testsuite/gas/mips/r5900@isa-override-1.d: New test.
* testsuite/gas/mips/octeon@isa-override-1.d: New test.
* testsuite/gas/mips/octeon3@isa-override-1.d: New test.
* testsuite/gas/mips/isa-override-2.l: New list test.
* testsuite/gas/mips/mips1@isa-override-2.l: New list test.
* testsuite/gas/mips/mips2@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r2@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r3@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r5@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r6@isa-override-2.l: New list test.
* testsuite/gas/mips/r3000@isa-override-2.l: New list test.
* testsuite/gas/mips/r3900@isa-override-2.l: New list test.
* testsuite/gas/mips/octeon3@isa-override-2.l: New list test.
* testsuite/gas/mips/octeon3@isa-override-1.l: New stderr
output.
* testsuite/gas/mips/isa-override-1.s: New test source.
* testsuite/gas/mips/r5900@isa-override-1.s: New test source.
* testsuite/gas/mips/isa-override-2.s: New test source.
* testsuite/gas/mips/mips1@isa-override-2.s: New test source.
* testsuite/gas/mips/mips2@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r2@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r3@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r5@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r6@isa-override-2.s: New test source.
* testsuite/gas/mips/r3000@isa-override-2.s: New test source.
* testsuite/gas/mips/r3900@isa-override-2.s: New test source.
* testsuite/gas/mips/octeon3@isa-override-2.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 3877922e56a9e44fed0ca72e64cad7578e6b1ed5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Apr 18 14:17:18 2016 +0100
MIPS: Go back with the default Linux # of registers to 90
Set the number of registers for non-XML-described Linux targets to 90,
reverting a change made here with the addition of DSP register support:
commit 1faeff088bbbd037d7769d214378b4faf805fa2e
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Thu Mar 1 22:19:48 2012 +0000
and fixing a regression introduced for legacy `gdbserver' targets
causing a "Remote 'g' packet reply is too long" error message where the
amount of register data received with a `g' packet (90) exceeds the
maximum number of registers expected (79).
Update the setting for XML-described targets, reflecting the actual
number of registers which have been assigned numbers, matching the:
gdb_assert (gdbarch_num_regs (gdbarch) <= MIPS_RESTART_REGNUM);
requirement in `mips_linux_init_abi'.
gdb/
* mips-tdep.c (mips_gdbarch_init): For GDB_OSABI_LINUX set
`num_regs' to 90 rather than 79. Where a target description is
present adjust the setting appropriately.
commit cdf5d16da56a0f0ca179467f93e8a99050b30ec4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 22 00:00:21 2016 +0000
Automatic date update in version.in
commit 88c3cd8dcb60606a25a16ea11149219db00f847b
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 21 17:28:58 2016 +0100
Switch gdb's TRY/CATCH to sjlj again
We don't currently handle the case of gdb's readline callback throwing
gdb C++ exceptions across a readline that wasn't built with
-fexceptions. The end result is:
(gdb) whatever-command-that-causes-an-error
terminate called after throwing an instance of 'gdb_exception_RETURN_MASK_ERROR'
Aborted
$
Until that is fixed, revert back to sjlj-based exceptions again.
gdb/ChangeLog:
2016-04-21 Pedro Alves <palves@redhat.com>
* common/common-exceptions.h (GDB_XCPT_TRY): Add comment.
(GDB_XCPT): Always define as GDB_XCPT_SJMP.
commit 00f4a6024f23a592a34b8a9bf46e28aa0b747fc5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 21 09:04:18 2016 -0700
Always run LTO tests on Linux with GCC 4.9 or newer
Check for LTO availability will hide LTO bugs in ld. Since GCC 4.9 adds
-ffat-lto-objects, we always run LTO tests on Linux with GCC 4.9 or newer.
* testsuite/lib/ld-lib.exp (check_lto_available): Return 1 on
Linux with GCC 4.9 or newer.
(check_lto_fat_available): Likewise.
(check_lto_shared_available): Likewise.
commit 4f3b23b390640efdc36c575dbda2175e61154bc9
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 21 15:43:00 2016 +0100
Add support for non-ELF targets to check their relocs.
bfd * aout-adobe.c: Use _bfd_generic_link_check_relocs.
* aout-target.h: Likewise.
* aout-tic30.c: Likewise.
* binary.c: Likewise.
* bout.c: Likewise.
* coff-alpha.c: Likewise.
* coff-rs6000.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* i386msdos.c: Likewise.
* i386os9k.c: Likewise.
* ieee.c: Likewise.
* ihex.c: Likewise.
* libbfd-in.h: Likewise.
* libecoff.h: Likewise.
* mach-o-target.c: Likewise.
* mmo.c: Likewise.
* nlm-target.h: Likewise.
* oasys.c: Likewise.
* pef.c: Likewise.
* plugin.c: Likewise.
* ppcboot.c: Likewise.
* som.c: Likewise.
* srec.c: Likewise.
* tekhex.c: Likewise.
* versados.c: Likewise.
* vms-alpha.c: Likewise.
* xsym.c: Likewise.
* elfxx-target.h: Use _bfd_elf_link_check_relocs.
* linker.c (bfd_link_check_relocs): New function.
(_bfd_generic_link_check_relocs): New function.
* targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
_bfd_link_check_relocs field.
(struct bfd_target)L Add _bfd_link_check_relocs field.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
ld * ldlang.c (lang_check_relocs): Use bfd_link_check_relocs in
prefernce to _bfd_elf_link_check_relocs. Drop test for ELF
targets. Do not stop the checks when problems are encountered.
include * bfdlink.h: Add prototype for bfd_link_check_relocs.
commit 71829b1a3f9b4825150747b138b5cfadf0c5fcba
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 21 14:02:20 2016 +0100
Fix AIX gdb build with C++ compiler
We currently get:
../../src/gdb/aix-thread.c: In function 'int pdc_read_data(pthdb_user_t, void*, pthdb_addr_t, size_t)':
../../src/gdb/aix-thread.c:465:46: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
status = target_read_memory (addr, buf, len);
^
../../src/gdb/aix-thread.c: In function 'void aix_thread_resume(target_ops*, ptid_t, int, gdb_signal)':
../../src/gdb/aix-thread.c:1010:46: error: invalid conversion from 'void*' to 'int*' [-fpermissive]
gdb_signal_to_host (sig), (void *) tid);
^
../../src/gdb/aix-thread.c:243:1: error: initializing argument 5 of 'int ptrace64aix(int, int, long long int, int, int*)' [-fpermissive]
ptrace64aix (int req, int id, long long addr, int data, int *buf)
../../src/gdb/rs6000-nat.c: In function 'gdb_byte* rs6000_ptrace_ldinfo(ptid_t)':
../../src/gdb/rs6000-nat.c:596:36: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
gdb_byte *ldi = xmalloc (ldi_size);
^
../../src/gdb/rs6000-nat.c:615:36: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
ldi = xrealloc (ldi, ldi_size);
^
(and more instances of the same).
gdb/ChangeLog:
2016-04-21 Pedro Alves <palves@redhat.com>
* aix-thread.c (pdc_read_data, pdc_write_data): Add cast.
(aix_thread_resume): Use PTRACE_TYPE_ARG5.
* rs6000-nat.c (rs6000_ptrace64): Use PTRACE_TYPE_ARG5.
(rs6000_ptrace_ldinfo): Change type of 'ldi' local to void
pointer, and cast return to gdb_byte pointer.
commit 3451269c4128c4b74f4614d9781cb75207c5ee34
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 21 06:42:13 2016 -0400
Fix s390 GNU/Linux gdb and gdbserver builds
Now that gdb/gdbserver compile as C++ programs by default, the s390
GNU/Linux build started failing with:
In file included from ../../src/gdb/common/common-defs.h:64:0,
from ../../src/gdb/defs.h:28,
from ../../src/gdb/s390-linux-nat.c:22:
../../src/gdb/s390-linux-nat.c: In function âvoid fetch_regset(regcache*, int, int, int, const regset*)â:
../../src/gdb/../include/libiberty.h:711:38: error: invalid conversion from âvoid*â to âgdb_byte* {aka unsigned char*}â [-fpermissive]
# define alloca(x) __builtin_alloca(x)
^
../../src/gdb/s390-linux-nat.c:297:19: note: in expansion of macro âallocaâ
gdb_byte *buf = alloca (regsize);
^
etc.
gdb/ChangeLog:
2016-04-21 Pedro Alves <palves@redhat.com>
* s390-linux-nat.c (fetch_regset, store_regset, check_regset): Use
void * instead of gdb_byte *.
gdb/gdbserver/ChangeLog:
2016-04-21 Pedro Alves <palves@redhat.com>
* linux-s390-low.c (s390_collect_ptrace_register)
(s390_supply_ptrace_register, s390_get_hwcap): Use gdb_byte * and
add casts.
(s390_check_regset): Use void * instead of gdb_byte *.
commit b36cec19e826c19648964576ef2d20d63f99e888
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 21 11:34:18 2016 +0100
Add missing sentinel 'char *' casts in concat/reconcat calls
The wildebeest-debian-wheezy-i686 buildslave's build is broken due to:
../../binutils-gdb/gdb/python/python.c: In function void _initialize_python():
../../binutils-gdb/gdb/python/python.c:1709:36: error: missing sentinel in function call [-Werror=format]
Reproduced on Fedora 23 by sticking a few:
#undef NULL
#define 0
in build/gdb/build-gnulib/{stddef|signal|stdio}.h. Hopefully this
caught all instances.
gdb/ChangeLog:
2016-04-21 Pedro Alves <palves@redhat.com>
* dwarf2read.c (try_open_dwop_file, open_dwo_file)
(file_file_name, file_full_name): Add char * cast to sentinel in
concat/reconcat calls.
* event-top.c (top_level_prompt): Likewise.
* guile/guile.c (initialize_scheme_side): Likewise.
* linux-tdep.c (linux_fill_prpsinfo): Likewise.
* macrotab.c (macro_source_fullname): Likewise.
* main.c (get_init_files, captured_main): Likewise.
* psymtab.c (psymtab_to_fullname): Likewise.
* python/python.c (_initialize_python)
(gdbpy_finish_initialization): Likewise.
* source.c (symtab_to_fullname): Likewise.
commit 96bf8cb07d2cc8d6f7b509c4430be9966fff1fdd
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 21 11:05:41 2016 +0930
New NOCROSSREFS_TO tests
Fixes failures on hppa-linux and alpha-linux due to not merging
.data.* and .sdata into .data. cross3.t modified too since it is the
template for the NOCROSSREFS_TO scripts.
* testsuite/ld-scripts/cross3.t: Add commonly used data
and text section names to output section statements.
* testsuite/ld-scripts/cross4.t: Likewise.
* testsuite/ld-scripts/cross5.t: Likewise.
* testsuite/ld-scripts/cross6.t: Likewise.
* testsuite/ld-scripts/cross7.t: Likewise.
commit e66cdd681f47dc51beaeee3d813f1c9cba27dedf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 17:12:46 2016 -0700
Remove x86 gc_sweep_hook
Since x86 backends never see the removed sections, there is no need
for gc_sweep_hook.
* elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
(elf_backend_gc_sweep_hook): Likewise.
* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
(elf_backend_gc_sweep_hook): Likewise.
commit 5ce03cea78d4d8bf00e29e4dfa4952d53f3b1064
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 17:10:55 2016 -0700
Don't check relocations in excluded sections
When checking relocations after gc-sections has run, the unused sections
have been removed. Don't check relocations in excluded sections.
* elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
in excluded sections
commit fbf05aa70d7a6ad3dd92ca718faa4bb383b975ee
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 17:06:58 2016 -0700
Move ELF relocation check after lang_gc_sections
Move ELF relocation check after lang_gc_sections so that all the
reference counting code for plt and got relocs can be removed. This
only affects ELF targets which check relocations after opening all
input file.
* ldlang.c (lang_check_relocs): New function.
(lang_process): Call lang_check_relocs after lang_gc_sections.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Don't
call _bfd_elf_link_check_relocs here.
commit 1a7272c0f9080ca18a724c91ab37a10fa45ad9e4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 21 00:00:10 2016 +0000
Automatic date update in version.in
commit a23585089d7ba710b238d3d1ab3d34320afa48d0
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 20 23:20:15 2016 +0100
Build GDB as a C++ program by default
This makes --enable-build-with-cxx be "yes" by default.
One must now configure with --enable-build-with-cxx=no in order to
build with a C compiler.
gdb/ChangeLog:
2016-04-20 Pedro Alves <palves@redhat.com>
* build-with-cxx.m4 (GDB_AC_BUILD_WITH_CXX): Default to yes.
* configure: Renegerate.
gdb/gdbserver/ChangeLog:
2016-04-20 Pedro Alves <palves@redhat.com>
* configure: Renegerate.
commit 5ae0055212a4835793815dbd8fa120d8c63fc7e8
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 20 20:13:23 2016 +0100
Fix host signal vs gdb signal mixup in gdb/darwin-nat.c
Building in C++ mode caught a bug here:
.../src/gdb/darwin-nat.c: In function 'ptid_t darwin_decode_message(mach_msg_header_t*, darwin_thread_t**, inferior**, target_waitstatus*)':
.../src/gdb/darwin-nat.c:1016:25: error: invalid conversion from 'int' to 'gdb_signal' [-fpermissive]
status->value.sig = WTERMSIG (wstatus);
^
gdb/ChangeLog:
2016-04-20 Pedro Alves <palves@redhat.com>
* darwin-nat.c (darwin_decode_message): Use gdb_signal_from_host.
commit d9436c7c71f13df84182371c6b2fb6e356051d14
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 20 20:15:21 2016 +0100
Fix "incompatible pointer type" warning in gdb/aarch64-tdep.c
Fixes, with x86_64-apple-darwin15-gcc (gcc 5.3.0):
.../src/gdb/aarch64-tdep.c: In function 'aarch64_record_load_store':
.../src/gdb/aarch64-tdep.c:3479:67: error: passing argument 3 of 'regcache_raw_read_unsigned' from incompatible pointer type [-Werror=incompatible-pointer-types]
bits (aarch64_insn_r->aarch64_insn, 16, 20), ®_rm_val);
^
In file included from .../src/gdb/regcache.h:23:0,
from .../src/gdb/gdbarch.h:69,
from .../src/gdb/defs.h:620,
from .../src/gdb/aarch64-tdep.c:21:
.../src/gdb/common/common-regcache.h:60:29: note: expected 'ULONGEST * {aka long unsigned int *}' but argument is of type 'uint64_t * {aka long long unsigned int *}'
extern enum register_status regcache_raw_read_unsigned
^
gdb/ChangeLog:
2016-04-20 Pedro Alves <palves@redhat.com>
* aarch64-tdep.c (aarch64_record_load_store): Change type of
'reg_rm_val' local to ULONGEST.
commit 597e448caf30996be7e4583847da720f8021b20c
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 20 21:42:57 2016 +0100
gdb/darwin-nat.c: Fix "cast to pointer from integer of different size" warning
Fixes, with gcc 5.3.0:
.../src/gdb/darwin-nat.c: In function 'void darwin_resume_thread(inferior*, darwin_thread_t*, int, int)':
.../src/gdb/darwin-nat.c:731:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
(caddr_t)thread->gdb_port, nsignal);
^
.../src/gdb/darwin-nat.c:84:35: note: in definition of macro 'PTRACE'
darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG))
^
thread->gdb_port is an unsigned int, caddr_t is a void pointer.
gdb/ChangeLog:
2016-04-20 Pedro Alves <palves@redhat.com>
* darwin-nat.c (darwin_resume_thread): Add uintptr_t cast.
commit c7ce9410351ea64fb4c250ceb6ed796090ae49d9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 11:15:05 2016 -0700
Check R_386_NONE/R_X86_64_NONE in eh6.d
There is no need for run-time relocation when converting pointers
in .eh_frame section to DW_EH_PE_pcrel encoding. R_386_NONE and
R_X86_64_NONE are expected since the space for run-time relocation
has been allocated. This is an optimization.
PR ld/19972
* testsuite/ld-elf/eh6.d: Pass -rW to readelf and check for
R_386_NONE or R_X86_64_NONE.
commit 03f2309aa27e955b75634fc066b5d15d67e05321
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 11:13:38 2016 -0700
Add ld-x86-64/pic1 test
* testsuite/ld-x86-64/pic1.d: New file.
* testsuite/ld-x86-64/pic1.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pic1.
commit 126697d1e4cb6e5936ecb62dafe57880717473ab
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 11:12:06 2016 -0700
Add ld-x86-64/pie2 test
* testsuite/ld-x86-64/pie2.d: New file.
* testsuite/ld-x86-64/pie2.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pie2.
commit 338c190a92871c063847caef51bdc066372d4550
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 11:10:21 2016 -0700
Check run-time R_X86_64_32 relocation overflow
Since elf_x86_64_check_relocs is called after opening all input files,
we can detect dynamic R_X86_64_32 relocation overflow there.
bfd/
PR ld/19969
* elf64-x86-64.c (check_relocs_failed): New.
(elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
Support relocation agaist local symbol. Set check_relocs_failed.
(elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
R_X86_64_32 relocation overflow.
(elf_x86_64_relocate_section): Skip if check_relocs failed.
Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
ld/
PR ld/19969
* testsuite/ld-x86-64/pr19969.d: New file.
* testsuite/ld-x86-64/pr19969a.S: Likewise.
* testsuite/ld-x86-64/pr19969b.S: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr19969 tests.
commit 6c739336e5aadd6670909059fba889f50caa9cea
Author: Doug Evans <xdje42@gmail.com>
Date: Wed Apr 20 10:17:12 2016 -0700
symmisc.c (dump_symtab_1): Print owning compunit for identical blockvectors.
* symmisc.c (dump_symtab_1): Print owning compunit for identical
blockvectors.
commit 8cef59a2e32816d5fbbe1cfebfca3e3d6abd4d33
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Apr 20 15:02:54 2016 +0100
Include arch/arm-linux.h in aarch32-linux-nat.c
Fix the compilation failure by including arch/arm-linux.h in
aarch32-linux-nat.c.
gdb:
2016-04-20 Yao Qi <yao.qi@linaro.org>
* aarch32-linux-nat.c: Include "arch/arm-linux.h".
commit 466ee2af4a927fc6aaaaa62b0abd3b0cff9bcef7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 05:34:02 2016 -0700
Call _bfd_elf_create_ifunc_sections only for ifunc
Since x86 check_relocs is called after opening all input files, we
need to call _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC
symbols.
* elf32-i386.c (elf_i386_check_relocs): Call
_bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
commit d968975277ba280372002800c6c25bb1b29f496e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 05:26:37 2016 -0700
Check ELF relocs after opening all input files
Delaying checking ELF relocations until opening all input files so
that symbol information is final when relocations are checked. This
is only enabled for x86 targets.
bfd/
* elf-bfd.h (_bfd_elf_link_check_relocs): New.
* elflink.c (_bfd_elf_link_check_relocs): New function.
(elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
if check_relocs_after_open_input is FALSE.
include/
* bfdlink.h (bfd_link_info): Add check_relocs_after_open_input.
ld/
* emulparams/elf32_x86_64.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
New.
* emulparams/elf_i386.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_i386_be.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_i386_chaos.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_i386_ldso.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_i386_vxworks.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/elf_x86_64.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emulparams/i386nto.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
Likewise.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
Set check_relocs_after_open_input to TRUE if
CHECK_RELOCS_AFTER_OPEN_INPUT is yes.
(gld${EMULATION_NAME}_after_open): Call
_bfd_elf_link_check_relocs on all inputs if
check_relocs_after_open_input is TRUE.
commit 6885166d994162c92dc9053bdf2d87e67a452db3
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed Apr 20 12:31:53 2016 +0100
Move ARM_CPSR_GREGNUM to arch/arm-linux.h
This patch moves macro ARM_CPSR_GREGNUM to arch/arm-linux.h so that it
can be used in GDBserver side.
gdb:
2016-04-20 Yao Qi <yao.qi@linaro.org>
* arm-linux-tdep.h (ARM_CPSR_GREGNUM): Move it to ...
* arch/arm-linux.h: ... here.
gdb/gdbserver:
2016-04-20 Yao Qi <yao.qi@linaro.org>
* linux-aarch32-low.c: Include "arch/arm-linux.h".
(arm_fill_gregset): Use ARM_CPSR_GREGNUM rather than magic
number 16.
(arm_store_gregset): Likewise.
commit 7cc9c114fef05bc603111c0ceb6d2275c0275deb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 20 04:27:47 2016 -0700
Replace .long with .dc.a on my_personality_v0
We should use .dc.a instead of .long to take address of a symbol.
* testsuite/ld-elf/eh6.s: Replace .long with .dc.a on
my_personality_v0.
commit e6c7cdec063514bb9ffe2a62fb280e5ec676cac0
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 13 18:30:46 2016 -0400
update many old style function definitions
This includes regenerating a bunch of files in opcodes/ with trunk cgen.
gprof/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* basic_blocks.c: Update old style function definitions.
* cg_arcs.c: Likewise.
* cg_print.c: Likewise.
* gen-c-prog.awk: Likewise.
* gmon_io.c: Likewise.
* hertz.c: Likewise.
* hist.c: Likewise.
* sym_ids.c: Likewise.
bfd/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* cache.c: Update old style function definitions.
* elf32-m68k.c: Likewise.
* elf64-mmix.c: Likewise.
* stab-syms.c: Likewise.
opcodes/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* alpha-dis.c: Regenerate.
* crx-dis.c: Likewise.
* disassemble.c: Likewise.
* epiphany-opc.c: Likewise.
* fr30-opc.c: Likewise.
* frv-opc.c: Likewise.
* ip2k-opc.c: Likewise.
* iq2000-opc.c: Likewise.
* lm32-opc.c: Likewise.
* lm32-opinst.c: Likewise.
* m32c-opc.c: Likewise.
* m32r-opc.c: Likewise.
* m32r-opinst.c: Likewise.
* mep-opc.c: Likewise.
* mt-opc.c: Likewise.
* or1k-opc.c: Likewise.
* or1k-opinst.c: Likewise.
* tic80-opc.c: Likewise.
* xc16x-opc.c: Likewise.
* xstormy16-opc.c: Likewise.
ld/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* emultempl/scoreelf.em: Likewise.
binutils/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* resres.c: Likewise.
gas/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* cgen.c: Likewise.
* config/tc-bfin.c: Likewise.
* config/tc-ia64.c: Likewise.
* config/tc-mep.c: Likewise.
* config/tc-metag.c: Likewise.
* config/tc-nios2.c: Likewise.
* config/tc-rl78.c: Likewise.
commit b98e6871247e1ef764360f6d042254ce4af62ca4
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 13 04:41:23 2016 -0400
change argument type to bfd_byte
We operate on the pointer's target as a set of bytes, and this avoids doing
arithmetic on void * which is undefined in ISO C.
bfd/ChangeLog:
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
commit 2533af11baa8a9a330798a2add1a59183e3b5c75
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Apr 19 19:02:27 2016 +0100
gas/doc/arc: Add nps400 references into the documentation
Add nps400 to the list of acceptable values for the -mcpu command line
switch, and to the .cpu directive.
I've added an extra cross reference from -mcpu to .cpu to improve
navigation of the documentation.
gas/ChangeLog:
* doc/c-arc.texi (ARC Options): Add nps400 to list of valus for
-mcpu. Add cross reference to .cpu directive from -mcpu option.
(ARC Directives): Add NPS400 to .cpu directive list.
commit 52176c676da5f4b7339f254dc83cb35a0789bf20
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Apr 19 17:40:41 2016 +0100
arc: Fix relocation formula for ARC_NPS_CMEM16 relocation
The ME modifier was missing from the relocation formula for the
ARC_NPS_CMEM16 relocation, and as such the relocation would not patch
correctly on little endian targets.
include/ChangeLog:
* elf/arc-reloc.def (ARC_NPS_CMEM16): Add ME modifier to formula.
commit 50cc854c48e79d9b8a2c55c117918d6a719bea38
Author: Matthew Wahab <matthew.wahab@arm.com>
Date: Wed Apr 20 09:31:49 2016 +0100
[AArch64] Support RAS extension for ARMv8 onwards.
The RAS extension was introduced as part of the ARMv8.2 architecture
where it is a required feature. It is also available as an optional
feature for ARMv8 and ARMv8.1. In binutils, the RAS extension is
currently enabled by default for -march=armv8.2-a but is not available
for -march=armv8 or -march=armv8.1-a.
This patch adds the feature extension '+ras' to enable the RAS extension
for ARMv8 and ARMv8.1, it is disabled by default.
gas/
2016-04-20 Matthew Wahab <matthew.wahab@arm.com>
* config/tc-aarch64.c (aarch64_features): Add "ras".
* doc/c-aarch64.texi (AArch64 Extensions): Add "ras".
* testsuite/gas/aarch64/armv8-ras-1.d: New.
* testsuite/gas/aarch64/armv8-ras-1.s: New.
* testsuite/gas/aarch64/illegal-ras-1.d: New.
* testsuite/gas/aarch64/illegal-ras-1.s: New.
Change-Id: I824fb9bc8cf846bcc03aa17a726efb1350d78b9d
commit 87d455c042d2236b2afb1d6e13f337df36256bb0
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Apr 19 20:11:55 2016 -0700
Add another testcase for PR ld/19719
This test checks run-time relocation overflow with GOT relocation and
32-bit relocation against the same symbol.
PR ld/19719
* testsuite/ld-x86-64/pr19719.d: New file.
* testsuite/ld-x86-64/pr19719.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr19719.
commit b73bf8516f99a6b04bd77337c5783b206922e79c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 20 00:00:09 2016 +0000
Automatic date update in version.in
commit 21002a635bf3da33367592e3a3ab3cce24fe5299
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Jan 19 11:02:09 2016 -0800
Handle void * conversions in FreeBSD/x86 native code to fix C++ build.
gdb/ChangeLog:
* amd64bsd-nat.c (amd64bsd_fetch_inferior_registers): Change xstateregs
to void *.
(amd64bsd_store_inferior_registers): Likewise.
* fbsd-nat.c (resume_one_thread_cb): Explicitly cast data to ptid_t *.
(resume_all_threads_cb): Likewise.
* i386bsd-nat.c (i386bsd_supply_gregset): Cast gregs to char *.
(i386bsd_collect_gregset): Likewise.
(i386bsd_fetch_inferior_registers): Change xstateregs to void *.
(i386bsd_store_inferior_registers): Likewise.
commit f39c07acc8c4039534a9c6f1757de82afe66ecd5
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Apr 19 13:51:05 2016 -0700
Cast the pointer assigned to ss_sp to char *.
FreeBSD versions older than 11.0 use char * as the type of ss_sp in
stack_t instead of the standards-defined void *. C++ allows a char *
pointer to be converted to a void *, so it is safe to cast the return
value of xmalloc to char * if ss_sp is either a char * or void *.
Just always use the cast to char * since that is less ugly than having
to add a special case.
gdb/ChangeLog:
* main.c (setup_alternate_signal_stack): Cast to char *.
commit 537aefaf18444430df8126b474cf11ff7201b4c6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Apr 1 19:51:50 2016 +0100
opcodes/arc: Add yet more nps instructions
Add some more arc/nps400 instructions and the associated operands.
There's also a test added into the assembler.
gas/ChangeLog:
* testsuite/gas/arc/nps400-6.d: New file.
* testsuite/gas/arc/nps400-6.s: New file.
include/ChangeLog:
* opcode/arc.h (MAX_INSN_ARGS): Increase 6 to 8.
opcodes/ChangeLog:
* arc-nps400-tbl.h: Add addb, subb, adcb, sbcb, andb, xorb, orb,
fxorb, wxorb, shlb, shrb, notb, cntbb, div, mod, divm, and qcmp
instructions.
* arc-opc.c (insert_nps_bitop_size): Delete.
(extract_nps_bitop_size): Delete.
(MAKE_SRC_POS_INSERT_EXTRACT_FUNCS): Define, and use.
(extract_nps_qcmp_m3): Define.
(extract_nps_qcmp_m2): Define.
(extract_nps_qcmp_m1): Define.
(arc_flag_operands): Add F_NPS_SX, F_NPS_AR, F_NPS_AL.
(arc_flag_classes): Add C_NPS_SX, C_NPS_AR_AL
(arc_operands): Add NPS_SRC2_POS, NPS_SRC1_POS, NPS_ADDB_SIZE,
NPS_ANDB_SIZE, NPS_FXORB_SIZ, NPS_WXORB_SIZ, NPS_R_XLDST,
NPS_DIV_UIMM4, NPS_QCMP_SIZE, NPS_QCMP_M1, NPS_QCMP_M2, and
NPS_QCMP_M3.
commit c8f785f220bab3c17fc93445ac509495d00d5afe
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 31 19:51:14 2016 +0100
opcodes/arc: Add more nps instructions
Add dctcp, dcip, dcet, and dcacl instructions.
gas/ChangeLog:
* testsuite/gas/arc/nps400-4.d: New file.
* testsuite/gas/arc/nps400-4.s: New file.
* testsuite/gas/arc/nps400-5.d: New file.
* testsuite/gas/arc/nps400-5.s: New file.
include/ChangeLog:
* opcode/arc.h (insn_class_t): Add NET and ACL class.
opcodes/ChangeLog:
* arc-nps400-tbl.h: Add dctcp, dcip, dcet, and dcacl instructions.
commit ee2915c993e333c2a1c26499da1a918516d2f1cc
Author: Doug Evans <xdje42@gmail.com>
Date: Tue Apr 19 09:57:04 2016 -0700
Add pr number to earlier entry.
commit d04c1a59f3b6ae23f16988961cd74b561ed6f8d6
Author: Doug Evans <xdje42@gmail.com>
Date: Tue Apr 19 09:52:45 2016 -0700
symmisc.c (dump_symtab_1, dump_symtab): Delete arg objfile.
gdb/ChangeLog:
* symmisc.c (dump_symtab_1, dump_symtab): Delete arg objfile.
All callers updated.
commit 85c10f77b70007a0c528bdc9dbba1add947b3085
Author: Doug Evans <xdje42@gmail.com>
Date: Tue Apr 19 09:06:53 2016 -0700
Fix copyright year, remove linux only test.
commit a55411b9ff672c73172fff98319eb87af5a5fb4c
Author: Doug Evans <xdje42@gmail.com>
Date: Tue Apr 19 09:01:44 2016 -0700
* source.c (is_regular_file): New arg errno_ptr.
gdb/ChangeLog:
* source.c (is_regular_file): New arg errno_ptr.
All callers updated.
gdb/testsuite/ChangeLog:
* gdb.base/bad-file.exp: New file.
commit 73e6209faecc21516a981ed86a27b259f506098c
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Tue Apr 19 16:53:40 2016 +0200
linux-record: Squash cases with identical handling
In record_linux_system_call there are some cases with identical
handling. These are merged together to reduce code duplication.
gdb/ChangeLog:
* linux-record.c (record_linux_system_call): Merge handling for
readlink/recv/read and pipe/pipe2.
commit f42bf748e417cf9120fc57d144b6eaaf3adda247
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date: Tue Apr 19 15:45:50 2016 +0200
Re-factor (i386|amd64)mpx target descriptions.
In the previous patch a new set of target descriptions
(i386|amd64)-avx-mpx were added being same as the (i386|amd64)-mpx.
This patch removes AVX feature from (i386|amd64)-mpx target
description set.
This way the (i386|amd64)avx_mpx(_linux|) set has AVX and MPX features
and (i386|amd64)mpx(_linux|) only MPX.
2016-04-14 Walfred Tedeschi <walfred.tedeschi@intel.com>
* features/i386/amd64-mpx-linux.xml: Remove AVX feature.
* features/i386/amd64-mpx.xml: Remove AVX feature.
* features/i386/i386-mpx-linux.xml: Remove AVX feature.
* features/i386/i386-mpx.xml: Remove AVX feature.
* features/i386/amd64-mpx-linux.c: Regenerate.
* features/i386/amd64-mpx.c: Regenerate.
* features/i386/i386-mpx-linux.c: Regenerate.
* features/i386/i386-mpx.c: Regenerate.
* regformats/i386/amd64-mpx-linux.dat: Regenerate.
* regformats/i386/amd64-mpx.dat: Regenerate.
* regformats/i386/i386-mpx-linux.dat: Regenerate.
* regformats/i386/i386-mpx.dat: Regenerate.
commit 2b863f512dce3c2469cf40e4559fb571b1b01658
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date: Tue Apr 19 15:44:32 2016 +0200
Add target descriptions for AVX + MPX
The current MPX target descriptions assume that MPX is always combined
with AVX, however that's not correct. We can have machines with MPX
and without AVX; or machines with AVX and without MPX.
This patch adds new target descriptions for machines that support
both MPX and AVX, as duplicates of the existing MPX descriptions.
The following commit will remove AVX from the MPX-only descriptions.
2016-04-16 Walfred Tedeschi <walfred.tedeschi@intel.com>
gdb/ChangeLog:
* amd64-linux-tdep.c (features/i386/amd64-avx-mpx-linux.c):
New include.
(amd64_linux_core_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
(_initialize_amd64_linux_tdep): Call initialize_tdesc_amd64_avx_mpx_linux.
* amd64-linux-tdep.h (tdesc_amd64_avx_mpx_linux): New definition.
* amd64-tdep.c (features/i386/amd64-avx-mpx.c): New include.
(amd64_target_description): Add case for X86_XSTATE_AVX_MPX_MASK.
(_initialize_amd64_tdep): Call initialize_tdesc_amd64_avx_mpx.
* common/x86-xstate.h (X86_XSTATE_MPX_MASK): Remove AVX bits.
(X86_XSTATE_AVX_MPX_MASK): New case.
* features/Makefile (i386/i386-avx-mpx, i386/i386-avx-mpx-linux)
(i386/amd64-avx-mpx, i386/amd64-avx-mpx-linux): New rules.
(i386/i386-avx-mpx-expedite, i386/i386-avx-mpx-linux-expedite)
(i386/amd64-avx-mpx-expedite, i386/amd64-avx-mpx-linux-expedite):
New expedites.
* i386-linux-tdep.c (features/i386/i386-avx-mpx-linux.c): New
include.
(i386_linux_core_read_description): Add case
X86_XSTATE_AVX_MPX_MASK.
(_initialize_i386_linux_tdep): Call
initialize_tdesc_i386_avx_mpx_linux.
* i386-linux-tdep.h (tdesc_i386_avx_mpx_linux): New include.
* i386-tdep.c (features/i386/i386-avx-mpx.c): New include.
(i386_target_description): Add case for X86_XSTATE_AVX_MPX_MASK.
* x86-linux-nat.c (x86_linux_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
* features/i386/amd64-avx-mpx-linux.xml: New file.
* features/i386/i386-avx-mpx-linux.xml: New file.
* features/i386/i386-avx-mpx.xml: New file.
* features/i386/amd64-avx-mpx.xml: New file.
* features/i386/amd64-avx-mpx-linux.c: Generated.
* features/i386/amd64-avx-mpx.c: Generated.
* features/i386/i386-avx-mpx-linux.c: Generated.
* features/i386/i386-avx-mpx.c: Generated.
* regformats/i386/amd64-avx-mpx-linux.dat: Generated.
* regformats/i386/amd64-avx-mpx.dat: Generated.
* regformats/i386/i386-avx-mpx-linux.dat: Generated.
* regformats/i386/i386-avx-mpx.dat: Generated.
gdb/gdbserver/ChangeLog:
* Makefile.in (clean): Add removal for i386-avx-mpx.c,
i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c.
(i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c)
(amd64-avx-mpx-linux.c): New rules.
(amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule.
* configure.srv (srv_i386_regobj): Add i386-avx-mpx.o.
(srv_i386_linux_regobj): Add i386-avx-mpx-linux.o.
(srv_amd64_regobj): Add amd64-avx-mpx.o.
(srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o.
(srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml.
(srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml.
(srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml.
(srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml.
(ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o.
(ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o.
* linux-x86-low.c (x86_linux_read_description): Add case for
X86_XSTATE_AVX_MPX_MASK.
(x86_get_ipa_tdesc_idx): Add cases for avx_mpx.
(initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and
init_registers_i386_avx_mpx_linux.
* linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
(initialize_low_tracepoint): Call
init_registers_i386_avx_mpx_linux.
* linux-amd64-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
(initialize_low_tracepoint): Call
init_registers_amd64_avx_mpx_linux.
* linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value.
(init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux)
(init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New
declarations.
commit bb7dc663abaa72601edfdce3ca7aff6fdb43bffe
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Apr 19 09:26:16 2016 +0100
Sync Makefile.tpl with gcc.
2016-04-13 Segher Boessenkool <segher@kernel.crashing.org>
PR bootstrap/70173
* Makefile.tpl (local-distclean): Delete the libcc1, gnattools,
and gotools directories. Delete the stage_final file.
* Makefile.in: Regenerate.
commit 48eac74cb73499ac32fb7a38dde498a8b3e4c6e2
Author: Martin Galvan <martin.galvan@tallertechnologies.com>
Date: Tue Apr 19 09:16:09 2016 +0930
.cfi_remember_state/.cfi_restore_state documentation
* doc/as.texinfo (.cfi_remember_state, .cfi_restore_state): Improve
documentation.
commit eabc9d9f964d4c78b63c265bef6d33695c92b177
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 19 00:00:25 2016 +0000
Automatic date update in version.in
commit 9b30624b65697a5f51bb7120c48686ab5506067f
Author: Pedro Alves <palves@redhat.com>
Date: Mon Apr 18 17:42:50 2016 +0100
Fix PR gdb/19250: ptrace prototype is not detected properly in C++ mode
The ptrace args/return types detection doesn't work properly in C++
mode, on non-GNU/Linux hosts. For example, on gcc70 (NetBSD 5.1),
where the prototype is:
int ptrace(int, __pid_t, void*, int);
configure misdetects it as:
$ grep PTRACE_TYPE config.h
#define PTRACE_TYPE_ARG1 int
#define PTRACE_TYPE_ARG3 int *
#define PTRACE_TYPE_ARG4 int
/* #undef PTRACE_TYPE_ARG5 */
#define PTRACE_TYPE_RET int
resulting in:
../../src/gdb/amd64bsd-nat.c: In function 'void amd64bsd_fetch_inferior_registers(target_ops*, regcache*, int)':
../../src/gdb/amd64bsd-nat.c:56: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../src/gdb/amd64bsd-nat.c: In function 'void amd64bsd_store_inferior_registers(target_ops*, regcache*, int)':
../../src/gdb/amd64bsd-nat.c:104: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../src/gdb/amd64bsd-nat.c:110: warning: dereferencing type-punned pointer will break strict-aliasing rules
We could address this [1], however despite ptrace.m4's claim:
# Needs to be tested in C++ mode, to detect whether we need to cast
# the first argument to enum __ptrace_request.
it appears that there's actually no need to test in C++ mode. Always
running the ptrace tests in C mode works just the same on GNU/Linux.
I remember experimenting with several different ways to handle the
original issue back then, and maybe that was needed in some other
attempt and then I didn't realize it ended up not really necessary.
Confirmed that this fixes the NetBSD 5.1 C++ build, and confirmed that
C and C++ builds on Fedora 23 are unaffected.
[1] - https://sourceware.org/ml/gdb-patches/2016-04/msg00374.html
gdb/ChangeLog:
2016-04-18 Pedro Alves <palves@redhat.com>
* ptrace.m4 (GDB_AC_PTRACE): Don't run tests in C++ mode.
* configure: Regenerate.
gdb/gdbserver/ChangeLog:
2016-04-18 Pedro Alves <palves@redhat.com>
* configure: Regenerate.
commit a22df60ad216517bbca4b391bec09f9ded06ab7b
Author: Martin Galvan <martin.galvan@tallertechnologies.com>
Date: Mon Apr 18 10:58:14 2016 -0300
Fix gdb crash when trying to print the address of a synthetic C++ reference
After compiling a program which uses C++ references some optimizations may
convert the references into synthetic "pointers". Trying to print the address
of one of such synthetic references causes gdb to crash with the following
error:
(gdb) print &ref
/build/buildd/gdb-7.7.1/gdb/dwarf2loc.c:1624: internal-error: Should not be able to create a lazy value with an enclosing type
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Apparently, what was causing it was that value_addr returns a copy of the value
that represents the reference with its type set to T* instead of T&. However,
its enclosing_type is left untouched, which fails a check made in
read_pieced_value. We only see the crash happen for references that are
synthetic because they're treated as pieced values, thus the call to
read_pieced_value.
On a related note, it seems that in general there are all sorts of breakage
when working with synthetic references. This is reported here:
https://sourceware.org/bugzilla/show_bug.cgi?id=19893
gdb/ChangeLog:
2016-04-18 Martin Galvan <martin.galvan@tallertechnologies.com>
* valops.c (value_addr): For C++ references, set the copied value's
enclosing_type as well.
gdb/testsuite/ChangeLog:
2016-04-18 Martin Galvan <martin.galvan@tallertechnologies.com>
* gdb.dwarf2/implref.exp: New file.
commit 0c13f7e559afe5f973a59311b0e401296c48d96c
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Thu Apr 7 10:28:14 2016 +0200
fortran: Testsuite, fix different type naming across compilers.
Gfortran and ifort have different names for data types. Encapsulate
type names in a library to increase number of supported compilers.
gfortran -4.2 : int4
gfortran>=4.3 : integer(kind=4)
ifort : INTEGER(4)
2016-04-18 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/testsuite/Changelog:
* gdb.fortran/common-block.exp: Use type naming defined in lib fortran.
* gdb.fortran/derived-type.exp: Use type naming defined in lib fortran.
* gdb.fortran/multi-dim.exp: Use type naming defined in lib fortran.
* gdb.fortran/vla-datatypes.exp: Use type naming defined in lib fortran.
* gdb.fortran/vla-ptype-sub.exp: Use type naming defined in lib fortran.
* gdb.fortran/vla-ptype.exp: Use type naming defined in lib fortran.
* gdb.fortran/whatis_type.exp: Use type naming defined in lib fortran.
* lib/fortran.exp (fortran_int4): New procedure.
(fortran_real4, fortran_real8, fortran_complex4): Likewise.
(fortran_logical4): Likewise.
commit 9b9b09e9020aa32ade1a86461804a1950d967abb
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Mon Apr 18 11:49:07 2016 +0200
Testsuite: Fix compiling of shared libraries with ICC.
We are missing "-fpic" flag when compiling shared libraries with ICC.
2016-04-18 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Testsuite/Changelog:
* lib/gdb.exp (gdb_compile_shlib): Add flag for ICC compiler.
commit a14d1f4dfc08edc8fe92b17b36a55d89203fb89f
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Fri Apr 15 11:03:42 2016 +0200
testsuite: Support detection of Intel compilers via test_compiler_version.
Add Intel specific preprocessor macros to query the version of the compiler.
2016-04-18 Bernhard Heckel <bernhard.heckel@intel.com>
gdb/Testsuite/Changelog:
* lib/compiler.c: Add Intel specific preprocessor macros.
* lib/compiler.cc: Likewise.
commit cdf969539c718acb1f3f031b2c55d5274a538717
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date: Thu Apr 14 11:49:53 2016 +0100
Add new NOCROSSREFS_TO linker script command
NOCROSSREFS_TO is similar to the existing NOCROSSREFS command but only
checks one direction of cross referencing.
ld/ChangeLog
* ld.texinfo: Document NOCROSSREFS_TO script command.
* ldlang.h (struct lang_nocrossrefs): Add onlyfirst field.
(lang_add_nocrossref_to): New prototype.
* ldcref.c (check_local_sym_xref): Use onlyfirst to only look for
symbols defined in the first section.
(check_nocrossref): Likewise.
* ldgram.y (NOCROSSREFS_TO): New script command.
* ldlang.c (lang_add_nocrossref): Set onlyfirst to FALSE.
(lang_add_nocrossref_to): New function.
* ldlex.l (NOCROSSREFS_TO): New token.
* NEWS: Mention NOCROSSREFS_TO.
* testsuite/ld-scripts/cross4.t: New file.
* testsuite/ld-scripts/cross5.t: Likewise.
* testsuite/ld-scripts/cross6.t: Likewise.
* testsuite/ld-scripts/cross7.t: Likewise.
* testsuite/ld-scripts/crossref.exp: Run 4 new NOCROSSREFS_TO
tests.
commit 5947319ef398728052a22575e1d0de0e94e4220f
Author: Yao Qi <yao.qi@linaro.org>
Date: Mon Apr 18 08:50:09 2016 +0100
Revert 415fa612
2016-04-18 Yao Qi <yao.qi@linaro.org>
Revert:
2016-04-15 Yao Qi <yao.qi@linaro.org>
* arm-tdep.c (thumb_stack_frame_destroyed_p): Return zero if
PC is far from the end of function.
commit 5c3c7aa89ba10ac923796855f5c97098fbfdb4be
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 18 00:00:18 2016 +0000
Automatic date update in version.in
commit 644aca26b524733be8bc1267e059b62c9971e77e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Apr 17 23:17:44 2016 +0100
Revert "gas/arc: Make .cpu directive case-insensitive"
This reverts commit 9a452709fe126ea6da23a53426362e4435d2dc06.
This change was committed as obvious, but it has been rightly been
pointed out to me that this change is not obvious, and as such I am
reverting it.
gas/ChangeLog:
Revert prevous change.
* config/tc-arc.c (arc_option): Make .cpu directive
case-sensitive again.
commit 35cf27b027b061038a07de2506dec7746353c361
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 17 00:00:20 2016 +0000
Automatic date update in version.in
commit 9a452709fe126ea6da23a53426362e4435d2dc06
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Apr 16 16:21:32 2016 +0100
gas/arc: Make .cpu directive case-insensitive
gas/ChangeLog:
* config/tc-arc.c (arc_option): Make .cpu directive
case-insensitive.
commit 5e001f26addc4443eb0a7af90ad67117e1a582ac
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Apr 16 16:19:40 2016 +0100
gas/arc: Support NPS400 in .cpu directive
gas/ChangeLog:
* config/tc-arc.c (arc_option): Allow NPS400 in .cpu directive.
commit 92fce9bd7a4d5732fe9db05b7ebaef4ab858e69a
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 13 05:03:22 2016 -0400
remove pointless assignment
Presumably this was supposed to be regname[sizeof (regname) - 1] but was typoed
to regname[sizeof (rename) - 1]. However that should be unnecessary because
sprintf should null terminate. As is this assignment is invalid ISO C because
rename refers to the function rename (), and sizeof on functions is undefined.
In GNU C C the size of functions is 1 so the expression is the same as
regname[0]. The following call to sprintf () clearly will over right that, so
the statement either has no effect or is invalid. Given that it seems safe to
just remove it. While we are there correct the size of regname, and switch
from snprintf to sprintf since we know the exact length of the result.
gas/ChangeLog:
2016-04-15 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-mips.c (md_begin): Remove useless assignment.
commit 58484447ed8e1c64bbd73f224c8c9452a7420beb
Author: Pedro Alves <palves@redhat.com>
Date: Sat Apr 16 01:24:08 2016 +0100
gdb/ada-exp.y: Remap yydefred
On:
$ uname -a
NetBSD gcc70.fsffrance.org 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov 6 13:19:33 UTC 2010 builds@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC amd64
The link fails with:
(...)
d-exp.o: In function `parse_number':
../../src/gdb/d-exp.y:762: multiple definition of `yydefred'
ada-exp.o:/home/palves/gdb/build/gdb/ada-lex.c:925: first defined here
ld: Warning: size of symbol `yydefred' changed from 464 in ada-exp.o to 336 in d-exp.o
Makefile:1404: recipe for target 'gdb' failed
NetBSD's yacc uses a "yydefred" symbol that we missed renaming in the
Ada parser. All other gdb parsers do this already.
gdb/ChangeLog:
2016-04-16 Pedro Alves <palves@redhat.com>
* ada-exp.y (yydefred): Define as ada_yydefred.
commit 0480fa1f33451e60ac7f20c9724660da153b0ed9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 16 00:00:20 2016 +0000
Automatic date update in version.in
commit 2b2798cc9716f45f752ea03411b6f9c9afc17cc6
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 15 17:08:53 2016 +0100
Fix gdb build with --enable-build-with-cxx --disable-nls
Compiling gdb with --enable-build-with-cxx --disable-nls, we get:
.../src/gdb/ada-lang.c:7657:16: error: invalid conversion from âconst char*â to âchar*â [-fpermissive]
type_str = (type != NULL
^
In file included from .../src/gdb/common/common-defs.h:67:0,
from .../src/gdb/defs.h:28,
from .../src/gdb/ada-lang.c:21:
.../src/gdb/common/gdb_locale.h:40:27: error: invalid conversion from âconst char*â to âchar*â [-fpermissive]
# define _(String) (String)
^
.../src/gdb/ada-lang.c:7730:46: note: in expansion of macro â_â
char *name_str = name != NULL ? name : _("<null>");
^
Makefile:1140: recipe for target 'ada-lang.o' failed
gdb/ChangeLog:
2016-04-15 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_lookup_struct_elt_type): Constify 'type_str' and
'name_str' locals.
commit d7abe1019dbff66b6abfb32df90d0c13328710ee
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 15 21:14:07 2016 +0100
Fix gdb C++ build when libipt is available
With libipt's headers installed, a build with --enable-build-with-cxx
fails with:
.../src/gdb/btrace.c: In function âbtrace_insn_flag pt_btrace_insn_flags(const pt_insn*)â:
.../src/gdb/btrace.c:734:33: error: invalid conversion from âintâ to âbtrace_insn_flagâ [-fpermissive]
enum btrace_insn_flag flags = 0;
^
.../src/gdb/btrace.c:737:11: error: invalid conversion from âintâ to âbtrace_insn_flagâ [-fpermissive]
flags |= BTRACE_INSN_FLAG_SPECULATIVE;
^
gdb/ChangeLog:
2016-04-15 Pedro Alves <palves@redhat.com>
* btrace.c (pt_btrace_insn_flags): Change return type to
btrace_insn_flags. Use btrace_insn_flags for local.
commit 6fd8e7c249dcefd937897f743e886751adb90c90
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 15 16:20:02 2016 -0700
Regenerate Makefile.in/aclocal.m4 automake 1.11.6
bfd/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
* doc/Makefile.in: Likewise.
binutils/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
* doc/Makefile.in: Likewise.
gas/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
* doc/Makefile.in: Likewise.
gold/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
* testsuite/Makefile.in: Likewise.
gprof/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
ld/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
opcodes/
* Makefile.in: Regenerated with automake 1.11.6.
* aclocal.m4: Likewise.
commit 77770d832135a252d22eb95166c5ccfd40ca6a69
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 15 23:52:00 2016 +0100
MIPS/Linux: Also recognize TRAP_BRKPT and TRAP_HWBKPT
This makes the MIPS Linux backends recognize TRAP_BRKPT and
TRAP_HWBKPT in siginfo.si_code in addition to SI_KERNEL, since Linux
4.6 now reports the finer-grained si_code values too.
Refs:
https://sourceware.org/ml/gdb-patches/2016-02/msg00756.html
https://sourceware.org/ml/gdb-patches/2016-04/msg00090.html
On kernels that report SI_KERNEL (<= 4.5), we'll enter the "ambiguous"
path of save_stop_reason:
if (GDB_ARCH_IS_TRAP_BRKPT (siginfo.si_code)
&& GDB_ARCH_IS_TRAP_HWBKPT (siginfo.si_code))
{
/* The si_code is ambiguous on this arch -- check debug
registers. */
if (!check_stopped_by_watchpoint (lp))
lp->stop_reason = TARGET_STOPPED_BY_SW_BREAKPOINT;
}
while on kernels that report the finer-grained si_code values (>= 4.6),
we'll enter the corresponding branches:
else if (GDB_ARCH_IS_TRAP_BRKPT (siginfo.si_code))
{
}
else if (GDB_ARCH_IS_TRAP_HWBKPT (siginfo.si_code))
{
...
gdb/ChangeLog:
2016-04-15 Pedro Alves <palves@redhat.com>
* nat/linux-ptrace.h [__mips__] (GDB_ARCH_IS_TRAP_BRKPT): Also
accept TRAP_BRKPT.
[__mips__] (GDB_ARCH_IS_TRAP_HWBKPT): Also accept TRAP_HWBKPT.
commit 415fa612334afb70600c2a7dbd2c2ff56ebbc4f3
Author: Yao Qi <yao.qi@linaro.org>
Date: Fri Apr 15 15:30:01 2016 +0100
[ARM] minor opt in thumb_stack_frame_destroyed_p
thumb_stack_frame_destroyed_p scans the instructions from PC to the
end of the function, but if PC is far from the end of pc, we don't
have to scan, because PC should be in epilogue if it is still
far from the end of the function. The criterion I use here is 16
bytes, which is more than 4 instructions.
Regression tested on aarch64-linux with mutli-arch debug.
gdb:
2016-04-15 Yao Qi <yao.qi@linaro.org>
* arm-tdep.c (thumb_stack_frame_destroyed_p): Return zero if
PC is far from the end of function.
commit 05f7541ea79d4922f71641e287b610c67ba32b52
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 15 23:37:30 2016 +0930
Fix non-ELF powerpc build breakage
* config/tc-ppc.c (toc_reloc_types): Wrap in #ifdef OBJ_ELF
commit 0796a6293fca5a6f4fd17e6ec38fb0db5dd3a36a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 15 05:59:16 2016 -0700
Add missing ChangeLog entry for PR gas/19909 fix
commit 17416a2cb1d5b8d2076b8df0f7c39621b318d3f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 15 00:00:20 2016 +0000
Automatic date update in version.in
commit 4f2a7b5121a682dd924cafc252c8ded8813f0f61
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Wed Apr 13 04:15:10 2016 -0400
make a few variables static
They are only used in one file, so we might as well restrict there scope to
that file, and theoretically this might slightly improve compilers ability to
optimize usage of these variables.
gas/ChangeLog:
2016-04-14 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-nios2.c (nios2_as_options): Make file static.
* config/tc-ppc.c (toc_reloc_ypes): Likewise.
* config/tc-sparc.c (native_op_table): Likewise.
commit 85e53f6272cc71b16db89239a3a542184d01996c
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date: Tue Apr 12 10:02:58 2016 -0400
remove some unused globals
gas/ChangeLog:
2016-04-14 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-m32c.c (M32C_Macros): Remove.
* config/tc-msp430.c (option_numbers): Likewise.
commit 4b0c052e456421a3c6d7b4c98be3ad0b3bd2ad27
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Mar 30 00:02:19 2016 +0100
arc/nps400 : New cmem instructions and associated relocation
Add support for arc/nps400 cmem instructions, these load and store
instructions are hard-wired to access "0x57f00000 + 16-bit-offset".
Supporting this relocation required some additions to the arc relocation
handling in the bfd library, as well as the standard changes required to
add a new relocation type.
There's a test of the new instructions in the assembler, and a test of
the relocation in the linker.
bfd/ChangeLog:
* reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf32-arc.c: Add 'opcode/arc.h' include.
(struct arc_relocation_data): Add symbol_name.
(arc_special_overflow_checks): New function.
(arc_do_relocation): Use arc_special_overflow_checks, reindent as
required, add an extra comment.
(elf_arc_relocate_section): Setup symbol_name in reloc_data.
gas/ChangeLog:
* testsuite/gas/arc/nps400-3.d: New file.
* testsuite/gas/arc/nps400-3.s: New file.
include/ChangeLog:
* elf/arc-reloc.def: Add ARC_NPS_CMEM16 reloc.
* opcode/arc.h (NPS_CMEM_HIGH_VALUE): Define.
ld/ChangeLog:
* testsuite/ld-arc/arc.exp: New file.
* testsuite/ld-arc/nps-1.s: New file.
* testsuite/ld-arc/nps-1a.d: New file.
* testsuite/ld-arc/nps-1b.d: New file.
* testsuite/ld-arc/nps-1b.err: New file.
opcodes/ChangeLog:
* arc-nps400-tbl.h: Add xldb, xldw, xld, xstb, xstw, and xst
instructions.
* arc-opc.c (insert_nps_cmem_uimm16): New function.
(extract_nps_cmem_uimm16): New function.
(arc_operands): Add NPS_XLDST_UIMM16 operand.
commit 33cbe6c07ed7e66d65c106cffb496eff5d7e8fb5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Apr 6 18:55:23 2016 +0100
bfd/arc: Rename enum entries to avoid conflicts
In bfd/elf32-arc.c an enum is created that contains entries with generic
names like 'NONE' and 'OFF'. This has been fine for now, but I had a
need to include opcode/arc.h into bfd/elf32-arc.c. Unfortunately
opcode/arc.h includes a different enum with identical generic names.
Given that changing the enum in the header file could mean wide-ranging
changes, while changing the enum in the .c file is limited to only
changing the one file, I've added a prefix to the enum in the .c file.
This commit does not add the new include, that will come later. There
should be no functional change with this commit.
bfd/ChangeLog:
* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
entries.
(elf_arc_relocate_section): Update enum uses.
(elf_arc_check_relocs): Likewise.
(elf_arc_finish_dynamic_symbol): Likewise.
commit cb040366b36ca624874e036805ca1fca740dae9f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 24 16:54:37 2016 +0000
opcodes/arc: Move instruction length logic to new function
Move the logic that calculates the instruction length out to a new
function. Restructure the code to make it simpler.
opcodes/ChangeLog:
* arc-dis.c (arc_insn_length): New function.
(print_insn_arc): Use arc_insn_length, change insnLen to unsigned.
(find_format): Change insnLen parameter to unsigned.
commit 7634c4e679156fc6a93ccb8b33898f5cf41eb233
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 14 08:36:32 2016 -0700
Replace "link" with "sh_link"
On Linux/x86, GCC 4.2 issues a warning:
bfd/elf.c: In function â_bfd_elf_copy_private_bfd_dataâ:
bfd/elf.c:1334: warning: declaration of âlinkâ shadows a global declaration
/usr/include/unistd.h:757: warning: shadowed declaration is here
make[6]: *** [elf.lo] Error 1
Replace "link" with "sh_link" fixes it.
* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
"sh_link".
commit d105775eea0442515e9003dc025cd927f4a1805f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Apr 7 22:56:44 2016 +0100
gas/arc: Unify tests run on big/little endian arc assembler
We were running a slightly different set of assembler tests on big and
little endian arc targets. This commit unifies the set of tests run.
gas/ChangeLog:
* testsuite/gas/arc/add_s-err.s: Update target pattern.
* testsuite/gas/arc/warn.s: Likewise.
* testsuite/gas/elf/elf.exp: Run test for arc.
commit 7f31862a8d9f3eea51fc58bd66abeb70c730feaf
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 14 12:58:03 2016 +0100
Avoid "format not a string literal" warnings
On:
$ uname -a
NetBSD gcc70.fsffrance.org 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov 6 13:19:33 UTC 2010 builds@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC amd64
With:
$ g++ -v
Using built-in specs.
Target: x86_64--netbsd
Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc4/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=x86_64-unknown-netbsd4.99.72 --host=x86_64--netbsd --target=x86_64--netbsd --enable-__cxa_atexit
Thread model: posix
gcc version 4.1.3 20080704 prerelease (NetBSD nb2 20081120)
I saw:
cc1plus: warnings being treated as errors
../../src/gdb/ctf.c: In function 'void ctf_save_metadata_header(trace_write_handler*)':
../../src/gdb/ctf.c:267: warning: format not a string literal, argument types not checked
cc1plus: warnings being treated as errors
../../src/gdb/cli/cli-cmds.c: In function 'void alias_command(char*, int)':
../../src/gdb/cli/cli-cmds.c:1428: warning: format not a string literal and no format arguments
../../src/gdb/cli/cli-cmds.c:1457: warning: format not a string literal and no format arguments
gdb/ChangeLog:
2016-04-14 Pedro Alves <palves@redhat.com>
* cli/cli-cmds.c (alias_usage_error): New function.
(alias_command): Use it.
* ctf.c (ctf_save_metadata_header): Inline metadata_fmt local in
ctf_save_write_metadata call.
commit aebf07fc1483b0bda9bbc1c0b7d7184b7e840677
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 14 12:58:03 2016 +0100
Avoid implicit float <-> integer conversion warnings
On:
$ uname -a
NetBSD gcc70.fsffrance.org 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov 6 13:19:33 UTC 2010 builds@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC amd64
With:
$ g++ -v
Using built-in specs.
Target: x86_64--netbsd
Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc4/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=x86_64-unknown-netbsd4.99.72 --host=x86_64--netbsd --target=x86_64--netbsd --enable-__cxa_atexit
Thread model: posix
gcc version 4.1.3 20080704 prerelease (NetBSD nb2 20081120)
I saw:
../../src/gdb/ada-typeprint.c: In function 'void print_fixed_point_type(type*, ui_file*)':
../../src/gdb/ada-typeprint.c:366: warning: passing 'float' for argument 2 to 'DOUBLEST ada_fixed_to_float(type*, LONGEST)'
../../src/gdb/value.c: In function 'LONGEST unpack_long(type*, const gdb_byte*)':
../../src/gdb/value.c:2833: warning: converting to 'LONGEST' from 'DOUBLEST'
../../src/gdb/value.c:2838: warning: converting to 'LONGEST' from 'DOUBLEST'
gdb/ChangeLog:
2016-04-14 Pedro Alves <palves@redhat.com>
* ada-typeprint.c (print_fixed_point_type): Don't pass float as
argument to function expecting LONGEST.
* value.c (unpack_long): Add casts to LONGEST.
commit 84865015459b4e9e8ac67f9b91617fbd856d5119
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 14 12:04:09 2016 +0100
Fix copying Solaris binaries with objcopy.
PR target/19938
bfd * elf-bbfd.h (struct elf_backend_data): New field:
elf_strtab_flags.
New field: elf_backend_set_special_section_info_and_link
* elfxx-target.h (elf_backend_strtab_flags): Define if not already
defined.
(elf_backend_set_special_section_info_and_link): Define if not
already defined.
(elfNN_bed): Use elf_backend_set_special_section_info_and_link and
elf_backend_strtab_flags macros to initialise fields in structure.
* elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
being set even if SHF_MERGE is not set.
(elf_fake_sections): Likewise.
(section_match): New function. Matches two ELF sections based
upon fixed characteristics.
(find_link): New function. Locates a section in a BFD that
matches a section in a different BFD.
(_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
fields of reserved sections.
(bfd_elf_compute_section_file_positions): Set the flags for the
.shstrtab section based upon the elf_strtab_flags field in the
elf_backend_data structure.
(swap_out_syms): Likewise for the .strtab section.
* elflink.c (bfd_elf_final_link): Set the flags for the
.strtab section based upon the elf_strtab_flags field in the
elf_backend_data structure.
* elf32-i386.c (elf32_i386_set_special_info_link): New function.
(elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
targets.
(elf_backend_set_special_section_info_and_link): Define for
Solaris targets.
* elf32-sparc.c: Likewise.
* elf64-x86-64.c: Likewise.
binutils* testsuite/binutils-all/i386/compressed-1b.d: Allow for the
string sections possibly having the SHF_STRINGS flag bit set.
* testsuite/binutils-all/i386/compressed-1c.d: Likewise.
* testsuite/binutils-all/readelf.s: Likewise.
* testsuite/binutils-all/readelf.s-64: Likewise.
* testsuite/binutils-all/x86-64/compressed-1b.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1c.d: Likewise.
gas * testsuite/gas/i386/ilp32/x86-64-unwind.d: Allow for the string
sections possibly having the SHF_STRINGS flag bit set.
* testsuite/gas/i386/x86-64-unwind.d: Likewise.
commit 8dc483a0b6cf73204ce438f4abf2efd323d97e40
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 14 10:38:05 2016 +0100
Extend PE matching regexp in PR 19457 test to match cygwin and mingw targets.
PR 19457
* testsuite/ld-scripts/script.exp (extract_symbol_test): Add
exceptions for Mingw and Cygwin.
commit 392f059f41803dccebe6bc5e56f439d4540eea6a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 14 00:00:18 2016 +0000
Automatic date update in version.in
commit 7d49b1d0b08426c650a69a6c4971cba56a4e6af1
Author: Luis Machado <lgustavo@codesourcery.com>
Date: Wed Apr 13 15:22:14 2016 -0500
Test GDB connection to GDBserver with no symbol files
This test exercises the scenarios where we attempt to connect GDB to GDBserver
in standard remote mode, query the symbol file path, attempt to open said
symbol file on GDB's end and fail, causing the connection to drop abruptly.
Regression-tested on x86-64/Ubuntu.
With an unpatched GDB we should see this:
FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=permission: connection to GDBserver succeeded (the program is no longer running)
FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=delete: connection to GDBserver succeeded (the program is no longer running)
FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=permission: connection to GDBserver succeeded (the program is no longer running)
FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=delete: connection to GDBserver succeeded (the program is no longer running)
A patched GDB should have full passes.
gdb/testsuite/ChangeLog:
2016-04-13 Luis Machado <lgustavo@codesourcery.com>
* gdb.server/connect-with-no-symbol-file.c: New file.
* gdb.server/connect-with-no-symbol-file.exp: New file.
commit 57d1de9cf3ba8dd98eaf4a3d131c05ec4c49779d
Author: Luis Machado <lgustavo@codesourcery.com>
Date: Wed Apr 13 15:17:22 2016 -0500
Debugging without a binary (regression)
When we attempt to debug a process using GDBserver in standard remote mode
without a symbol file on GDB's end, we may run into an issue where GDB cuts
the connection attempt short due to an error. The error is caused by not
being able to open a symbol file, like so:
--
(gdb) set sysroot
(gdb) tar rem :2345
Remote debugging using :2345
/proc/23769/exe: Permission denied.
(gdb) i r
The program has no registers now.
(gdb)
It should've been like this:
(gdb) set sysroot
(gdb) tar rem :2345
Remote debugging using :2345
warning: /tmp/symbol-file: Permission denied.
0xf7ddb2d0 in ?? ()
(gdb) i r
eax 0x0 0
ecx 0x0 0
edx 0x0 0
ebx 0x0 0
esp 0xffffdfa0 0xffffdfa0
ebp 0x0 0x0
esi 0x0 0
edi 0x0 0
eip 0xf7ddb2d0 0xf7ddb2d0
eflags 0x200 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb)
This is caused by a couple of function calls within exec_file_locate_attach
that can potentially throw errors.
The following patch guards both exec_file_attach and symbol_file_add_main to
prevent the errors from disrupting the connection process.
There was also a case where native GDB tripped on this problem, but it was
mostly fixed by bf74e428bca61022bd5cdf6bf28789a184748b4d.
Regression-tested on x86-64/Ubuntu.
gdb/ChangeLog:
2016-04-13 Luis Machado <lgustavo@codesourcery.com>
* exec.c (exec_file_locate_attach): Guard a couple functions
that can throw errors.
(exception_print_same): New helper function.
commit b8162e5ac9e052b2a88912b729081600972e854c
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Wed Apr 13 12:36:24 2016 -0400
Fix zero_ext documentation
This patch fixes the documentation for the zero_ext bytecode description.
It removes parts that seemed like a copy/paste from ext, since zero_ext
zeros the bits to the left.
gdb/doc/ChangeLog:
* agentexpr.texi (zero_ext): Fix zero_ext description.
commit 1adc8a9a7f48c5893c6a5e45384695732dd2f136
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Tue Apr 12 14:51:57 2016 +0200
[ARC] Fix setting private elf flags when parsing .cpu.
gas/
2016-04-12 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (mach_type_specified_p): Change type to
bfd_boolean.
(arc_option): Set private flags when parsing cpu pseudo-op.
(md_parse_option): Set mach_type_specified_p to TRUE.
commit 8392fa22d69113602407281cbb364f29557c39b1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Apr 13 10:47:29 2016 -0400
Fix and improve comment in gdb_remote_download
This patch fixes the current comment in gdb_remote_download, which is
false (the "except if that's already where it is" part). It also
improves it, by explaining why pass TOFILE through standard_output_file,
even it is an absolute path.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (gdb_remote_download): Fix and extend comment.
commit fd85a6a1f6aa4abe1c908b909fdb659ac574e5c7
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 13 15:37:55 2016 +0100
Add support to readelf for detecting and reporting Solaris specific section types and symbol visibility.
PR target/19983
* readelf.c (get_solaris_section_type): New function: Returns the
name of Solaris specific section types.
(get_solaris_dynamic_type): New function: Return the name of
Solaris specific dynamic types.
(get_dynamic_type): Use get_solaris_dynamic_type.
(get_section_type_name): Use get_solaris_section_type.
(get_solaris_symbol_visibility): New function: Returns Solaris
specific symbol visibilities.
(print_dynamic_symbol): Use get_solaris_symbol_visibility.
(process_symbol_table): Likewise.
commit 758c54957d709bdd82b16fa5ce75040abd27daac
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Apr 12 11:04:19 2016 +0100
ld/testsuite: Initialise a variable to prevent tcl errors
In some cases a variable could be left uninitialised and then an attempt
made to read this variable, resulting in a tcl error. This commit
initialises the variable in all cases.
ld/ChangeLog:
* testsuite/lib/ld-lib.exp (run_dump_test): Initialise
check_ld(terminal).
commit 8c4c4aeba6e32e3b7d0a4fbda4494b17883dd9c4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Apr 13 10:15:40 2016 -0400
gdbserver-base.exp: Copy file to standard output directory in ${board}_download
gdbserver-base.exp is used as the base for both native-gdbserver.exp and
native-extended-gdbserver.exp. (Despite its name, it should really be
considered as a "local-gdbserver-base", as it's not really appropriate to
implement a remote gdbserver board.)
Currently, the _download procedure is implemented as a no-op (it returns
the source file path). Because of the SONAME change, The fast
tracepoint tests now require the executable and the IPA
(libinproctrace.so) to be located in the same directory (see [1]). When
using the native-gdbserver board, because _download returns the original
file path, the executable does not end up in the same directory as the
library, and it fails to execute.
In more general terms, with the recent changes, the testsuite now
assumes that when it does
${board}_download <source path 1> <destination path 1>
${board}_download <source path 2> <destination path 2>
where the destination paths are relative (generally just the file name),
both files will end up in the same base directory. That assumption does
not hold for the current implementation in gdbserver-base.exp.
The proper fix would be to make native-gdbserver non-remote, so that
gdb_remote_download would not call DejaGnu's remote_download (see [2]).
We could then get rid of ${board}_download in gdbserver-base.exp.
However, that will likely take some time to complete. In the mean time,
in order to make the fast tracepoint tests pass, we can simply copy the
file to the standard output directory. Basically, it just mimics what
gdb_remote_download would do if the board wasn't flagged as remote.
Note that I missed these failures originally because I had a
libinproctrace.so in /usr/local/lib. So, even though libinproctrace.so
wasn't copied to the test output directory, it did find the one in
/usr/local/lib. It would be nice to find a way to protect against this,
as it could easily happen again...
Regtested with unix, native-gdbserver and native-extended-gdbserver, and
didn't see anything notable, except the ftrace tests now passing for
native-gdbserver.
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=6e774b13c3b81ac2599812adf058796948ce7e95
[2] https://sourceware.org/ml/gdb-patches/2016-04/msg00112.html
gdb/testsuite/ChangeLog:
* boards/gdbserver-base.exp (${board}_download): Copy source file to
standard output directory.
commit e4449be8851d12116c9ffa132da843666e332100
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 13 15:10:48 2016 +0100
oops - omitted from previous delta.
commit accc018020dd329d99b50335ad168d35650b7f09
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 13 15:09:25 2016 +0100
Fix disassembly of the V850's LD.BU instruction.
PR target/19937
opcode * v850-opc.c (v850_opcodes): Correct masks for long versions of
the LD.B and LD.BU instructions.
gas * testsuite/gas/v850/pr19937.s: New test.
* testsuite/gas/v850/pr19937.d: New test control file.
* testsuite/gas/v850/basic.exp: Run the new test.
commit 45e3745ed0e034fdec5beee0738f383bd6e2e045
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Wed Apr 13 09:40:00 2016 -0400
Fix aarch64 ftrace JIT condition testcase
This patch fixes the following failure:
FAIL: gdb.trace/trace-condition.exp: ftrace: -(21 << 1) == -42: check 10
frames were collected.
This was due to aarch64_emit_sub using the wrong order in its operands, so the
operation would end up being 42 - 0 rather than 0 - 42.
This patch also fixes the order of aarch64_emit_add for clarity.
The test case for emit_sub is fixed so that the proper order of
the operands is needed for the test to pass.
Tested on aarch64-native-extended-gdbserver.
Note: trace-condition.exp was broken a bit so I had to modify it to run
the test. A fix is coming for that in another patch.
gdb/gdbserver/ChangeLog:
* linux-aarch64-low.c (aarch64_emit_add): Switch x1 and x0.
(aarch64_emit_sub): Likewise.
gdb/testsuite/ChangeLog:
* gdb.trace/trace-condition.exp (foreach): Fix emit_sub testcase.
commit 3a00c80277a54abe0b286a6e8babc8fe50120205
Author: Pedro Alves <palves@redhat.com>
Date: Wed Apr 13 14:34:00 2016 +0100
Fix PR remote/19840: gdb crashes on reverse-stepi
Reverse debugging against a remote target that does reverse debugging
itself (with the bs/bc packets) always trips on:
(gdb) target remote localhost:...
(gdb) reverse-stepi
../../gdb/target.c:602: internal-error: default_execution_direction: to_execution_direction must be implemented for reverse async
I missed adding a to_execution_direction method to remote.c in commit
3223143295b5 (Adds target_execution_direction to make record targets
support async mode), GDB 7.4 time. Later, GDB 7.8 switched to
target-async on by default, making the regression user-visible by
default too.
Fix is simply to add the missing to_execution_direction implementation
to target remote.
Tested by Andi Kleen against Simics.
gdb/ChangeLog:
2016-04-13 Pedro Alves <palves@redhat.com>
PR remote/19840
* remote.c (struct remote_state) <last_resume_exec_dir>: New
field.
(new_remote_state): Default last_resume_exec_dir to EXEC_FORWARD.
(remote_open_1): Reset last_resume_exec_dir to EXEC_FORWARD.
(remote_resume): Store the last execution direction.
(remote_execution_direction): New function.
(init_remote_ops): Install it as to_execution_direction target_ops
method.
commit e26b7e41652e288dfdb4c48121bba470c4774150
Author: Markus Metzger <markus.t.metzger@intel.com>
Date: Wed Apr 13 14:06:51 2016 +0200
btrace: fix test build error in gdb.btrace/instruction_history.c
On systems with a newer version of GCC the gdb.btrace/instruction_history.exp
test fails to build like this:
Running .../gdb.btrace/instruction_history.exp ...
gdb compile failed, .../gdb.btrace/instruction_history.c:
In function 'main': .../gdb.btrace/instruction_history.c:24:3: warning:
implicit declaration of function 'loop' [-Wimplicit-function-declaration]
loop ();
^
Declare loop to fix it.
testsuite/
* gdb.btrace/instruction_history.c (loop): Add declaration.
commit 37ce0cc4b7bf61f4c81023a8245876b690121df5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 13 05:41:36 2016 -0700
Update x86-64 tests for --as-needed
Since compiler may pass --as-needed to ld by default, link .o file
before .so file in x86-64 tests.
PR ld/19774
* testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr17689b.o before
tmpdir/pr17689.so, fix gotpcrel1 test and add more --as-needed
tests.
commit 991f40a9fa668eb65159ee9884bf89c8cbc09f02
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 11:59:36 2016 +0100
MIPS/GAS: Correct branch relaxation for weak symbols
Weak symbols can be preempted at link time so always choose the longer
sequence in branch relaxation, according to the relaxation level chosen,
so that any symbol finally used as the branch target is reachable.
2016-04-13 Maciej W. Rozycki <macro@imgtec.com>
Andrew Bennett <andrew.bennett@imgtec.com>
gas/
* config/tc-mips.c (relaxed_branch_length): Use the long
sequence where the target is a weak symbol.
(relaxed_micromips_32bit_branch_length): Likewise.
(relaxed_micromips_16bit_branch_length): Likewise.
* testsuite/gas/mips/branch-weak-1.d: New test.
* testsuite/gas/mips/branch-weak-2.d: New test.
* testsuite/gas/mips/branch-weak-3.d: New test.
* testsuite/gas/mips/branch-weak-4.d: New test.
* testsuite/gas/mips/branch-weak-5.d: New test.
* testsuite/gas/mips/branch-weak.l: New stderr output.
* testsuite/gas/mips/branch-weak.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit c1f61bd2b0644fc710dcfbb378a63f0b34be8903
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 00:20:35 2016 +0100
MIPS/GAS: Relax branches to symbols resolved at link time
Where branch relaxation is enabled emit the long sequence for branches
whose distance cannot be determined, i.e. to symbols that are undefined
or in a different segment. These symbols are only resolved at link time
and therefore the longer sequence ensures the branch target is in range,
which cannot be guaranteed with a direct branch.
This is the opposite to the current implementation, originally proposed
here: <https://sourceware.org/ml/binutils/2002-09/msg00218.html>. The
proposal was then extensively discussed before the final version was
posted here: <https://sourceware.org/ml/binutils/2002-10/msg00191.html>
and eventually committed:
commit 4a6a3df43dbb37853a7b88b10ae97d9ec5daf987
Author: Alexandre Oliva <aoliva@redhat.com>
Date: Sat Oct 12 05:23:33 2002 +0000
The case considered here was not commented in the review however and the
original version remains. With branch relaxation enabled it makes more
sense to do it consistently, so that all code impure with respect to
branch distances can be linked. Direct branches are still produced for
the cases concerned where branch relaxation is disabled, which is the
default.
gas/
* config/tc-mips.c (relaxed_branch_length): Use the long
sequence where the distance cannot be determined.
(relaxed_micromips_32bit_branch_length): Likewise.
* testsuite/gas/mips/branch-extern-1.d: New test.
* testsuite/gas/mips/branch-extern-2.d: New test.
* testsuite/gas/mips/branch-extern-3.d: New test.
* testsuite/gas/mips/branch-extern-4.d: New test.
* testsuite/gas/mips/branch-extern.l: New stderr output.
* testsuite/gas/mips/branch-extern.s: New test source.
* testsuite/gas/mips/branch-section-1.d: New test.
* testsuite/gas/mips/branch-section-2.d: New test.
* testsuite/gas/mips/branch-section-3.d: New test.
* testsuite/gas/mips/branch-section-4.d: New test.
* testsuite/gas/mips/branch-section.l: New stderr output.
* testsuite/gas/mips/branch-section.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit d6bb17b07976ecbced934c1ad2cfec9976dbd8ce
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date: Wed Apr 13 10:56:30 2016 +0200
Add init_dwarf_regnames_s390
Define and use DWARF register names for s390.
binutils/ChangeLog:
* dwarf.h (init_dwarf_regnames_s390): Declare.
* dwarf.c (dwarf_regnames_s390): New.
(init_dwarf_regnames_s390): New.
(init_dwarf_regnames): Call it.
* objdump.c (dump_dwarf): Likewise.
commit c1b719e99465b8c888e6f7aa94739eb55adbb764
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 13 00:00:08 2016 +0000
Automatic date update in version.in
commit 8ce09462959bbc2af15e8088c5e54c8668cf8ccb
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date: Tue Apr 12 14:43:12 2016 -0400
Fix typo in ftrace.exp condition testing
This obvious patch replaces "ond" wiht "cond" as the test prefix for
conditional tests.
gdb/testsuite/ChangeLog:
* gdb.trace/ftrace.exp (proc): Change test prefix from "ond" to "cond".
commit 0f41b320edb93e2c0cdd76f218811e197156b052
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 17:49:24 2016 +0100
[C++] Switch TRY/CATCH to real C++ try/catch by default again
Now that we don't ever throw GDB exceptions from signal handlers [1],
we can switch back to having TRY/CATCH implemented in terms of C++
try/catch instead of sigjmp/longjmp.
[1] - https://sourceware.org/ml/gdb-patches/2016-03/msg00351.html
Tested on x86_64 Fedora 23, native and gdbserver.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* common/common-exceptions.h (GDB_XCPT_TRY): Update comment.
[__cplusplus] (GDB_XCPT): Define as GDB_XCPT_TRY.
commit 173981bc49c9e8fce9271cb47714952dbe2ec627
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 17:20:04 2016 +0100
Use setjmp/longjmp for TRY/CATCH instead of sigsetjmp/siglongjmp
Now that we don't ever throw GDB exceptions from signal handlers [1],
we can switch to have TRY/CATCH implemented in terms of plain
setjmp/longjmp instead of sigsetjmp/siglongjmp.
In https://sourceware.org/ml/gdb-patches/2015-02/msg00114.html, Yichun
Zhang mentions a 11%/14%+ speedup in his GDB python scripts with a
patch that did something similar to only a specific set of TRY/CATCH
calls.
[1] - https://sourceware.org/ml/gdb-patches/2016-03/msg00351.html
Tested on x86_64 Fedora 23, native and gdbserver.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* common/common-exceptions.c (struct catcher) <buf>: Now a
'jmp_buf' instead of SIGJMP_BUF.
(exceptions_state_mc_init): Change return type to 'jmp_buf'.
(throw_exception): Use longjmp instead of SIGLONGJMP.
* common/common-exceptions.h: Include <setjmp.h> instead of
"gdb_setjmp.h".
(exceptions_state_mc_init): Change return type to 'jmp_buf'.
[GDB_XCPT == GDB_XCPT_SJMP] (TRY): Use setjmp instead of
SIGSETJMP.
* cp-support.c: Include "gdb_setjmp.h".
commit 2afc13ff80492278154c0f2156a9d32dd5ba675a
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 17:17:13 2016 +0100
Eliminate prepare_to_throw_exception
No longer necessary.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* common/common-exceptions.c (exception_rethrow): Remove
prepare_to_throw_exception call.
* common/common-exceptions.h (prepare_to_throw_exception): Delete
declaration.
* exceptions.c (prepare_to_throw_exception): Delete.
gdb/gdbserver/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* utils.c (prepare_to_throw_exception): Delete.
commit cfd0fbddb025d36228d02fe23e06039acc6104e4
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
Eliminate target_check_pending_interrupt
This is no longer called anywhere.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* target.c (target_check_pending_interrupt): Delete.
* target.h (struct target_ops) <to_check_pending_interrupt>:
Remove method.
(target_check_pending_interrupt): Remove declaration.
* target-delegates.c: Regenerate.
commit 585a46a2d01d25181926329f258f1d1374f93e99
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
Eliminate immediate_quit
This finally gets rid of immediate_quit (and surrounding
infrustruture), as nothing sets it anymore.
gdb_call_async_signal_handler was only necessary in order to handle
immediate_quit. We can just call mark_async_signal_handler directly
on all hosts now.
In turn, we can clean up mingw-hdep.c's gdb_select a bit, as
sigint_event / sigint_handler is no longer needed.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* defs.h: Update comments on SIGINT handling.
(immediate_quit): Delete declaration.
* event-loop.c (call_async_signal_handler): Delete.
* event-loop.h (call_async_signal_handler): Delete declaration.
(mark_async_signal_handler): Update comments.
(gdb_call_async_signal_handler): Delete declaration.
* event-top.c (handle_sigint): Call mark_async_signal_handler
instead of gdb_call_async_signal_handler.
* exceptions.c (prepare_to_throw_exception): Remove reference to
immediate_quit.
(exception_fprintf): Remove comments about immediate_quit.
* mingw-hdep.c (sigint_event, sigint_handler): Delete.
(gdb_select): Don't wait on sigint_event.
(gdb_call_async_signal_handler): Delete.
(_initialize_mingw_hdep): Delete.
* posix-hdep.c (gdb_call_async_signal_handler): Delete.
* utils.c (immediate_quit): Delete.
commit 048094accce2110432bf7d44c34acc17865cf85a
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
target remote: Don't rely on immediate_quit (introduce quit handlers)
remote.c is the last user of immediate_quit. It's relied on to
immediately break the initial remote connection sync up, if the user
does Ctrl-C, assuming that was because the target isn't responding.
At that stage, since the connection isn't synced yet, disconnecting is
the only safe thing to do. This commit reworks that, to not rely on
throwing from the SIGINT signal handler.
So, this commit:
- Introduces the concept of a "quit handler". This is used to
override what does the QUIT macro do when the quit flag is set.
- Makes the "struct serial" reachar / write code call QUIT in the
partial read/write loops, so the current quit handler is invoked
whenever a serial->read_prim / serial->write_prim returns EINTR.
- Makes the "struct serial" reachar / write code call
interruptible_select instead of gdb_select, so that QUITs are
detected in a race-free manner.
- Stops remote.c from setting immediate_quit during the initial
connection.
- Instead, we install a custom quit handler whenever we're calling
into the serial code. This custom quit handler knows to immediately
throw a quit when we're in the initial connection setup, and
otherwise defer handling the quit/Ctrl-C request to later, when
we're safely out of a packet command/response sequence. This also
is what is now responsible for handling "double Ctrl-C because
target connection is stuck/wedged."
- remote.c no longer installs a specialized SIGINT handlers, and
instead re-uses the quit flag. Since we want to rely on the QUIT
macro, the SIGINT handler must also set the quit. And the easiest
is just to not install custom SIGINT handler in remote.c. Let the
standard SIGINT handler do its job of setting the quit flag.
Centralizing SIGINT handlers seems like a good thing to me, anyway.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* defs.h (quit_handler_ftype, quit_handler)
(make_cleanup_override_quit_handler, default_quit_handler): New.
(QUIT): Adjust comments.
* event-top.c (default_quit_handler): New function.
(quit_handler): New global.
(struct quit_handler_cleanup_data): New.
(restore_quit_handler, restore_quit_handler_dtor)
(make_cleanup_override_quit_handler): New.
(async_request_quit): Call QUIT.
* remote.c (struct remote_state) <got_ctrlc_during_io>: New field.
(async_sigint_remote_twice_token, async_sigint_remote_token):
Delete.
(remote_close): Update comments.
(remote_start_remote): Don't set immediate_quit. Set starting_up
earlier.
(remote_serial_quit_handler, remote_unpush_and_throw): New
functions.
(remote_open_1): Clear got_ctrlc_during_io. Set
remote_async_terminal_ours_p unconditionally.
(async_initialize_sigint_signal_handler)
(async_handle_remote_sigint, async_handle_remote_sigint_twice)
(remote_check_pending_interrupt, async_remote_interrupt)
(async_remote_interrupt_twice)
(async_cleanup_sigint_signal_handler, ofunc)
(sync_remote_interrupt, sync_remote_interrupt_twice): Delete.
(remote_terminal_inferior, remote_terminal_ours): Remove async
checks.
(remote_wait_as): Don't install a SIGINT handler in sync mode.
(readchar, remote_serial_write): Override the quit handler with
remote_serial_quit_handler.
(getpkt_or_notif_sane_1): Don't call QUIT.
(initialize_remote_ops): Don't install
remote_check_pending_interrupt.
(_initialize_remote): Don't create async_sigint_remote_token and
async_sigint_remote_twice_token.
* ser-base.c (ser_base_wait_for): Call QUIT and use
interruptible_select.
(ser_base_write): Call QUIT.
* ser-go32.c (dos_readchar, dos_write): Call QUIT.
* ser-unix.c (wait_for): Don't use VTIME. Always take the
gdb_select path, but call QUIT and interruptible_select.
* utils.c (maybe_quit): Call the current quit handler. Don't call
target_check_pending_interrupt.
(defaulted_query, prompt_for_continue): Override the quit handler
with the default quit handler.
commit a12ac51333cf97f4da0597d049cc694b4535e7dd
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
TUI: GC tui_target_has_run
Nothing actually uses this global.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* tui/tui-hooks.c (tui_target_has_run): Delete.
(tui_about_to_proceed): Delete.
(tui_about_to_proceed_observer): Delete.
(tui_install_hooks, tui_remove_hooks): Don't install/remove an
about_to_proceed observer.
commit 5fe966540d6b748f825774868463003700f0c878
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
Use target_terminal_ours_for_output in MI
The MI code only does output, so leave raw/cooked mode alone, as well
as the SIGINT handler. Restore terminal settings after output, while
at it. Also, a couple events missed calling target_terminal_ours
before output, even.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* mi/mi-interp.c (mi_new_thread): Put
target_terminal_ours_for_output in effect while outputting.
(mi_thread_exit): Use target_terminal_ours_for_output instead of
target_terminal_ours.
(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_solib_loaded, mi_solib_unloaded)
(mi_command_param_changed, mi_memory_changed)
(report_initial_inferior): Use target_terminal_ours_for_output
instead of target_terminal_ours. Restore terminal settings.
* mi/mi-main.c (mi_execute_command): Use
target_terminal_ours_for_output instead of target_terminal_ours.
Restore terminal settings.
commit 651ce16aa7c2bd5e9f634e91e73790dc3e01a5c0
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:32 2016 +0100
Do target_terminal_ours in query & friends instead of in all callers
Any time a caller calls query & friends / prompt_for_continue without
ensuring that gdb owns the terminal for input is a bug. So do that in
defaulted_query / prompt_for_continue directly instead.
An example of a case where we currently miss calling
target_terminal_ours is internal_error. Ever since defaulted_query
was made to use gdb_readline_callback, there's no way to answer the
internal error query if the internal error happens while the target is
has the terminal:
(gdb) c
Continuing.
.../src/gdb/linux-nat.c:1676: internal-error: linux_nat_resume: Assertion `dummy_counter < 10' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) _
Entering 'y' or 'n' does not work, GDB does not respond.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
PR gdb/19828
* gnu-nat.c (inf_validate_task_sc): Don't call
target_terminal_ours / target_terminal_inferior around query.
* i386-tdep.c (i386_record_lea_modrm, i386_process_record): Don't
call target_terminal_ours / target_terminal_inferior around
yquery.
* linux-record.c (record_linux_system_call): Don't call
target_terminal_ours / target_terminal_inferior around yquery.
* nto-procfs.c (interrupt_query): Don't call target_terminal_ours
/ target_terminal_inferior around query.
* record-full.c (record_full_check_insn_num): Remove
'set_terminal' parameter. Don't call target_terminal_ours /
target_terminal_inferior around query.
(record_full_message, record_full_registers_change)
(record_full_xfer_partial): Adjust.
* remote.c (interrupt_query): Don't call target_terminal_ours /
target_terminal_inferior around query.
* utils.c (defaulted_query): Install cleanup to restore target
terminal. Put target_terminal_ours_for_output in effect while
defaulted producing, and target_terminal_ours in in effect while
handling input.
(prompt_for_continue): Install cleanup to restore target terminal.
Put target_terminal_ours in in effect while handling input.
commit 80dbc9fdc7a7929c16f58852e45196a32877b013
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Add missing cleanups to defaulted_query and prompt_for_continue
Some of the error paths in these functions leak.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* utils.c (defaulted_query, prompt_for_continue): Free temporary
strings with cleanups, instead of xfree.
commit c5ac15402a894e87a118526a066880f596b3c78d
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Use target_terminal_ours_for_output in warning/internal_error
We're only doing output here, so leave raw/cooked mode alone, as well
as the SIGINT handler.
And restore terminal settings, while at it.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* utils.c (vwarning, internal_vproblem): Use
make_cleanup_restore_target_terminal and
target_terminal_ours_for_output.
commit f8e3ef9dc4d803729a8f0e0cafb2c995b576c44e
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Use target_terminal_ours_for_output in infcmd.c
We're only doing output here, so leave raw/cooked mode alone, as well
as the SIGINT handler.
No need to restore terminal settings, we'll set inferior modes on the
following resume.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* infcmd.c (post_create_inferior, prepare_one_step): Use
target_terminal_ours_for_output instead of target_terminal_ours.
commit 481ac8c9bbbfc4b7506dfdb4a5b92b859d5c47d9
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Use target_terminal_ours_for_output in exceptions.c
We're only doing output here, so leave raw/cooked mode alone, as well
as the SIGINT handler.
Restore terminal settings after output, while at it.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* exceptions.c (print_flush): Use target_terminal_ours_for_output
instead of target_terminal_ours, and restore target terminal with
a cleanup.
commit c509f1e1e8187e0abd2321aadc37878402c87332
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Use target_terminal_ours_for_output in cp-support.c
We're only doing output here, so leave raw/cooked mode alone, as well
as the SIGINT handler.
Restore terminal settings after output, while at it.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* cp-support.c (gdb_demangle): Use target_terminal_ours_for_output
instead of target_terminal_ours, and restore target terminal with
a cleanup.
commit 99bbb428d4412b79e59df321f9e83c13342e4612
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
ada-lang.c: Introduce type_as_string and use it
A couple wrong things here
- We should not use target_terminal_ours when all we want is output.
We should use target_terminal_ours_for_output instead, which
preserves raw/cooked terminal modes, and SIGINT forwarding.
- Most importantly, relying on stderr output immediately preceding
the error/exception print isn't correct. The exception could be
caught and handled, for example; MI frontends won't display the
stderr part in an error dialog box. Etc.
This commit introduces a type_as_string helper that allows building a
full error string including type info.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* ada-lang.c (type_as_string, type_as_string_and_cleanup): New
functions.
(ada_lookup_struct_elt_type): Use type_as_string_and_cleanup.
commit 75ee59252d49dffb017905125cdf826f89a6baf9
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Fix inconsistent handling of EINTR in ser-*.c backends
- If serial->write_prim returns EINTR, ser_bas_write returns it to the
caller. This just looks wrong to me -- part of the output may have
already been sent, and there's no way for the caller to know that,
and thus no way for a caller to handle a partial write correctly.
- While ser-unix.c:ser_unix_read_prim retries on EINTR,
ser-tcp.c:net_read_prim does not.
This commit moves EINTR handling to the ser_base_write and
ser_base_readchar level, so all serial backends (at least those that
use it) end up handling EINTR consistently.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* ser-base.c (fd_event): Retry read_prim on EINTR.
(do_ser_base_readchar): Retry read_prim on EINTR.
(ser_base_write): Retry write_prim on EINTR.
* ser-unix.c (ser_unix_read_prim): Don't retry on EINTR here.
(ser_unix_write_prim): Remove comment.
commit 93692b589dc7017d5a2fbdffdfad5f84f597d8f1
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Pass Ctrl-C to the target in target_terminal_inferior
If the user presses Ctrl-C immediately before target_terminal_inferior
is called and the target is resumed, instead of after, the Ctrl-C ends
up pending in the quit flag until the target next stops.
remote.c has this bit to handle this:
if (!target_is_async_p ())
{
ofunc = signal (SIGINT, sync_remote_interrupt);
/* If the user hit C-c before this packet, or between packets,
pretend that it was hit right here. */
if (check_quit_flag ())
sync_remote_interrupt (SIGINT);
}
But that's only reachable if async is off, while async is on by
default nowadays. It's also obviously not reacheable on native
targets.
This patch generalizes that to all targets.
We can't remove that remote.c bit yet, until we get rid of the sync
SIGINT handler though. That'll be done later in the series.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* remote.c (remote_pass_ctrlc): New function.
(init_remote_ops): Install it.
* target.c (target_terminal_inferior): Pass pending Ctrl-C to the
target.
(target_pass_ctrlc, default_target_pass_ctrlc): New functions.
* target.h (struct target_ops) <to_pass_ctrlc>: New method.
(target_pass_ctrlc, default_target_pass_ctrlc): New declarations.
* target-delegates.c: Regenerate.
commit e42de8c7f8e7326d284f8b53f3bd6971fbf6e7b7
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Decouple target_interrupt from all-stop/non-stop modes
In non-stop mode, "interrupt" results in a "stop with no signal",
while in all-stop mode, it results in a remote interrupt request /
stop with SIGINT. This is currently implemented in both the Linux and
remote target backends. Move it to the core code instead, making
target_interrupt specifically always about "Interrupting as if with
Ctrl-C", just like it is documented.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* infcmd.c (interrupt_target_1): Call target_stop is in non-stop
mode.
* linux-nat.c (linux_nat_interrupt): Delete.
(linux_nat_add_target): Don't install linux_nat_interrupt.
* remote.c (remote_interrupt_ns): Change return type to void.
Throw error if interrupting the target is not supported.
(remote_interrupt): Don't call the remote_stop_ns/remote_stop_as.
commit a149683b0c277279d892c9617233643188a34251
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:31 2016 +0100
Eliminate clear_quit_flag
Nothing calls this anymore.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* defs.h (clear_quit_flag): Remove declaration.
* extension-priv.h (struct extension_language_ops)
<clear_quit_flag>: Remove field and update comments.
* extension.c (clear_quit_flag): Delete.
* guile/guile.c (guile_extension_ops): Adjust.
* python/python.c (python_extension_ops): Adjust.
(gdbpy_clear_quit_flag): Delete.
commit da1e5f545cdb18a34d36f28350716246bc24958a
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Don't call clear_quit_flag in captured_main
This call seems pointless. For instance, a SIGINT handler is only
installed later on. And if wasn't, I can't see why we'd want to lose
a Ctrl-C request.
Getting rid of this allows getting rid of clear_quit_flag.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* main.c (captured_main): Don't clear the quit flag.
commit 0af679c6e0645a93d5a60ec936b94dc70a2f9e5c
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Don't call clear_quit_flag in prepare_to_throw_exception
I think this is reminiscent of the time when a longjmp would always
jump to the top level. Nowaways code that throw exceptions other than
a quit, which may even be caught and handled without reaching the top
level. Certainly such exceptions shouldn't clear an interrupt
request...
(We also need to get rid of prepare_to_throw_exception in order to be
able to just do "throw ex;" in C++.)
One could argue that we should clear the quit flag when we throw a
quit from the SIGINT handler, when immediate_quit is in effect, to
handle a race, here:
immediate_quit++;
QUIT;
... that's the usual pattern code must use when enabling
immediate_quit. The QUIT is there to catch the case of Ctrl-C having
already been pressed before immediate_quit was enabled. However, this
can happen:
immediate_quit++;
<< Ctrl-C pressed here too.
QUIT;
And in that case, if the quit flag was already set, it'll stay set
even after throwing a quit from the SIGINT handler. The end result is
a double quit. But OTOH, the user did press Ctrl-C two times. Since
I'm getting rid of immediate_quit, I'm not bothering with this.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* exceptions.c (prepare_to_throw_exception): Don't clear the quit
flag.
commit 4a81fd47b3052f4c1601f8eb7f7879b12e0473cd
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Don't call clear_quit_flag in command_handler
This just looks totally wrong to me, for completetly discarding a
user-requested Ctrl-C. I can't think of why we'd want do this here.
Actually, I digged the history, and found out that this has been here
since at least 7b4ac7e1ed2c (gdb-2.4, the initial revision, 1988), at
a time were we had a top level setjmp/longjmp, long before that got
wrapped in throw_exception and friends, and this code was in an
explicit loop, with the quit_flag cleared on every iteration, before
executing a command...
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* event-top.c (command_handler): Don't call clear_quit_flag.
commit abf009ef94d2f89b09767cce30bcf99224c1a0a9
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Don't call clear_quit_flag after check_quit_flag
Obviously not necessary since check_quit_flag clears the flag as side
effect.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* remote-sim.c (gdb_os_poll_quit): Don't call clear_quit_flag.
* remote.c (remote_wait_as): Don't call clear_quit_flag.
commit 6eddd09a12e752c08f55e62fbb30d42058a6b1ea
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Make Python use a struct serial event
Now that we have an abstract for wakeable events, use it instead of a
(heavier) serial pipe.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* python/python.c: Include "ser-event.h".
(gdbpy_event_fds): Delete.
(gdbpy_serial_event): New.
(gdbpy_run_events): Change prototype. Use serial_event_clear
instead of serial_readchar.
(gdbpy_post_event): Use serial_event_set instead of serial_write.
(gdbpy_initialize_events): Use make_serial_event instead of
serial_pipe.
commit f0881b37b6734328118a5683e1e18f65a8987c89
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Introduce interruptible_select
We have places where we call a blocking gdb_select expecting that a
Ctrl-C will unblock it. However, if the Ctrl-C is pressed just before
gdb_select, the SIGINT handler runs before gdb_select, and thus
gdb_select won't return.
For example gdb_readline_no_editing:
QUIT;
/* Wait until at least one byte of data is available. Control-C
can interrupt gdb_select, but not fgetc. */
FD_ZERO (&readfds);
FD_SET (fd, &readfds);
if (gdb_select (fd + 1, &readfds, NULL, NULL, NULL) == -1)
and stdio_file_read:
/* For the benefit of Windows, call gdb_select before reading from
the file. Wait until at least one byte of data is available.
Control-C can interrupt gdb_select, but not read. */
{
fd_set readfds;
FD_ZERO (&readfds);
FD_SET (stdio->fd, &readfds);
if (gdb_select (stdio->fd + 1, &readfds, NULL, NULL, NULL) == -1)
return -1;
}
return read (stdio->fd, buf, length_buf);
This is a race classically fixed with either the self-pipe trick, or
by blocking SIGINT and then using pselect instead of select.
Blocking SIGINT most of the time would mean that check_quit_flag (and
thus QUIT) would need to do a syscall every time it is called, which
sounds best avoided, since QUIT is called in many loops. Thus we take
the self-pipe trick route (wrapped in a serial event).
Instead of having all places that need this manually add an extra file
descriptor to the set of gdb_select's watched file descriptors, we
introduce a wrapper, interruptible_select, that does that.
The Windows version of gdb_select actually does not suffer from this,
because mingw-hdep.c:gdb_call_async_signal_handler sets a Windows
event that gdb_select always waits on. So this patch can be seen as
generalization of that technique. We can't remove that extra event
from mingw-hdep.c until we get rid of immediate_quit though.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* defs.h: Extend QUIT-related comments to mention
interruptible_select.
(quit_serial_event_set, quit_serial_event_clear): Declare.
* event-top.c: Include "ser-event.h" and "gdb_select.h".
(quit_serial_event): New global.
(async_init_signals): Make quit_serial_event.
(quit_serial_event_set, quit_serial_event_clear)
(quit_serial_event_fd, interruptible_select): New functions.
* extension.c (set_quit_flag): Set the quit serial event.
(check_quit_flag): Clear the quit serial event.
* gdb_select.h (interruptible_select): New declaration.
* guile/scm-ports.c (ioscm_input_waiting): Use
interruptible_select instead of gdb_select.
* top.c (gdb_readline_no_editing): Likewise.
* ui-file.c (stdio_file_read): Likewise.
commit 5cc3ce8b5fffa7413557b7e071d8471ae6e2fc88
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Fix signal handler/event-loop races
GDB's core signal handling suffers from a classical signal handler /
mainline code race:
int
gdb_do_one_event (void)
{
...
/* First let's see if there are any asynchronous signal handlers
that are ready. These would be the result of invoking any of the
signal handlers. */
if (invoke_async_signal_handlers ())
return 1;
...
/* Block waiting for a new event. (...). */
if (gdb_wait_for_event (1) < 0)
return -1;
...
}
If a signal is delivered while gdb is blocked in the poll/select
inside gdb_wait_for_event, then the select/poll breaks with EINTR,
we'll loop back around and call invoke_async_signal_handlers.
However, if the signal handler runs between
invoke_async_signal_handlers and gdb_wait_for_event,
gdb_wait_for_event will block, until the next unrelated event...
The fix is to a struct serial_event, and register it in the set of
files that select/poll in gdb_wait_for_event waits on. The signal
handlers that defer work to invoke_async_signal_handlers call
mark_async_signal_handler, which is adjusted to also set the new
serial event in addition to setting a flag, and is thus now is
garanteed to immediately unblock the next gdb_select/poll call, up
until invoke_async_signal_handlers is called and the event is cleared.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* event-loop.c: Include "ser-event.h".
(async_signal_handlers_serial_event): New global.
(async_signals_handler, initialize_async_signal_handlers): New
functions.
(mark_async_signal_handler): Set
async_signal_handlers_serial_event.
(invoke_async_signal_handlers): Clear
async_signal_handlers_serial_event.
* event-top.c (async_init_signals): Call
initialize_async_signal_handlers.
commit 00340e1b916fa2d040439b101c220fae3c5834fa
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Introduce a serial interface for select'able events
This patch adds a new "event" struct serial type, that is an
abstraction specifically for waking up blocking waits/selects,
implemented on top of a pipe on POSIX, and on top of a native Windows
event (CreateEvent, etc.) on Windows.
This will be used to plug signal handler / mainline code races.
For example, GDB can indefinitely delay handling a quit request if the
user presses Ctrl-C between the last QUIT call and the next (blocking)
gdb_select call in the event loop:
QUIT;
<<< press ctrl-c here and end up blocked in gdb_select
indefinitely.
gdb_select (...); // whoops, SIGINT was already handled, no EINTR.
A global alone (either the quit flag, or the "ready" flag of the async
signal handlers in the event loop) is not sufficient.
To plug races such as these on POSIX systems, we have to register some
waitable file descriptor in the set of files gdb_select waits on, and
write to it from the signal handler. This is classically a pipe, and
the pattern called the self-pipe trick. On Linux, it could be a more
efficient eventfd instead, but I'm sticking with a pipe for
simplifity, as we need it for portability anyway.
(Alternatively, we could use pselect/ppoll, and block signals until
the pselect. The latter is not a design I think GDB could use,
because we want the QUIT macro to be super cheap, as it is used in
loops. Plus, Windows.)
This is a "struct serial" because Windows's gdb_select relies on that.
Windows's gdb_select, our "select" replacement, knows how to wait on
all kinds of handles (regular files, pipes, sockets, console, etc.)
unlike the native Windows "select" function, which can only wait on
sockets. Each file descriptor for a "serial" type that is not
normally waitable with WaitForMultipleObjects must have a
corresponding struct serial instance. gdb_select then internally
looks up the struct serial instance that wraps each file descriptor,
and asks it for the corresponding Windows waitable handle.
We could use serial_pipe() to create a "struct serial"-wrapped pipe
that is usable everywhere, including Windows. That's what currently
python/python.c uses for cross-thread posting of events.
However, serial_write and serial_readchar are not designed to be
async-signal-safe on POSIX hosts. It's easier to bypass those when
setting/clearing the event source.
And writing and a serial pipe is a bit heavy weight on Windows.
gdb_select requires an extra thread to wait on the pipe and several
Windows events, when a single manual-reset Windows event, with no
extra thread is sufficient.
The intended usage is simply:
- Call make_serial_event to create a serial event object.
- From the signal handler call serial_event_set to set the event.
- From mainline code, have select/poll wait for serial_event_fd(), in
addition to whatever other files you're about to wait for.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* Makefile.in (SFILES): Add ser-event.c.
(HFILES_NO_SRCDIR): Add ser-event.h.
(COMMON_OBS): Add ser-event.o.
* ser-event.c, ser-event.h: New files.
* serial.c (new_serial): New function, factored out from
(serial_fdopen_ops): ... this.
(serial_open_ops_1): New function, factored out from
(serial_open): ... this.
(serial_open_ops): New function.
* serial.h (struct serial): Forware declare.
(serial_open_ops): New declaration.
commit 5f5219fc34f7557296272230123a3837960a6f09
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Remove unused struct serial::name field
Not used by anything.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* serial.c (serial_open, serial_fdopen_ops, do_serial_close):
Remove references to name.
* serial.h (struct serial) <name>: Delete.
commit acd5494dd868ae849b4544abdc50dc8b10ba6f54
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Stop remote-fileio.c from throwing from SIGINT handler
This code installs a custom signal handler that throws a quit
exception if remote_fio_no_longjmp is not set.
AFAICS, the only real reason for this might have been to unblock the
ui_file_read call, in remote_fileio_func_read. But ever since:
2009-11-13 Daniel Jacobowitz <dan@codesourcery.com>
* ui-file.c (stdio_file_read): Call gdb_select before read.
at:
https://sourceware.org/ml/gdb-patches/2009-11/msg00321.html
that call is interruptible.
This is not only useful for switching to native C++ exceptions, but
AFAICS, also fixes a potential mess up of the remote protocol
connection, since there are target_read_memory calls done while
remote_fio_no_longjmp is clear. If the user presses ctrl-c while GDB
is sending or receiving a packet, we'll stop the communication
immediately, at a point where it isn't safe.
gdbserver doesn't support the File I/O remote protocol extension so I
can't test this.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* remote-fileio.c (sigint_fileio_token, remote_fio_no_longjmp):
Delete.
(async_remote_fileio_interrupt): Delete.
(remote_fileio_ctrl_c_signal_handler): Don't call the async signal
handler. Instead just always set the ctrl_c flag.
(remote_fileio_reply): Clear remote_fio_ctrl_c_flag before
re-enabling the SIGINT handler.
(remote_fileio_func_open, remote_fileio_func_close)
(remote_fileio_func_read, remote_fileio_func_write)
(remote_fileio_func_lseek, remote_fileio_func_rename)
(remote_fileio_func_unlink, remote_fileio_func_stat)
(remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
(remote_fileio_func_isatty, remote_fileio_func_system)
(remote_fileio_request): Remove references to
remote_fio_no_longjmp.
(initialize_remote_fileio): Don't create an async signal handler.
commit d2acc30bb60357815c3965c058965d0f5313f814
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:30 2016 +0100
Don't set immediate_quit in prompt_for_continue
immediate_quit used to be necessary back when prompt_for_continue used
blocking fread, but nowadays it uses gdb_readline_wrapper, which is
implemented in terms of a nested event loop, which already knows how
to react to SIGINT:
#0 throw_it (reason=RETURN_QUIT, error=GDB_NO_ERROR, fmt=0x9d6d7e "Quit", ap=0x7fffffffcb88)
at .../src/gdb/common/common-exceptions.c:324
#1 0x00000000007bab5d in throw_vquit (fmt=0x9d6d7e "Quit", ap=0x7fffffffcb88) at .../src/gdb/common/common-exceptions.c:366
#2 0x00000000007bac9f in throw_quit (fmt=0x9d6d7e "Quit") at .../src/gdb/common/common-exceptions.c:385
#3 0x0000000000773a2d in quit () at .../src/gdb/utils.c:1039
#4 0x000000000065d81b in async_request_quit (arg=0x0) at .../src/gdb/event-top.c:893
#5 0x000000000065c27b in invoke_async_signal_handlers () at .../src/gdb/event-loop.c:949
#6 0x000000000065aeef in gdb_do_one_event () at .../src/gdb/event-loop.c:280
#7 0x0000000000770838 in gdb_readline_wrapper (prompt=0x7fffffffcd40 "---Type <return> to continue, or q <return> to quit---")
at .../src/gdb/top.c:873
The need for the QUIT in stdin_event_handler is then exposed by the
gdb.base/double-prompt-target-event-error.exp test, which has:
# We're now stopped in a pagination query while handling a
# target event (printing where the program stopped). Quitting
# the pagination should result in only one prompt being
# output.
send_gdb "\003p 1\n"
Without that change we'd get:
Continuing.
---Type <return> to continue, or q <return> to quit---PASS: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: continue to pagination
^CpQuit
(gdb) 1
Undefined command: "1". Try "help".
(gdb) PASS: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: first prompt
ERROR: Undefined command "".
UNRESOLVED: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: no double prompt
Vs:
Continuing.
---Type <return> to continue, or q <return> to quit---PASS: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: continue to pagination
^CQuit
(gdb) p 1
$1 = 1
(gdb) PASS: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: first prompt
PASS: gdb.base/double-prompt-target-event-error.exp: ctrlc target event: continue: no double prompt
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* event-top.c (stdin_event_handler): Call QUIT;
(prompt_for_continue): Don't run with immediate_quit set.
commit ab33ab13aa093778263d554dd0e702814a5a8cbd
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:29 2016 +0100
TUI: check whether in secondary prompt instead of immediate_quit
As can be seen in the tui_redisplay_readline comment:
"The command could call prompt_for_continue and we must not restore
SingleKey so that the prompt and normal keymap are used."
immediate_quit is being used as proxy for "secondary prompt".
We have a better predicate nowadays, so use it.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* tui/tui-io.c (tui_redisplay_readline): Check
gdb_in_secondary_prompt_p instead of immediate_quit.
* tui/tui.c: Include top.h.
(tui_rl_startup_hook): Check gdb_in_secondary_prompt_p instead of
immediate_quit.
commit faa4ebe148cfe83f06d881cfc80d95575d3bf746
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:29 2016 +0100
Inline command_loop in read_command_line
read_command_line is the only caller, and here we can assume we're
reading a regular file, not stdin.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* top.c (read_command_file): Inline command_loop here.
(command_loop): Delete.
commit 3212b858458dc3f2ae73e32fa066dabd56919a13
Author: Pedro Alves <palves@redhat.com>
Date: Tue Apr 12 16:49:29 2016 +0100
Don't rely on immediate_quit in command_line_input
AFAICS, immediate_quit was only needed here nowdays to be able to
interrupt gdb_readline_no_editing.
command_line_input can also take the gdb_readline_wrapper path, but
since that is built on top of the event loop (gdb_select / poll and
asynchronous signal handlers), it can be interrupted.
gdb/ChangeLog:
2016-04-12 Pedro Alves <palves@redhat.com>
* top.c: Include "gdb_select.h".
(gdb_readline_no_editing): Wait for input with gdb_select instead
of blocking in fgetc.
(command_line_input): Don't set immediate_quit.
commit f36e33dac1a97cca8f79ca8b20cf0fb05f1e25f4
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Wed Apr 6 16:08:04 2016 +0200
Add support for .extCondCode, .extCoreRegister and .extAuxRegister.
gas/
2016-04-05 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/textauxregister.d: New file.
* testsuite/gas/arc/textauxregister.s: Likewise.
* testsuite/gas/arc/textcondcode.d: Likewise.
* testsuite/gas/arc/textcondcode.s: Likewise.
* testsuite/gas/arc/textcoreregister.d: Likewise.
* testsuite/gas/arc/textcoreregister.s: Likewise.
* testsuite/gas/arc/textpseudoop.d: Likewise.
* testsuite/gas/arc/textpseudoop.s: Likewise.
* testsuite/gas/arc/ld2.d: Update test.
* testsuite/gas/arc/st.d: Likewise.
* testsuite/gas/arc/taux.d: Likewise.
* doc/c-arc.texi (ARC Directives): Add .extCondCode,
.extCoreRegister and .extAuxRegister documentation.
* config/tc-arc.c (arc_extcorereg): New function.
(md_pseudo_table): Add .extCondCode, .extCoreRegister and
.extAuxRegister pseudo-ops.
(extRegister_t): New type.
(ext_condcode, arc_aux_hash): New global variable.
(find_opcode_match): Check for extensions.
(preprocess_operands): Likewise.
(md_begin): Add aux registers in a hash.
(assemble_insn): Update use arc_flags member.
(tokenize_extregister): New function.
(create_extcore_section): Likewise.
* config/tc-arc.h (MAX_FLAG_NAME_LENGHT): Increase to 10.
(arc_flags): Delete code, add flgp.
include/
2016-04-05 Claudiu Zissulescu <claziss@synopsys.com>
* opcode/arc.h (flag_class_t): Update.
(ARC_OPCODE_NONE): Define.
(ARC_OPCODE_ARCALL): Likewise.
(ARC_OPCODE_ARCFPX): Likewise.
(ARC_REGISTER_READONLY): Likewise.
(ARC_REGISTER_WRITEONLY): Likewise.
(ARC_REGISTER_NOSHORT_CUT): Likewise.
(arc_aux_reg): Add cpu.
opcodes/
2016-04-05 Claudiu Zissulescu <claziss@synopsys.com>
* arc-dis.c (find_format): Check for extension flags.
(print_flags): New function.
(print_insn_arc): Update for .extCondCode, .extCoreRegister and
.extAuxRegister.
* arc-ext.c (arcExtMap_coreRegName): Use
LAST_EXTENSION_CORE_REGISTER.
(arcExtMap_coreReadWrite): Likewise.
(dump_ARC_extmap): Update printing.
* arc-opc.c (arc_flag_classes): Add F_CLASS_EXTEND flag.
(arc_aux_regs): Add cpu field.
* arc-regs.h: Add cpu field, lower case name aux registers.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
commit 1c2e355e4830814e18329a53d01cfa634d576211
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Wed Apr 6 16:47:56 2016 +0200
Update ARC instruction data-base.
gas/
2016-04-05 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/noargs_a7.d: New file.
* testsuite/gas/arc/noargs_a7.s: Likewise.
* testsuite/gas/arc/noargs_hs.d: Likewise.
* testsuite/gas/arc/noargs_hs.s: Likewise.
opcode/
2016-04-05 Claudiu Zissulescu <claziss@synopsys.com>
* arc-tbl.h: Add rtsc, sleep with no arguments.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
commit b99747aeed79ad69af8b8be4d9aa3a74200fca7d
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Mon Apr 4 16:03:53 2016 +0200
Add support for .extInstruction pseudo-op.
gas/
2016-04-04 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/textinsn-errors.d: New File.
* testsuite/gas/arc/textinsn-errors.err: Likewise.
* testsuite/gas/arc/textinsn-errors.s: Likewise.
* testsuite/gas/arc/textinsn2op.d: Likewise.
* testsuite/gas/arc/textinsn2op.s: Likewise.
* testsuite/gas/arc/textinsn2op01.d: Likewise.
* testsuite/gas/arc/textinsn2op01.s: Likewise.
* testsuite/gas/arc/textinsn3op.d: Likewise.
* testsuite/gas/arc/textinsn3op.s: Likewise.
* doc/c-arc.texi (ARC Directives): Add .extInstruction
documentation.
* config/tc-arc.c (arcext_section): New variable.
(arc_extinsn): New function.
(md_pseudo_table): Add .extInstruction pseudo op.
(attributes_t): New type.
(suffixclass, syntaxclass, syntaxclassmod): New constant
structures.
(find_opcode_match): Remove arc_num_opcodes.
(md_begin): Likewise.
(tokenize_extinsn): New function.
(arc_set_ext_seg): Likewise.
(create_extinst_section): Likewise.
include/
2016-04-04 Claudiu Zissulescu <claziss@synopsys.com>
* opcode/arc.h (arc_num_opcodes): Remove.
(ARC_SYNTAX_3OP, ARC_SYNTAX_2OP, ARC_OP1_MUST_BE_IMM)
(ARC_OP1_IMM_IMPLIED, ARC_SUFFIX_NONE, ARC_SUFFIX_COND)
(ARC_SUFFIX_FLAG): Define.
(flags_none, flags_f, flags_cc, flags_ccf): Declare.
(arg_none, arg_32bit_rarbrc, arg_32bit_zarbrc, arg_32bit_rbrbrc)
(arg_32bit_rarbu6, arg_32bit_zarbu6, arg_32bit_rbrbu6)
(arg_32bit_rbrbs12, arg_32bit_ralimmrc, arg_32bit_rarblimm)
(arg_32bit_zalimmrc, arg_32bit_zarblimm, arg_32bit_rbrblimm)
(arg_32bit_ralimmu6, arg_32bit_zalimmu6, arg_32bit_zalimms12)
(arg_32bit_ralimmlimm, arg_32bit_zalimmlimm, arg_32bit_rbrc)
(arg_32bit_zarc, arg_32bit_rbu6, arg_32bit_zau6, arg_32bit_rblimm)
(arg_32bit_zalimm, arg_32bit_limmrc, arg_32bit_limmu6)
(arg_32bit_limms12, arg_32bit_limmlimm): Likewise.
opcodes/
2016-04-04 Claudiu Zissulescu <claziss@synopsys.com>
* arc-opc.c (flags_none, flags_f, flags_cc, flags_ccf):
Initialize.
(arg_none, arg_32bit_rarbrc, arg_32bit_zarbrc, arg_32bit_rbrbrc)
(arg_32bit_rarbu6, arg_32bit_zarbu6, arg_32bit_rbrbu6)
(arg_32bit_rbrbs12, arg_32bit_ralimmrc, arg_32bit_rarblimm)
(arg_32bit_zalimmrc, arg_32bit_zarblimm, arg_32bit_rbrblimm)
(arg_32bit_ralimmu6, arg_32bit_zalimmu6, arg_32bit_zalimms12)
(arg_32bit_ralimmlimm, arg_32bit_zalimmlimm, arg_32bit_rbrc)
(arg_32bit_zarc, arg_32bit_rbu6, arg_32bit_zau6, arg_32bit_rblimm)
(arg_32bit_zalimm, arg_32bit_limmrc, arg_32bit_limmu6)
(arg_32bit_limms12, arg_32bit_limmlimm): Likewise.
(arc_opcode arc_opcodes): Null terminate the array.
(arc_num_opcodes): Remove.
* arc-ext.h (INSERT_XOP): Define.
(extInstruction_t): Likewise.
(arcExtMap_instName): Delete.
(arcExtMap_insn): New function.
(arcExtMap_genOpcode): Likewise.
* arc-ext.c (ExtInstruction): Remove.
(create_map): Zero initialize instruction fields.
(arcExtMap_instName): Remove.
(arcExtMap_insn): New function.
(dump_ARC_extmap): More info while debuging.
(arcExtMap_genOpcode): New function.
* arc-dis.c (find_format): New function.
(print_insn_arc): Use find_format.
(arc_get_disassembler): Enable dump_ARC_extmap only when
debugging.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
commit 37ab977937f89c6601e616085ff9702d6e727ec8
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu Mar 31 12:40:13 2016 +0200
Remove unneeded AUX register symbols.
gas/
2016-03-31 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (preprocess_operands): Mark AUX symbol.
(arc_adjust_symtab): New function.
* config/tc-arc.h (ARC_FLAG_AUX): Define.
(obj_adjust_symtab): Likewise.
* testsuite/gas/arc/taux.d: New file.
* testsuite/gas/arc/taux.s: Likewise.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
commit 2df3368d851b653880c2e3312c99eb8adf89f3db
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 11 19:41:37 2016 -0700
Properly handle dynamic reloc against normal symbol
We shouldn't issue an error for read-only segment with dynamic IFUNC
relocations when dynamic relocations are against normal symbols.
bfd/
PR ld/19939
* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
to bfd_boolean.
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
applies to read-only section.
* elf32-i386.c (elf_i386_link_hash_table): Add
readonly_dynrelocs_against_ifunc.
(elf_i386_allocate_dynrelocs): Updated.
(elf_i386_size_dynamic_sections): Issue an error for read-only
segment with dynamic IFUNC relocations only if
readonly_dynrelocs_against_ifunc is TRUE.
* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
readonly_dynrelocs_against_ifunc.
(elf_x86_64_allocate_dynrelocs): Updated.
(elf_x86_64_size_dynamic_sections): Issue an error for read-only
segment with dynamic IFUNC relocations only if
readonly_dynrelocs_against_ifunc is TRUE.
* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
Updated.
ld/
PR ld/19939
* testsuite/ld-i386/i386.exp: Run PR ld/19939 tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr19939.s: New file.
* testsuite/ld-i386/pr19939a.d: Likewise.
* testsuite/ld-i386/pr19939b.d: Likewise.
* testsuite/ld-x86-64/pr19939.s: Likewise.
* testsuite/ld-x86-64/pr19939a.d: Likewise.
* testsuite/ld-x86-64/pr19939b.d: Likewise.
commit b545ef977bd39f4351172ab73f5d7cc2508944ec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 12 00:00:09 2016 +0000
Automatic date update in version.in
commit 92708ceca544456c26b4b82e2e7fc8afcf1641c8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Mon Apr 11 17:56:01 2016 +0100
MIPS/opcodes: Fix undecoded MIPS16 extended instruction bit disassembly
Correct the disassembly of hardware don't cares in MIPS16 extended
instructions. Rather than e.g.:
0: f008 0231 addiu v0,sp,16433
4: f520 3260 sll v0,v1,-12
print:
0: f008 0231 addiu v0,sp,16401
4: f520 3260 sll v0,v1,20
respectively instead.
opcodes/
* mips-dis.c (print_mips16_insn_arg): Mask unused extended
instruction bits out.
binutils/
* testsuite/binutils-all/mips/mips16-undecoded.d: New test.
* testsuite/binutils-all/mips/mips16-undecoded.s: New test
source.
* testsuite/binutils-all/mips/mips.exp: Run the new test.
commit 994aad6437e82ba41192b2235aed5adad61331fd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 11 00:00:17 2016 +0000
Automatic date update in version.in
commit 93e6fe04ccb4008f14e3584bb1e86b2d04c9234c
Author: Oleg Endo <olegendo@gcc.gnu.org>
Date: Sun Apr 10 11:00:01 2016 +0900
Fix primary reason why the SH simulation hasn't been working on 64 bit hosts.
sim/sh/
* interp.c (dmul): Split into dmul_s and dmul_u. Use explicit integer
width types and simplify implementation.
* gencode.c (dmuls.l, dmulu.l): Use new functions dmul_s and dmul_u.
commit ba442f0f41a57ee9a3f0c7f574500f2bda896d08
Author: Oleg Endo <olegendo@gcc.gnu.org>
Date: Sun Apr 10 10:53:20 2016 +0900
Move ChangeLog entries from sim/ChangeLog to sim/sh/ChangeLog.
commit 454540b959fad8b3218c98c9d85f7483e82fd8f1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 10 00:00:25 2016 +0000
Automatic date update in version.in
commit 41a1578ed17cdd7c01c38389ac7c714c4f15cbf8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 21:35:50 2016 +0100
MIPS/GAS: Sanitize `.option picX' pseudo-op
gas/
* config/tc-mips.c (s_option): Sanitize `.option picX'
pseudo-op.
* testsuite/gas/mips/option-pic-1.d: New test.
* testsuite/gas/mips/option-pic-2.l: New list test.
* testsuite/gas/mips/option-pic-1.s: New test source.
* testsuite/gas/mips/option-pic-2.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 668c5ebc0937ab5288d831d65de3057e56e2763f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 21:23:40 2016 +0100
MIPS/GAS: Disallow `.option picX' with VxWorks PIC
gas/
* config/tc-mips.c (s_option): Reject `.option picX' if VxWorks
PIC.
* testsuite/gas/mips/option-pic-vxworks-1.l: New list test.
* testsuite/gas/mips/option-pic-vxworks-2.l: New list test.
* testsuite/gas/mips/option-pic-vxworks-1.s: New test source.
* testsuite/gas/mips/option-pic-vxworks-2.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 2e88a1ea30deecac47d89b03f6d60ca04245c36f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sat Apr 9 08:41:41 2016 -0400
gdb.python/py-mi-events-gdb.py: Add parentheses to print
Required for Python 3
gdb/testsuite/ChangeLog:
* gdb.python/py-mi-events-gdb.py (signal_stop_handler): Add
parentheses to print.
(continue_handler): Likewise.
commit 41065f5e080b6e8521e49cfd5bb3fb0db49aa71d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 13:27:30 2016 +0100
MIPS/GAS: Correct call formatting in `can_swap_branch_p'
gas/
* config/tc-mips.c (can_swap_branch_p): Correct call formatting.
commit 08918cc8c5eec064009133d8e0458de86805ed08
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 13:22:54 2016 +0100
GAS: Fix a typo in `as_bad' description
gas/
* messages.c (as_bad): Fix a typo in description.
commit 1357373c1dbb3dc33952b0c74c80a0fff6d508ef
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 13:19:00 2016 +0100
MIPS/GAS: Unify messages in `mips_check_options'
gas/
* config/tc-mips.c (mips_check_options): Unify messages.
commit 5f4678bb694d1fbb6080fd414c27dd8483a4dc68
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Apr 9 12:55:09 2016 +0100
MIPS/GAS: Use `opts->isa' consistently in `mips_check_options'
gas/
* config/tc-mips.c (mips_check_options): Use `opts->isa'
consistently.
commit 417a667c4afc1e04ba2caadc3f4051e0590585bb
Author: Oleg Endo <olegendo@gcc.gnu.org>
Date: Sat Apr 9 10:24:00 2016 +0900
Adjust default memory size and stack base address for SH simulator.
ld/ChangeLog:
* sh/interp.c (sim_memory_size): Default init to 30.
(parse_and_set_memory_size): Adjust upper bound to 31.
sim/ChangeLog:
* sh/interp.c (sim_memory_size): Default init to 30.
(parse_and_set_memory_size): Adjust upper bound to 31.
commit 9f5a6a60d9858f54d95443a2adf7d8077ee1528b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 9 00:00:22 2016 +0000
Automatic date update in version.in
commit f48e22e3f2fdbe540a807b3ef2e9b5d3b08616e3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Fri Apr 8 18:45:29 2016 -0400
Make gdb.server/solib-list.exp work for remote targets
There are a few small changes needed to make it work with a real remote
target.
- Remove the [is_remote target] check.
- Remove soname setting when building the lib, it's done by default now
anyway.
- In the compilation of the executable, pass the shared lib using the
shlib option, so that RPATH is set.
- Download the program to the target using gdb_remote_download, and
record the remote path. Remove loading of the program using
gdb_load_shlibs, which was not really appropriate anyway.
- Run the remote path through readlink (see comment in the code).
- Start gdbserver with the remote path.
Also, don't set executable and objfile variables, as they are unused.
Tested with native, native-gdbserver, native-extended-gdbserver, and a
remote gdbserver.
gdb/testsuite/ChangeLog:
* gdb.server/solib-list.exp: Remove is_remote check.
Pass shlib= to gdb_compile. Don't link shared library with
-soname. Call gdb_remote_download instead of gdb_load_shlibs.
Run binary filename through "readlink -f" on the target.
commit 096be756aa7f10f1c757e4dcc216bf0076a194ea
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 7 23:36:50 2016 +0100
Fix gdb.server/solib-list.exp regression
Commit 7817ea46148d (Improve gdb_remote_download, remove gdb_download)
caused:
FAIL: gdb.server/solib-list.exp: non-stop 0: target extended-remote (timeout)
FAIL: gdb.server/solib-list.exp: non-stop 0: continue (the program is no longer running)
FAIL: gdb.server/solib-list.exp: non-stop 0: p libvar
FAIL: gdb.server/solib-list.exp: non-stop 1: target extended-remote (timeout)
FAIL: gdb.server/solib-list.exp: non-stop 1: continue (the program is no longer running)
FAIL: gdb.server/solib-list.exp: non-stop 1: p libvar
gdb.log shows:
system interpreter is: /lib64/ld-linux-x86-64.so.2
...
spawn ../gdbserver/gdbserver --once :2347 /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.server/solib-list/ld-linux-x86-64.so.2 /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.server/solib-list/solib-list
Process /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.server/solib-list/ld-linux-x86-64.so.2 created; pid = 18637
Cannot exec /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.server/solib-list/ld-linux-x86-64.so.2: No such file or directory.
...
The test copied the interpreter to the outputs directory, however
ld-linux-x86-64.so.2 is a relative symlink that when copied points
nowhere:
$ ls -l testsuite/outputs/gdb.server/solib-list/
total 52
-rwxrwxr-x. 1 pedro pedro 13450 Apr 7 10:52 gdb.log
-rw-rw-r--. 1 pedro pedro 1512 Apr 7 10:52 gdb.sum
lrwxrwxrwx. 1 pedro pedro 10 Apr 7 11:39 ld-linux-x86-64.so.2 -> ld-2.22.so
-rwxrwxr-x. 1 pedro pedro 9464 Apr 7 11:39 solib-list
-rw-rw-r--. 1 pedro pedro 3472 Apr 7 11:39 solib-list-lib.c.o
-rw-rw-r--. 1 pedro pedro 2760 Apr 7 11:39 solib-list.o
-rwxrwxr-x. 1 pedro pedro 9232 Apr 7 11:39 solib-list.so
The copying comes from gdbserver_spawn ->
gdbserver_download_current_prog -> gdb_remote_download.
There's actually no need to download the interpreter to the target -
it's part of the target system/environment. So fix this by making the
test just not use gdb_load (and gdb_file_cmd as consequence) at all,
and instead pass the interpreter filename to gdbserver as an argument.
gdb/testsuite/ChangeLog:
2016-04-08 Pedro Alves <palves@redhat.com>
* gdb.server/solib-list.exp: Don't use gdb_load. Instead pass the
interpreter filename as argument to gdbserver_spawn.
* lib/gdbserver-support.exp (gdbserver_download_current_prog):
Return empty if $last_loaded_file does not exist.
commit 4bf7b526bed1c86b1f20b18e642865f446751e06
Author: Martin Galvan <martin.galvan@tallertechnologies.com>
Date: Fri Apr 8 15:05:45 2016 -0300
value: Make accessor methods' parameters const-correct
I did a quick pass over value.c and value.h and made some of the accessor methods'
pass-by-reference parameters const-correct. Besides the obvious benefits, this is
required if we want to use them on values that are already declared as const
(such as the parameters to lval_funcs).
There's probably a lot more stuff that can be made const, here and elsewhere.
gdb/ChangeLog:
2016-04-08 Martin Galvan <martin.galvan@tallertechnologies.com>
* value.c (value_next): Make pass-by-reference parameters const-correct.
(value_parent): Likewise.
(value_enclosing_type): Likewise.
(value_lazy): Likewise.
(value_stack): Likewise.
(value_embedded_offset): Likewise.
(value_pointed_to_offset): Likewise.
(value_raw_address): Likewise.
(deprecated_value_modifiable): Likewise.
(value_free_to_mark): Likewise.
(value_release_to_mark): Likewise.
(internalvar_name): Likewise.
(readjust_indirect_value_type): Likewise.
(value_initialized): Likewise.
* value.h (value_next): Likewise.
(value_parent): Likewise.
(value_enclosing_type): Likewise.
(value_lazy): Likewise.
(value_stack): Likewise.
(value_embedded_offset): Likewise.
(value_pointed_to_offset): Likewise.
(value_raw_address): Likewise.
(deprecated_value_modifiable): Likewise.
(value_free_to_mark): Likewise.
(value_release_to_mark): Likewise.
(internalvar_name): Likewise.
(readjust_indirect_value_type): Likewise.
(value_initialized): Likewise.
commit 136a43b762ce7bc692645cc0d9d50c934f9aa392
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 8 17:52:03 2016 +0930
PR18452, ld allows overlapping sections
PR 18452
* ldlang.c (maybe_overlays): Delete.
(lang_size_sections_1): Remove code setting maybe_overlays.
(lang_check_section_addresses): Instead detect overlays by
exact match of section VMAs here. Fix memory leak.
commit 065005336492337c92d06e87544646635a5b9566
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri Apr 8 15:38:53 2016 +0200
testsuite: Fix for gcc-4.8: gdb.base/jit.exp gdb.base/jit-so.exp
on CentOS-7.2 I get
Running /home/jkratoch/redhat/gdb-test-reg/gdb/testsuite/gdb.base/jit.exp ...
FAIL: gdb.base/jit.exp: one_jit_test-1: continue to breakpoint: break here 2 (the program exited)
FAIL: gdb.base/jit.exp: one_jit_test-2: continue to breakpoint: break here 2 (the program exited)
FAIL: gdb.base/jit.exp: attach: one_jit_test-2: continue to breakpoint: break here 2 (the program exited)
FAIL: gdb.base/jit.exp: attach: one_jit_test-2: break here 2: set var wait_for_gdb = 1
FAIL: gdb.base/jit.exp: attach: one_jit_test-2: break here 2: detach (the program is no longer running)
FAIL: gdb.base/jit.exp: attach: one_jit_test-2: break here 2: attach
FAIL: gdb.base/jit.exp: attach: one_jit_test-2: break here 2: set var wait_for_gdb = 0
FAIL: gdb.base/jit.exp: PIE: one_jit_test-1: continue to breakpoint: break here 2 (the program exited)
Running /home/jkratoch/redhat/gdb-test-reg/gdb/testsuite/gdb.base/jit-so.exp ...
FAIL: gdb.base/jit-so.exp: one_jit_test-1: continue to breakpoint: break here 2 (the program exited)
FAIL: gdb.base/jit-so.exp: one_jit_test-2: continue to breakpoint: break here 2 (the program exited)
since:
85af34ee0211eedf8d30a5c44dfc59dddf8b512a is the first bad commit
commit 85af34ee0211eedf8d30a5c44dfc59dddf8b512a
Author: Pedro Alves <palves@redhat.com>
Date: Thu Mar 31 19:28:47 2016 +0100
Add regression test for PR gdb/19858 (JIT code registration on attach)
The compiled code's .debug_line is wrong (for the simplistic approach of GDB
to put a breakpoint on the first address belonging to that source line) and so
GDB misses the breakpoint at the last line:
WAIT_FOR_GDB; return 0; /* gdb break here 2 */
Most of the patch is just about reindentation, no changes there.
gdb/testsuite/ChangeLog
2016-04-08 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compatibility with gcc-4.8.5-4.el7.x86_64.
* gdb.base/jit-main.c: Use exit after usage.
commit 992dc2c47069220ce5a94829a8d8fed3ee72a1d0
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 8 10:36:49 2016 +0100
Fix regexps in PR19910 test to cope with COFF and AOUT sparc targets.
PR target/19910
* testsuite/gas/sparc/pr19910-1.d: Adjust regexps to work with
COFF and AOUT sparc targets.
commit 953dd97e56b6ded32449f6bee805019d0e59552f
Author: Dan Gisselquist <dgisselq@ieee.org>
Date: Thu Apr 7 22:27:47 2016 +0930
Show sizes in linker map in target machine address units
* ldlang.c (print_output_section_statement): Show minfo size
in target machine address units.
(print_reloc_statement): Likewise.
(print_padding_statement): Likewise.
(print_data_statement): Likewise. Ensure minimum print_dot
increment of one address unit.
commit 20591916303a69d1137d635173421a27bdbdac56
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 8 00:00:22 2016 +0000
Automatic date update in version.in
commit 2d35e871274a48331c4d6c7b3e4fbee42b901f33
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Thu Apr 7 22:18:49 2016 +0200
testsuite: Fix false FAILs with .bashrc GDBHISTFILE=...
$ GDBHISTFILE=/tmp/gdbhistfile runtest gdb.base/gdbhistsize-history.exp gdb.base/gdbinit-history.exp
Running ./gdb.base/gdbinit-history.exp ...
FAIL: gdb.base/gdbinit-history.exp: home=gdbinit-history/unlimited gdbhistsize=1000: show commands
FAIL: gdb.base/gdbinit-history.exp: home=gdbinit-history/unlimited gdbhistsize=foo: show commands
Running ./gdb.base/gdbhistsize-history.exp ...
FAIL: gdb.base/gdbhistsize-history.exp: histsize=: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=20: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize= 20 : show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=-5: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=not_an_integer: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=10zab: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=-5ab: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=99999999999999999999999999999999999: show commands
FAIL: gdb.base/gdbhistsize-history.exp: histsize=50: show commands
This happens for my setup due to my:
$ grep GDB ~/.bashrc
export GDBHISTFILE="$HOME/.gdb_history"
gdb/testsuite/ChangeLog
2016-04-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gdbhistsize-history.exp: Save and unset GDBHISTFILE and
GDBHISTSIZE prior to the tests.
* gdb.base/gdbinit-history.exp: Likewise.
commit 9553661a5f8fb5f82846a04a02b7db8476d986e0
Author: Pedro Alves <palves@redhat.com>
Date: Thu Apr 7 19:28:40 2016 +0100
Fix gdb.compile/compile.exp shlib regression
Commit 6e774b13c3b8 (Make ftrace tests work with remote targets) made
a few gdb.compile/compile.exp tests disappear:
-PASS: gdb.compile/compile.exp: call shared library function
-PASS: gdb.compile/compile.exp: expect 1
-PASS: gdb.compile/compile.exp: modify shared library variable
-PASS: gdb.compile/compile.exp: expect 15
This is because the test uses ldflags instead of using the shlib
option, so it misses linking with -rpath, resulting in:
(gdb) run
Starting program: .../compile/compile-shlib
.../compile/compile-shlib: error while loading shared libraries: compile-shlib.so: cannot open shared object file: No such file or directory
[Inferior 1 (process 18014) exited with code 0177]
We were missing a gdb_load_shlibs call, which is needed for remote
testing.
gdb/testsuite/ChangeLog:
2015-04-07 Pedro Alves <palves@redhat.com>
* gdb.compile/compile.exp: Use gdb_compile with "shlib=" option
instead of build_executable. Use gdb_load_shlibs.
commit a42a4f8400ee232ceed5ecceb61873195984f1d9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 23:05:09 2016 +0100
arc/nps400: Add new instructions
Add some new control instructions to the opcodes library, and a new test
for these new instructions to the assembler. The new instructions use
an instruction flag longer than any seen before (on arc), and so the max
flag length is extended to accommodate this.
gas/ChangeLog:
* config/tc-arc.h (MAX_FLAG_NAME_LENGTH): Increase to 7.
* testsuite/gas/arc/nps400-2.d: New file.
* testsuite/gas/arc/nps400-2.s: New file.
opcodes/ChangeLog:
* arc-nps400-tbl.h: Add schd, sync, and hwschd instructions.
* arc-opc.c (arc_flag_operands): Add new flags.
(arc_flag_classes): Add new classes.
commit 1328504b287b2c284419d989e0d05e7d6d3ffa59
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 17:08:29 2016 +0100
gas/arc: Handle multiple arc_opcode chains for same mnemonic
This commit completes support for having multiple instructions with the
same mnemonic in non-contiguous blocks within the arc_opcodes table.
The commit adds an iterator mechanism for the arc_opcode_hash_entry
structure, which is then used in find_opcode_match to consider all
arc_opcode entries with the same mnemonic, even when these instructions
are stored in non-contiguous blocks.
I extend the comment on the arc_opcodes table to discuss how entries
within the table are organised, and to mention how instructions can be
split into multiple groups if needed, but that the table is still
searched in table order.
There should be no user visible changes after this commit.
gas/ChangeLog:
* config/tc-arc.c (struct arc_opcode_hash_entry_iterator): New
structure.
(arc_opcode_hash_entry_iterator_init): New function.
(arc_opcode_hash_entry_iterator_next): New function.
(find_opcode_match): Iterate over all arc_opcode entries
referenced by the arc_opcode_hash_entry passed in as a parameter.
opcodes/ChangeLog:
* arc-opc.c (arc_opcodes): Extend comment to discus table layout.
commit b9b47ab79f7c3de0537cacfac061560d5811a84a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 16:04:58 2016 +0100
gas/arc: Additional work to support multiple arc_opcode chains
Building on earlier commits, this commit moves along support for having
multiple arc_opcode entries in the arc_opcodes table that have the same
mnemonic (name) field, but are not stored in a contiguous block in the
table.
In this commit we support looking up the arc_opcode_hash_entry from the
hash table, and passing this along to the find_opcode_match function,
which then finds the specific arc_opcode that we're assembling. We
still don't actually support the multiple chains of arc_opcode entries
in this commit, but the limitation is now isolated to the
find_opcode_match function.
There is no user visible change after this commit.
gas/ChangeLog:
* config/tc-arc.c (arc_find_opcode): Now returns
arc_opcode_hash_entry pointer.
(find_opcode_match): Update argument type, extract arc_opcode from
incoming arc_opcode_hash_entry.
(find_special_case_pseudo): Update return type.
(find_special_case_flag): Update return type.
(find_special_case): Update return type.
(assemble_tokens): Lookup arc_opcode_hash_entry based on
instruction mnemonic, then use find_opcode_match to identify
specific arc_opcode.
commit da5be03929920c8aed305f9ffac19ce37177b3c6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 14:27:43 2016 +0100
gas/arc: Modify structure used to hold opcodes
The arc assembler builds a hash table to hold references to arc_opcode
entries in the arc_opcodes table. This hash assumes that each mnemonic
will always appear in a contiguous blocks within the arc_opcodes table;
all ADD instruction will be together, all AND instructions will likewise
be together and so on.
The problem with this is that as different variations of arc are added,
then it is often more convenient to split instructions apart, so all the
base ADD instructions are together, but, variants of ADD specific to one
variation of arc are grouped with other instructions specific to that
arc variant. The current data structures don't support splitting the
instructions in this way.
This commit is a first step towards addressing this limitation. In this
commit the hash table that currently holds arc_opcode pointers directly,
instead holds a pointer to a new, intermediate, data structure. This
new data structure holds the pointer to the arc_opcode. In this way, we
can, in the future support having the intermediate structure hold
multiple pointers to different arc_opcode groups.
There should be no visible functional change after this commit.
gas/ChangeLog:
* config/tc-arc.c (struct arc_opcode_hash_entry): New structure.
(arc_find_opcode): New function.
(find_special_case_pseudo): Use arc_find_opcode.
(find_special_case_flag): Likewise.
(assemble_tokens): Likewise.
(md_begin): Build hash using struct arc_opcode_hash_entry.
commit c8064e7e9b4d7d9cc29a613af899a7739df60be6
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Apr 7 17:06:14 2016 +0100
Fix gdb.reverse/finish-reverse-bkpt.exp
I see the following fail on aarch64-linux
break void_func
Breakpoint 2 at 0x4007a0: file gdb/testsuite/gdb.reverse/finish-reverse.c, line 44.
(gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: set breakpoint on void_func
continue
Continuing.
Breakpoint 2, void_func () at gdb/testsuite/gdb.reverse/finish-reverse.c:44^M
44 void_test = 1; /* VOID FUNC */^M
(gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: continue to breakpoint: void_func
break *void_func^M
Note: breakpoint 2 also set at pc 0x4007a0.^M
Breakpoint 3 at 0x4007a0: file gdb/testsuite/gdb.reverse/finish-reverse.c, line 44.
(gdb) PASS: gdb.reverse/finish-reverse-bkpt.exp: set breakpoint at void_func's entry
reverse-finish^M
Run back to call of #0 void_func () at gdb/testsuite/gdb.reverse/finish-reverse.c:44
main (argc=1, argv=0x7ffffffb78) at gdb/testsuite/gdb.reverse/finish-reverse.c:98
98 void_func (); /* call to void_func */^M
(gdb) FAIL: gdb.reverse/finish-reverse-bkpt.exp: reverse-finish from void_func trips breakpoint at entry
The test assumes that brekapoints on "void_func" and "*void_func" are
set on different places because of function prologue. However, on
aarch64-linux, there is no prologue in void_func, so two breakpoints
are set at the same place (0x4007a0).
(gdb) disassemble void_func
Dump of assembler code for function void_func:
0x00000000004007a0 <+0>: adrp x0, 0x410000
0x00000000004007a4 <+4>: add x0, x0, #0xc14
0x00000000004007a8 <+8>: mov w1, #0x1
0x00000000004007ac <+12>: str w1, [x0]
0x00000000004007b0 <+16>: ret
The fix to this problem is to single step forward before setting
breakpoint on *void_func.
gdb/testsuite:
2016-04-07 Yao Qi <yao.qi@linaro.org>
* gdb.reverse/finish-reverse-bkpt.exp: Use temporary breakpoint.
Execute "si" command.
commit bde475616e3fdb6d41c047956aaf627fbf34a85d
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Apr 7 16:57:09 2016 +0100
Fix gdb.reverse/next-reverse-bkpt-over-sr.exp
I see the fail on aarch64-linux,
(gdb) reverse-next
Breakpoint 2, callee () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c:26^M
26 myglob++; return 0; /* ARRIVED IN CALLEE */
(gdb) FAIL: gdb.reverse/next-reverse-bkpt-over-sr.exp: reverse-next over call trips user breakpoint at function entry
The test expects program stops at line 25, but program stops at line 26.
(gdb) maintenance info line-table
objfile: /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.reverse/next-reverse-bkpt-over-sr/next-reverse-bkpt-over-sr ((struct objfile *) 0x613000002880)
compunit_symtab: ((struct compunit_symtab *) 0x621000121760)
symtab: /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/step-reverse.c ((struct symtab *) 0x6210001217e0)
linetable: ((struct linetable *) 0x6210001520d0):
INDEX LINE ADDRESS
0 25 0x0000000000400890
1 26 0x0000000000400890
2 27 0x00000000004008b0
(gdb) disassemble callee
Dump of assembler code for function callee:
0x0000000000400890 <+0>: adrp x0, 0x410000
0x0000000000400894 <+4>: add x0, x0, #0xcac
the line-table show that the first instruction of function callee is
mapped line 25 and 26. I am not sure the line-table is correct, but
it is not the point of this test. The goal of this test is to test
program hits the breakpoint on the first instruction of function after
'reverse-next', so I change this test to expect the breakpoint number
the program hits.
gdb/testsuite:
2016-04-07 Yao Qi <yao.qi@linaro.org>
* gdb.reverse/next-reverse-bkpt-over-sr.exp: Match the breakpoint
number instead of the comments on some line.
commit e390720bdc6ddee752992537259d18d1ae8d2eb1
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Apr 7 16:47:26 2016 +0100
Make breakpoint handling in record-full idempotent
Some test fails in gdb.reverse/break-reverse.exp on arm-linux lead me
seeing the following error message,
continue^M
Continuing.^M
Cannot remove breakpoints because program is no longer writable.^M
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Further execution is probably impossible.^M
^M
Breakpoint 3, bar () at /home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.reverse/break-reverse.c:22^M
22 xyz = 2; /* break in bar */^M
(gdb) PASS: gdb.reverse/break-reverse.exp: continue to breakpoint: bar backward
this is caused by two entries in record_full_breakpoints, and their addr
is the same, but in_target_beneath is different.
during the record, we do continue,
Continuing.
infrun: clear_proceed_status_thread (Thread 13772.13772)
infrun: proceed (addr=0xffffffff, signal=GDB_SIGNAL_DEFAULT)
infrun: step-over queue now empty
infrun: resuming [Thread 13772.13772] for step-over
infrun: skipping breakpoint: stepping past insn at: 0x8620
Sending packet: $Z0,85f4,4#1d...Packet received: OK <----
.....
Sending packet: $vCont;c#a8...infrun: target_wait (-1.0.0, status) =
infrun: -1.0.0 [process -1],
infrun: status->kind = ignore
infrun: TARGET_WAITKIND_IGNORE
infrun: prepare_to_wait
infrun: target_wait (-1.0.0, status) =
infrun: -1.0.0 [process -1],
infrun: status->kind = ignore
infrun: TARGET_WAITKIND_IGNORE
infrun: prepare_to_wait
Packet received: T05swbreak:;0b:9cf5ffbe;0d:9cf5ffbe;0f:f4850000;thread:p35cc.35cc;core:1;
Sending packet: $Z0,85f4,4#1d...Packet received: OK <-----
....
Sending packet: $z0,85f4,4#3d...Packet received: OK <-----
we can see breakpoint on 0x85f4 are inserted *twice*, but only removed
once. That is fine to remote target, because Z/z packets are
idempotent, but there is a leftover in record_full_breakpoints
in record-full target. The flow can be described as below,
record_full_breakpoints remote target
-----------------------------------------------------------------------
forward execution, continue, in_target_beneath 1 breakpoint inserted
insert breakpoints on 0x85f4 in_target_beneath 1
twice
program stops,
remove breakpoint on 0x85f4 in_target_beneath 1 breakpoint removed
reverse execution, continue, in_target_beneath 1 none is requested
insert breakpoints on 0x85f4, in_target_beneath 0
program stops,
remote breakpoint on 0x85f4, in_target_beneath 0 request to remove,
but GDBserver
doesn't know
now, the question is why breakoint on 0x85f4 is inserted twice? One
is the normal breakpoint, and the other is the single step breakpoint.
GDB inserts single step breakpoint to do single step. When program
stops at 0x85f4, both of them are set on 0x85f4, and GDB deletes
single step breakpoint, so in update_global_location_list, this
breakpoint location is no longer found, GDB call
force_breakpoint_reinsertion to mark it condition_updated, and insert
it again.
The reason force_breakpoint_reinsertion is called to update the
conditions in the target side, because the conditions may be
changed. My original fix is to not call force_breakpoint_reinsertion
if OLD_LOC->cond is NULL, but it is not correct if another location
on the same address has condition, GDB doesn't produce condition for
target side, but GDB should do.
Then, I change my mind back to make record-full handling breakpoint
idempotent, to align with remote target. Before insert a new entry
into record_full_breakpoints, look for existing one on the same
address first. I also add an assert on
"bp->in_target_beneath == in_target_beneath", to be safer.
gdb:
2016-04-07 Yao Qi <yao.qi@linaro.org>
* record-full.c (record_full_insert_breakpoint): Return
early if entry on the address is found in
record_full_breakpoints.
commit 1ccd06e498586b39f06447cbf3f2fad50120fde6
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Apr 7 16:47:26 2016 +0100
Set bp_tgt->reqstd_address and bp_tgt->placed_size in record_full_insert_breakpoint
I notice that bp_tgt won't be fully initialized if to_insert_breakpoint
isn't called in record_full_insert_breakpoint, and bp_tgt->reqstd_address
is zero, so an entry is added to record_full_breakpoints, but its address
is zero, which is wrong. This patch is to call gdbarch_breakpoint_from_pc
in the else branch to set bp_tgt->reqstd_address and bp_tgt->placed_size.
gdb:
2016-04-07 Yao Qi <yao.qi@linaro.org>
* record-full.c (record_full_insert_breakpoint): Set
bp_tgt->reqstd_address and bp_tgt->placed_size.
commit 1a295c62e0ad0b5342fd5b2889d64087be0b5edb
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Apr 7 16:17:08 2016 +0100
ld/arc: Make little endian default choice for linker scripts
When building with --enable-targets=all the target string is not set to
something that matches the pattern arc*-*, and so the script used to
decide if we should build big or little endian linker script currently
exits with an error.
This commit makes little endian linker script be the default, which will
be used when building for all targets, this matches the behaviour from
before I made the endianness switchable, when we only ever built little
endian linker scripts anyway.
ld/ChangeLog:
* emulparams/arc-endianness.sh: Make little endian default choice.
commit abe051ba82bee9eebbc5149a3b62b057f2d8b14a
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 7 23:13:14 2016 +0930
Fix gas/ChangeLog
commit e6ba1cbaf890ca2c7bd3383bdf5d5a8c367824a1
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date: Thu Apr 7 14:01:17 2016 +0200
[ARC] Prepare strings for automatic translation.
gas/
2016-04-07 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (arc_option): Prepare string for automatic
translation.
(declare_register): Likewise.
commit b607cde1aa3b1ff395a92790fbcdce18a22b059b
Author: James Greenhalgh <james.greenhalgh@arm.com>
Date: Thu Apr 7 13:29:50 2016 +0100
Update AArch64 documentation regarding architecture extensions.
* doc/c-aarch64.texi (Architecture Extensions): Add entry for LSE.
Correct entry for RDMA. Alpha sort entries.
commit 692166c24476b9123ca7dbb999e458a1f7fa2faa
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 22:51:12 2016 +0100
gas/arc: Allow greater range of characters into flag names
An upcoming commit will add a new arc instruction flag that uses
characters that have never appeared in an arc instruction flag before.
Currently the assembler is very conservative about which characters can
or cannot appear in an instruction flag.
This commit relaxes these constraints a little. After this commit all
alpha-numeric characters are now allowed into instruction flags. This
complete set is not required for the upcoming change, however, having
this slightly larger set does not impact the assemblers ability to
correctly parse input, but does make it easier to add new flag to the
instruction table.
gas/ChangeLog:
* config/tc-arc.c (tokenize_flags): Allow greater range of
characters into flag names.
commit 22b92fc42c444bf39044911e8873b42fd3df81ed
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Mar 28 15:49:25 2016 +0100
gas/arc: Remove preprocess_operands function
The preprocess_operands function changes the incoming list of assembler
tokens based on the assumption that the first arc_operand found will be
the same instruction class as all of the arc_operands for the same
mnemonic.
Though this assumption is probably fine, removing this assumption, and
pushing the token change down into assemble_tokens makes the code no
more complex, and might even be easier to follow.
There should be no user visible changes after this commit.
gas/ChangeLog:
* config/tc-arc.c (find_opcode_match): Handle O_symbol case, add
new de_fault label.
(preprocess_operands): Delete.
(assemble_tokens): Remove call to preprocess_operands.
commit e140100a5da85568e83ffe8e77d3f5e4a59ddee8
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Apr 7 12:34:06 2016 +0100
Allow integer contants to have a U suffix. Improve error reporting for missing closing parentheses.
PR gas/19910
* config/tc-sparc.c (sparc_ip): Report an error if the expression
inside a %-macro could not be fully parsed.
* expr.c (integer_constant): Accept and ignore U suffixes to
integers.
(operand): When a missing closing parenthesis is encountered,
report the character that was found instead.