Changeset 06b2b7f in mainline


Ignore:
Timestamp:
2009-01-07T22:33:35Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7ed2d8f
Parents:
6974061
Message:

Disable message displaying in loader.

Location:
uspace/srv/loader
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/loader/elf_load.c

    r6974061 r06b2b7f  
    5858#include "arch.h"
    5959
     60#define DPRINTF(...)
     61
    6062static char *error_codes[] = {
    6163        "no error",
     
    107109        int rc;
    108110
    109 //      printf("open and read '%s'...\n", file_name);
    110 
    111111        fd = open(file_name, O_RDONLY);
    112112        if (fd < 0) {
    113                 printf("failed opening file\n");
     113                DPRINTF("failed opening file\n");
    114114                return -1;
    115115        }
     
    172172        rc = my_read(elf->fd, header, sizeof(elf_header_t));
    173173        if (rc < 0) {
    174                 printf("read error\n");
     174                DPRINTF("Read error.\n");
    175175                return EE_INVALID;
    176176        }
     
    178178        elf->header = header;
    179179
    180 //      printf("ELF-load:");
    181180        /* Identify ELF */
    182181        if (header->e_ident[EI_MAG0] != ELFMAG0 ||
     
    184183            header->e_ident[EI_MAG2] != ELFMAG2 ||
    185184            header->e_ident[EI_MAG3] != ELFMAG3) {
    186                 printf("invalid header\n");
     185                DPRINTF("Invalid header.\n");
    187186                return EE_INVALID;
    188187        }
     
    194193            header->e_version != EV_CURRENT ||
    195194            header->e_ident[EI_CLASS] != ELF_CLASS) {
    196                 printf("incompatible data/version/class\n");
     195                DPRINTF("Incompatible data/version/class.\n");
    197196                return EE_INCOMPATIBLE;
    198197        }
    199198
    200199        if (header->e_phentsize != sizeof(elf_segment_header_t)) {
    201                 printf("e_phentsize:%d != %d\n", header->e_phentsize,
     200                DPRINTF("e_phentsize:%d != %d\n", header->e_phentsize,
    202201                    sizeof(elf_segment_header_t));
    203202                return EE_INCOMPATIBLE;
     
    205204
    206205        if (header->e_shentsize != sizeof(elf_section_header_t)) {
    207                 printf("e_shentsize:%d != %d\n", header->e_shentsize,
     206                DPRINTF("e_shentsize:%d != %d\n", header->e_shentsize,
    208207                    sizeof(elf_section_header_t));
    209208                return EE_INCOMPATIBLE;
     
    212211        /* Check if the object type is supported. */
    213212        if (header->e_type != ET_EXEC && header->e_type != ET_DYN) {
    214                 printf("Object type %d is not supported\n", header->e_type);
     213                DPRINTF("Object type %d is not supported\n", header->e_type);
    215214                return EE_UNSUPPORTED;
    216215        }
    217216
    218217        /* Shared objects can be loaded with a bias */
    219 //      printf("Object type: %d\n", header->e_type);
    220218        if (header->e_type == ET_DYN)
    221219                elf->bias = so_bias;
     
    223221                elf->bias = 0;
    224222
    225 //      printf("Bias set to 0x%x\n", elf->bias);
    226223        elf->info->interp = NULL;
    227224        elf->info->dynamic = NULL;
    228 
    229 //      printf("parse segments\n");
    230225
    231226        /* Walk through all segment headers and process them. */
     
    240235                    sizeof(elf_segment_header_t));
    241236                if (rc < 0) {
    242                         printf("read error\n");
     237                        DPRINTF("Read error.\n");
    243238                        return EE_INVALID;
    244239                }
     
    249244        }
    250245
    251 //      printf("parse sections\n");
     246        DPRINTF("Parse sections.\n");
    252247
    253248        /* Inspect all section headers and proccess them. */
     
    262257                    sizeof(elf_section_header_t));
    263258                if (rc < 0) {
    264                         printf("read error\n");
     259                        DPRINTF("Read error.\n");
    265260                        return EE_INVALID;
    266261                }
     
    274269            (entry_point_t)((uint8_t *)header->e_entry + elf->bias);
    275270
    276 //      printf("done\n");
     271        DPRINTF("Done.\n");
    277272
    278273        return EE_OK;
     
    317312        case PT_HIPROC:
    318313        default:
    319                 printf("segment p_type %d unknown\n", entry->p_type);
     314                DPRINTF("Segment p_type %d unknown.\n", entry->p_type);
    320315                return EE_UNSUPPORTED;
    321316                break;
     
    340335        int rc;
    341336
    342 //      printf("load segment at addr 0x%x, size 0x%x\n", entry->p_vaddr,
    343 //              entry->p_memsz);
     337        DPRINTF("Load segment at addr 0x%x, size 0x%x\n", entry->p_vaddr,
     338                entry->p_memsz);
    344339       
    345340        bias = elf->bias;
     
    348343                if ((entry->p_offset % entry->p_align) !=
    349344                    (entry->p_vaddr % entry->p_align)) {
    350                         printf("align check 1 failed offset%%align=%d, "
     345                        DPRINTF("Align check 1 failed offset%%align=%d, "
    351346                            "vaddr%%align=%d\n",
    352347                            entry->p_offset % entry->p_align,
     
    370365        mem_sz = entry->p_memsz + (entry->p_vaddr - base);
    371366
    372 //      printf("map to p_vaddr=0x%x-0x%x...\n", entry->p_vaddr + bias,
    373 //      entry->p_vaddr + bias + ALIGN_UP(entry->p_memsz, PAGE_SIZE));
     367        DPRINTF("Map to p_vaddr=0x%x-0x%x.\n", entry->p_vaddr + bias,
     368        entry->p_vaddr + bias + ALIGN_UP(entry->p_memsz, PAGE_SIZE));
    374369
    375370        /*
     
    380375            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE);
    381376        if (a == (void *)(-1)) {
    382                 printf("memory mapping failed\n");
     377                DPRINTF("Memory mapping failed.\n");
    383378                return EE_MEMORY;
    384379        }
    385380
    386 //      printf("as_area_create(0x%lx, 0x%x, %d) -> 0x%lx\n",
    387 //              entry->p_vaddr+bias, entry->p_memsz, flags, (uintptr_t)a);
     381        DPRINTF("as_area_create(0x%lx, 0x%x, %d) -> 0x%lx\n",
     382                entry->p_vaddr+bias, entry->p_memsz, flags, (uintptr_t)a);
    388383
    389384        /*
    390385         * Load segment data
    391386         */
    392 //      printf("seek to %d\n", entry->p_offset);
    393387        rc = lseek(elf->fd, entry->p_offset, SEEK_SET);
    394388        if (rc < 0) {
     
    397391        }
    398392
    399 //      printf("read 0x%x bytes to address 0x%x\n", entry->p_filesz, entry->p_vaddr+bias);
    400393/*      rc = read(fd, (void *)(entry->p_vaddr + bias), entry->p_filesz);
    401394        if (rc < 0) { printf("read error\n"); return EE_INVALID; }*/
    402395
    403         /* Long reads are not possible yet. Load segment picewise */
     396        /* Long reads are not possible yet. Load segment piecewise. */
    404397
    405398        unsigned left, now;
     
    413406                if (now > left) now = left;
    414407
    415 //              printf("read %d...", now);
    416408                rc = my_read(elf->fd, dp, now);
    417 //              printf("->%d\n", rc);
    418409
    419410                if (rc < 0) {
    420                         printf("read error\n");
     411                        DPRINTF("Read error.\n");
    421412                        return EE_INVALID;
    422413                }
     
    426417        }
    427418
    428 //      printf("set area flags to %d\n", flags);
    429419        rc = as_area_change_flags((uint8_t *)entry->p_vaddr + bias, flags);
    430420        if (rc != 0) {
    431                 printf("failed to set memory area flags\n");
     421                DPRINTF("Failed to set memory area flags.\n");
    432422                return EE_MEMORY;
    433423        }
     
    466456                elf->info->dynamic =
    467457                    (void *)((uint8_t *)entry->sh_addr + elf->bias);
    468                 printf("dynamic section found at 0x%x\n",
     458                DPRINTF("Dynamic section found at 0x%x.\n",
    469459                        (uintptr_t)elf->info->dynamic);
    470460                break;
  • uspace/srv/loader/main.c

    r6974061 r06b2b7f  
    6060#include <elf_load.h>
    6161
     62#define DPRINTF(...)
     63
    6264/** Pathname of the file that will be loaded */
    6365static char *pathname = NULL;
     
    226228        rc = elf_load_file(pathname, 0, &prog_info);
    227229        if (rc < 0) {
    228                 printf("Failed to load executable '%s'.\n", pathname);
     230                DPRINTF("Failed to load executable '%s'.\n", pathname);
    229231                ipc_answer_0(rid, EINVAL);
    230232                return 1;
     
    245247        rc = elf_load_file(prog_info.interp, 0, &interp_info);
    246248        if (rc < 0) {
    247                 printf("Failed to load interpreter '%s.'\n", prog_info.interp);
     249                DPRINTF("Failed to load interpreter '%s.'\n",
     250                    prog_info.interp);
    248251                ipc_answer_0(rid, EINVAL);
    249252                return 1;
     
    267270        if (is_dyn_linked == true) {
    268271                /* Dynamically linked program */
    269                 printf("run dynamic linker\n");
    270                 printf("entry point: 0x%lx\n", interp_info.entry);
     272                DPRINTF("Run ELF interpreter.\n");
     273                DPRINTF("Entry point: 0x%lx\n", interp_info.entry);
    271274                close_console();
    272275
     
    325328                if ((callid & IPC_CALLID_NOTIFICATION) == 0 &&
    326329                    IPC_GET_METHOD(call) != IPC_M_PHONE_HUNGUP) {
    327                         printf("responding EINVAL to method %d\n",
     330                        DPRINTF("Responding EINVAL to method %d.\n",
    328331                            IPC_GET_METHOD(call));
    329332                        ipc_answer_0(callid, EINVAL);
Note: See TracChangeset for help on using the changeset viewer.