)]}'
{"id":"openocd~master~I9641a4a3e2f68b83897ccf3a12d3c34e98a7805c","project":"openocd","branch":"master","attention_set":{},"removed_from_attention_set":{"1000021":{"account":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"last_update":"2025-05-17 08:41:33.000000000","reason":"removed on reply"},"1000687":{"account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"last_update":"2025-05-03 06:41:12.000000000","reason":"\u003cGERRIT_ACCOUNT_1000687\u003e replied on the change","reason_account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"}}},"hashtags":[],"change_id":"I9641a4a3e2f68b83897ccf3a12d3c34e98a7805c","subject":"cortex-a: fix single-step on infinite loop","status":"MERGED","created":"2025-05-02 15:35:59.000000000","updated":"2025-05-25 12:40:05.000000000","submitted":"2025-05-25 12:40:05.000000000","submitter":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"8871","meta_rev_id":"11324aa51031ee6d8d3c11a067637e73204fa66e","_number":8871,"owner":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2025-05-25 12:40:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2025-05-25 12:40:05.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"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}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"}],"REVIEWER":[{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-05-02 15:50:19.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-05-02 16:40:36.000000000","updated_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"reviewer":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"state":"CC"}],"messages":[{"id":"7eb7000af271fba92890b8d4d2d9235f5d97f768","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-02 15:35:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4c4a0682a98dbe604e6cb38bfdb6d38af9c3720d","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2025-05-02 15:50:19.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/21075/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/20216/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"b55880d19997e28f7ea57ecd50f392c200d37e16","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2025-05-02 16:40:36.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"c21b515c2cae88645324b509ef34a751dde02f90","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-02 16:52:10.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a5cf057d1a44e00ce1b64111e40a2ba0d68884a6","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-02 16:57:33.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b302f2cf00deb6c7a860573e4af9c791a6ba47ad","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-02 17:07:09.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1491388137f2551e4e0a71f81c1e67a19115b3d8","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2025-05-03 06:41:12.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"c01948ca586d69e4b0224f09fad517c348d621ae","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-17 08:41:33.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"11324aa51031ee6d8d3c11a067637e73204fa66e","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-05-25 12:40:05.000000000","message":"Change has been successfully cherry-picked as 532db01df29ab0636911f5cb0b40ed5747879c4e","accounts_in_message":[],"_revision_number":2}],"current_revision":"532db01df29ab0636911f5cb0b40ed5747879c4e","revisions":{"9c2ad5810574010e0da259011e6d3d338da1b7f9":{"kind":"REWORK","_number":1,"created":"2025-05-02 15:35:59.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/71/8871/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/71/8871/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/1 \u0026\u0026 git checkout -b change-8871 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/71/8871/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"afbd01b0a46f3a81fe6076c002ad66973dcfb64c","subject":"github/workflow: fix warnings for github actions"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-05-02 14:10:39.000000000","tz":120},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-05-02 15:22:29.000000000","tz":120},"subject":"cortex-a: fix single-step on infinite loop","message":"cortex-a: fix single-step on infinite loop\n\nOn ARMv7a/r the single-step is implemented through a HW breakpoint\nthat hits instructions at any address except the address of the\ncurrent instruction.\n\nThe method above fails in case of an infinite loop coded by a\nsingle instruction that jumps on itself; in such case, the same\ninstruction (at the same address) is executed over and over and\nthe breakpoint never hits. In current code this case is wrongly\nconsidered as an error.\n\nReduce the timeout while waiting for the HW breakpoint being hit,\nthen halt.\n\nThe jump on itself would be executed several times before the\ntimeout and the halt, but this is not an issue. There are few\n\"pathological\" instructions in ARMv7a/r that jumps on itself and\nthat can have side effects if executed more than once. They are\nlisted in the code. We do not consider these as real use cases\ngenerated by a compiler.\n\nDocument the method in the code.\n\nReport that the single-step function is not properly managing the\nHW breakpoints if it exits on error. To be fixed in the future.\n\nChange-Id: I9641a4a3e2f68b83897ccf3a12d3c34e98a7805c\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\n"}},"532db01df29ab0636911f5cb0b40ed5747879c4e":{"kind":"REWORK","_number":2,"created":"2025-05-25 12:40:05.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/71/8871/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/71/8871/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/2 \u0026\u0026 git checkout -b change-8871 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/71/8871/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/71/8871/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"6a3abda0b46a777490a8ce5bc748e6fed6775354","subject":"helper: add base64 encoding/decoding helpers from FreeBSD"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-05-02 14:10:39.000000000","tz":120},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-05-25 12:40:05.000000000","tz":0},"subject":"cortex-a: fix single-step on infinite loop","message":"cortex-a: fix single-step on infinite loop\n\nOn ARMv7a/r the single-step is implemented through a HW breakpoint\nthat hits instructions at any address except the address of the\ncurrent instruction.\n\nThe method above fails in case of an infinite loop coded by a\nsingle instruction that jumps on itself; in such case, the same\ninstruction (at the same address) is executed over and over and\nthe breakpoint never hits. In current code this case is wrongly\nconsidered as an error.\n\nReduce the timeout while waiting for the HW breakpoint being hit,\nthen halt.\n\nThe jump on itself would be executed several times before the\ntimeout and the halt, but this is not an issue. There are few\n\"pathological\" instructions in ARMv7a/r that jumps on itself and\nthat can have side effects if executed more than once. They are\nlisted in the code. We do not consider these as real use cases\ngenerated by a compiler.\n\nDocument the method in the code.\n\nReport that the single-step function is not properly managing the\nHW breakpoints if it exits on error. To be fixed in the future.\n\nChange-Id: I9641a4a3e2f68b83897ccf3a12d3c34e98a7805c\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\nReviewed-on: https://review.openocd.org/c/openocd/+/8871\nTested-by: jenkins\n"}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[]}}]}
