)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"4e2401bfd985448e911e12217c53049820287dcd","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Kulyatskaya Alexandra \u003ca.kulyatskaya@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-11-17 16:48:02 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"target.c: add warn about overwriting a breakpoint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Call function \u0027is_breakpoint_in_range()\u0027 in handler_load_image_command for"},{"line_number":10,"context_line":"detecting breakpoint memory overwriting."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"c19209a7_a01a14f7","line":7,"updated":"2025-11-22 20:05:13.000000000","message":"Please change it:\n`target: warn when image load overwrites a breakpoint`","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"},{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"e344b251e13e2eaaaa772ab27593053d1e9fb3e8","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Kulyatskaya Alexandra \u003ca.kulyatskaya@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-11-17 16:48:02 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"target.c: add warn about overwriting a breakpoint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Call function \u0027is_breakpoint_in_range()\u0027 in handler_load_image_command for"},{"line_number":10,"context_line":"detecting breakpoint memory overwriting."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ce061dd5_5dd427c7","line":7,"in_reply_to":"c19209a7_a01a14f7","updated":"2025-11-27 13:41:26.000000000","message":"Done","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"35a98caafbe6dd9ebb0037eb20236f6af00afe23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"69b1dcbf_d8a78d79","updated":"2026-02-12 16:11:32.000000000","message":"@Antonio, could you please check it again?","commit_id":"606a84439f1e597a3c5dea662ad20951fc479878"},{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"a3fd9e36a905431b224f21d2cafff2ae81b7aa8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2dd1b122_d9a34bc0","updated":"2026-03-20 11:17:07.000000000","message":"gentle ping","commit_id":"606a84439f1e597a3c5dea662ad20951fc479878"},{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"adacb84849f53983f385abfd8849da4f42a05897","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"58451c41_e7cddc5b","updated":"2026-02-26 17:03:48.000000000","message":"gentle ping","commit_id":"606a84439f1e597a3c5dea662ad20951fc479878"}],"src/target/breakpoints.h":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"4e2401bfd985448e911e12217c53049820287dcd","unresolved":true,"context_lines":[{"line_number":71,"context_line":"struct breakpoint *find_breakpoint_in_range(struct target *target,"},{"line_number":72,"context_line":"\t\tstruct breakpoint *breakpoint, target_addr_t start, uint32_t length);"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"int watchpoint_clear_target(struct target *target);"},{"line_number":75,"context_line":"int watchpoint_add(struct target *target,"},{"line_number":76,"context_line":"\t\ttarget_addr_t address, unsigned int length,"},{"line_number":77,"context_line":"\t\tenum watchpoint_rw rw, uint64_t value, uint64_t mask);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"bccc16b3_ab54f7e7","line":74,"updated":"2025-11-22 20:05:13.000000000","message":"This function `watchpoint_clear_target()` does not exist!","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"},{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"e344b251e13e2eaaaa772ab27593053d1e9fb3e8","unresolved":true,"context_lines":[{"line_number":71,"context_line":"struct breakpoint *find_breakpoint_in_range(struct target *target,"},{"line_number":72,"context_line":"\t\tstruct breakpoint *breakpoint, target_addr_t start, uint32_t length);"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"int watchpoint_clear_target(struct target *target);"},{"line_number":75,"context_line":"int watchpoint_add(struct target *target,"},{"line_number":76,"context_line":"\t\ttarget_addr_t address, unsigned int length,"},{"line_number":77,"context_line":"\t\tenum watchpoint_rw rw, uint64_t value, uint64_t mask);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"f67f6320_46bc2c0d","line":74,"in_reply_to":"bccc16b3_ab54f7e7","updated":"2025-11-27 13:41:26.000000000","message":"Done","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"}],"src/target/target.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"4e2401bfd985448e911e12217c53049820287dcd","unresolved":true,"context_lines":[{"line_number":3653,"context_line":"\t\t\t\t\t\timage.sections[i].base_address,"},{"line_number":3654,"context_line":"\t\t\t\t\t\timage.sections[i].size)) {"},{"line_number":3655,"context_line":"\t\t\tLOG_WARNING(\"overwriting a breakpoint at the address: \""},{"line_number":3656,"context_line":"\t\t\t\t\tTARGET_ADDR_FMT, breakpoint-\u003eaddress);"},{"line_number":3657,"context_line":"\t\t}"},{"line_number":3658,"context_line":""},{"line_number":3659,"context_line":"\t\tretval \u003d image_read_section(\u0026image, i, 0x0, image.sections[i].size, buffer, \u0026buf_cnt);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"97c27201_8698a386","line":3656,"updated":"2025-11-22 20:05:13.000000000","message":"If the breakpoint is a SW one, we should not limit to a warning but return error.\nOpenOCD has cached the old instruction to write it back in memory when the breakpoint gets removed.\nIf here we continue loading and later we remove the breakpoint, we will corrupt the image just loaded.\n\nIf the breakpoint is instead a HW one, the warning is OK. Removing it later will not cause any side effect.\nBut we cannot guarantee that the old HW breakpoint will be functional, due to possible incorrect alignment, or due to memory address not anymore pointing to code.\nMaybe returning error in this case too in both the simpler and the safer solution.\n\nReturning error, the message should go in `command_print()`.","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"},{"author":{"_account_id":1002437,"name":"Alexandra Kulyatskaya","email":"a.kulyatskaya@syntacore.com","username":"AlexandraKulyatskaya"},"change_message_id":"e344b251e13e2eaaaa772ab27593053d1e9fb3e8","unresolved":true,"context_lines":[{"line_number":3653,"context_line":"\t\t\t\t\t\timage.sections[i].base_address,"},{"line_number":3654,"context_line":"\t\t\t\t\t\timage.sections[i].size)) {"},{"line_number":3655,"context_line":"\t\t\tLOG_WARNING(\"overwriting a breakpoint at the address: \""},{"line_number":3656,"context_line":"\t\t\t\t\tTARGET_ADDR_FMT, breakpoint-\u003eaddress);"},{"line_number":3657,"context_line":"\t\t}"},{"line_number":3658,"context_line":""},{"line_number":3659,"context_line":"\t\tretval \u003d image_read_section(\u0026image, i, 0x0, image.sections[i].size, buffer, \u0026buf_cnt);"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"6a09c1bb_edf34199","line":3656,"in_reply_to":"97c27201_8698a386","updated":"2025-11-27 13:41:26.000000000","message":"Done","commit_id":"705fce5698f69a9a1256bd9f9965450998b34ea8"}]}
