Ignore:
Timestamp:
Jan 21, 2018, 12:10:09 AM (6 years ago)
Author:
coas-nagasima
Message:

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

Location:
EcnlProtoTool/trunk/mruby-1.3.0
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-1.3.0/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c

    r321 r331  
    99#include <ctype.h>
    1010
    11 #include "mruby.h"
    12 #include "mruby/dump.h"
    13 #include "mruby/debug.h"
    14 #include "mruby/class.h"
    15 #include "mruby/opcode.h"
    16 #include "mruby/variable.h"
     11#include <mruby.h>
     12#include <mruby/dump.h>
     13#include <mruby/debug.h>
     14#include <mruby/class.h>
     15#include <mruby/opcode.h>
     16#include <mruby/variable.h>
    1717
    1818#include "mrdb.h"
     
    5858  {"run",       NULL,           1, 0, 0, DBGCMD_RUN,            dbgcmd_run},             /* r[un] */
    5959  {"step",      NULL,           1, 0, 1, DBGCMD_STEP,           dbgcmd_step},            /* s[tep] */
     60  {"next",      NULL,           1, 0, 1, DBGCMD_NEXT,           dbgcmd_next},            /* n[ext] */
    6061  {NULL}
    6162};
     
    406407
    407408  ret = mrb_debug_get_break(mrb, mrdb->dbg, mrdb->dbg->stopped_bpno, &bp);
    408   if(ret == 0) {
     409  if (ret == 0) {
    409410    switch(bp.type) {
    410411      case MRB_DEBUG_BPTYPE_LINE:
     
    416417        method_name = bp.point.methodpoint.method_name;
    417418        class_name = bp.point.methodpoint.class_name;
    418         if(class_name == NULL) {
     419        if (class_name == NULL) {
    419420          printf("Breakpoint %d, %s\n", bp.bpno, method_name);
    420421        }
     
    422423          printf("Breakpoint %d, %s:%s\n", bp.bpno, class_name, method_name);
    423424        }
    424         if(mrdb->dbg->isCfunc) {
     425        if (mrdb->dbg->isCfunc) {
    425426          printf("Stopped before calling the C function.\n");
    426427        }
     
    445446  char* file = mrb_debug_get_source(mrb, mrdb, mrdb->srcpath, mrdb->dbg->prvfile);
    446447  uint16_t lineno = mrdb->dbg->prvline;
    447   if(file != NULL) {
     448  if (file != NULL) {
    448449    mrb_debug_list(mrb, mrdb->dbg, file, lineno, lineno);
    449450    mrb_free(mrb, file);
     
    531532      break;
    532533  }
    533   if(sym != 0) {
     534  if (sym != 0) {
    534535    dbg->method_bpno = mrb_debug_check_breakpoint_method(mrb, dbg, c, sym, &isCfunc);
    535     if(isCfunc) {
     536    if (isCfunc) {
    536537      bpno = dbg->method_bpno;
    537538      dbg->method_bpno = 0;
     
    557558  dbg->regs = regs;
    558559
    559   if(dbg->xphase == DBG_PHASE_RESTART) {
     560  if (dbg->xphase == DBG_PHASE_RESTART) {
    560561    dbg->root_irep = irep;
    561562    dbg->prvfile = NULL;
    562563    dbg->prvline = 0;
     564    dbg->prvci = NULL;
    563565    dbg->xm = DBG_RUN;
    564566    dbg->xphase = DBG_PHASE_RUNNING;
     
    570572  switch (dbg->xm) {
    571573  case DBG_STEP:
    572   case DBG_NEXT:  // temporary
    573574    if (!file || (dbg->prvfile == file && dbg->prvline == line)) {
    574575      return;
     
    576577    dbg->method_bpno = 0;
    577578    dbg->bm = BRK_STEP;
     579    break;
     580
     581  case DBG_NEXT:
     582    if (!file || (dbg->prvfile == file && dbg->prvline == line)) {
     583      return;
     584    }
     585    if ((intptr_t)(dbg->prvci) < (intptr_t)(mrb->c->ci)) {
     586      return;
     587    }
     588    dbg->prvci = NULL;
     589    dbg->method_bpno = 0;
     590    dbg->bm = BRK_NEXT;
    578591    break;
    579592
     
    611624  dbg->prvline = line;
    612625
    613   if(dbg->bm == BRK_BREAK && --dbg->ccnt > 0) {
     626  if (dbg->bm == BRK_BREAK && --dbg->ccnt > 0) {
    614627    return;
    615628  }
     
    634647    st = cmd->func(mrb, mrdb);
    635648
    636     if( (st == DBGST_CONTINUE) || (st == DBGST_RESTART) ) break;
     649    if ((st == DBGST_CONTINUE) || (st == DBGST_RESTART)) break;
    637650  }
    638651  return dbg->xm;
     
    671684  mrdb->srcpath = args.srcpath;
    672685
    673   if(mrdb->dbg->xm == DBG_QUIT) {
     686  if (mrdb->dbg->xm == DBG_QUIT) {
    674687    mrdb->dbg->xphase = DBG_PHASE_RESTART;
    675688  }
     
    679692  mrdb->dbg->xm = DBG_INIT;
    680693  mrdb->dbg->ccnt = 1;
    681  
     694
    682695  /* setup hook functions */
    683696  mrb->code_fetch_hook = mrb_code_fetch_hook;
     
    726739    }
    727740  }
    728  
     741
    729742  mrdb->dbg->prvfile = "-";
    730743  mrdb->dbg->prvline = 0;
    731  
     744
    732745  while (1) {
    733746    cmd = get_and_parse_command(mrb, mrdb);
    734747    mrb_assert(cmd);
    735    
     748
    736749    if (cmd->id == DBGCMD_QUIT) {
    737750      break;
    738751    }
    739    
    740     if( cmd->func(mrb, mrdb) == DBGST_RESTART ) goto l_restart;
    741   }
    742  
     752
     753    if ( cmd->func(mrb, mrdb) == DBGST_RESTART ) goto l_restart;
     754  }
     755
    743756  cleanup(mrb, &args);
    744757
Note: See TracChangeset for help on using the changeset viewer.