The gdb server incorrectly reports the memory map if we have
multiple targets with multiple flash banks.
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
char *separator;
uint32_t ram_start = 0;
int i;
+ int target_flash_banks = 0;
/* skip command character */
packet += 23;
gdb_error(connection, retval);
return retval;
}
- banks[i] = p;
+ if(p->target == target)
+ banks[target_flash_banks++] = p;
}
- qsort(banks, flash_get_bank_count(), sizeof(struct flash_bank *),
+ qsort(banks, target_flash_banks, sizeof(struct flash_bank *),
compare_bank);
for (i = 0; i < flash_get_bank_count(); i++) {