)]}'
{"id":"binutils-gdb~4399","triplet_id":"binutils-gdb~master~I832056f80e6c56f621f398b4780d55a3a1e299d7","project":"binutils-gdb","branch":"master","hashtags":[],"change_id":"I832056f80e6c56f621f398b4780d55a3a1e299d7","subject":"gdb: fix value_subscript when array upper bound is not known","status":"MERGED","created":"2020-11-15 04:17:41.000000000","updated":"2020-12-10 16:09:36.000000000","submitted":"2020-12-10 16:09:36.000000000","submitter":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"4396","meta_rev_id":"8caf10d218f7afb5dad1f812c6ab50517a9c0bbe","_number":4399,"virtual_id_number":4399,"owner":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0,"optional":true},"Verified":{"all":[{"value":0,"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{"-2":"Failure","-1":"Not built"," 0":"No score","+1":"Unstable","+2":"Success"},"description":"CI Build results","default_value":0,"optional":true},"CI-Build":{"all":[{"value":0,"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{" 0":"No score","+1":"Trigger a CI build"},"description":"Trigger CI builds","default_value":0,"optional":true},"Smoke-Build-Lvl1":{"all":[{"value":0,"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{" 0":"No score","+1":"Trigger a level 1 smoke build"},"description":"Trigger Level 1 Smoke builds","default_value":0,"optional":true},"Smoke-Build-Lvl2":{"all":[{"value":0,"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{" 0":"No score","+1":"Trigger a level 2 smoke build"},"description":"Trigger Level 2 Smoke builds","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{},"pending_reviewers":{},"reviewer_updates":[],"messages":[{"id":"49a9f3621b5acc26bb2c50168595331cedd123aa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-15 04:17:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"27eb9d6d6af527490dd95250991c164fbac851f0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-15 04:20:33.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"cf3b76e347fa0429241d494207e57261cd85649d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-15 19:05:34.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"f6a5565ce117c890706cde2b647a2089a2f802a5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-16 20:20:08.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"7732d0bce39c392f9e2dd5d3998550e3c5ef9bb2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-20 18:03:12.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"59166770f2c15087cdfd5bcd620add712faa7997","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-20 18:16:54.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"68b584e062656dcc80846c060981551d301803ee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-23 03:51:46.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"80e8ec558de0a2f4422a28c5f42e056170ce52cd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-23 03:52:53.000000000","message":"Uploaded patch set 8: Commit message was updated.","accounts_in_message":[],"_revision_number":8},{"id":"adb0c6599b38de7f7a5d5fbd867900b2d7155fa7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-23 04:00:34.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"2146020cdf02a6931c068248b09de0bd9562ff3b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-11-23 16:21:33.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"3725da82b4c56fd2a37f3737582127a98beed5d0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-12-07 15:07:29.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.","accounts_in_message":[],"_revision_number":11},{"id":"34828293fbdd82e2fa51c73758d1bbf30d1a37ae","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-12-07 16:14:29.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"8caf10d218f7afb5dad1f812c6ab50517a9c0bbe","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2020-12-10 16:09:36.000000000","message":"Change has been successfully pushed.","accounts_in_message":[],"_revision_number":13}],"current_revision_number":13,"current_revision":"5b56203a7cadd545b33713e98e274e582242e090","revisions":{"9742d01f89d57ccee4945eb077dffdc3135709a6":{"kind":"REWORK","_number":1,"created":"2020-11-15 04:17:41.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/1","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/1","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/1 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/1","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"8ca4721f6f66675d1f135834e4d0d0d6ece30482","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d8ca4721f6f66675d1f135834e4d0d0d6ece30482"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:15:08.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d9742d01f89d57ccee4945eb077dffdc3135709a6"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d9742d01f89d57ccee4945eb077dffdc3135709a6"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"8ca4721f6f66675d1f135834e4d0d0d6ece30482","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"bcdb36fb7b1f2c13a9e74aae7eb0a18800ad22bd":{"kind":"REWORK","_number":2,"created":"2020-11-15 04:20:33.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/2","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/2","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/2 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/2","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f5a1fa93ff5a940b2be6aa6f50291c7c5b212d40","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003df5a1fa93ff5a940b2be6aa6f50291c7c5b212d40"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-15 04:18:25.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dbcdb36fb7b1f2c13a9e74aae7eb0a18800ad22bd"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dbcdb36fb7b1f2c13a9e74aae7eb0a18800ad22bd"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f5a1fa93ff5a940b2be6aa6f50291c7c5b212d40","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"1970b24e559177baef6c64f5834cc0b035705d81":{"kind":"REWORK","_number":3,"created":"2020-11-15 19:05:34.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/3","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/3","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/3 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/3","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"5caf7d11207cf35512f3229a6c75e5a5cdc94f49","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d5caf7d11207cf35512f3229a6c75e5a5cdc94f49"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 19:05:27.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d1970b24e559177baef6c64f5834cc0b035705d81"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d1970b24e559177baef6c64f5834cc0b035705d81"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"5caf7d11207cf35512f3229a6c75e5a5cdc94f49","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"},"a0a3101635989669c6d24780f01e159c6fa35e8a":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2020-11-16 20:20:08.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/4","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/4","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/4 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/4","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"44a9cbca5f3d70dddc30684c405a17b0ebc0033c","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d44a9cbca5f3d70dddc30684c405a17b0ebc0033c"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-16 20:19:56.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003da0a3101635989669c6d24780f01e159c6fa35e8a"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003da0a3101635989669c6d24780f01e159c6fa35e8a"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"44a9cbca5f3d70dddc30684c405a17b0ebc0033c","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/master"},"0261d7fbd70b194ce9a3ccf6a84f0af1f81de0b1":{"kind":"REWORK","_number":5,"created":"2020-11-20 18:03:12.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/5","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/5","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/5 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/5","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"afc567b6f84d113b2c2adaaeaa61c42b62d01376","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dafc567b6f84d113b2c2adaaeaa61c42b62d01376"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-20 18:02:26.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d0261d7fbd70b194ce9a3ccf6a84f0af1f81de0b1"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d0261d7fbd70b194ce9a3ccf6a84f0af1f81de0b1"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"afc567b6f84d113b2c2adaaeaa61c42b62d01376","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":5,"change_status":"MERGED"}],"branch":"refs/heads/master"},"c867d0693d192facbad0950aa849161aeaef9e8e":{"kind":"REWORK","_number":6,"created":"2020-11-20 18:16:54.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/6","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/6","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/6 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/6","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"7cd553653d37fdbff376a66a2e8aa9f636cea778","subject":"split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d7cd553653d37fdbff376a66a2e8aa9f636cea778"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-20 18:11:06.000000000","tz":-300},"subject":"fix subscript of flexible array member with no size","message":"fix subscript of flexible array member with no size\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dc867d0693d192facbad0950aa849161aeaef9e8e"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dc867d0693d192facbad0950aa849161aeaef9e8e"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"7cd553653d37fdbff376a66a2e8aa9f636cea778","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":6,"change_status":"MERGED"}],"branch":"refs/heads/master"},"617a75d5a654468d25468a560ba89aa03eaeffda":{"kind":"REWORK","_number":7,"created":"2020-11-23 03:51:46.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/7","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/7","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/7 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/7","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f6ea3a1e476252c148c46aaa08e72504008a1449","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003df6ea3a1e476252c148c46aaa08e72504008a1449"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-23 03:48:33.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\ngdb/ChangeLog:\n\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d617a75d5a654468d25468a560ba89aa03eaeffda"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d617a75d5a654468d25468a560ba89aa03eaeffda"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f6ea3a1e476252c148c46aaa08e72504008a1449","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":7,"change_status":"MERGED"}],"branch":"refs/heads/master"},"6f71d78fb44fbe0fe7af61e2ccfa0d2f541d3982":{"kind":"NO_CODE_CHANGE","_number":8,"created":"2020-11-23 03:52:53.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/8","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/8","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/8 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/8","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/8 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f6ea3a1e476252c148c46aaa08e72504008a1449","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003df6ea3a1e476252c148c46aaa08e72504008a1449"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-23 03:51:50.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d6f71d78fb44fbe0fe7af61e2ccfa0d2f541d3982"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d6f71d78fb44fbe0fe7af61e2ccfa0d2f541d3982"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f6ea3a1e476252c148c46aaa08e72504008a1449","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":7,"change_status":"MERGED"}],"branch":"refs/heads/master"},"13d911560426b923bbe2e08e0b6d3f80c3382d88":{"kind":"REWORK","_number":9,"created":"2020-11-23 04:00:34.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/9","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/9","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/9 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/9","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/9 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f6ea3a1e476252c148c46aaa08e72504008a1449","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003df6ea3a1e476252c148c46aaa08e72504008a1449"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-15 04:14:04.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-11-23 03:59:25.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d13d911560426b923bbe2e08e0b6d3f80c3382d88"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d13d911560426b923bbe2e08e0b6d3f80c3382d88"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f6ea3a1e476252c148c46aaa08e72504008a1449","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":7,"change_status":"MERGED"}],"branch":"refs/heads/master"},"31b169a17b709354de37e06fcf7e3f2950b6eb3e":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":10,"created":"2020-11-23 16:21:33.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/10","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/10","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/10 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/10","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/10 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"1120de80049ff2c2942f31920541cfee74cfe70c","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d1120de80049ff2c2942f31920541cfee74cfe70c"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-23 16:20:34.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-23 16:20:34.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\nSince commit 7c6f27129631 (\"gdb: make get_discrete_bounds check for\nnon-constant range bounds\"), subscripting  flexible array member fails:\n\n    struct no_size\n    {\n      int n;\n      int items[];\n    };\n\n    (gdb) p *ns\n    $1 \u003d {n \u003d 3, items \u003d 0x5555555592a4}\n    (gdb) p ns-\u003eitems[0]\n    Cannot access memory at address 0xfffe555b733a0164\n    (gdb) p *((int *) 0x5555555592a4)\n    $2 \u003d 101  \u003c--- we would expect that\n    (gdb) p \u0026ns-\u003eitems[0]\n    $3 \u003d (int *) 0xfffe5559ee829a24  \u003c--- wrong address\n\nSince the flexible array member (items) has an unspecified size, the array type\ncreated for it in the DWARF doesn\u0027t have dimensions (this is with gcc 9.3.0,\nUbuntu 20.04):\n\n    0x000000a4:   DW_TAG_array_type\n                    DW_AT_type [DW_FORM_ref4]       (0x00000038 \"int\")\n                    DW_AT_sibling [DW_FORM_ref4]    (0x000000b3)\n\n    0x000000ad:     DW_TAG_subrange_type\n                      DW_AT_type [DW_FORM_ref4]     (0x00000031 \"long unsigned int\")\n\nThis causes GDB to create a range type (TYPE_CODE_RANGE) with a defined\nconstant low bound (dynamic_prop with kind PROP_CONST) and an undefined\nhigh bound (dynamic_prop with kind PROP_UNDEFINED).\n\nvalue_subscript gets both bounds of that range using\nget_discrete_bounds.  Before commit 7c6f27129631, get_discrete_bounds\ndidn\u0027t check the kind of the dynamic_props and would just blindly read\nthem as if they were PROP_CONST.  It would return 0 for the high bound,\nbecause we zero-initialize the range_bounds structure.  And it didn\u0027t\nreally matter in this case, because the returned high bound wasn\u0027t used\nin the end.\n\nCommit 7c6f27129631 changed get_discrete_bounds to return a failure if\neither the low or high bound is not a constant, to make sure we don\u0027t\nread a dynamic prop that isn\u0027t a PROP_CONST as a PROP_CONST.  This\nchange made get_discrete_bounds start to return a failure for that\nrange, and as a result would not set *lowp and *highp.  And since\nvalue_subscript doesn\u0027t check get_discrete_bounds\u0027 return value, it just\ncarries on an uses an uninitialized value for the low bound.  If\nvalue_subscript did check the return value of get_discrete_bounds, we\nwould get an error message instead of a bogus value.  But it would still\nbe a bug, as we wouldn\u0027t be able to print the flexible array member\u0027s\nelements.\n\nLooking at value_subscript, we see that the low bound is always needed,\nbut the high bound is only needed if !c_style.  So, change\nvalue_subscript to use get_discrete_low_bound and\nget_discrete_high_bound separately.  This fixes the case described\nabove, where the low bound is known but the high bound isn\u0027t (and is not\nneeded).  This restores the original behavior without accessing a\ndynamic_prop in a wrong way.\n\nA test is added.  In addition to the case described above, a case with\nan array member of size 0 is added, which is a GNU C extension that\nexisted before flexible array members were introduced.  That case\ncurrently fails when compiled with gcc \u003c\u003d 8.  gcc \u003c\u003d 8 produces DWARF\nsimilar to the one shown above, while gcc 9 adds a DW_AT_count of 0 in\nthere, which makes the high bound known.  A case where an array member\nof size 0 is the only member of the struct is also added, as that was\nhow PR 28675 was originally reported, and it\u0027s an interesting corner\ncase that I think could trigger other funny bugs.\n\nQuestion about the implementation: in value_subscript, I made it such\nthat if the low or high bound is unknown, we fall back to zero.  That\neffectively makes it the same as it was before 7c6f27129631.  But should\nwe instead error() out?\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d31b169a17b709354de37e06fcf7e3f2950b6eb3e"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d31b169a17b709354de37e06fcf7e3f2950b6eb3e"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"1120de80049ff2c2942f31920541cfee74cfe70c","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":8,"change_status":"MERGED"}],"branch":"refs/heads/master"},"bd4a8f5478f8b8eb4575b516b5b7973f2be216a1":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2020-12-07 15:07:29.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/11","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/11","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/11 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/11","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/11 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f16b8495befb35668fdf6f5c6472ec44d856d4aa","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003df16b8495befb35668fdf6f5c6472ec44d856d4aa"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-23 16:20:34.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-12-07 15:05:34.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\nSince commit 7c6f27129631 (\"gdb: make get_discrete_bounds check for\nnon-constant range bounds\"), subscripting  flexible array member fails:\n\n    struct no_size\n    {\n      int n;\n      int items[];\n    };\n\n    (gdb) p *ns\n    $1 \u003d {n \u003d 3, items \u003d 0x5555555592a4}\n    (gdb) p ns-\u003eitems[0]\n    Cannot access memory at address 0xfffe555b733a0164\n    (gdb) p *((int *) 0x5555555592a4)\n    $2 \u003d 101  \u003c--- we would expect that\n    (gdb) p \u0026ns-\u003eitems[0]\n    $3 \u003d (int *) 0xfffe5559ee829a24  \u003c--- wrong address\n\nSince the flexible array member (items) has an unspecified size, the array type\ncreated for it in the DWARF doesn\u0027t have dimensions (this is with gcc 9.3.0,\nUbuntu 20.04):\n\n    0x000000a4:   DW_TAG_array_type\n                    DW_AT_type [DW_FORM_ref4]       (0x00000038 \"int\")\n                    DW_AT_sibling [DW_FORM_ref4]    (0x000000b3)\n\n    0x000000ad:     DW_TAG_subrange_type\n                      DW_AT_type [DW_FORM_ref4]     (0x00000031 \"long unsigned int\")\n\nThis causes GDB to create a range type (TYPE_CODE_RANGE) with a defined\nconstant low bound (dynamic_prop with kind PROP_CONST) and an undefined\nhigh bound (dynamic_prop with kind PROP_UNDEFINED).\n\nvalue_subscript gets both bounds of that range using\nget_discrete_bounds.  Before commit 7c6f27129631, get_discrete_bounds\ndidn\u0027t check the kind of the dynamic_props and would just blindly read\nthem as if they were PROP_CONST.  It would return 0 for the high bound,\nbecause we zero-initialize the range_bounds structure.  And it didn\u0027t\nreally matter in this case, because the returned high bound wasn\u0027t used\nin the end.\n\nCommit 7c6f27129631 changed get_discrete_bounds to return a failure if\neither the low or high bound is not a constant, to make sure we don\u0027t\nread a dynamic prop that isn\u0027t a PROP_CONST as a PROP_CONST.  This\nchange made get_discrete_bounds start to return a failure for that\nrange, and as a result would not set *lowp and *highp.  And since\nvalue_subscript doesn\u0027t check get_discrete_bounds\u0027 return value, it just\ncarries on an uses an uninitialized value for the low bound.  If\nvalue_subscript did check the return value of get_discrete_bounds, we\nwould get an error message instead of a bogus value.  But it would still\nbe a bug, as we wouldn\u0027t be able to print the flexible array member\u0027s\nelements.\n\nLooking at value_subscript, we see that the low bound is always needed,\nbut the high bound is only needed if !c_style.  So, change\nvalue_subscript to use get_discrete_low_bound and\nget_discrete_high_bound separately.  This fixes the case described\nabove, where the low bound is known but the high bound isn\u0027t (and is not\nneeded).  This restores the original behavior without accessing a\ndynamic_prop in a wrong way.\n\nA test is added.  In addition to the case described above, a case with\nan array member of size 0 is added, which is a GNU C extension that\nexisted before flexible array members were introduced.  That case\ncurrently fails when compiled with gcc \u003c\u003d 8.  gcc \u003c\u003d 8 produces DWARF\nsimilar to the one shown above, while gcc 9 adds a DW_AT_count of 0 in\nthere, which makes the high bound known.  A case where an array member\nof size 0 is the only member of the struct is also added, as that was\nhow PR 28675 was originally reported, and it\u0027s an interesting corner\ncase that I think could trigger other funny bugs.\n\nQuestion about the implementation: in value_subscript, I made it such\nthat if the low or high bound is unknown, we fall back to zero.  That\neffectively makes it the same as it was before 7c6f27129631.  But should\nwe instead error() out?\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dbd4a8f5478f8b8eb4575b516b5b7973f2be216a1"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003dbd4a8f5478f8b8eb4575b516b5b7973f2be216a1"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f16b8495befb35668fdf6f5c6472ec44d856d4aa","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":9,"change_status":"MERGED"}],"branch":"refs/heads/master"},"0dc5441dfd2d3212a454e64ed0f404e999bcd11a":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":12,"created":"2020-12-07 16:14:29.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/12","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/12","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/12 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/12","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/12 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"62befde8dccb0860f54136c030edeb5d43ed71d4","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d62befde8dccb0860f54136c030edeb5d43ed71d4"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-11-23 16:20:34.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-12-07 16:13:50.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\nSince commit 7c6f27129631 (\"gdb: make get_discrete_bounds check for\nnon-constant range bounds\"), subscripting  flexible array member fails:\n\n    struct no_size\n    {\n      int n;\n      int items[];\n    };\n\n    (gdb) p *ns\n    $1 \u003d {n \u003d 3, items \u003d 0x5555555592a4}\n    (gdb) p ns-\u003eitems[0]\n    Cannot access memory at address 0xfffe555b733a0164\n    (gdb) p *((int *) 0x5555555592a4)\n    $2 \u003d 101  \u003c--- we would expect that\n    (gdb) p \u0026ns-\u003eitems[0]\n    $3 \u003d (int *) 0xfffe5559ee829a24  \u003c--- wrong address\n\nSince the flexible array member (items) has an unspecified size, the array type\ncreated for it in the DWARF doesn\u0027t have dimensions (this is with gcc 9.3.0,\nUbuntu 20.04):\n\n    0x000000a4:   DW_TAG_array_type\n                    DW_AT_type [DW_FORM_ref4]       (0x00000038 \"int\")\n                    DW_AT_sibling [DW_FORM_ref4]    (0x000000b3)\n\n    0x000000ad:     DW_TAG_subrange_type\n                      DW_AT_type [DW_FORM_ref4]     (0x00000031 \"long unsigned int\")\n\nThis causes GDB to create a range type (TYPE_CODE_RANGE) with a defined\nconstant low bound (dynamic_prop with kind PROP_CONST) and an undefined\nhigh bound (dynamic_prop with kind PROP_UNDEFINED).\n\nvalue_subscript gets both bounds of that range using\nget_discrete_bounds.  Before commit 7c6f27129631, get_discrete_bounds\ndidn\u0027t check the kind of the dynamic_props and would just blindly read\nthem as if they were PROP_CONST.  It would return 0 for the high bound,\nbecause we zero-initialize the range_bounds structure.  And it didn\u0027t\nreally matter in this case, because the returned high bound wasn\u0027t used\nin the end.\n\nCommit 7c6f27129631 changed get_discrete_bounds to return a failure if\neither the low or high bound is not a constant, to make sure we don\u0027t\nread a dynamic prop that isn\u0027t a PROP_CONST as a PROP_CONST.  This\nchange made get_discrete_bounds start to return a failure for that\nrange, and as a result would not set *lowp and *highp.  And since\nvalue_subscript doesn\u0027t check get_discrete_bounds\u0027 return value, it just\ncarries on and uses an uninitialized value for the low bound.  If\nvalue_subscript did check the return value of get_discrete_bounds, we\nwould get an error message instead of a bogus value.  But it would still\nbe a bug, as we wouldn\u0027t be able to print the flexible array member\u0027s\nelements.\n\nLooking at value_subscript, we see that the low bound is always needed,\nbut the high bound is only needed if !c_style.  So, change\nvalue_subscript to use get_discrete_low_bound and\nget_discrete_high_bound separately.  This fixes the case described\nabove, where the low bound is known but the high bound isn\u0027t (and is not\nneeded).  This restores the original behavior without accessing a\ndynamic_prop in a wrong way.\n\nA test is added.  In addition to the case described above, a case with\nan array member of size 0 is added, which is a GNU C extension that\nexisted before flexible array members were introduced.  That case\ncurrently fails when compiled with gcc \u003c\u003d 8.  gcc \u003c\u003d 8 produces DWARF\nsimilar to the one shown above, while gcc 9 adds a DW_AT_count of 0 in\nthere, which makes the high bound known.  A case where an array member\nof size 0 is the only member of the struct is also added, as that was\nhow PR 28675 was originally reported, and it\u0027s an interesting corner\ncase that I think could trigger other funny bugs.\n\nQuestion about the implementation: in value_subscript, I made it such\nthat if the low or high bound is unknown, we fall back to zero.  That\neffectively makes it the same as it was before 7c6f27129631.  But should\nwe instead error() out?\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d0dc5441dfd2d3212a454e64ed0f404e999bcd11a"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d0dc5441dfd2d3212a454e64ed0f404e999bcd11a"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"62befde8dccb0860f54136c030edeb5d43ed71d4","is_merged_in_target_branch":false,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":10,"change_status":"MERGED"}],"branch":"refs/heads/master"},"5b56203a7cadd545b33713e98e274e582242e090":{"kind":"REWORK","_number":13,"created":"2020-12-10 16:09:36.000000000","uploader":{"_account_id":1000001,"name":"Simon Marchi","email":"simon.marchi@efficios.com","username":"simark","avatars":[{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5f66b515fa1c72f5ab184df919253b2f.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/99/4399/13","fetch":{"anonymous http":{"url":"https://review.lttng.org/binutils-gdb","ref":"refs/changes/99/4399/13","commands":{"Branch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/13 \u0026\u0026 git checkout -b change-4399 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/binutils-gdb refs/changes/99/4399/13","Reset To":"git fetch https://review.lttng.org/binutils-gdb refs/changes/99/4399/13 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"14c09924a070918034b465b8ca78282afee62839","subject":"gdb: split get_discrete_bounds in two","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d14c09924a070918034b465b8ca78282afee62839"}]}],"author":{"name":"Simon Marchi","email":"simon.marchi@efficios.com","date":"2020-12-09 18:52:12.000000000","tz":-300},"committer":{"name":"Simon Marchi","email":"simon.marchi@polymtl.ca","date":"2020-12-09 18:52:12.000000000","tz":-300},"subject":"gdb: fix value_subscript when array upper bound is not known","message":"gdb: fix value_subscript when array upper bound is not known\n\nSince commit 7c6f27129631 (\"gdb: make get_discrete_bounds check for\nnon-constant range bounds\"), subscripting  flexible array member fails:\n\n    struct no_size\n    {\n      int n;\n      int items[];\n    };\n\n    (gdb) p *ns\n    $1 \u003d {n \u003d 3, items \u003d 0x5555555592a4}\n    (gdb) p ns-\u003eitems[0]\n    Cannot access memory at address 0xfffe555b733a0164\n    (gdb) p *((int *) 0x5555555592a4)\n    $2 \u003d 101  \u003c--- we would expect that\n    (gdb) p \u0026ns-\u003eitems[0]\n    $3 \u003d (int *) 0xfffe5559ee829a24  \u003c--- wrong address\n\nSince the flexible array member (items) has an unspecified size, the array type\ncreated for it in the DWARF doesn\u0027t have dimensions (this is with gcc 9.3.0,\nUbuntu 20.04):\n\n    0x000000a4:   DW_TAG_array_type\n                    DW_AT_type [DW_FORM_ref4]       (0x00000038 \"int\")\n                    DW_AT_sibling [DW_FORM_ref4]    (0x000000b3)\n\n    0x000000ad:     DW_TAG_subrange_type\n                      DW_AT_type [DW_FORM_ref4]     (0x00000031 \"long unsigned int\")\n\nThis causes GDB to create a range type (TYPE_CODE_RANGE) with a defined\nconstant low bound (dynamic_prop with kind PROP_CONST) and an undefined\nhigh bound (dynamic_prop with kind PROP_UNDEFINED).\n\nvalue_subscript gets both bounds of that range using\nget_discrete_bounds.  Before commit 7c6f27129631, get_discrete_bounds\ndidn\u0027t check the kind of the dynamic_props and would just blindly read\nthem as if they were PROP_CONST.  It would return 0 for the high bound,\nbecause we zero-initialize the range_bounds structure.  And it didn\u0027t\nreally matter in this case, because the returned high bound wasn\u0027t used\nin the end.\n\nCommit 7c6f27129631 changed get_discrete_bounds to return a failure if\neither the low or high bound is not a constant, to make sure we don\u0027t\nread a dynamic prop that isn\u0027t a PROP_CONST as a PROP_CONST.  This\nchange made get_discrete_bounds start to return a failure for that\nrange, and as a result would not set *lowp and *highp.  And since\nvalue_subscript doesn\u0027t check get_discrete_bounds\u0027 return value, it just\ncarries on an uses an uninitialized value for the low bound.  If\nvalue_subscript did check the return value of get_discrete_bounds, we\nwould get an error message instead of a bogus value.  But it would still\nbe a bug, as we wouldn\u0027t be able to print the flexible array member\u0027s\nelements.\n\nLooking at value_subscript, we see that the low bound is always needed,\nbut the high bound is only needed if !c_style.  So, change\nvalue_subscript to use get_discrete_low_bound and\nget_discrete_high_bound separately.  This fixes the case described\nabove, where the low bound is known but the high bound isn\u0027t (and is not\nneeded).  This restores the original behavior without accessing a\ndynamic_prop in a wrong way.\n\nA test is added.  In addition to the case described above, a case with\nan array member of size 0 is added, which is a GNU C extension that\nexisted before flexible array members were introduced.  That case\ncurrently fails when compiled with gcc \u003c\u003d 8.  gcc \u003c\u003d 8 produces DWARF\nsimilar to the one shown above, while gcc 9 adds a DW_AT_count of 0 in\nthere, which makes the high bound known.  A case where an array member\nof size 0 is the only member of the struct is also added, as that was\nhow PR 28675 was originally reported, and it\u0027s an interesting corner\ncase that I think could trigger other funny bugs.\n\nQuestion about the implementation: in value_subscript, I made it such\nthat if the low or high bound is unknown, we fall back to zero.  That\neffectively makes it the same as it was before 7c6f27129631.  But should\nwe instead error() out?\n\ngdb/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdbtypes.c (get_discrete_low_bound): Make non-static.\n\t(get_discrete_high_bound): Make non-static.\n\t* gdbtypes.h (get_discrete_low_bound): New declaration.\n\t(get_discrete_high_bound): New declaration.\n\t* valarith.c (value_subscript): Only fetch high bound if\n\tnecessary.\n\ngdb/testsuite/ChangeLog:\n\n\tPR 26875, PR 26901\n\t* gdb.base/flexible-array-member.c: New test.\n\t* gdb.base/flexible-array-member.exp: New test.\n\nChange-Id: I832056f80e6c56f621f398b4780d55a3a1e299d7\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d5b56203a7cadd545b33713e98e274e582242e090"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dbinutils-gdb.git;a\u003dcommit;h\u003d5b56203a7cadd545b33713e98e274e582242e090"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"14c09924a070918034b465b8ca78282afee62839","is_merged_in_target_branch":true,"change_id":"I986b5e9c0dd969800e3fb9546af9c827d52e80d0","change_number":4398,"patch_set_number":11,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
