binfmt/: Change debug macro from berr() to binfo() when dumping module data. The report of problems is important during development but when it enables complete informative output about load binaries then the important information can be easily overlooked. The huge output sent to serial terminal slows loading significantly as well.

This commit is contained in:
Pavel Pisa 2019-08-15 14:41:42 -06:00 committed by Gregory Nutt
parent c7a4720a51
commit 04f0ee5198
3 changed files with 71 additions and 71 deletions

View File

@ -70,21 +70,21 @@ int dump_module(FAR const struct binary_s *bin)
{
if (bin)
{
berr("Module:\n");
berr(" filename: %s\n", bin->filename);
berr(" argv: %p\n", bin->argv);
berr(" entrypt: %p\n", bin->entrypt);
berr(" mapped: %p size=%d\n", bin->mapped, bin->mapsize);
berr(" alloc: %p %p %p\n", bin->alloc[0], bin->alloc[1], bin->alloc[2]);
binfo("Module:\n");
binfo(" filename: %s\n", bin->filename);
binfo(" argv: %p\n", bin->argv);
binfo(" entrypt: %p\n", bin->entrypt);
binfo(" mapped: %p size=%d\n", bin->mapped, bin->mapsize);
binfo(" alloc: %p %p %p\n", bin->alloc[0], bin->alloc[1], bin->alloc[2]);
#ifdef CONFIG_BINFMT_CONSTRUCTORS
berr(" ctors: %p nctors=%d\n", bin->ctors, bin->nctors);
berr(" dtors: %p ndtors=%d\n", bin->dtors, bin->ndtors);
binfo(" ctors: %p nctors=%d\n", bin->ctors, bin->nctors);
binfo(" dtors: %p ndtors=%d\n", bin->dtors, bin->ndtors);
#endif
#ifdef CONFIG_ARCH_ADDRENV
berr(" addrenv: %p\n", bin->addrenv);
binfo(" addrenv: %p\n", bin->addrenv);
#endif
berr(" stacksize: %d\n", bin->stacksize);
berr(" unload: %p\n", bin->unload);
binfo(" stacksize: %d\n", bin->stacksize);
binfo(" unload: %p\n", bin->unload);
}
return OK;

View File

@ -112,58 +112,58 @@ static void elf_dumploadinfo(FAR struct elf_loadinfo_s *loadinfo)
{
int i;
berr("LOAD_INFO:\n");
berr(" textalloc: %08lx\n", (long)loadinfo->textalloc);
berr(" dataalloc: %08lx\n", (long)loadinfo->dataalloc);
berr(" textsize: %ld\n", (long)loadinfo->textsize);
berr(" datasize: %ld\n", (long)loadinfo->datasize);
berr(" filelen: %ld\n", (long)loadinfo->filelen);
binfo("LOAD_INFO:\n");
binfo(" textalloc: %08lx\n", (long)loadinfo->textalloc);
binfo(" dataalloc: %08lx\n", (long)loadinfo->dataalloc);
binfo(" textsize: %ld\n", (long)loadinfo->textsize);
binfo(" datasize: %ld\n", (long)loadinfo->datasize);
binfo(" filelen: %ld\n", (long)loadinfo->filelen);
#ifdef CONFIG_BINFMT_CONSTRUCTORS
berr(" ctoralloc: %08lx\n", (long)loadinfo->ctoralloc);
berr(" ctors: %08lx\n", (long)loadinfo->ctors);
berr(" nctors: %d\n", loadinfo->nctors);
berr(" dtoralloc: %08lx\n", (long)loadinfo->dtoralloc);
berr(" dtors: %08lx\n", (long)loadinfo->dtors);
berr(" ndtors: %d\n", loadinfo->ndtors);
binfo(" ctoralloc: %08lx\n", (long)loadinfo->ctoralloc);
binfo(" ctors: %08lx\n", (long)loadinfo->ctors);
binfo(" nctors: %d\n", loadinfo->nctors);
binfo(" dtoralloc: %08lx\n", (long)loadinfo->dtoralloc);
binfo(" dtors: %08lx\n", (long)loadinfo->dtors);
binfo(" ndtors: %d\n", loadinfo->ndtors);
#endif
berr(" filfd: %d\n", loadinfo->filfd);
berr(" symtabidx: %d\n", loadinfo->symtabidx);
berr(" strtabidx: %d\n", loadinfo->strtabidx);
binfo(" filfd: %d\n", loadinfo->filfd);
binfo(" symtabidx: %d\n", loadinfo->symtabidx);
binfo(" strtabidx: %d\n", loadinfo->strtabidx);
berr("ELF Header:\n");
berr(" e_ident: %02x %02x %02x %02x\n",
binfo("ELF Header:\n");
binfo(" e_ident: %02x %02x %02x %02x\n",
loadinfo->ehdr.e_ident[0], loadinfo->ehdr.e_ident[1],
loadinfo->ehdr.e_ident[2], loadinfo->ehdr.e_ident[3]);
berr(" e_type: %04x\n", loadinfo->ehdr.e_type);
berr(" e_machine: %04x\n", loadinfo->ehdr.e_machine);
berr(" e_version: %08x\n", loadinfo->ehdr.e_version);
berr(" e_entry: %08lx\n", (long)loadinfo->ehdr.e_entry);
berr(" e_phoff: %d\n", loadinfo->ehdr.e_phoff);
berr(" e_shoff: %d\n", loadinfo->ehdr.e_shoff);
berr(" e_flags: %08x\n" , loadinfo->ehdr.e_flags);
berr(" e_ehsize: %d\n", loadinfo->ehdr.e_ehsize);
berr(" e_phentsize: %d\n", loadinfo->ehdr.e_phentsize);
berr(" e_phnum: %d\n", loadinfo->ehdr.e_phnum);
berr(" e_shentsize: %d\n", loadinfo->ehdr.e_shentsize);
berr(" e_shnum: %d\n", loadinfo->ehdr.e_shnum);
berr(" e_shstrndx: %d\n", loadinfo->ehdr.e_shstrndx);
binfo(" e_type: %04x\n", loadinfo->ehdr.e_type);
binfo(" e_machine: %04x\n", loadinfo->ehdr.e_machine);
binfo(" e_version: %08x\n", loadinfo->ehdr.e_version);
binfo(" e_entry: %08lx\n", (long)loadinfo->ehdr.e_entry);
binfo(" e_phoff: %d\n", loadinfo->ehdr.e_phoff);
binfo(" e_shoff: %d\n", loadinfo->ehdr.e_shoff);
binfo(" e_flags: %08x\n" , loadinfo->ehdr.e_flags);
binfo(" e_ehsize: %d\n", loadinfo->ehdr.e_ehsize);
binfo(" e_phentsize: %d\n", loadinfo->ehdr.e_phentsize);
binfo(" e_phnum: %d\n", loadinfo->ehdr.e_phnum);
binfo(" e_shentsize: %d\n", loadinfo->ehdr.e_shentsize);
binfo(" e_shnum: %d\n", loadinfo->ehdr.e_shnum);
binfo(" e_shstrndx: %d\n", loadinfo->ehdr.e_shstrndx);
if (loadinfo->shdr && loadinfo->ehdr.e_shnum > 0)
{
for (i = 0; i < loadinfo->ehdr.e_shnum; i++)
{
FAR Elf32_Shdr *shdr = &loadinfo->shdr[i];
berr("Sections %d:\n", i);
berr(" sh_name: %08x\n", shdr->sh_name);
berr(" sh_type: %08x\n", shdr->sh_type);
berr(" sh_flags: %08x\n", shdr->sh_flags);
berr(" sh_addr: %08x\n", shdr->sh_addr);
berr(" sh_offset: %d\n", shdr->sh_offset);
berr(" sh_size: %d\n", shdr->sh_size);
berr(" sh_link: %d\n", shdr->sh_link);
berr(" sh_info: %d\n", shdr->sh_info);
berr(" sh_addralign: %d\n", shdr->sh_addralign);
berr(" sh_entsize: %d\n", shdr->sh_entsize);
binfo("Sections %d:\n", i);
binfo(" sh_name: %08x\n", shdr->sh_name);
binfo(" sh_type: %08x\n", shdr->sh_type);
binfo(" sh_flags: %08x\n", shdr->sh_flags);
binfo(" sh_addr: %08x\n", shdr->sh_addr);
binfo(" sh_offset: %d\n", shdr->sh_offset);
binfo(" sh_size: %d\n", shdr->sh_size);
binfo(" sh_link: %d\n", shdr->sh_link);
binfo(" sh_info: %d\n", shdr->sh_info);
binfo(" sh_addralign: %d\n", shdr->sh_addralign);
binfo(" sh_entsize: %d\n", shdr->sh_entsize);
}
}
}

View File

@ -111,31 +111,31 @@ static void nxflat_dumploadinfo(FAR struct nxflat_loadinfo_s *loadinfo)
{
unsigned long dsize = loadinfo->datasize + loadinfo->bsssize;
berr("LOAD_INFO:\n");
berr(" ISPACE:\n");
berr(" ispace: %08lx\n", loadinfo->ispace);
berr(" entryoffs: %08lx\n", loadinfo->entryoffs);
berr(" isize: %08lx\n", loadinfo->isize);
binfo("LOAD_INFO:\n");
binfo(" ISPACE:\n");
binfo(" ispace: %08lx\n", loadinfo->ispace);
binfo(" entryoffs: %08lx\n", loadinfo->entryoffs);
binfo(" isize: %08lx\n", loadinfo->isize);
berr(" DSPACE:\n");
berr(" dspace: %08lx\n", loadinfo->dspace);
binfo(" DSPACE:\n");
binfo(" dspace: %08lx\n", loadinfo->dspace);
if (loadinfo->dspace != NULL)
{
berr(" crefs: %d\n", loadinfo->dspace->crefs);
berr(" region: %08lx\n", loadinfo->dspace->region);
binfo(" crefs: %d\n", loadinfo->dspace->crefs);
binfo(" region: %08lx\n", loadinfo->dspace->region);
}
berr(" datasize: %08lx\n", loadinfo->datasize);
berr(" bsssize: %08lx\n", loadinfo->bsssize);
berr(" (pad): %08lx\n", loadinfo->dsize - dsize);
berr(" stacksize: %08lx\n", loadinfo->stacksize);
berr(" dsize: %08lx\n", loadinfo->dsize);
binfo(" datasize: %08lx\n", loadinfo->datasize);
binfo(" bsssize: %08lx\n", loadinfo->bsssize);
binfo(" (pad): %08lx\n", loadinfo->dsize - dsize);
binfo(" stacksize: %08lx\n", loadinfo->stacksize);
binfo(" dsize: %08lx\n", loadinfo->dsize);
berr(" RELOCS:\n");
berr(" relocstart: %08lx\n", loadinfo->relocstart);
berr(" reloccount: %d\n", loadinfo->reloccount);
binfo(" RELOCS:\n");
binfo(" relocstart: %08lx\n", loadinfo->relocstart);
binfo(" reloccount: %d\n", loadinfo->reloccount);
berr(" HANDLES:\n");
berr(" filfd: %d\n", loadinfo->filfd);
binfo(" HANDLES:\n");
binfo(" filfd: %d\n", loadinfo->filfd);
}
#else
# define nxflat_dumploadinfo(i)