* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
int rtos_create(Jim_GetOptInfo *goi, struct target *target)
{
int x;
- char *cp;
+ const char *cp;
struct Jim_Obj *res;
if (!goi->isconfigure && goi->argc != 0) {
LOG_ERROR("Error reading stack frame from thread");
return retval;
}
- LOG_DEBUG("RTOS: Read stack frame at 0x%x\r\n", address);
+ LOG_DEBUG("RTOS: Read stack frame at 0x%" PRIx32, address);
#if 0
LOG_OUTPUT("Stack Data :");
list_size += stacking->register_offsets[i].width_bits/8;
*hex_reg_list = malloc(list_size*2 + 1);
tmp_str_ptr = *hex_reg_list;
- new_stack_ptr = stack_ptr - stacking->stack_growth_direction *
- stacking->stack_registers_size;
- if (stacking->stack_alignment != 0) {
- /* Align new stack pointer to x byte boundary */
- new_stack_ptr =
- (new_stack_ptr & (~((int64_t) stacking->stack_alignment - 1))) +
- ((stacking->stack_growth_direction == -1) ? stacking->stack_alignment : 0);
+ if (stacking->calculate_process_stack != NULL) {
+ new_stack_ptr = stacking->calculate_process_stack(target,
+ stack_data, stacking, stack_ptr);
+ } else {
+ new_stack_ptr = stack_ptr - stacking->stack_growth_direction *
+ stacking->stack_registers_size;
}
for (i = 0; i < stacking->num_output_registers; i++) {
int j;