Changeset 371bd7d in mainline for kernel/generic/src/debug


Ignore:
Timestamp:
2010-03-27T09:22:17Z (16 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
36a75a2
Parents:
cd82bb1 (diff), eaf22d4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

Location:
kernel/generic/src/debug
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/debug/symtab.c

    rcd82bb1 r371bd7d  
    3838#include <symtab.h>
    3939#include <byteorder.h>
    40 #include <string.h>
     40#include <str.h>
    4141#include <print.h>
    42 #include <arch/types.h>
     42#include <typedefs.h>
    4343#include <typedefs.h>
    4444#include <errno.h>
     
    4646/** Get name of a symbol that seems most likely to correspond to address.
    4747 *
    48  * @param addr Address.
    49  * @param name Place to store pointer to the symbol name.
     48 * @param addr          Address.
     49 * @param name          Place to store pointer to the symbol name.
     50 * @param offset        Place to store offset from the symbol address.
    5051 *
    5152 * @return Zero on success or negative error code, ENOENT if not found,
     
    5354 *
    5455 */
    55 int symtab_name_lookup(unative_t addr, char **name)
     56int symtab_name_lookup(uintptr_t addr, const char **name, uintptr_t *offset)
    5657{
    5758#ifdef CONFIG_SYMTAB
     
    6566        if (addr >= uint64_t_le2host(symbol_table[i - 1].address_le)) {
    6667                *name = symbol_table[i - 1].symbol_name;
     68                if (offset)
     69                        *offset = addr -
     70                            uint64_t_le2host(symbol_table[i - 1].address_le);
    6771                return EOK;
    6872        }
     
    8892 *
    8993 */
    90 char *symtab_fmt_name_lookup(unative_t addr)
    91 {
    92         char *name;
    93         int rc = symtab_name_lookup(addr, &name);
     94const char *symtab_fmt_name_lookup(uintptr_t addr)
     95{
     96        const char *name;
     97        int rc = symtab_name_lookup(addr, &name, NULL);
    9498       
    9599        switch (rc) {
     
    235239                printf("\n");
    236240                pos = 0;
    237                 while ((hint = symtab_search_one(name, &pos))) {
     241                while (symtab_search_one(name, &pos)) {
    238242                        printf("%s\n", symbol_table[pos].symbol_name);
    239243                        pos++;
Note: See TracChangeset for help on using the changeset viewer.