Exemplo n.º 1
0
void find_rel(
		int *plt,
		int *offset,
		int fd,
		const char *string,
		Elf32_Ehdr *ehdr, Elf32_Shdr *shdr,
		const char *sh_function
	     )
{
	Elf32_Shdr *shdrp = shdr;
	int sym;
	int i;
	sym = get_sym_number(fd, ehdr, shdr, sh_function);
	if (sym < 0) {
		*plt = -1;
		*offset = -1;
		return;
	}
	for (i = 0; i < ehdr->e_shnum; i++) {
		if (!strcmp(&string[shdrp->sh_name], ".rel.plt")) {
			do_rel(plt, offset, fd, shdrp, sym);
			return;
		}
		++shdrp;
	}
}
Exemplo n.º 2
0
static void task_waiter(rtems_task_argument arg)
{
  while (true) {
    rtems_bdbuf_buffer *bd = NULL;

    suspend(RTEMS_SELF);

    bd = do_get('W');

    do_rel('W', bd);
  }

  rtems_task_delete(RTEMS_SELF);
}