Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Custom Query (7 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Modified Component Ticket Owner Reporter Resolution Created
20 months ago admin #4408 Tigran Tadevosyan wontfix 3 years ago
Description

Dear RTMES OS devel team,

The RTEMS ARM latest toolchain (based on v5.1 release) supports cortex-m7 which is using armv7-m architecture.

Are you planning to upgrade your toolchain version and add support for cortex-m33 and cortex-m55 CPUs which are using armv8.0-m and armv8.1-m architectures ?

Thank you.

Best Regards, Tigran

Summary

RTEMS ARM Toolchain: armv8.0-m and armv8.1-m arch support

17 months ago tool/rsb #4555 Joel Sherrill <joel@…> Ryan Long fixed 3 years ago
Description

These tools don't have a port to RTEMS 5, so there's no reason for them to be on the 5 branch.

Summary

Remove aarch64 and microblaze from RSB on 5 branch

17 months ago shell #4558 Chris Johns <chrisj@…> chenjin_zhong fixed 3 years ago
Description

Hi, I find one problem in rtems_shell_main_chmod function. the usage of this instruction is descripted as "chmod 0777 n1 n2... #change filemode", .the src code is listed as follows. the bold part should be replaced with chmod(argv[n], mode)?

static int rtems_shell_main_chmod(
  int argc,
  char *argv[]
)
{
  int           n;
  mode_t        mode;
  unsigned long tmp;

  if (argc < 2) {
    fprintf(stderr,"%s: too few arguments\n", argv[0]);
    return -1;
  }

  /*
   *  Convert arguments into numbers
   */
  if ( rtems_string_to_unsigned_long(argv[1], &tmp, NULL, 0) ) {
    printf( "Mode argument (%s) is not a number\n", argv[1] );
    return -1;
  }
  mode = (mode_t) (tmp & 0777);

  /*
   *  Now change the files modes
   */
  for (n=2 ; n < argc ; n++)
    chmod(argv[n++], mode); /* <<<< here */

  return 0;
}
Summary

chmod problem in shell of RTEMS4.13/RTEMS5.1

17 months ago shell #4559 chenjin_zhong wontfix 3 years ago
Description

Hi, when I use ln -s /tmp/file in shell. Ithink the meaning of this instruction is to creates a symbolic link, which points to /tmp/file in current directory.But I find that the code implements this function is exit(linkit(globals, argv[0], ".", 1)). The src code of linkit function is listed as follows.

int linkit(rtems_shell_ln_globals* globals, const char *source, const char *target, int isdir).

if (isdir
(!lstat(source, &sb) && S_ISDIR(sb.st_mode))

(!hflag && !stat(source, &sb) && S_ISDIR(sb.st_mode))) {

if ((p = strrchr(target, '/')) == NULL)

p = target;

else

++p;

(void)snprintf(path, sizeof(path), "%s/%s", source, p); source = path;

} if ((*linkf)(target, source)) {

warn("%s", source); return (1);

}

As shown in black bold, variable source is a directory. Therefore, I think the target is argv[0]. the source is ".". Therefore, the code exit(linkit(globals, argv[0], ".", 1)) should be replaced with exit(linkit(globals, ".",argv[0], 1)).

Summary

ln command problem in shell of RTEMS4.13/5.1

17 months ago shell #4564 Chris Johns <chrisj@…> chenjin_zhong fixed 3 years ago
Description

Hi, I find when close editor in shell console.some errors will occur. I check and analyse the source code of medit.c. the code fragment is listed as follows.

#if defined(rtems)

case ctrl('w'): ed = ed->env->current; close_editor(ed); break;

#else

case ctrl('w'): close_editor(ed); ed = ed->env->current; break;

#endif

static void close_editor(struct editor *ed) {

struct env *env = ed->env; if (ed->dirty) {

display_message(ed, "Close %s without saving changes (y/n)? ", ed->filename); if (!ask()) {

ed->refresh = 1; return;

}

}

delete_editor(ed);

ed = env->current; if (!ed) {

ed = create_editor(env); new_file(ed, "");

} ed->refresh = 1;

}

static void delete_editor(struct editor *ed) {

if (ed->next == ed) {

ed->env->current = NULL;

} else {

ed->env->current = ed->prev;

} ed->next->prev = ed->prev; ed->prev->next = ed->next; if (ed->start) free(ed->start);

clear_undo(ed);

free(ed);

}

as seen above, if the macro rtems is defined. the delete_editor function will free ed pointer. Therefore, after the next loop, the ed is an invalid pointer.I have checked the code of https://github.com/ringgaard/sanos/blob/master/src/utils/edit/edit.c. the code is as follows.

case ctrl('w'): close_editor(ed); ed = ed->env->current; break;

Summary

close_editor problem of RTEMS4.13/5.1

17 months ago shell #4565 Chris Johns <chrisj@…> chenjin_zhong fixed 3 years ago
Description

I find malloc function is called by move_gap function in medit.c. The returned value does not check. At least 32KB of memory is allocated at each time, maybe more than. The returned value "start" should be check to avoid malloc failure. The move_gap function should return immediatelty when malloc failure. the code frament is listed as follows.

static void move_gap(struct editor *ed, int pos, int minsize) {

int gapsize = ed->rest - ed->gap; unsigned char *p = text_ptr(ed, pos); if (minsize < 0) minsize = 0; if (minsize <= gapsize) {

if (p != ed->rest) {

if (p < ed->gap) {

memmove(p + gapsize, p, ed->gap - p);

} else {

memmove(ed->gap, ed->rest, p - ed->rest);

} ed->gap = ed->start + pos; ed->rest = ed->gap + gapsize;

}

} else {

int newsize; unsigned char *start; unsigned char *gap; unsigned char *rest; unsigned char *end;

if (gapsize + MINEXTEND > minsize) minsize = gapsize + MINEXTEND; newsize = (ed->end - ed->start) - gapsize + minsize; start = (unsigned char *) malloc(newsize); TODO check for out of memory gap = start + pos; rest = gap + minsize; end = start + newsize;

if (p < ed->gap) {

memcpy(start, ed->start, pos); memcpy(rest, p, ed->gap - p); memcpy(end - (ed->end - ed->rest), ed->rest, ed->end - ed->rest);

} else {

memcpy(start, ed->start, ed->gap - ed->start); memcpy(start + (ed->gap - ed->start), ed->rest, p - ed->rest); memcpy(rest, p, ed->end - p);

}

free(ed->start); ed->start = start; ed->gap = gap; ed->rest = rest; ed->end = end;

}

#ifdef DEBUG

memset(ed->gap, 0, ed->rest - ed->gap);

#endif

}

Summary

medit malloc problem of RTEMS5.1

19 months ago tool/rsb #4777 Chris Johns Chris Johns fixed 19 months ago
Description

The RSB does not find the VERSION file when released.

Summary

Deployed RSB does not find release version config

Note: See TracQuery for help on using queries.